«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Нужен ли мне mysql_real_escape_string() с подготовленными выражениями?

Нужен ли мне mysql_real_escape_string() с подготовленными выражениями?

Опубликовано 18 ноября 2024 г.
Просматривать:978

Do I Need `mysql_real_escape_string()` with Prepared Statements?

Требуется ли функция mysql_real_escape_string() для подготовленных операторов?

При использовании подготовленных операторов, как в данном запросе:

$sql = $db->prepare('select location from location_job where location like ?');

$sql->bind_param('s', $consulta);
$sql->execute();
$sql->bind_result($location);

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

Одним из предложений по улучшению запроса является использование знака '?' заполнитель, позволяющий более удобно передавать параметры через метод выполнения:

$sql->execute([$consulta]);

Однако не забудьте очистить ввод пользователя с помощью htmlspecialchars () перед его отображением, чтобы предотвратить уязвимости межсайтового скриптинга.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3