cursor.execute("SELECT word_id from words where word_name = '%s'" %
(word))
if cursor.fetchone() == None:
return False
return True
나는이 문제를 방지 수있는 %s
형식 매개 변수의 가까이에 명시 적 '
를 포함 생각했지만,액세스 장고의 SQL 정수기 오프라인
"'best'; DELETE * FROM words;"
는 검색 할 정말 불쾌한 문자열이 될 것입니다! Django
은 변조 방지 SQL 클렌저를 통해 매개 변수 기반 쿼리를 처리 할 것을 제안합니다.하지만 오프라인 응용 프로그램에이 매개 변수를 사용하면 어떻게 이러한 메서드에 액세스 할 수 있습니까? 아무도 이런 식으로합니까?
같은 원칙 장고의 임시 cursor.execute 기능 사용에 적용 다음 'PARAMS'를 사용하여 당신이 SQLite는을 사용하는 경우 예를 들어, 당신은 안전하게 매개 변수화 된 SQL 문을 구성하는 방법에 대한 http://docs.python.org/library/sqlite3.html에서 설명서를 참조 할 수 있습니다 cursor.execute가 실행 한 쿼리에 매개 변수를 제공하기 위해 % 연산자가 아닌 함수 인수는 SQL 주입 공격으로부터 호출을 보호합니다. – philofinfinitejest
어디서 보았습니까? 아, 그래 ... [작은 바비 테이블] (http://bobby-tables.com/python.html). 에 대한 현장이 보인다. 감사! – Droogans
하! 링크를 가져 주셔서 감사합니다. – philofinfinitejest