WordPress의 마법 인용문 수수께끼
PHP의 마법 인용문을 비활성화했음에도 불구하고(get_magic_quotes_gpc()에서 0을 반환하여 확인) POST 데이터가 여전히 이스케이프되고 있습니다. . 이 문제는 WordPress가 다중 사이트 설치에 통합될 때 발생합니다.
자동 이스케이프에서 WordPress의 역할
자동 이스케이프의 원인은 WordPress의 코드베이스에 있습니다. WordPress의 버그(티켓 #18322)는 매직 따옴표가 비활성화된 경우에도 입력을 삭제하려고 시도합니다. 해결책은 코덱에서 제안한 대로 수동으로 입력 데이터에서 슬래시를 명시적으로 제거하는 것입니다.
슬래시를 깊게 제거
문제를 해결하려면 슈퍼글로벌에서 슬래시를 깊게 제거하세요. Stripslashes_deep() 함수를 사용하여 배열($_GET, $_POST, $_COOKIE, $_SERVER 및 $_REQUEST):
<code class="php">$_GET = array_map('stripslashes_deep', $_GET); $_POST = array_map('stripslashes_deep', $_POST); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_SERVER = array_map('stripslashes_deep', $_SERVER); $_REQUEST = array_map('stripslashes_deep', $_REQUEST);</code>
대체 접근 방식
또는, 슈퍼 전역을 재정의하는 대신 특정 배열에서 로컬로 array_map()을 사용하는 것이 좋습니다.
<code class="php">$post = array_map('stripslashes_deep', $_POST);</code>
고려 사항
위에 표시된 것처럼 슈퍼 전역을 수정하면 애플리케이션에 영향을 미칠 수 있습니다. 특정 컨텍스트가 허용하는 경우 데이터 무결성을 유지하기 위해 선택적 제거를 고려하십시오. 추가적인 통찰력을 얻으려면 제공된 참고 자료를 참조하세요.
위 내용은 Magic Quotes를 비활성화한 후에도 WordPress POST 데이터가 유출되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!