로그인 할 때이를 등록에 사용하고 전자 메일 및 암호에 기호 및 특수 문자를 허용합니다. 나는 이것이 해커들에게 주사를 놓는 심각한 위협이된다는 것을 안다. 내 질문은 : 입력 (예 : '전자 메일', '암호')을 문자열로 변환하고 서버에서 코드 및 명령으로 처리하지 못하게하려면 어떻게해야합니까?변수를 문자열로 바꿉니다.
나는 어디서부터 시작해야할지에 대한 단서가 정말로 없다. 그러나 시도한 바가있다. mysqli_escape_string
; 그러나 당신이 가장 잘 알고 있듯이, 그것은 매우 얇고 비추천입니다. 나는 약간 연구하는 것을 꺼리지 않고, 시작하기 위해 약간의 정보를 매우 감사 할 것입니다!
PDO를 살펴보십시오. 이렇게하면 신뢰할 수없는 입력을 사용하는 것이 훨씬 쉬워집니다. –
@FoxWilson 나는 PDO가 더 낫다는 것에 동의하지만 mysqli는 prepared statement도 지원합니다. PDO와 관련이 없으며 PDO 쿼리 자체로 사용자 입력을 보호하지 않습니다. – Devon
참고 mysqli_escape_string ('mysqli_real_escape_string')은 더 이상 사용되지 않을 것이라고 확신한다. mysql_real_escape_string은 그렇지만. –