iCreatives
Registered
Здравейте,
Ползвам ето тази защита за XSS:
Проблема е следния: Когато предавам променлива с $_GET и стойността и е написана на български счита това за атака.
Пример: profile.php?username=Иван
Ще ми изведе грешката, ако е така:
profile.php?username=Ivan
няма проблям!
Как да го оправя?
Мерси!
Ползвам ето тази защита за XSS:
PHP:
<?php
header ('Content-type: text/html; charset=utf-8');
$queryString = strtolower($_SERVER['QUERY_STRING']);
if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "./adm/logs.php";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Дата: $date | Атака от: $ip | Атака над: $loc?=$queryString\n<br>");
fclose($log);
echo "<font color=black>Вашата атака беше записана, и скоро ще лапнете бана!</font>";
exit;
}
?>
Проблема е следния: Когато предавам променлива с $_GET и стойността и е написана на български счита това за атака.
Пример: profile.php?username=Иван
Ще ми изведе грешката, ако е така:
profile.php?username=Ivan
няма проблям!
Как да го оправя?
Мерси!