BİLİŞİM - BİLGİSAYAR - EĞİTİM
  Parola İle Sayfa Koruma
 

Parola İle Sayfa Koruma

“Internet’te gizlilik olmaz!” ilkesine rağmen, bazen öyle sayfalarımız olur ki, bunların içeriğini bütün Internet ziyaretçilerinin görmesini istemeyebiliriz. Örneğin derneğimizin veya grubumuzun telefon numaraları ve elektronik posta adreslerini gösteren sayfamıza sadece grup üyelerinin ulaşmasını arzu edebiliriz. Bir Web sitesinin herhangi bir sayfasını ziyaretçilerden gizlemek için sayfanın açılmasını belirli bir şartın yerine gelmiş olmasına, mesela ziyaretçinin bir Form aracılığıyla bize doğru parolayı göndermesine bağlayabiliriz.

Bu tür sayfa gizleme yollarını istemci-tarafında çalışan bir programla yapmak mümkündür; ancak sayfa gizlemenin mantığına aykırıdır. sözgelimi bir Form’da parola alanına girilecek bilginin gerçek parola ile karşılaştırılmasını bir Script fonksiyonu ile yapmaya kalkarsak, ziyaretçinin kaynağı görüntülemesi halinde ziyaretçinin girdisi ile parolayı karşılaştıran Script, ve tabiî bizim kıymetli parolamız, ziyaretçi tarafından öğrenilecektir. Oysa ASP kodları ile gizlediğimiz parolanın ziyaretçiye görünmesi imkansızdır; çünkü ASP kodları hiç bir zaman ziyaretçiye gönderilmeyeceği için parola sınayan program da ziyaretçiye gidemeyecektir.

Önce şu kodu, parola.asp adıyla kaydedelim:

<%@ LANGUAGE="VBSCRIPT" %>

<%

Response.ExpiresAbsolute = Now() - 1 'Sayfanın yedeklenmesini önleyelim

FormParola = ucase(trim(request.form("FormParola")))

If FormParola <> "PAROLA" Then

%>

<HTML>

<HEAD>

<TITLE>ASP ILE PAROLA</TITLE>

<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<META http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<BODY bgcolor="#ccffff" text="black" link="navy" vlink="purple">

<DIV align="center">

<FORM action="parola.asp" method="POST">

<h2>Ana sayfaya girmek için parolayı yazınız (Mesela, PAROLA) ?</h2>

  <input type="password" name="FormParola" size="10"><br><br>

  <input type="submit" value="Girebilir Miyim?">

</form>

</div>

</body>

</html>

<% Else %>

Şimdi ana sayfaya girmiş oldunuz..

<% End If %>

Şimdi kodumuzu ayrıntılı indereleyebiliriz. Önce, bu sayfanın ziyaretçinin Browser’ı tarafından ziyaretçinin bilgisayarında yedeklenmesini önlediğimize dikkat edin: Bunu Response nesnesinin .Expries metodunun farklı bir türü ile yapıyoruz. .ExpiresAbsolute sadece .Expires metodundan farklı olarak, bizden bir değer ister. Bu değerin zaman olarak verilmesi gerekir. Burada VBScript’in o andaki zamanı belirten Now() fonksiyonu ile yapıyoruz ve bu fonksiyonun verdiği değerden (yani o andaki saatten) 1 saat çıkartıyoruz. Böylece sayfanın geçerliği çoktan dolmuş oluyor. Browser, bu ifadeyi gördüğü anda sayfanın daha sonra başvurulmak üzere bir kopyasını saklamayacaktır. Bunu neden yapıyoruz? Diyelim ki parolayı doğru bilen bir ziyaretçi kullandığı bilgisayarın başından kalktı ve yerine başka bir kullanıcı geçti. Bu kişinin Browser’ın Yenile düğmesini tıklaması halinde bizim özene-bezene gizlediğimiz sayfa yeniden görüntülenecektir. Oysa Browser’a bu sayfanın artık geçerli olmadığını bildirmekle, yenilenme işleminin Cache bellekten (ziyaretçinin bilgisayarında sabit diskte kaydedilen kopyadan) değil de, mutlaka Server’dan yapılmasını istiyoruz.

Sayfamız açılırken, (kodumuzun dört ve beşinci satırında) kendi içerdiği formda bilgi olup olmadığını sınıyor. Bunu formdaki formParola isimli INPUT alanının değerini atadığımız değişkenin içeriğini parola olarak seçtiğimiz kelime karşılaştırarak yapıyoruz. Eğer bu değişken (buradaki örnekte “PAROLA” kelimesine) eşit değilse, yani parola yanlış veya boşsa If sorgusu olumlu sonuç verecek ve program devam edecektir. If sorgusu yanlış sonuç vermiş olsaydı, yani ziyaretçi Form’a bilgi girmiş ve bu bilgi bizim karşılaştırmayı yaptığımız kelimeye eşit olmuş olsaydı, program ELSE ifadesine atlayacaktı. Programın devamı formu oluşturmaktadır; ELSE ifade ise formu atlamakta ve ziyaretçinin Browser penceresine “Şimdi ana sayfaya girmiş oldunuz” cümlesini yazdırmaktadır. Tabiî gerçek bir uygulamada bu cümlenin yerinde gerçek bir sayfanın ögeleri yer alacaktı. Bu yöntemi uygularken sayfanın VBScript’nin End If ifadesiyle bittiğine dikkat edin.
 
 
  Bugün 148 ziyaretçi (234 klik) www.bilisim-egitim.tr.gg  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol