Alıntı:
kArA tarafından gönderilen mesaj:
Querystring ile gönderilen değerleri kontrol etmeden kullanırsanız güvenlik sorunları ile karşılaşabilirsiniz. Kötü niyetli kişiler index.PHP?sayfa=http://www.kotusite.com/kotusayfa.PHP şeklinde kendi kodlarını sitenizde çalıştırabilir.
Şöyle bir kontrol yapabilirsiniz
<?PHP
$sayfa = "default";
$sayfalar = array("default", "haber_ekle", "haber_sil");
if(array_search($sayfalar, $_GET["sayfa"]) === True)
$sayfa = $_GET["sayfa"];
include 'pages/'.$sayfa.'.PHP';
?>
Böylece ön tanımlı $sayfalar dizisinde sayfa mevcut ise dahil edilmiş olur, eğer dizi içerisinde querystringden gelen değer bulunamazsa o zaman $sayfa değişkeninin ilk değeri olan default. PHP sayfasına yönlendirilmiş olur.
Mekanizma geliştirilebilir, iş yerinde olduğum ve vaktim kısıtlı olduğu için etraflıca düşünemedim.
|
Peki bu durumda eklediğimiz her sayfayı array in içine eklememiz mi lazım olacak. Ben öteki yöntemde sadece linke
index.PHP?sayfa=icerik girip icerik.
PHP sayfasını da hazırladığımda otomatik olarak siteyi görüyordu. Bunda ise
her oluşturduğumuz sayfayı index.PHP deki array dizisine eklememiz gerekecek doğru mu?