2012-03-07 2 views
1

코드를 작성하지 않은 환경에서 magic_quotes를 끄면 문제가 발생할 수 있는지 어떻게 확인할 수 있습니까? 무엇을 확인해야합니까? 어떤 기능이 더 이상 작동하지 않을 수 있습니까?magic_quotes off - 코드를 끊을 수 있습니까?

+0

magic_quotes가 필요한 코드가 있다면, 코드는 더 이상 PHP 5.4에서 실행되지 않습니다 - magic_quotes는 오랫동안 사용되지 않았으며 PHP 5.4는 마침내 언어에서 완전히 제거되었습니다. –

답변

1

magic_quotes이 켜지면 Magic Quotes가 제출 된 모든 양식 데이터에 대해 addslashes()을 자동으로 수행합니다. 즉, [\]은 데이터의 모든 [ '], [ "], [] 또는 null 앞에 놓이므로 That's nice은 자동으로 That\'s nice으로 변환됩니다.이 모든 것은 데이터를보기도 전에 발생하므로, (데이타베이스가 아닌) 다음 페이지로 문자열을 전달하면, 전혀 원하지 않을지라도 슬래시로 인쇄됩니다.

0

불행히도, 나는 쉬운 대답이 없다고 생각합니다. 사용자 입력으로 직접 작업하는 곳을 확인하고 싶을 것입니다. 코드가 단순하다면 $ _GET 및 $ _POST의 사용을 검색 할 수 있지만 적어도 스캔 코드 검토가 없으면 모든 것을 찾을 수 없을 것입니다.

내가 꺼버 리면 SQL 삽입/업데이트 쿼리가 포함 된 요청 매개 변수가 제대로 이스케이프 처리되지 않은 것입니다.

0

마법 인용 부호는 들어오는 데이터 문자열에 영향을줍니다. $_GET 또는 $_POST 또는 그 종류의 변수를 사용하는 장소는 영향을받을 수 있습니다.

기본적으로 사용자의 데이터를 수락하는 모든 장소.

참고 : 더 중요한 것은, 당신은 당신의 SQL 쿼리의 모든을보고 모든 입력 문자열이 탈출되어 있는지 확인해야합니다! 그렇지 않으면 코드가 SQL 삽입에 취약합니다.

관련 문제