wmismail Posted November 17, 2007 Share Posted November 17, 2007 Üyelik Sistemi Yapımı: //giris.asp<% if Session("durum")="giris_yapmis" then %><% Response.Redirect "giris_sayfasi.asp" %><%else %><FORM name=loginform action="giris_kontrol.asp" method=post><FONT face=verdana size=2>Kullanıcı Adı:</FONT></td><td><input name=kullanici_adi></td></tr><tr><td><FONT face=verdana size=2>Şifre:</FONT></td><td><input type=password name=sifre></td></tr><tr><td><center><input type=submit value=Gönder></center></FORM><% end if %>//giris_kontrol.asp<% Set baglanti = Server.CreateObject("ADODB.Connection") baglanti.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database/db.mdb") %> <% 'Sql Injection 'ı Önlemek ve HTML Kodlarını Pasif Hale Getirmek İçin Kullanılan Karakter Temizleme Metodu function guvenlik(data) data = Replace (data ,"`","",1,-1,1) data = Replace (data ,"=","",1,-1,1) data = Replace (data ,"&","",1,-1,1) data = Replace (data ,"%","",1,-1,1) data = Replace (data ,"!","",1,-1,1) data = Replace (data ,"#","",1,-1,1) data = Replace (data ,"<","",1,-1,1) data = Replace (data ,">","",1,-1,1) data = Replace (data ,"*","",1,-1,1) data = Replace (data ,"And","",1,-1,1) data = Replace (data ,"'","",1,-1,1) data = Replace (data ,"Chr(34)","",1,-1,1) data = Replace (data ,"Chr(39)","",1,-1,1) data = Replace (data ,"select","",1,-1,1) data = Replace (data ,"join","",1,-1,1) data = Replace (data ,"union","",1,-1,1) data = Replace (data ,"where","",1,-1,1) data = Replace (data ,"insert","",1,-1,1) data = Replace (data ,"delete","",1,-1,1) data = Replace (data ,"update","",1,-1,1) data = Replace (data ,"like","",1,-1,1) data = Replace (data ,"drop","",1,-1,1) data = Replace (data ,"create","",1,-1,1) data = Replace (data ,"modify","",1,-1,1) data = Replace (data ,"rename","",1,-1,1) data = Replace (data ,"alter","",1,-1,1) data = Replace (data ,"cast","",1,-1,1) guvenlik=data end function %> <% If trim(guvenlik(request.form("kullanici_adi")))="" then Response.Write "<center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Kullanıcı adınızı yazınız!<br><br><a href='java script:history.back(1)'><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>" response.end end if If trim(guvenlik(request.form("sifre")))="" then Response.Write "<center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Şifrenizi yazınız!<br><br><a href='java script:history.back(1)'><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>" response.end end if %> <% Set rs = Server.CreateObject("Adodb.Recordset") Sorgu = "select id, kullanici_adi, sifre from uyeler where kullanici_adi = '" & guvenlik(request.form("kullanici_adi")) & "' and sifre = '" & guvenlik(Request.form ("sifre")) & "'" rs.Open Sorgu, Baglanti, 1, 3 If rs.BOF And RS.EOF Then Response.Write "<center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Kullanıcı adınız ya da şifreniz yanlıştır!<br><br><a href='java script:history.back(1)'><FONT color=#e45f0e><u>Geri Dön</u></a></b></center>" Else Session("durum") = "giris_yapmis" Session("id") = rs("id") Session("kullanici_adi") = rs("kullanici_adi") Response.Cookies("TekTech")("kullanici_adi") = Request.Form("kullanici_adi") Response.Cookies("TekTech")("sifre") = Request.Form("sifre") Response.Cookies("TekTech").Expires = Now()+15 Response.Redirect "giris_sayfasi.asp" End If %>//giris_sayfasi.asp<%Set baglanti = Server.CreateObject("ADODB.Connection")baglanti.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/db.mdb")%><% if Session("durum")="giris_yapmis" then %><%Set rs = Server.CreateObject("Adodb.Recordset")id = Session("id")Sorgu = "Select * from uyeler where id= " & idrs.Open Sorgu, Baglanti, 1, 3if rs.eof then Response.Write "<center>Üye bilgisi bulunmamaktadır!</center>"else%><b>Kullanıcı Adı:</b> <%=rs("kullanici_adi")%><a href="cikis_yap.asp"><b>ÇIKIŞ YAP</b></a><% end if %><%else %></p><center><br><br><br><br><br><br><br><b>UYARI:</b><br><br>Lütfen giriş yapınız!<br><br><a href='giris.asp'><FONT color=#e45f0e><u>Anasayfa</u></a></b></center><% end if %>//cikis_yap.asp<%Session("durum")="" Response.Cookies("TekTech")("kullanici_adi")=""Response.Cookies("TekTech")("sifre")=""Session("id")="" %><% Response.Redirect "giris.asp" %>[/CODE]-----------------------------------------------------------------------------------------------Yukarıdan da anlaşılacağı üzere üyelik sistemi yapımı oldukça kolaydır. Fakat, burada önemli olan session ve cookie ‘yi en iyi şekilde kullanabilmektir. Session sunucu tarafında, cookie ise istemci tarafında tutulur. Ayrıca, giris_kontrol.asp adlı dosyada yer alan sql tümcesinde uyeler adlı tablodaki tüm sütunları seçip verileri belleğe almak yerine yalnızca o anda ihtiyacım olan sütunları seçtirdim. Bunu yapmanın sebebi, üye girişinin daha hızlı olmasıdır. Örneğin, veritabanımızda 500 üyemiz var. Uyeler tablomuzda id, kullanici_adi, sifre gibi sütunların yanı sıra; üyenin adı, soyadı veya buna benzer bilgilerini içeren sütunlar olsun. Üye girişinde kullanıcı adı ve şifre eşleştirmesi yapılırken üyenin adı ve soyadı bir işimize yaramayacaktır. Üye girişinde işimize yarayacak olan tablolar id, kullanici_adi ve sifre ‘dir. Üye girişinde bu yöntemi kullanmak, üye girişlerinde ki ağırlığı hafifletecektir.Bir konuya daha değinmek istiyorum. Kullanıcı adı ve şifre form kutucuklarının kontrollerini yalnızca javascript kullanarak yapmak sakıncalıdır. Ziyaretçi bu kutucukların bulunduğu sayfayı kendi bilgisayarına kaydettikten sonra javascript kontrollerinin bulunduğu satırları silip formda ki boş bilgileri sayfaya post edebilir. Bu da doğal olarak ziyaretçinin sayfada hata ile karşılaşmasına neden olacaktır. Yukarıda vermiş olduğum örnekte javascript kontrolü yerine asp kodları ile kontrol yapılmaktadır. Ayrıca; giris_kontrol.asp adlı sayfanın en başında görmüş olduğunuz guvenlik adlı fonksiyon, üye girişlerinde sql injection ‘u önlemek ve html kodlarını pasif hale getirmek için kullanılmıştır.Alıntıdır Yazı sahibi : Okan YILMAZTrabzon Link to comment Share on other sites More sharing options...
apoo Posted January 3, 2008 Share Posted January 3, 2008 Peki Ya!.. Ben Bunları asp sayfama eklicem ama kullanıcı adı ve şifresini bu kodlarda nereye yazıcam Link to comment Share on other sites More sharing options...
wmismail Posted January 3, 2008 Author Share Posted January 3, 2008 bunlarda kullanıcı adını bi yere yazamazsın. zaten vei tabanında yazılı olacak. sen yeni üye olduğunda vt ye gececek zaten.. Link to comment Share on other sites More sharing options...
apoo Posted January 3, 2008 Share Posted January 3, 2008 bunlarda kullanıcı adını bi yere yazamazsın.zaten vei tabanında yazılı olacak. sen yeni üye olduğunda vt ye gececek zaten.. Kendi Sitemdeki veritabanını görmüyor Link to comment Share on other sites More sharing options...
Administrator sk8er_boi Posted January 3, 2008 Administrator Share Posted January 3, 2008 Kendi Sitemdeki veritabanını görmüyor Ortasından başladığın birşeyi anlamaman normaldir apo. Birşeye temelden başla. Acayip sorularınla bizi de yoruyorsun. Link to comment Share on other sites More sharing options...
blackman12 Posted January 3, 2008 Share Posted January 3, 2008 yanii... Veritabanından çağırılan verilerle senin verilen bir değilse kod neylesin... Ufacık kodlardan çok şey bekliyosun Sen muzla kemikle maymun çağırmaya çalışıyosun şu anda Link to comment Share on other sites More sharing options...
wmismail Posted January 4, 2008 Author Share Posted January 4, 2008 apoo veri tabanı nedir ? Nasıl çalışır ? nasıl bağlantı yapılır ? üyelik sisteminin mantığı nedir ? Bu tür soruları bi önce öğrenmen gerekirken sen gidip te u kodu kopyalarsan tabi hiç birşey olmayacaktır. Bu scriptte kendine göre düzenleyeceğin bir sürü yer var. Mesela ben burda vt adını db.mdb verdiysem sen kendi vt adını tablonu filan yazacaksın. Yoksa zaten görmesini bekleyemezsin. Tavsiyem aspindir.com dan bir kaç tane üyelik sistemi indir ve incele. Sonra ne demek istediğimi anlayacaksın ve bana hak vereceksin. Link to comment Share on other sites More sharing options...
Surlarprensi Posted February 5, 2008 Share Posted February 5, 2008 mmm:) Bu Apoo Arkadaşı tanımıyorum ama kaç gündür Gezinirken görüyorum, maymun iştahlı gördüm O'nu..Herşeye el atmış maşallah..Css,Js,Html,burda da ASP (ileri Düzey bi konu) bende Arkadaşlara katılıyorum herşeyin temelinden başlarsan daha iyi kavrarsın, Önce Mantığı kavramak Gerek... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.