Tekil Mesaj gösterimi
  #2 (permalink)   eTicaret 
Alt 2005-05-22, 21:02
graf von beelzebub - ait Kullanıcı Resmi (Avatar)
graf von beelzebub graf von beelzebub isimli üyemiz çevrimdışıdır. (Offline)
Member
 
Üyelik tarihi: Mar 2005
Mesajlar: 141
Tecrübe Puanı: 3
eTicaret: %0/0
graf von beelzebub is an unknown quantity at this point
Standart

yeni öğreniyorum diyorasn eb şata bunlara dikkat et derim:
1- mesela, kategori.php gib bir sayfan kategori.php?id=25 seklinde, url'den gelen bilgiyi alması, ona gore icerik gostermesi gerekiyosa mutlaka sayfa basında gelen degerin kontrolunu yap, bu hem bilimum guvenlik sorununu ortadan kaldırır, hem olası sql injection yontemlerine karsı korunmus hemde kodun daha stabil olur, soyleki:
PHP- Kodu:
<?php
# KATEGORI.PHP
if(empty($_GET[id]) || $_GET[id] == '' || (integer)$_GET[id] == 0) {
    die(
'URL\'de oynama yapmaya kalkismayiniz!');
    
// veya header('location: /index.php'); falanda olabilir
} else {
    
$kategori_id = (integer)$_GET[id];
}
?>
boylece URL'den yapılacak bilimum seye karsı korunmus olursun.
integer kontrolunu sadece url'deki degiskenden gelen deger ornekteki gibi numeric se yap, lakin kişi URL'den senın id olmasını ıstedıgın kısma string girmisse, php dosyanda yapacagın kontrolde integer halıne bakarsan stringler genelde 0 olur (egerki 1dsada seklindeyse 1 olur), boylece bunuda onleyebilirsin (genelde 0 id olarak falan kullanılmaz zaten)

2- her zaman (php.ini'de register_globals on olsa bile) mesela formdan "isim" adında olan alandaki degeri scriptinde $isim seklinde degil, $_POST[isim] seklinde karsıla, gerkli kontrol ve duzenlemeleri yaptıktan sonar string/deger ' de, $isim e sevirip oyle kullan derim.)

3- yaptıgın if, switch gibi kontrollerde kesinlikle olabilecek her durum icin yapılacak bir islem / belirlenecek bir deger veya gosterilecek bir mesaj olsun.

guvenlik konusunda sordugun icin bu kadar yazıyorum, esasta bu konularda yazılabilecek cok ipucu / puf nokta tarzında şey var yeni baslayanlar icin, kolay gelsin

Konu graf von beelzebub tarafından (2005-05-22 Saat 21:04 ) değiştirilmiştir..
Alıntı ile Cevapla