PHP에서 \'모든 인용문 앞에 슬래시\' 문제를 해결하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-21 11:30:29
원래의
300명이 탐색했습니다.

How to Address the

"모든 인용문 앞의 슬래시" 문제 이해

특정 상황에서 PHP 웹 페이지에 양식 데이터를 제출하면 모든 큰따옴표 앞에는 백슬래시를 사용하세요. 이 문제는 마술 따옴표로 알려진 서버 구성 기능으로 인해 발생합니다.

마법 따옴표가 활성화되면 PHP는 큰 따옴표를 포함한 특정 문자가 데이터베이스로 전송되거나 데이터베이스 또는 양식 제출에서 수신될 때 자동으로 이스케이프합니다. 이는 악의적인 인용문을 이스케이프 처리하여 SQL 주입 공격을 방지할 수 있지만 일반 형식 처리를 방해할 수도 있습니다.

문제 해결

문제를 해결하려면 다음을 사용할 수 있습니다. 양식 데이터를 데이터베이스에 저장하거나 페이지에 표시하기 전에 자동으로 추가된 백슬래시를 제거하는 Stripslashes() 함수. 예는 다음과 같습니다.

<code class="php">if (get_magic_quotes_gpc()) {
    $input = stripslashes($input);
}</code>
로그인 후 복사

이 조건문은 매직 따옴표가 활성화되어 있는지 확인하고, 활성화된 경우 스트립슬래시()를 사용하여 $input 변수에서 백슬래시를 제거합니다. 이렇게 하면 추가 수정 없이 양식 데이터를 정상적으로 처리할 수 있습니다.

마법의 따옴표 설명

마법의 따옴표는 더 이상 사용되지 않는 기능이며 최신 PHP에서는 안전하지 않은 것으로 간주되어야 합니다. 개발. 이는 PHP 4에 도입되었으며 다양한 보안 및 코드 호환성 문제가 발생하여 PHP 7.0.0에서 제거되었습니다.

더 투명하고 안전한 코딩 관행을 허용하므로 일반적으로 매직 따옴표를 비활성화하는 것이 좋습니다. PHP 구성 파일을 수정하고 Magic_quotes_gpc를 Off로 설정하여 매직 따옴표를 비활성화할 수 있습니다.

마법 따옴표의 기능을 이해하고 스트립슬래시()를 사용하여 이 "모든 따옴표 앞의 슬래시" 문제를 해결하면 효과적으로 처리할 수 있습니다. PHP로 데이터를 형성하고 매직 따옴표가 활성화된 경우에도 의도한 기능을 보장합니다.

위 내용은 PHP에서 \'모든 인용문 앞에 슬래시\' 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!