ASP Rehberi , ASPRehberi.Net - ASP ve ASP.NET Konuları , Scriptleri , Hosting , Programlar , Araçlar

 # 15 Mayıs 2008, Perşembe
 
 #  Kategoriler » ASP » Makaleler
 

Üyelik Sistemi Yapımı Bu içeriğin puanı : 4 49328 Görüntülenme
Ü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
 Telif : Okan Yılmaz | Eklenme : 2 Temmuz 2005, Cumartesi
 
 

Bu içerik hakkında 50 yorum yapılmış

 

 
İsminiz :
Mail Adresiniz :
Yorum
:
   

     

// Gizle
ASP Rehberi Mini Editör

  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle
Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle
 Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle Form 'a gülücük ekle Form 'a gülücük ekle


 
 
Yorumlar(50) Not : Yorumlar zamana göre son yorumdan ilk yoruma doğru(azalan) biçimde sıralanmıştır.
Yorumlarınız site yöneticileri tarafından onaylandıktan sonra eklenecektir.
+ CER_no_BIL  KARDEŞİM COK KOMİKSİN

Bu ASP  db ve mysql olmadan çalışır herhalde php ile karıştırdın sen bunları :D
Yazan : LaRoVVV | Zaman : 14 Mart 2008 Cuma, Saat 09:33
 
+ üyelik sistemli bir site kurmak istiyorum.
bu konu hakkında bilgi sahibi olan bir arkadaş yardımcı olursa , makul ücret karşılığı yardımcı olurum.
Yazan : tuncay | Zaman : 5 Mart 2008 Çarşamba, Saat 14:42
 
+ Çok güzel olmuş
Yazan : mesut | Zaman : 26 Şubat 2008 Salı, Saat 18:58
 
+ okan bey saygılar benim sorunum  sitem asp yi destekliyor ama ben ücretli giriş kodalarını bulamıyorum simdilik sizden istedigim benim sitem icin sadece havale yoluyla giriş banka biraz calısalım para görelim kredikartına sonra bakarız diyor  lütfen bana yardımcı olurmusunuz ben bu sitem için girişi nasıl ücretliye cevire bilirim asp kodların nedir bilginize  saygılar
Yazan : erkan | Zaman : 6 Şubat 2008 Çarşamba, Saat 10:33
 
+ Bu kodları yayınlayan arkadaşa çok teşekkür ederim.. ben de yeni başlayan biriyim we kendi database ime uyarladığımda sorunsuz  çalıştı..

Yazan : ExCaliburTR | Zaman : 11 Ocak 2008 Cuma, Saat 14:55
 
+ hocam merhaba benim bir ricam var ben herbir forum"a girişimde ben "de kulanıci adı ve şifre istiyur bunu nasıl devamlı olsun yaparım yane birdah o forma giriş yaptımsa bende kulanıci adı ve şifre istemesın direk giriş yapayim saygılar
Yazan : mustafa | Zaman : 5 Ocak 2008 Cumartesi, Saat 22:45
 
 .: Sayfalar  1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
 
# Kategori'nin Yenileri

İsim

Hit

Turuncu Galeri (tr)

2190

Haydi okullar internete.... (tr)

202

rc0der Reklam Sistemi v1.0 (tr)

543

HiddenChest İş ve Bayilik Başvuru Formu (tr)

1155

TradeSE E-Ticaret Yazılımı (tr)

334

Link Portal 2007 3 Temalı (tr)

1474

Gupse Medya Linkleri v0.1 (tr)

383

HiddenChest Ziyaretçi Defteri (tr)

1362

HiddenChest Kayan Haber (tr)

1746

HiddenChest Aktif/Pasif Haber Sistemi 1.1 (tr)

771

 
 
# Kategori'nin Popülerleri

İsim

Hit

IIS Kurulumu ve Yazma İzni

68761

Üyelik Sistemi Yapımı

49328

Veritabanı Tablo İşlemleri

31244

MS SQL Server - 1

30237

Hazır Site v2.1 (tr)

26917

Klasör Şeklinde Linkler(404 Yönetimi)

22141

Sayfaları şifreleme(ENCODE)

20270

MS SQL Server - 2

20104

MS SQL Server - 3

14337

Include Yöntemleri

13057

 
  # AKTİF ÜYELER
Aktif üye yok
 
 
 

 
 ASP Rehberi © 2004 - 2008
 Tasarım ve Programlama : Serdar TOROS
 ASPRehberi.Net web sitesi SiDEnet sunucularından yayınlanmaktadır.

[ 0,14 ]    ASPRehberi.NET RSS Kaynağı   Bu site Microsoft SQL Server Veritabanı kullanmaktadır

eXTReMe Tracker