MySQL의 매개변수화된 쿼리
MySQLdb 모듈을 사용하여 MySQL 데이터베이스 테이블에 여러 변수를 삽입하는 것은 까다로울 수 있습니다. 다음 명령문을 고려하십시오.
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (var1, var2, var3, var4, var5, var6) """)
그러나 SQL 쿼리에서 문자열 보간을 사용하면 애플리케이션이 SQL 주입에 취약해져서 보안 취약점이 발생할 수 있으므로 문제가 됩니다. 올바른 접근 방식은 입력 매개변수의 적절한 이스케이프를 보장하는 매개변수화된 쿼리를 사용하는 것입니다.
매개변수 이스케이프
문자열 보간 대신 쿼리에 자리 표시자를 사용하고 튜플을 사용하여 실제 값을 전달합니다. 예를 들면 다음과 같습니다.
cursor.execute("INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s)", (var1, var2, var3, var4, var5, var6))
이 방법은 쿼리를 실행하기 전에 자동으로 값을 이스케이프하여 SQL 삽입을 방지합니다.
위 내용은 Python을 사용하여 MySQL 데이터베이스에 여러 변수를 안전하게 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!