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:
<?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
