Побег PHP PEAR () против quote () против mysql_real_escape_string ()? - PullRequest
1 голос
/ 13 февраля 2012

Я разрабатывал приложение, используя PHP PEAR Framework, но столкнулся с проблемой, когда я дважды экранировал / цитировал ввод, и он не позволял символам новой строки (\ n) отображаться правильно.Поиск на форумах дал ответы на разные вопросы, но мне было интересно, достаточно ли у кого-нибудь советов относительно того, достаточно ли использования функций PEAR escape () или quote () для безопасности SQL-инъекций, или мне следует придерживаться использования mysql_real_escape_string ()?Я пытаюсь использовать nl2br () + htmlspecialchars (), чтобы потом выплевывать содержимое, и изначально неправильно использовал следующее для экранирования ввода:

$db->quote(mysql_real_escape_string(trim($_POST['text'])));

1 Ответ

4 голосов
/ 13 февраля 2012

Используйте функцию экранирования вашего драйвера базы данных.Если вы используете пакет PEAR для подключения к базе данных, используйте функцию escape.Если вы используете функции mysql, используйте mysql_real_escape_string.Не используйте более одного (как вы уже поняли).

Еще лучше, идти в ногу со временем и использовать современные подготовленные операторы, например Класс PDO PHP .

...