>백엔드 개발 >파이썬 튜토리얼 >Python 내에서 SQL 쿼리의 변수를 어떻게 안전하게 사용할 수 있습니까?

Python 내에서 SQL 쿼리의 변수를 어떻게 안전하게 사용할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-23 22:00:16366검색

How Can I Safely Use Variables in SQL Queries Within Python?

Python의 SQL 문에 변수 사용

Python에서 SQL 문을 처리할 때 쿼리에 변수를 통합해야 할 수도 있습니다. 이러한 쿼리가 올바르게 실행되도록 하려면 변수 이름을 SQL 텍스트 자체의 일부로 포함하지 않는 것이 중요합니다.

예시 시나리오:

다음 코드를 고려하세요.

여기서 var1은 정수이고 var2와 var3은 문자열입니다. 이 접근 방식을 사용하면 Python이 변수 이름을 쿼리의 일부로 해석하여 잘못된 SQL 문이 발생하므로 오류가 발생합니다.

해결책:

이 문제를 해결하려면 , SQL 문에 자리 표시자를 사용해야 하며, Execute() 메서드를 사용하여 변수 값을 튜플로 전달해야 합니다. 수정된 코드는 다음과 같습니다.

이 예에서 자리 표시자 %s는 변수 값을 나타내고 튜플(var1, var2, var3)에는 데이터베이스에 삽입되어야 하는 실제 값이 포함되어 있습니다.

참고: 여러 매개변수를 전달하려면 튜플을 사용하는 것이 중요합니다. 단일 매개변수를 전달해야 하는 경우에도 후행 쉼표가 있는 튜플을 사용해야 합니다.

이점:

자리 표시자와 튜플을 사용하면 여러 가지 이점을 얻을 수 있습니다. :

  • 적절한 탈출과 인용: 데이터베이스 API는 변수의 이스케이프 및 인용을 올바르게 처리하여 SQL 주입 및 기타 취약점으로부터 데이터를 보호합니다.
  • 문자열 형식 방지: 문자열에 의존 형식 지정 연산자(%)는 보안 위험 및 통제되지 않은 문자열 형식 지정 공격으로 이어질 수 있습니다.

위 내용은 Python 내에서 SQL 쿼리의 변수를 어떻게 안전하게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.