Daha önceki 2 bölümü Web Sitenizi Güvenilir Yapın – I ve Web Sitenizi Güvenilir Yapın – II” sayfalarından okuyabilirsiniz.
Şimdi güvenlik ihtiyacınızı ve kullanıcılarınızı nasıl izleyeceğinizi tespit ettikten sonra, kullanıcıların bağlanacağı sayfayı hazırlamanız gerekiyor. Bu sayfada kullanıcı adı ve şifresi onaylanacak.
Aşağıdaki örnekte böyle bir sayfayı veriyorum. Bu kod, kullanıcı adını ve şifresini onaylar. Yanlış giriş yapılırsa hata mesajı verir, doğru giriş yapıldığında da kullanıcıyı içeriğin olduğu sayfaya taşır.
<%
‘ ************************************************************************
‘ Check for enabled cookies by creating a test session variable and
‘ recalling the login page. If the session variable retains its value
‘ then your test is successful
‘ ************************************************************************
If Session(“Access_Status”) = “” _
AND Request.QueryString(“test”) <> 1 then
Session(“Access_Status”) = “Test”
Response.Redirect “login.asp?test=1”
ElseIf Session(“Access_Status”) = “” _
AND Request.QueryString(“test”) = 1 then
Response.Redirect “cookie_error.asp”
End If
‘ ************************************************************************
‘ Verify User Name and Password. If correct set Session variable = Granted
‘ to check against on secure pages. Redirect User to the secured content.
‘ ************************************************************************
If LCase(Trim(Request(“User_Name”))) = “user” _
AND Request(“Password”) = “password” then
Session(“Access_Status”) = “Granted”
Response.Redirect “Content.asp”
‘ ************************************************************************
‘ If not correct User Name and Password and user attempted to enter
‘ something, change status to Denied. Use this value to know when
‘ to display an error message.
‘ ************************************************************************
ElseIf Request(“User_Name”) <> “” _
OR Request(“Password”) <> “” then
Session(“Access_Status”) = “Denied”
‘ ************************************************************************
‘ Must be an initial view or the User entered nothing. Make sure the
‘ Access_Status = “” so the page will display without an error message
‘ ************************************************************************
Else
Session(“Access_Status”) = “Test”
End If
%>
Welcome
to Security-R-Us.com . . .
Securtiy-R-Us.com,
only where we want you to be.
Please <% ' ************************************************************************ %> *** <% End If %>
|
En baştaki kod kullancının browser’ında cookie’ler çalışıyor mu diye test ediyor. Mantık düz ve basit. Önce bizim oturum değişkenimiz “Access_Status” ve QueryString değişkenimiz null mu diye kontrol ediyorum. İkisi de nul ise, o zaman kullanıcının sayfamı ilk defa ziyaret ettiğini varsayarım. Sonra Oturum değişkeni olan “Access Status” = “Test” olarak tanımlar, login sayfasını QueryString “test” =1 olacak şekilde açarım. Sayfaya bir sonraki gelişte querystring 1 olacak. Oturum değişkeni hala null ise kullacıyı cookie_error.asp isimli bir sayfaya yönlendiririm. Bu sayfada, cookie kullanan bir browser kullanmaları ya da cookie’leri çalıştırmaları gerektiğine dair bir uyarı yer alır. Querystring testi 1 çıkarsa ve oturum değişkeni null değilse, kullanıcı adı ve şifresini onaylamak üzere harekete geçerim.
Sayfa basit bir “if .. then” döngüsü ile devam eder. eğer herhangi bir boşluk varsa bunu yoketmek için Trim ve büyük harf duyarlılığını yok etmek için Lcase kullanırım. Şifrenin tam olması lazım. Bunun için karşılaştırmayı duyarlı olarak bırakırım ve boşlukları yoketmem. Kullanıcı doğru isim ve şifre girdiyse, “Access_Status” = “Granted” yaparım. Güvenli sayfalar bu granted kelimesini arayacaklardır. Ondan sonra kullanıcıyı görmek istediği sayfaya yollarım.
Eğer doğru eşleşme yapılamadı ise, kullanıcı adı ve şifre yani User_Name ve Passwrd alanlarında birşey girilmiş mi diye bakarım. Eğer girilmiş ise, “Access_Status” değişkenini “Denied” ile değiştiririm. Sonra bunu sayfaya error mesajı göndermek için kullanırım.
Eğer iki kriterde başarısız ise, ya giriş yapılmamıştır. Ya da sayfaya ilk defa geliniyordur. Her iki şekilde de, Basit bir form sunarız. Böylece “Access_Status” = “Test” olarak alırız. Bu durumda hata mesajı çıkmaz ve cookie onaylama safhası atlanmış olur.
Şimdi basit bir login sayfanız var. Bu yazı dizisinin daha ilerki safhalarında size birkaç farklılık ve esneklik sağlayan özellik anlatacağım.
İçerik Sayfalarınızı Kilitlemek
Şimdi login sayfanız yaratılmış oldu. Son derece basit bir şekilde güvenliği sağlamış oldunuz. Şimdi aşağıdaki kodu, güvenlik gerektiren içerik sayfaları hangileri ise onların başına ekleyin. Sayfanın uzantısı .asp olmalıdır.
<% Option Explicit %>
<%
‘ ***************************************************
‘ Check to see if user has access to this page
‘ ***************************************************
If Session(“Access_Status”) <> “Granted” then
Response.Redirect “login.asp”
End If
%>
Daha basiti olabilir miydi ? Eğer bağlanmıyorsa, login sayfasını gönderin. Böylece web sitenize basit bir güvenlik eklemiş oldunuz.
Bir sonraki bölümde, otomatik login için cookilerin kullanımını ve ödeme sayfanızın güvenliğini sağlamak için SSL kullanmayı öğreneceğiz.
# # #