09'
Tasarım
HaCKer'Mys
Hacker
XSS’den Korunmak
1) strip_tags fonksiyonuStrip_tags, veri üzerinde html kodlarını filtrelemeye yarar. XSS’de html - javascript kodları kullanıyoruz. Strip_Tags bu veriler üzerinde html - js kodlarının kullanılmasını engeller.
Örnek olarak değişkenimizin ad olduğunu farzedelim:
$ad = strip_tags($_POST["ad"]);
Bu şekilde kullanırsak ad verisinde html kodlarını kullanmamıza izin verilmeyecektir.
Ayriyetten ; / ? : @ = & <> “ # { } | ^ ~ [ ] ` % ‘ bu kodları filtrelersekte korunmuş oluruz.
Function Filitre($text){
$gelenkod = array(";","/","?",":","@","=","&","<",">","#","{","}","|","" ,"^","~","[","]","%");
$yenikod = array("","","","","","","","","","","","","","","" ,"","","","");
$donustur = str_replace($gelenkod,$yenikod,$text);
return $donustur;
}
Burada yazdığımız fonksiyon ile xssden daha iyi korunabiliriz. Bu fonksiyonu filtrelemede kullanalım:
$isim = strip_tags(Filitre($_POST["isim"]));
2) .htaccess Düzenlemek
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode.*\\(.*\\) [OR]
RewriteCond %{QUERY_STRING} (\\<|<).*script.*(\\>|>) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\\[|\\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\\[|\\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Yukarıdaki kodlar .htaccess dosyasına eklendiği taktirde xss ile ilgili korunma sağlanacaktır. Fakat bu her zaman işe yaramamaktadır.
Önemli ölçüde koruma sağlamak için bütün yöntemleri birlikte kullanmak en doğrusudur.