ОБСУЖДЕНИЕ

Функция для dcms

18 сообщений0 просмотровОткрыта
#1
Можно ли использовать эту функцию в sys/inc/fnc.php?
Как использовать эту функцию?

<?php
function antihack (& $var ){
if( is_array ( $var )) array_walk
($var , 'antihack' );
else $var = htmlspecialchars
(stripslashes
( mysql_real_escape_string
( $var )), ENT_Q
}
foreach(array( '_SERVER' ,
'_GET' , '_POST' , '_COOKIE' ,
'_REQUEST' ) as $v ){
if(!empty(${ $v })) array_walk
(${ $v }, 'antihack' );
}
?>
#2
Это защита от xss если я не ошибаюсь
#3
BugTrag, Да, я хочу защищать сайт от xss
#4
просто вставляешь в файл и всё, по идее она все передающиеся даные фильтрует без вызова, тоесть сама функция запускаться будет
#5
khujand, // фильтрация get
foreach ($_GET as $getstr) {
if (eregi('\'|<|>|union|select|bench|h1|,|xss|`',$getstr)) {
echo 'Давай проходи мимо';
exit;
}}
// фильтрация post
foreach ($_POST as $poststr) {
if (eregi('\'|union|select|bench|alert|h1|xss|`',$poststr)) {
echo 'Давай проходи мимо';
exit;
}}
#6
BugTrag, Жестяк )) слово xss в проверке ))
#7
alex_borisi, А разве плохо?
#8
BugTrag, А это ещё дописать на функцию?
#9
khujand, Оно ничего не значит. И eregi ошибка будет. Надо preg_match использовать.
#10
eregi для чего и preg_match для чего? Какой из них круче?
#11
eregi устарело
#12
Юрий, preg_match и eregi одно и ты?
Как сын и отец?
#13
Использовать можно... но бесполезно. =) надпись оставят .453.
#14
khujand, Функция eregi() является устаревшей начиная с PHP 5.3.0. Предлагается использовать вместо неё функцию preg_match() с модификатором i (PCRE_CASELESS).
#15
alex_borisi, Понятно, а как подгонять эту код на social 1.9.8 (последней версии) чтоб фильтровать пустых $_POST и $_GET запросов?
При xss ошибки исчезли.
И при sql inj тоже не появились ошибки на экране
#16
Не ломанут - так заддосят.
#17
AMADIS, А ддос опасно? Ведь 2-3 минут отключается БД, и потом все будет в своем месте?
#18
Причем тут 2-3 минуты? Сляжет только в путь. Сервак бери.