Dostluk, Hoşgörü ve Paylaşım Mekanı


Login Sistemi ve Session Kullanımı
Hazırlayan : e-serdark
 Tarih : 24.06.2008 09:54:12 - Kategori : ASP - Okunma Sayısı : 4664

 Bu derste, web sitenizde kullanabileceğiniz ve temel olarak bir login sisteminde ihtiyaç duyacağınız, güvenlik önlemleriyle birlikte bir kod örneğini inceleyeceğiz ve veritabanında kayıtlı kullanıcı adlarını kontrol ederek giriş yapmayı öğreneceğiz.


Öncelikle bir form hazırlayarak ziyaretçinin kullanıcı adı ve şifresini girmesini sağlayacağız. Aşağıdaki kod bloğunu sayfanızın istediğiniz noktasında kullanabilirsiniz. Session("Active") nasıl oluşturuldu sorusunun cevabı ise login.asp sayfasında olacak...

Bu sayfanın giris.asp olduğunu farzedelim...

<% If Session("Active")= 0 Then %>
<h2>Hosgeldiniz</h2>
<form action="login.asp" method="post" name="login" id="login">
<table width="98%" border="0">
<tr>
<td width="30%"><div align="right">Kullanici/User</div></td>
<td width="70%"><input name="UserName" type="text" id="UserName" size="12" maxlength="15" />
</td>
</tr>
<tr>
<td><div align="right">Sifre/Pass</div></td>
<td><input name="Password" type="password" id="Password" size="12" maxlength="10" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Giris/Login" /></td>
</tr>
</table>
</form>
<%
Else
End If

%>

<h2>Hoşgeldiniz, <% =Session("User") %></h2>
...
...

Bu sayfadaki açıklanması gereken noktaları gözden geçirelim.

    - Başlangıçtaki Session("Active") değeri aşağıdaki login.asp içerisinde tanımlanıyor. Kullanıcı giriş yaptığında 1, çıkış yaparken de 0 değerini vereceğiz. Eğer bu değer 0 ise giriş yapabilmesi için form geliyor. Aksi takdirde yani değer 1 ise sayfanın geri kalanı görüntüleniyor.

    - Form, girilen bilgileri login.asp' ye gönderiyor ve post metodunu kullanıyor. Böylece adres çubuğunda kullanıcı adı ve şifre bilgileri görüntülenmiyor.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1254"%>
<%
UserName = Server.HTMLEncode(Request.Form("UserName"))  'HTML.Encode metodu ile formdan 
'girilebilecek SQL ya da HTML
'verileri ASCII koda dönüştürülüyor.
UserName = Replace(UserName, "'", "", 1, -1, 1) 'Dönüştürülmüş kod içerisinde
'tehlike yaratabilecek SQL kodlarını
'temizlemek için " ' " işaretleri
'kaldırılıyor
Password = Server.HTMLEncode(Request.Form("Password"))
Password = Replace(Password, "'", "", 1, -1, 1)

If Len(UserName) = 0 or Len(Password) = 0 Then
    Response.Write "Giris Yapabilmek Için Kullanici Adi ve Sifre Girmeniz Gerekmektedir.<br>"
    Response.Write ("<a href=""default.asp"">Giris Ekranina Geri Dönün...</a>")
    Response.End()
Else
Set stDosya = Server.CreateObject("ADODB.Connection")
stDosya.Open ("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/db.mdb"))

Set rsUser = Server.CreateObject("ADODB.Recordset")
qUser ="SELECT * FROM Kullanici WHERE User='"&UserName&"'"
rsUser.Open qUser, stDosya
' veritabanı bağlantımızı yapıp formdan gelen kullanıcı adına göre sorgulayıp 
' kayıtlarımızı çektik. Eğer kayıt seti boş geldi ise yani
' gelen kullanıcı adı kayıtlı değilse
' bir hata mesajı vermemiz gerekecek.
    If rsUser.EOF Then
        stDosya.Close()
Set stDosya = Nothing
        Response.Write ("Kullanici Adi Bulunamadi...")
Response.Write ("<br><br><a href=""giris.asp"">Giris Ekranina Geri Dönün...</a>")
    Else
        If Password = rsUser("Pass") Then
            Login        = 1
User         = rsUser("User")

       stDosya.Close()
Set stDosya = Nothing
        
           Session("Active")   = Login ' daha önce bahsettiğimiz Session
' burada oluşturuluyor.
' Session ile ilgili ayrıca bir konu işleyeceğiz.
Session("User")     = User

Response.Redirect("giris.asp") ' Giriş tamamlandı ise kullanıcıyı
' geldiği sayfaya geri yönlendiriyoruz.
        Else
       stDosya.Close()
        Set stDosya = Nothing
            Response.Write "Sifreyi Hatali Girdiniz..."
Response.Write ("<br><br><a href=""giris.asp"">Giris Ekranina Geri Dönün...</a>")
        End If
    End If
End If
%>

Bu kod bloğu birçok uygulamada kullanılabilir. İhtiyacınıza rahatlıkla uyarlayabilirsiniz. Kodla ilgili sormak ya da eklemek istediklerinizi forumumuzda paylaşabilirsiniz..

Çıkış işlemi için de örneğin logout.asp adıyla oluşturacağınız bir dosya içerisinde sadece aşağıdaki kod bloğunu kullanmanız yeterli olacaktır.

<%
Session("Active")    = 0
Session("User")     = ""
Session.Contents.RemoveAll()
Session.Abandon()
        Response.Redirect ("giris.asp")
%>


Anahtar Kelimeler : login, session, ADODB.Recordset, form, Request.Form, VbScript, username, password, HTMLEncode

RSS Ekle Dersleri RSS ile takip edin...

Konuya link vermek isterseniz bu adresi kullanabilirsiniz.
http://www.herturlu.net/dersgoster.asp?id=36

Lütfen kaynak belirtmeyi unutmayınız...


Son Eklenen 10 Ders
 Etkileşimli Combobox' lar
 Gizli Sürücü ve Donanımları Kaldırmak
 Değişkenler
 Network Güvenliği
 Otomatik Başlatmayı Kapatmak
 c# ile ComboBox kontrolü
 c# ile CheckBox kontolü
 ListBox kontrolü
 ADO OLE DB Connection Strings
 c# , TextBox, Button

Üye Girişi

Kullanıcı adı
Parola
Beni Hatırla
  Şifremi Unuttum
  Üye Olmak İstiyorum

Duyurular

Firmanızı, ürün ve hizmetlerinizi, kelime ya da harf kisitlamasi olmadan, fotograf, video, ses, müzik ve benzeri materyalleri kullanarak, üstelik zaman kisitlamasi da olmadan, ücretsiz olarak tanitabileceginizi biliyormusunuz ? Forumumuzda Ticaret Basligi altinda sinirsiz tanitim imkanini kaçirmayin...


   Sitenizi, Blogunuzu, Forumunuzu kod ekleme derdi olmadan, spam maillere bogulmadan, uzun uzun anlatin, resimler ve benzeri materyallerle destekleyerek Web Siteleri ve Bloglar basligi altinda tanitin...






Zirve100 Site ekle

Online Ziyaretçi(ler) : 6

HerTürlü.Haber
Son Haberler
  Manset Haber   ODTÜ'den insans...  (230)
  Manset Haber   Yerli sanal ger...  (202)
  Manset Haber   Engin Yörükoğlu...  (324)
    Vistanın ömrü d...  (358)
  Manset Haber   48 Çekirdekli İ...  (579)
  Manset Haber   Vodafone Borusa...  (591)
  Manset Haber   Emekliye 100 li...  (808)
    Telekoma son 4 ...  (666)
    Airties Batı Av...  (701)
    IBM, Lenovo Des...  (1222)


Sponsor
 Bu alana sponsor olarak reklam verebilirsiniz. Iletisim
 Hosting Sponsorumuz

Logo Çözüm ve Destek Merkezi, Network ve Donanim Servis Hizmetleri, Hosting Hizmetleri, Özel Yazılımlar


HerTürlü.Net - Dostluk, Hoşgörü ve Paylaşım Mekanı - Tasarım / Programlama : Serdar KARDAN
© 10.03.2004 - 2010  (2374 gündür sizinleyiz...)


Müzik - Sinema - Tiyatro - Kültür Sanat - Edebiyat - Güncel Konular, Haberler - Forum - Dersler - Makaleler
 
Web www.herturlu.net