автоматически экранировать данные в запросах - PullRequest
0 голосов
/ 19 октября 2011

Есть ли способ настроить mysql или php, чтобы в запросах значения данных автоматически экранировались?Я читал о PDO, и у Zend Framework, например, есть несколько адаптеров баз данных, которые делают это автоматически, но на стороне сервера нет какой-либо конфигурации, которую можно было бы сделать, чтобы избежать необходимости заботиться об этом вкод?

Спасибо,

Дэвид

1 Ответ

1 голос
/ 19 октября 2011

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

Не совсем, нет. Это было попытано - результатом был ужасный беспорядок, который все теперь ненавидят.

Не существует «магической функции», обеспечивающей безопасность запроса - каждый аргумент, который вы передаете в запрос, должен обрабатываться по-разному (например, строки или целые числа). Некоторые вещи (например, имена динамических таблиц и столбцов) вообще нельзя очистить (даже не используя метод экранирования строк библиотеки базы данных), поэтому вам необходимо сравнить их со списком существующих таблиц и столбцов.

Использование подготовленных операторов PDO (или функций базы данных Zend Framework, которые AFAIK оборачивает PDO среди других) - самое близкое к тому, что вы можете сделать как можно меньше.

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