이거 그니까.. sql만들 때 인자로 주면 괜찮은건데..
그걸 문자열로 만들어서 보내면 공격자가 지맘대로 sql 쿼리를 만들어서 실행한다는거지??
cur.execute("DELETE FROM parts WHERE part_id = %s", (part_id,))
이런 형태로 주는건 아무 문제 없다고 보면 되는거임?
이거 그니까.. sql만들 때 인자로 주면 괜찮은건데..
그걸 문자열로 만들어서 보내면 공격자가 지맘대로 sql 쿼리를 만들어서 실행한다는거지??
바로 털리겠네 ㅋㅋ
ㅋㅋㅋㅋㅋ
프리페어드스테이트먼트 써야 방어됨 비극-자살예정자
문자열 포맷팅 말고 윗댓말처럼 prepared statement로 쿼리 컴파일 먼저 시켜놓고 나중에 인자만 집어넣는 방식으로 해야함
애들아 이거 문제 없는거야. 농담인줄 알았는데.. 아니란 대답이 많이 달려서 좀 놀랬음.
https://www.codiga.io/blog/python-prevent-sql-injection/
이거 하드코딩하는 격이라서 공격 안될거 같은데 - dc App
오.. 버기띠 다시보임.