Создание безопасных предложений MySQL IN со списками
При работе с базами данных MySQL и Python может быть полезно взорвать список для использования в предложение IN. Однако важно делать это безопасно, чтобы предотвратить уязвимости внедрения SQL.
Вместо того, чтобы вручную создавать строку, содержащую список значений, предпочтительным методом является использование механизма параметров запроса. Это позволяет передать список непосредственно драйверу базы данных без необходимости использовать какие-либо кавычки или экранирование.
Вот как это можно сделать:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" format_strings ")", tuple(list_of_ids))
Используя этот метод, вы можете избежать SQL-инъекции, разрешив MySQL обрабатывать параметризацию запрос. Данные будут вставлены непосредственно в запрос без какой-либо предварительной обработки, что обеспечивает безопасность и эффективность.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3