Какое лучшее решение для безопасности SQL-инъекций в MySQL? - PullRequest
0 голосов
/ 03 апреля 2009

Какая лучшая функция для запуска моих строк, чтобы гарантировать невозможность внедрения MySQL?

Кроме того, потребуется ли запускать его через другую функцию на выходе, чтобы он отображался правильно?

Смотри также

Достаточно ли параметров для предотвращения инъекций Sql?
C # параметризованный запрос MySQL с предложением in
Можно ли защитить от SQL-инъекций, избегая одинарных кавычек и окружающий пользовательский ввод с одиночные кавычки?

Ответы [ 5 ]

15 голосов
/ 03 апреля 2009
1 голос
/ 03 апреля 2009

Функция параметра.

Не говоря уже о юморе, я имею в виду, что не следует динамически выполнять введенный пользователем контент как SQL, если вы можете вообще избежать его. Передавайте все как параметры и вместо этого ссылайтесь на них из вашего запроса. См. ответ Чеда Берча для хорошей ссылки, объясняющей это.

0 голосов
/ 30 января 2013

В PHP лучший способ - использовать экранирование HTML для строк.
Превращает специальные символы в символы, совместимые с HTML.

Пример: "" (пробел) преобразуется в "% 20".

0 голосов
/ 03 апреля 2009

Добавьте к параметризованным запросам использование проверки входных данных в приложении. Никогда не верьте, что вход чистый. Проверь это. Например, если оно должно быть целым числом, убедитесь, что оно без проблем преобразуется в числовое значение.

0 голосов
/ 03 апреля 2009

Как говорит Чад, всегда используйте параметризованные запросы, чтобы избежать внедрения SQL.

Чтобы ответить на вторую половину вашего вопроса, если вы выводите на веб-страницу, всегда избегайте специальных символов HTML (&, <, >) для защиты от внедрения скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...