metal_head
Registered
Така, сега ВНИМАНИЕ
:
В сайта си използвам WYSIWYG редактори. На потребителите ми не се налага да пишат BB кодове за нищо. Тоест те си пишат като в Word, редактора си генерира автоматично HTML и го записва в базата данни при натискане на събмит бутона.
Работата е там, че искам да сложа защита против XSS. В такъв случай htmlspecialchars не ми върши работа, защото тя ще премахне HTML-а и поста отива по дяволите, особено ако има картини, линкове...абе с htmlspecialchars не става в случая. От страшно много време търся класове и функции за филтриране на XSS атаките, но не мога да намеря нещо, което да работи добре с моята система. Най - големия проблем е, че всички класове и функции, които съм ползвал развалят линкове с GET променливи в тях. Например, ако сложа линк от You Tube, след записа в базата данни, линка ще изглежда така: http://youtube.com?v ... и до там, информацията се губи. Това е най - големият ми проблем. Искам да помоля, ако някой знае хубав клас за тази работа (дори да трябва да се купи)
И искам да попитам, монеже гледах във форума това парче код:
Как работи този код и какво точно прави? Казаха, че бил защита против най - известната атака.
Благодаря ви предварително!
В сайта си използвам WYSIWYG редактори. На потребителите ми не се налага да пишат BB кодове за нищо. Тоест те си пишат като в Word, редактора си генерира автоматично HTML и го записва в базата данни при натискане на събмит бутона.
Работата е там, че искам да сложа защита против XSS. В такъв случай htmlspecialchars не ми върши работа, защото тя ще премахне HTML-а и поста отива по дяволите, особено ако има картини, линкове...абе с htmlspecialchars не става в случая. От страшно много време търся класове и функции за филтриране на XSS атаките, но не мога да намеря нещо, което да работи добре с моята система. Най - големия проблем е, че всички класове и функции, които съм ползвал развалят линкове с GET променливи в тях. Например, ако сложа линк от You Tube, след записа в базата данни, линка ще изглежда така: http://youtube.com?v ... и до там, информацията се губи. Това е най - големият ми проблем. Искам да помоля, ако някой знае хубав клас за тази работа (дори да трябва да се купи)
И искам да попитам, монеже гледах във форума това парче код:
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;
}
Как работи този код и какво точно прави? Казаха, че бил защита против най - известната атака.
Благодаря ви предварително!