Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

конструктивные просчеты

ЕКАТЕРИНА СЕДОВА

Спецвыпуск: Хакер, номер #067, стр. 067-056-5


2. Обязательно отключай на конечных сайтах вывод информации об ошибках. Помни о разнице между рабочим проектом и конечным продуктом. Чтобы не помочь злоумышленнику, не выводи информацию о месте кода, в котором произошла ошибка, — как минимум, это недальновидно.

3. Если на основании пользовательских данных формируется SQL-запрос, обязательно приводи типы переменных к типам соответствующих полей таблиц (в примере из статьи — $id = (int)$_GET[“id”]) и экранируй кавычки для переменных текстового типа.

4. Проверяй соответствие вводимых данных нужному тебе формату и на клиентской, и на серверной стороне. Поковырявшись с клиентской проверкой, сдадутся только самые ленивые, а особо дотошные найдут способ обойти ее и будут вознаграждены дырявыми PHP-скриптами.

5. Не позволяй пользователям встраивать js-скрипты в твои сайты, обрабатывай поступившие метасимволы.

WWW

http://web.archive.org/web/20041111044016/www.peterbailey.net/fValidate — js-библиотека fValidate для проверки данных на клиентской стороне.

ХАЛАТНОСТЬ И НЕВНИМАТЕЛЬНОСТЬ ПРОГРАММИСТА — ОСНОВНОЙ ИСТОЧНИК УЯЗВИМОГО КОДА

ОБЯЗАТЕЛЬНА ДВУСТОРОННЯЯ ПРОВЕРКА ВВОДИМЫХ ДАННЫХ: НА СТОРОНЕ КЛИЕНТА И НА СТОРОНЕ СЕРВЕРА

SQL-ИНЪЕКЦИЯ ПОЗВОЛЯЕТ МОДИФИЦИРОВАТЬ SQL-ЗАПРОСЫ

МЕЖСАЙТОВЫЙ СКРИПТИНГ — ВНЕДРЕНИЕ «ПЛОХОГО» КОДА В HTML-КОД СТРАНИЦЫ

Назад на стр. 067-056-4  Содержание