> 백엔드 개발 > PHP 튜토리얼 > Magic_quotes_gpc가 동적으로 닫히는 것이 왜 유효하지 않습니까?

Magic_quotes_gpc가 동적으로 닫히는 것이 왜 유효하지 않습니까?

小云云
풀어 주다: 2023-03-20 12:08:01
원래의
1415명이 탐색했습니다.

이 기사는 주로 PHP에서 Magic_quotes_gpc의 잘못된 동적 종료 문제를 공유합니다. 이러한 문제를 해결하는 데 도움이 되기를 바랍니다.

어제 온라인 프로젝트를 검색하다가 문제를 발견했습니다. 일부 텍스트 출력에서 ​​따옴표 앞에 백슬래시가 추가되어 있습니다. 예:

따옴표 안에 "백슬래시"가 너무 많습니다

에 표시된 결과로 판단하면 페이지에서 PHP의 Magic_quotes_gpc 구성이 켜져 있기 때문인 것 같습니다. 그런 다음 프로그램을 확인한 결과 항목 파일에서 다음 구성이 동적으로 닫혀 있음을 발견했습니다.

ini_set('magic_quotes_gpc', 'Off')

왜 적용되지 않았나요?

몇몇 검색 끝에 동료들이 이유를 찾는 데 도움을 줬는데, 구성을 동적으로 수정하기 전에 요청이 구문 분석되었기 때문에 수정 사항이 현재 요청에 적용되지 않는 것으로 나타났습니다.

자세한 내용은 다음 웹페이지를 참조하세요. 동료도 같은 문제에 직면했습니다.

https://bugs.php.net/bug.php?id=32867

magic_quotes_gpc는 PHP 스크립트가 가져오기 전에 요청을 구문 분석하는 동안 적용됩니다. 스크립트에서 이 설정을 변경할 수는 있지만 아무런 효과가 없습니다.

서버에 여러 프로젝트가 있으므로 다른 프로젝트에 영향을 주지 않기 위해 php.ini의 구성을 직접 수정할 수는 없습니다. , 그래서 우리는 Molu 대 Recall이 작성한 코드를 채택하여 gpc 콘텐츠를 재귀적으로 처리합니다:

if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array)
{
foreach ($array as $k => $v) {
if (is_string($v)) {
$array[$k] = stripslashes($v);
} else if (is_array($v)) {
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);
}
로그인 후 복사

관련 권장 사항:

php get_magic_quotes_gpc() 함수 사용 지침

PHP 자동 이스케이프 문제와 관련하여 Magic_quotes_gpc에 의해 남겨진 역사적 문제 구성 ,

php get_magic_quotes_gpc 함수 사용법 소개

위 내용은 Magic_quotes_gpc가 동적으로 닫히는 것이 왜 유효하지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿