Ответы пользователя по тегу PHP
  • Как защититься от SQL Injection?

    @BPOH
    Сисадмин-любитель
    Быстрые рекомендации.
    Для предотвращения SQL инъекций следует соблюдать два простых правила:
    1. Не помещать в БД данные без обработки.
    Это можно сделать либо с помощью подготовленных выражений, либо обрабатывая параметры вручную.
    Если запрос оставляется вручную, то
    - все числовые параметры должны быть приведены к нужному типу
    - все остальные параметры должны быть обработаны функцией mysql_real_escape_string() и заключены в кавычки.

    2. Не помещать в запрос управляющие структуры и идентификаторы, введенные пользователем.
    А заранее прописывать в скрипте список возможных вариантов, и выбирать только из них.

    Два важных дополнения:
    1. Используя изложенную в этой статье информацию, я написал Класс для безопасной и удобной работы с MySQL, который делает запросы безопасными и сокращает код в несколько раз.
    2. Если вы не любите сторонние библиотеки, то пользуйтесь хотя бы PDO. Как работать с PDO? Полное руководство.
    Ответ написан
    3 комментария