Creación de cláusulas IN seguras de MySQL con listas
Cuando se trabaja con bases de datos MySQL y Python, puede resultar útil hacer implosión en una lista para usarla una cláusula IN. Sin embargo, es esencial hacer esto de forma segura para evitar vulnerabilidades de inyección SQL.
En lugar de construir manualmente una cadena que contenga la lista de valores, el método preferido es utilizar el mecanismo de parámetros de consulta. Esto le permite pasar la lista directamente al controlador de la base de datos sin tener que manejar comillas o escapes.
Así es como puede lograr esto:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" format_strings ")", tuple(list_of_ids))
Al utilizar este método, puede evitar la inyección de SQL al permitir que MySQL maneje la parametrización del consulta. Los datos se insertarán directamente en la consulta sin ningún procesamiento previo, lo que garantiza seguridad y eficiencia.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3