저는 몇 가지 변수를 저장하는 퀴즈 사이트를 만들고 있는데, (답변 시간, 사용자가 선택한 응답 옵션 등)은 각 질문 이후에 $_SESSION
에 있습니다. 그 통계를 DB에만 저장합니다. 사용자가 퀴즈를 마친 후에
if
을 구현하여 변수가 숫자 (is_numeric()
)인지 확인하십시오. 또한 길이 (strlen()
) 등을 확인합니다.
- 하지만 이유가 있습니까?
- 을 MySQL에 저장하기 전에
real_escape_string()
을 저장하는 것으로 충분합니까? - 또한 많은 사용자가 있다면 서버에 큰 부하가 걸리지 않습니까?
SQL 인젝션을 막는 데 관심이 있으시면 매개 변수가있는 명령문과 함께 PDO 또는 mysqli를 사용해야합니다. 그렇게하면 삽입 한 내용이 MySQL 코드로 평가되지 않습니다. – jpodwys
SQL 인젝션에 대해서만 이야기하는 것이 아닙니다. 누군가가 사용자가 전달한 변수를 사용하여 내 사이트를 공격 할 수있는 다른 방법이 없습니까? – joe007
@ joe007 예, XSS와 같습니다. –