프로젝트에서 duckdb를 사용하여 데이터 프레임에 대한 몇 가지 쿼리를 수행하고 있습니다. 쿼리 중 하나에 대해 일부 사용자 입력을 쿼리에 추가해야 합니다. 그래서 이런 경우에도 SQL 인젝션이 가능한지 알고 싶습니다. 사용자가 입력을 통해 애플리케이션이나 시스템에 해를 끼칠 수 있습니까? 그렇다면 어떻게 이런 일이 발생하지 않도록 방지할 수 있습니까? duckdb에는 데이터프레임 쿼리에 대한 준비된 문이 없는 것 같습니다.
문서(https://duckdb.org/docs/api/python/overview.html)를 살펴봤지만 유용한 내용을 찾을 수 없습니다. 방법 duckdb.execute(query,parameters)
은 데이터프레임이 아닌 실제 SQL 연결이 있는 데이터베이스에서만 작동하는 것 같습니다.
이 주제에 대한 또 다른 질문이 stackoverflow에 있지만(duckdb의 구문 > 매개 변수 변수가 있는 python sql) 대답은 실제 SQL 연결에서만 작동하며 f 문자열이 있는 버전은 나에게 안전하지 않은 것 같습니다.
여기에 의미를 설명하는 작은 코드 예제가 있습니다.
으아악그렇다면 이 문제를 어떻게 해결하시겠습니까? SQL 인젝션이 가능한가요? 도움을 주셔서 감사합니다. 더 많은 정보가 필요하시면 언제든지 자세한 내용을 문의해 주세요!
EDIT: 코드의 구문 오류 수정
가능한 것 같습니다:
으아악위 내용은 Pandas 데이터 프레임의 duckdb 쿼리에 SQL 삽입의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!