Aspde Birazcık Yardım
-
hocam mesela adam login oldu.. ona bir session ya da cookie atayacaksın haliyle..güvenlik için session ile yap derim ben neyse
şimdi sayfada
(session'a uye adını atadığını var sayarak yazıyorum)
set bag = Server.CreateObject("adodb.connection")
bag.open = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("veritabanininadresii.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
sorgu = "Select * from users where username = "& session("uye_adi") &""
rs.Open sorgu,bag,1,3
if rs("status") = 1 then
response.redirect "admin.asp"
elseif rs("status") = 2 then
response.redirect "default.asp"
elseif rs("status") = 3 then
response.redirect "siktirgit.asp"
end if
dersin bu şekilde yönlenmeler olur..
admin.asp'nin kodlarının başına da
if rs("status") = 1 then
deyip altına admin.asp'nin normal kodlarını yazarsın
en alta da (kodlar bittikten sonra)else
response.write "sen buraya giremezsin koç, hadi siktir git"
response.end
end ifdersin admin sayfasına da status'u 1 olanlardan başkası giremez
-
ya hocam ne logini şusu busu ya karıştırmayın logini.Status u 3 ise bilmem nereye değilse bilmemnerey yonlendircem bu kadar ama db bağlantısını kuramadım.
Rene enrdesin hocam ya.
bilmemnedbsi
users tablosunda status var her üyede farklıdır adminlerde 3 özel üyelerde 2 üyelerde 1
istediğim şu sayfa hazırlıyıcam cookie şu bu yok.Eğer status 3 e eşit ise admin giriş sayfası değilse anasayfa
bu kadar hocam ne logini cookiesi şusu busu dbden veri alıp tablodaki status bölümü 3 e eşitse üyede onu bir eyre yonlendircem.
Renenin bu sitede üyelik status u 10 antikkynin 9 senin 8 benim 7 başkasının 6 olsun.
Demek sitediğim şu bir sayfa olacak login cookie sayfası falan değil statusu 10 olanlar loginsayfasına girecek.Statusu 10 dan az olanlar başka yere.
Cookie falan atamaya gerek yok hcoam neden cookie atayalım.Sadece bir sayfa doğruluk meselesi yani 3 e eşitse doğru olacak istediğimiz kodlar dğeilse başka kodlar cookie falan diil.
-
iyi de hocam sen db'den statusları nasıl çekecen, neye göre sorgulama yapacan?
-
db'den status çekeceksin bunda anlaştık mı?
şimdi db'den bilgi çekerken sorgulama yapman gerek
select * from tablo gibi ama sonuçta sen sayfaya giren bir kişi olacağına göre WHERE deyimini kullanıp O KİŞİNİN statusunu alacaksın..şimdi bana diyorsun ki cookie falan atanmıyor, session yok..
peki sen o kişinin statusunu çekerken sql kullandığında;
select * from tablo where uye_adi =
select * from tablo where id =
select * from tablo where vs. =
sorgulama yaparken her kişi için farklı değerlerde olan değişkenler kullanılır, bu da genelde login olurken atanan cookie ya da session değerleridir..Eğer üyelere özel değerler yoksa sorgulamayı neye göre çekecen.. statuslar var diosun db'de kimin status'una bakacağını nasıl belirleyeceksinBence biraz kafan karışmış ya da biz anlayamadık seni
-
<%
call center2
call son
response.end
end ifSub harfsira
Set rss = Member.Execute("SELECT DISTINCT Left(status) AS ilkharf FROM uyeler order by Left(status) asc")
Do While Not rss.Eof
%>böyle birşey yada
<%
Dim conn, ConnectStringConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db.mdb") & ";Persist Security Info=False"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>böyle birşeyle dbyi tanıtıcaz.Ki zaten bu tanıtılmıştır include ederiz.Login sayfası var ve anasayfa var dediğim gibi statusu 3 olanlar logine diğerleri anasayfaya.Çözemedim burda karışıklık oldu.Bana kalırsa bu kadar uzun işlemler yapmaya gerek yok include edip birde where vs.. yazıp if else komutlarını verricektik.
Ondan diyorum cookie vs..Cokie olayınıda kavrayamadım da kusura bakma.Ondan öyle yazdım.Yani status 3 ise buraya değilse bburaya ...Böyle bir script içn anlayamadım cookie neden de ondan dedim cookie ile alaka yok die.
-
şimdi login sayfası var ya, login sayfasının kodlarını bi yazsana, orada kesin üyelere bir değer tanıtılıyordur, bu şekilde giriş yapabilir üye zaten.. sen login sayfasından kullanıcı bilgilerinin gönderildiği sayfanı kodlarını gönder, çözecez amk bunu :)
kullanıcı giriş yaptıktan sonra daha doğrusu giriş yapan kullanıcı üzerinden yönlendirmeler olmayacak mı? illa ki öyle olacak
siteye birisi girdi diyelim bu adam misafir, bu adamla ilgili db'de sorgular falan yapamazsın :S yanlış mıyım amk :)
kullanıcı giriş yaptıktan sonra ona yönlendirmeler uygulayacaksın..
neyse sen dediğim sayfanın kodlarını gönder hallederiz -
buyur hocam alatta.Bu login sayfası işte admin sayfası hem login hem admin karışık.Buraya yolluyucaz statusu 3 olanı
-----------
<%
Option Explicit
Dim sql,rsForums,rsStatus,rsUsers,moderatorchecked
%><html>
<head><script language="JavaScript">
<!-- hide on
function formHandler(){
var URL = document.useradmin.users.options[document.useradmin.users.selectedIndex].value;
if (URL != "") {
window.location.href = URL;
}
}
// hide off -->
</script><title>TartışBenle Forum // Admin</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000">
<font face="arial,helvetica" size="2"><h3>TartışBenle // Forum // Admin !</h3>
<%if Session("philboard_admin") = "True" then%><!--#include file="conn.asp"-->
<!--#include file="metyus.asp"--><%sql = "SELECT * FROM forums INNER JOIN moderators ON forums.forumid = moderators.moderatorforum ORDER BY forums.level, forumname"
Set rsForums = Server.CreateObject("ADODB.Recordset")
rsForums.Open sql, conn, 3, 3
%><p><font size=1><a href="philboard_admin-logout.asp">c i k i s</a></font></p>
<p><b>Select a forum to administer:</b></p>
<table width="100%" cellpadding=4 cellspacing=1 border=0 bgcolor="#000000">
<tr>
<th width=20><font size="1" color="#FFFFFF">No</font></th>
<td width=120><font face="arial,helvetica" size="1" color="#FFFFFF"><b>Forum </b></font>
<font size="1" color="#FFFFFF"><b>ismi</b></font></td>
<td width=260><font size="1" color="#FFFFFF"><b>Aciklama</b></font></td>
<th width=70><font size="1" color="#FFFFFF">Seviye</font></th>
<th width=40><font face="arial,helvetica" size="1" color="#FFFFFF">Topics</font></th>
<th width=40><font face="arial,helvetica" size="1" color="#FFFFFF">Posts</font></th>
<th width=60><font face="arial,helvetica" size="1" color="#FFFFFF">Moderator</font></th>
<th width=50><font size="1" color="#FFFFFF">Sil</font></th>
<th width=40><font size="1" color="#FFFFFF">Duzenle</font></th>
</tr>
<%if rsForums.EOF then%>
<tr bgcolor="#F3F3F3">
<td colspan=9><font size="2">Bu Forumda Konu Bulunmamaktadir..</font></td>
</tr>
<%
else
rsForums.Movefirst
do until rsForums.EOF%>
<tr bgcolor="#F3F3F3">
<td align="center"><font face="arial,helvetica" size="2"><%=rsForums("forumid")%></font></td>
<td><font face="arial,helvetica" size="2"><a href="philboard_admin-forum.asp?forumid=<%=rsForums("forumid")%>"><%=rsForums("forumname")%></a></font></td>
<td><font face="arial,helvetica" size="1"><b><%=rsForums("description")%></b></font></td>
<td align="center"><font face="arial,helvetica" size="2"><img src="images/status_<%=rsForums("level")%>.gif" alt="Level <%=rsForums("level")%>" width="15" height="15"></font></td>
<td align="center"><font face="arial,helvetica" size="2"><%=rsForums("topics")%></font></td>
<td align="center"><font face="arial,helvetica" size="2"><%=rsForums("posts")%></font></td>
<td align="center"><font face="arial,helvetica" size="2"><%=rsForums("moderator")%></font></td>
<td align="center"><font face="arial,helvetica" size="1"><a href="philboard_admin-forumdelete.asp?forumid=<%=rsForums("forumid")%>"><b>delete</b></a></font></td>
<td align="center"><font face="arial,helvetica" size="1"><a href="philboard_admin-forumedit.asp?forumid=<%=rsForums("forumid")%>"><b>edit</b></a></font></td>
</tr>
<%rsForums.Movenext
loop
end if%>
</table><hr color="#404040" size=1>
<form name="useradmin"><p><b>Uye Yonetimi...</b></p>
<p>Kullanici Seciniz :
<%
sql = "SELECT username FROM users ORDER BY username"
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn, 3, 3
%>
<select name="users" onChange="javascript:formHandler()">
<option>Uyeler
<option value="">-------------------
<%if not rsUsers.EOF then
rsUsers.Movefirst
do until rsUsers.EOF
%> <option value="philboard_admin-useredit.asp?username=<%=rsUsers("username")%>"><%=rsUsers("username")%></option>
<% rsUsers.Movenext
loop
rsUsers.Movefirst
Response.Write("</select>")
end if
%></p><p><a href="philboard_admin-adduser.asp"><- Kullanici Ekle -></a></p>
</form>
<hr color="#404040" size=1><p><b>Yeni Forum Ekle..</b></p>
<form action="philboard_admin-addforum.asp" method="post">
<table width="400" cellpadding=4 cellspacing=1 border=0 bgcolor="#000000">
<tr>
<td colspan=2><font size="1" color="#FFFFFF"><b>Forum Ekle..</b></font></td>
</tr>
<tr bgcolor="#F3F3F3">
<td width=150><font face="arial,helvetica" size="2">Forum ismi</font></td>
<td width=350><input type="text" name="forumname" size=20></td>
</tr>
<tr bgcolor="#F3F3F3">
<td><font face="arial,helvetica" size="2">Forum Aciklamasi</font></td>
<td><textarea name="description" cols=30 rows=3></textarea></td>
</tr>
<tr bgcolor="#F3F3F3">
<td><font size="2">Giris izni</font></td>
<td>
<select name="level">
<%
sql = "SELECT * FROM status ORDER BY statuslevel"
Set rsStatus = Server.CreateObject("ADODB.Recordset")
rsStatus.Open sql, conn, 3, 3
rsStatus.Movefirst
do until rsStatus.EOF%>
<option value="<%=rsStatus("statuslevel")%>"><%=rsStatus("statuslevel")%> : <%=rsStatus("statusname")%></option>
<%rsStatus.Movenext
loop%>
</select></td>
</tr>
<tr bgcolor="#F3F3F3">
<td><font size="2">Gorevli..</font></td>
<td>
<%
if not rsUsers.EOF then
Response.Write("<select name=""moderator"">")
do until rsUsers.EOF
if rsUsers("username") = "admin" then moderatorchecked = " selected" else moderatorchecked = "" end if%>
<option value="<%=rsUsers("username")%>"<%=moderatorchecked%>><%=rsUsers("username")%></option>
<%rsUsers.Movenext
loop
Response.Write("</select>")
end if%>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td colspan=2 align="center">
<input type="submit" value=" Ekle " size=20></td>
</tr>
</table>
</form><%
rsForums.close
set rsForums = nothing
rsStatus.close
set rsStatus = nothing
rsUsers.close
set rsusers = nothing
conn.close
set conn = nothingelse%>
<p><b>Lütfen Giriş Yapınız..</b></p>
<form action="philboard_admin-login.asp" method="post">
<table width="300" cellpadding=4 cellspacing=1 border=0 bgcolor="#000000" height="110">
<tr>
<td colspan=2 height="7"><font size="1" color="#FFFFFF"><b>Admin ! Kullanici
Adi ve Şifreniz..</b></font></td>
</tr>
<tr bgcolor="#F3F3F3">
<td height="21"><font face="arial,helvetica" size="2"><b>Kullanici Adi</b></font></td>
<td height="21"><input type="text" name="username" size="20"></td>
</tr>
<tr bgcolor="#F3F3F3">
<td height="21"><font size="2"><b>Sifre</b></font></td>
<td height="21"><input type="password" name="password" size="20"></td>
</tr>
<tr bgcolor="#F3F3F3">
<td colspan="2" align="center" height="25">
<input type="submit" value="Giris / Signup"></td>
</tr>
</table>
</form><%end if%>
</font>
</body>
</html> -
<%if Session("philboard_admin") = "True" then%>
hocam bak session varmış :)
şimdi adam sitede bu session'a ulaşan adamları admin sayfasına yönlendirmek için..
(status'ların üyeye atandığını var sayarak !!! ki bunu tartışıyoruz yarım saattir :D)
<%
if status = "3" then
session("philboard_admin") = "true"
session.timeout = "kafana göre bi süre yaz"
response.redirect "adminsayfasi.asp"
end if
%>bu şekilde status'u 3 olan adam admin sayfasına gider ve giriş yapmış gibi olur..
ama şu adamın status'unu nasıl belirliyorsun onu hâla anlayamadım :)
ayrıca bu gönderdiğin sayfa forumun admin sayfasının login sayfası, normal giriş sayfasını göndersen, orada üyeye atanan değeri bulup yönlendirmeleri yapacaz işte :D yukardaki kodları senin üyenin status'unu belirlediğini varsayarak yazdım -
http://www.aspindir.com/goster/3889
al hocam şunu bu benim forum şeysi.Yaw status falan admin e veriliyor.
şimdi ben admingiris.asp yazsam
<%
if status = "3" then
session("philboard_admin") = "true"
session.timeout = "kafana göre bi süre yaz"
response.redirect "adminsayfasi.asp"
end if
%>bunu eklesem dbdeki status 3 olduğunda girecek dimi?Kod buysa ben buna bi tan iş çekerim :D
-
dediğim gibi login sayfasında üyeye bir cookie değişkeni atıyor, bu session olsa imiş daha iyi imiş :)
bak şimdi hocam philboard_login-process.asp sayfasına bak, adam giriş yaparken ona bir cookie değişkeni atıyor...
<%
mesela sayfaların birine <%= request.cookies("level")%>yazarsan o sayfayı gezen giriş yapmış kullanıcı kendi levelini görür..
status = request.cookies("level")
if status = "3" then
session("philboard_admin") = "true"
session.timeout = "kafana göre bi süre yaz"
response.redirect "adminsayfasi.asp"
else
response.write "ne işin var la burda siktir git"
response.end
end if
%>
bu kodları admin giriş sayfasına yerleştir.. status'u 3 olanlar o admin sayfasına şifre falan yazmadan girebilir 3 olmayanlar siktir yer..
ama cookie güvenli değildir, opera da falan cookie editleme olayı olması lazım, adam admin sayfasına cookie editleyerek girebilir, bunun için cookie yerine seesison kullanmak daha güvenlidir..
