Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Какой должна быть фильтрация данных при GET запросе для модуля DLE?

Какой должна быть фильтрация данных при GET запросе для модуля DLE?


     23.04.2014    module, модуль, GET, фильтрация    Общие вопросы, Общие вопросы по PHP, MySQL    2834

вопрос
Есть сторонний модуль для DLE, у меня есть некоторые подозрения на безопасность, так как в нем нет (насколько я понял) никаких проверок для входящих данных. Возможно, я ошибаюсь, но решил спросить тут.
Как надо фильтровать параметры 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 запрос? Как это должно выглядеть? Кто может, поделитесь заготовками для фильтрации данных. Спасибо.

Ответа пока нет


1 комментарий

Attyla
Юзер

Attyla - 24 апреля 2014 00:18 -

Читал тут на сайте, что Павел думал создать по этому поводу мини мануал. Может он есть уже?
Для get достаточно проверка $url из functions.php или нет?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх