Использование mysql_real_escape_string с PDO (без подключения к локальному серверу)

Поэтому я довольно параноик и использую mysql_real_escape_string() с PDO. На самом деле я не использую подготовленные заявления в PDO, поэтому мне приходится санировать данные.

При размещении на моем собственном сервере я создавал бы непривилегированного пользователя на локальном компьютере, поэтому mysql_real_escape_string() не выйдет из строя и не mysql_real_escape_string() мою переменную (хе-хе, теперь это санитация!). Я понимаю, что это довольно неудачное решение, поскольку, если у db нет соответствующих кодировок, тогда нет никакого смысла в санировании вообще, но это работало промежуточный.

Теперь на моем новом хосте я не могу создать незарегистрированного, непривилегированного пользователя для базы данных … и mysql_real_escape_string() терпит неудачу, потому что на локальном компьютере нет сервера mysql. Я не могу отредактировать php.ini, чтобы установить имя хоста / пользователя / пароль для базы данных по умолчанию.

Что я могу сделать?

Мозговой штурм, поскольку я пишу это, мне интересно, может ли php разрешить изменения времени выполнения в config … возможно … hrm. Изменить : Hm … ini_set() ? : O

Related of "Использование mysql_real_escape_string с PDO (без подключения к локальному серверу)"

Смешивание двух библиотек баз данных, подобных этому, является плохой идеей и потенциально опасно.

mysql_real_escape_string() нуждается в существующем, классическом подключении базы данных mysql_connect() (которое может получить информацию о наборе символов) для полной безопасности. Соединение PDO будет отдельным, возможно с разными настройками набора символов, что в итоге приведет к снижению безопасности :

Перед использованием mysql_real_escape_string () требуется соединение MySQL, иначе возникает ошибка уровня E_WARNING и возвращается FALSE. Если link_identifier не определен, используется последнее соединение MySQL.

Используйте PDO полностью, альтернативы нет.

Если вы не хотите использовать подготовленные инструкции, PDO::quote должна быть правильной функцией:

Возвращает цитированную строку, которая теоретически безопасна для передачи в оператор SQL.

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

Полезность использования PDO заключается в том, чтобы не беспокоиться о спасательных материалах.

Я предлагаю вам использовать подготовку и позволить PDO выполнять грязную работу.