Attyla
Профессор
- Регистрация
- 21 Ноя 2012
- Сообщения
- 160
- Реакции
- 44
- Автор темы
- #1
Есть сторонний модуль для DLE, у меня есть некоторые подозрения на безопасность, так как в нем нет (насколько я понял) никаких проверок для входящих данных. Возможно, я ошибаюсь, но решил спросить тут.
Как надо фильтровать параметры GET запроса для того чтобы не нарушить безопасность? Автор моего модуля сказал, что нехорошие символы сканируются в functions.php. Там есть конструкция, которая не пропускает url если в нем есть кавычки и другие небезопасные символы (выдает Hacking attempt!). Этого достаточно или надо дополнительно их проверять?
Вот что я нашел и есть ли нужда в таких проверках?
Какие общие рекомендации для фильтрации GET в Datalife Engine если данные пойдут в SQL запрос? Как это должно выглядеть? Кто может, поделитесь заготовками для фильтрации данных. Спасибо.
Версия DLE: >=10.0
Как надо фильтровать параметры GET запроса для того чтобы не нарушить безопасность? Автор моего модуля сказал, что нехорошие символы сканируются в functions.php. Там есть конструкция, которая не пропускает url если в нем есть кавычки и другие небезопасные символы (выдает Hacking attempt!). Этого достаточно или надо дополнительно их проверять?
Вот что я нашел и есть ли нужда в таких проверках?
Код:
$number = intval($_GET['input_number']);
Код:
function strip_data($text)
{
$quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "*", "%", "<", ">", "?", "!" );
$goodquotes = array ("-", "+", "#" );
$repquotes = array ("\-", "\+", "\#" );
$text = trim( strip_tags( $text ) );
$text = str_replace( $quotes, '', $text );
$text = str_replace( $goodquotes, $repquotes, $text );
$text = ereg_replace(" +", " ", $text);
return $text;
}
$input_text = strip_data($_GET['input_text']);
$input_text = htmlspecialchars($input_text);
$input_text = mysql_escape_string($input_text);
Какие общие рекомендации для фильтрации GET в Datalife Engine если данные пойдут в SQL запрос? Как это должно выглядеть? Кто может, поделитесь заготовками для фильтрации данных. Спасибо.
Версия DLE: >=10.0