ANASAYFA | OYUNLAR | YEMEK TARIFLERI | Magazin Haberleri | FIKRALAR | BIYOGRAFILER | HIKAYELER | FORUM

ARA :    |   Faydalı Bilgiler  Makale EKLE

Sıralama :  A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z -

 
Genel  Bilgisayar  Sağlık  Bilim  Dini Bilgiler  Msn Messenger Yardim  Windows Live Messenger Yardım  Kişisel Gelişim  Google  PHP  ASP  Web Tasarım  HTML  Photoshop  CSS  Java Script  Java - JDBC   XML  Corel Draw  MYSQL  Webmaster  Internet  Güvenlik  Bilgisayar ve Donanım Dersleri  Arama Motorları (SEO)  PHP-NUKE  Joomla  Oracle  SQLServer  Kültür ve Sanat   Müzik   Sinema   Edebiyat / Kitap   Müze   YAŞAM   SPOR   Eğitim   Otomobil   Genç  FotoGaleri  Galeri video ve Analiz  Galeri Haber  FotoGaleri Sıcak ve Yaşam haberleri  Tüm İcatlar ve keşifler  Bunları Biliyormuydunuz  Sizllerden ve Bizden Gelenler Güncel Haber  rüya tabirleri Sözlüğü  Mizah  Kuraldışı Yaşamak  Tarihte Bugün  imsakiye iftar ve sahur vakitleri  Erkek ve kadın ilişkileri  Birazda Gülelim  Alternatif Tarih  Başarı Öyküleri  Gölgelerden Aydınlığa   
Üyelik Sistemi Yapımı
Ü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=`javascript: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=`javascript: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=`javascript: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= " & id
rs.Open Sorgu, Baglanti, 1, 3
if 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" %>
-----------------------------------------------------------------------------------------------
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.

Okan YILMAZ
Trabzon
 Arkadaşınıza gönderin

   
 

  Ekleyen : Alim Ömer ABUL
Okunma Sayısı : 444
Eklenme Tarihi : 24 Ocak 2007, Çarşamba
SONRAKI BILGI : Hipertansiyonla gelen cinsel sorun ( cinsel Sağlık)   
Forum Linki:
HTML Link:
Direkt Link:
Mause ile tıklayın ve Ctrl + C ile kopyalayın
   

 

 
 

 
ONLINE KULLANICI : 5 | 0,11 saniye Sayfa Yüklenme
Copyright © E-hadi.NET by: Bahar YILMAZ & Alim Ömer ABUL, 2006.
Hosting Hizmetleri       Webmaster Pagerank