Махди писал(а):защищается

Например, можно использовать placeholder'ы для вставки переменных в sql-запросы. При этом вставляемые данные автоматически "чистить". Этим занимается в том числе библиотека dbSimple.Махди писал(а):Как можно построить код так, чтобы избежать эти инъекции на 100%?
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username LIKE '" . str_replace("\'", "''", $search_author) . "'"; $sql = 'SELECT user_id
FROM ' . USERS_TABLE . "
WHERE username_clean $sql_where '" . $db->sql_escape(preg_replace('#\*+#', '%', utf8_clean_string($author))) . "'
AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';Будет уже поздно. Хотя как вторая линия оброны сгодится (для подстраховки).CodeWorld писал(а):ищи во входных параметрах SELECT UNION и т.п. и заноси в лог предупреждений. Потом хоть узнаешь где дырка
Вернуться в phpBB-пространство
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0