Anasayfa > Programlama > PHP > URL Güvenliği
Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar

URL Güvenliği




Dinamik sayfaların internette statik sayfaların yerine geçmesi ilebirlikte ilgili html sayfarına
paremetre göndererk sayfanın içeriğinin değişmesi sağlanabiliyor.
Örneğin

http://xyz.com/kategori.php?k=1 sayfası k parametresi ile kaçıncı kategoriyi görüntülemek
istiyorsanız ona ait olan resmi gösterir.

Daha özel sayfalarımız olduğunu varsayalım. Mesela kullanıcılarımızın icq da olduğu gibi bir
kullanıcı numarası ile tekilliğini sağladığımızı varsayalım.

http://xyz.com/kullanici.php?no=1 şeklinde ki bir yapının 1 nolu kullanıcının bilgilerini diğer
kullanıcılara göstermek için kullanıldığını varsayalım.

Sitenizi gezen her hangibir kişi sitede diğer kullanıcı bilgilerine ulaşmak için tek yapacağı no
parametresini arttırarak sayfayı yeniden çağırmak olacaktır.

Böylecene izin verdiğiniz kadar olan bilgilere rahatlıkla ulaşabilecektir. Eğer sizin istediğiniz
sadece gösterilen bağlantıdan kullanıcı bilgilerine ulaşmak ise şimdi anlatacağım yöntem işinize
yarayabilir.

md5() fonksiyonu

md5 fonksiyonu bir katarın (string) 32 karakterlik hexedecimal hash değerini MD5 message digest
algoritmasını kullanarak döndürür. Bulunan değerden (çıktı) girdiye tekrar geri dönülemez. Yani
algoritma tek yönlü bir şifreleme algoritmasıdır.
Php'de string md5(string str) şeklinde tanımlanmıştır.

örnek vermek gerekirse md5 lenmiş girdi ve çıktı aşağıdaki gibi görülebilir.

for($n=1; $n < 10 ;$n++ )
{
$str = md5($n);
echo "$n:$str
";
}
/*
Çıktısı:
1:c4ca4238a0b923820dcc509a6f75849b
2:c81e728d9d4c2f636f067f89cc14862c
3:eccbc87e4b5ce2fe28308fd9f2a7baf3
4:a87ff679a2f3e71d9181a67b7542122c
5:e4da3b7fbbce2345d7772b0674a318d5
6:1679091c5a880faf6fb5e6087eb1b2dc
7:8f14e45fceea167a5a36dedd4bea2543
8:c9f0f895fb98ab9159f51fd0297e236d
9:45c48cce2e2d7fbdea1afc51c7c6ad26
*/


md5'i nasıl kullanacağız

http://xyz.com/kullanici.php?no=1 şeklinde bir URL üzerinde ziyaretçi kolayca mantık yürütüp no yu
arttırarak diğer kullanıcılar hakkında bilgiye ulaşabilirdi. Dahada kötüsü bir program yapıp
sunduğunuz kadar bilgiyi ele geçirebilir.

Biz bu kişilerin işlerini biraz daha zorlaştırmaya çalışalım. Yukarıda ki URL adresini kendimiz
yaratalım ve
http://xyz.com/kullanici.php?no=1&m=c4ca4238a0b923820dcc509a6f75849b şekline
getirelim.

Bu işlemden sonrada kullanici php'de kontrol yapmamız gerekiyor. Kontrolun aşağıdaki şekilde
olduğunu varsayalım.

if($m!=md5($no))
{
echo "İzinsiz ulaşım.
";
exit(); // Burada bir hata sayfası çıkarmak daha mantıklı
}
// Buraya gelebildiyseniz normal görüntüleme işlemne devam edebilirsiniz.

Daha iyisi
Tamam bu yöntemi kullandığınızı varsayalım peki ya bu dokümanı okuyan tek kişi siz değilseniz.
Birinci parametreyi md5 leyip ikincisini bilgiyi ulaşabilen kişi yaratabilirse ne olacak.

Küçük bir çözüm program içinde md5 fonksiyonuna bir ekleme yapmak. Örneğin bir anahtar
ekliyebiliriz.

$anahtar = ':) kimse bilmez';
for($n=1; $n < 10 ;$n++ )
{
$str = md5($n.$anahtar);
echo "$n:$str
";
}
/*
1:ca4dd161be8e0eb1822c8774406b598b
2:7af9fc853719a96a661c9173e4be5f5a
3:1ac140b91f245a4406ff6f4f99af5045
4:de5e507a1468d4add1d87e343a6adb56
5:c5a040e097b07346e3cd4fa9df917b5a
6:61e2e0e8423585e8b9f32e09ac9fa458
7:4528f12d61df3ba3a2f08a5c82646441
8:086cf3e596d30bc8ed7dc2de21b5fcfa
9:02c70560d05402b519204ae2911bb004
*/


Gördüğünüz gibi değerler değişti. Anahtarı kimse bilmediğine göre artık sorunumuz yok. Unutmamalı
ki bu sadece işleri biraz zorlaştırmak için bir yöntem. İnsan yapımı olduğu sürece bir şekilde
bilgileriniz güvenli değildir. Ama biz yinede eşeği bağlayalım.

Birazda kodlara bakalım.


// Güvenli Param sitede her yerden bunu çağıracağız
function GuvenliParam($p_str)
{
$anahtar = ':) kimse bilmez';
return md5($p_str. $anahtar);
}

// Şimdi gerekli URL'yi dinamik yaratıp ekrana basan fonksiyonumuzun şu şekilde olduğunu varsayalım

function EchoKullaniciURL($p_kullanici_no)
{
?>
Kullanici Bilgileri
http://www.programlama.com/sys/c2html/view.php3?DocID=1508 adresinde
bulunmaktadır. Bu adres ve yazala ilgili aşağıdaki bilgiler durduğu sürece istenilen sitelerde
yayınlanabilir.

Erdem SEHERLER
erdem_seherler@hotmail.com

Referans:
http://www.programlama.com/sys/c2html/view.php3?DocID=1508

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 3-2-2006  Okunma: 3519

Bu Makaleye Verilen Puan:    Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Emlak Yorumlar Müzik estetik