URL Güvenliği

PHP URL Güvenliği Programlama Dilleri hakkında bilgi paylaş; Dinamik sayfaların internette statik sayfaların yerine geçmesi ilebirlikte ilgili html sayfarına paremetre göndererk sayfanın ...
Cevapla
 
Seçenekler
  #1  
Arama 04-02-2008, 03:50
miguel - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 06/11/07
Mesajlar: 75
 
     WS-Ticareti: (1)
Teşekkürleri: 0
1 mesaja 2 kez teşekkür aldı
Rep Gücü: 2 miguel deneyimleri belirsiz.

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

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.

ş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<br>";
}
/*
Çı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

ş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 ş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.<br>";
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<br>";
}
/*
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)
{
?>
<a href="kullanici.php?no=<?echo $p_kullanici_no.'&m='.GuvenliParam($p_kullanici_no ); ?>');">Kullanici Bilgileri</a>
<?
}

// kullanici.php'de ki kontrolde aşağıdaki gibi olsun.
if($m!=GuvenliParam($no))
{
echo "İzinsiz ulaşım.<br>";
exit(); // Burada bir hata sayfası çıkarmak daha mantıklı
}
// Buraya gelebildiyseniz normal görüntüleme işlemne devam edebilirsiniz.
__________________
Miguel Rodrigo
Te quiro Pau......
Alıntı ile Cevapla
  #2  
Arama 16-02-2008, 01:39

Üyelik Tarihi: 10/10/07
Mesajlar: 33
 
     WS-Ticareti: (0)
Teşekkürleri: 0
3 Msg. 3 Tşkr.
Rep Gücü: 0 codepassion deneyimleri belirsiz.
paylasımın guzel ama ben gereksiz buldum...kullanici.php dosyasına ya tam izin verilir yada izin verilmez...md5 adres satrıında kaldıgı surece bu bilgiler guvenli olmayacaktır...oturum yontemlerini kullanmak daha mantıklı iyi calısmalar...
Alıntı ile Cevapla
Cevapla
Arama Etiketleri: ,



Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
vBulletin Güvenliği becerikliforum Template Modifikasyonları 0 01-07-2008 01:31
Neden web güvenliği? egitimbilgisi Programlama Makaleleri 0 16-06-2008 12:07
ASP ile Veritabanı Güvenliği kadınca Veritabanı programcılığı 0 04-01-2008 01:11
Linux Güvenliği kadınca İşletim Sistemleri 0 25-11-2007 04:01
Network Güvenliği kadınca Network-internet 0 22-11-2007 08:00

Webmaster Sitesine Reklam Verin

Webmaster web tasarım online reviews ~ Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum ~ iPhone