DB에 레코드를 삽입하는 스크립트를 작성했습니다. 내가 얻는 유일한 문제는 '
문자가 들어있는 데이터를 저장하려고 할 때 스크립트가 작동하지 않고 DB에 아무 것도 저장하지 않는 경우입니다. 예 : John's Birthday
, Amy's Home
등 '
과 같은 특수 문자를 허용하는이 문제에 대한 해결책은 DB에 저장하고 보안에 아무런 해를 끼치 지 않고 검색 할 수 있습니까?들어있는 문자열을 삽입 할 수 없습니다 '
mysqli_query($con,"INSERT INTO Story (desc)
VALUES ('$mytext')");
@KA_lin 해결책이 아니며,'addslashes()는 '문자()'mysqli_real_escape_string,'달리 인식 설정되지 않은 원유 수정합니다. –
@MikeW 만약 내가 mysqli_real_escape_string ($ con, $ mytext); 그렇다면 SQL 인젝션의 희생자가 될 수 없다. 등이있다. 또한 검색하면 보안에 아무런 해가되지 않습니다. – user3027531
mysqli_real_escape_string()은 특별히이 목적으로 제공된다. 입력을 적절히 벗어나면 SQL 인젝션 공격의 희생자가 될 가능성이 적습니다. 나는 결코 '결코'라고 말하지 않을 것입니다. 왜냐하면 당신이 도망 치거나 준비된 진술을 사용한다고하더라도 2 단계 주입 공격이 때때로 가능하기 때문입니다. 그것은 당신의 코드에 달려 있습니다. –