PHP uygulamarında PHP_SELF kullanırken dikkat !
SORUN:
Genelde PHP_SELF'i form action="" içinde kullanırız.Örneğin ;
echo("<form action='".$_SERVER[PHP_SELF]."' ...");
gibi kod satırlarını birçok uygulamada görürüz.Şu haliyle çok kullanışlı ve masum gözüküyor , ama bir eksikle..
PHP_SELF'te aslında query string'in bir elemanıdır.PHP "?" karakterini görene kadar adres satırındaki bilgiyi PHP_SELF değişkenine aktaracaktır.PHP_SELF çıktısını ekrana basan bir sayfaya
form.php/<script>alert(document.cookie)</script>
ile giriş yaparsak (eğer varsa) ekrana alert içinde o domaine ait cookie bilgileri gelcektir.Farkınızda olmadan okuduğunuz mailde gorunmeyen bir <img> etiketiyle cookie bilgilerinizi kaybedebilirsiniz.
ÇÖZÜM : PHP_SELF yerine SCRIPT_NAME kullanın.Ya da PHP_SELF çıktısını ekrana basmadan önce htmlspecialchars() tarzı fonksiyonlar kontrol edin.
|
|