selamlar,

diyelimki benim www.sitem.com adlı bir sitem olsun. burada şöyle bir sayfam olsun www.sitem.com/?sid=turlar&kayitid=124 diye de bi adresim olsun. Adam bu adresin sonuna "><sCrIpT>alert(12551)<%2fsCrIpT> şöyle bi kod eklerse ben bu scripti çalıştırmış oluyorum.

adres çubuğuna yazılan bu tarz şeyleri nasıl engelleyebilirim.

 

str_replace fonksiyonunu incelemenizi tavsiye ederim..

bigman

QueryString ile gelen verilerin içinden tek tırnak gibi karakterleri temizleyebilirsiniz. Daha detaylı olarak SQL Injection diye aratın.
Eğer size sadece ID lazım ise querystring'deki veri nümerik mi diye kontrol edebilirsiniz. QueryString'lerde sadece nümerik verilerin taşınması en güvenlisi.

mylord

ya mesela aynı kodu ekşiduyuruya yazıyorum direk anasayfaya yönlendiriyor. url i işleyemedim bi türlü onu nasıl yapabilirim? Regexle falan yapmak en mantıklısı heralde..

contavolta

querystring'i doğrudan echo ile sayfaya mı yazıyorsunuz?

ocanal

$_GET le yazdırıyorum.

contavolta

$_GET veya $_POST gibi verileri kontrol etmeden basarsanız taklaya gelirsiniz gencolar, her PHP gurusuyum diyen bilmez lakin, PHP'de filtreleme komutlarımız vardır, default, sağlam bir güvenlikle gelen;

inceleyin derim:php.net

Dr. Kissingher

sakladiginiz kullanicidan gelen veriyi sayfaya basarken < ve > karakterlerini replace edeceksiniz. tr.php.net
alternatif olarak strip_tags'e de bakabilirsiniz. ama htmlspecialchars iyidir.

disq
1

mobil görünümden çık