Tehlikeli bir deðiþkenden gelen veriyi iþlemlere tabi tutmadan önce ilk olarak önce onaylanamanýz ve filtrelemeniz gerekmektedir.Zira bunlarý yapmazsak basit yöntemlerle hacklenmek elde bile deðil.
mysql_real_escape_string
Bu fonksiyon gelen veride mysql’e iþ yaptýrma olasýlýðý olan simgelerin önüne veri olarak gösterecek olan \ koyuyor.\x00, \n, \r, \, ‘, “ ve \x1a. Bu þekilde kiþinin yazdýðý yazý doðrudan yazý olarak veritabanýna eklenmiþ oluyor. mysql_real_escape_string ile sql injection u ortadan kaldýrýyoruz
mysql_query("insert into arama (kelime) values ('$query')");
htmlentities
Girdilerde olduðu gibi dýþarýya sunulan tüm verilerin de (güvenli olarak filtreleyip veritabanýna iþlediðiniz verilerin dahi) filtrelenmesi gerekmektedir.
Filtrelenmesi gereken en önemli þey probleme yol açabilecek olan HTML tag'leridir. Bunu yapmanýn en kolay yolu bütün HTML'i escape iþlemine sokan htmlentities() fonksiyon'udur:
htmlentities ile muhtemel muhtemel XSS (cross site scripting) saldýrýlarýný kaldýrýrsýnýz
Eðer tüm html taglarýný silmek istemiyorsanýz strip_tags() kullanarak bazý html taglarýna izin verebilirsiniz.




Yorum Yaz