Criando cláusulas MySQL IN seguras com listas
Ao trabalhar com bancos de dados MySQL e Python, pode ser útil implodir uma lista para usar em uma cláusula IN. No entanto, é essencial fazer isso com segurança para evitar vulnerabilidades de injeção de SQL.
Em vez de construir manualmente uma string contendo a lista de valores, o método preferido é usar o mecanismo de parâmetro de consulta. Isso permite que você passe a lista diretamente para o driver do banco de dados sem ter que lidar com qualquer citação ou escape.
Veja como você pode fazer isso:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" format_strings ")", tuple(list_of_ids))
Ao usar este método, você pode evitar a injeção de SQL, permitindo que o MySQL lide com a parametrização do consulta. Os dados serão inseridos diretamente na consulta sem qualquer pré-processamento, garantindo segurança e eficiência.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3