> 백엔드 개발 > PHP 튜토리얼 > PHP 함수에 대한 자세한 설명: Magic_quotes_gpc()

PHP 함수에 대한 자세한 설명: Magic_quotes_gpc()

WBOY
풀어 주다: 2016-07-25 08:46:40
원래의
2513명이 탐색했습니다.
PHP 시스템 함수인 PHP 환경 변수 Magic_quotes_gpc의 값을 가져옵니다.
구문: long get_magic_quotes_gpc(void);
반환 값: 긴 정수
이 기능은 어떤 기능인가요?
이 함수는 PHP 환경 구성에서 Magic_quotes_gpc(GPC, Get/Post/Cookie) 변수의 값을 가져옵니다. 0을 반환하면 이 기능이 꺼지고, 1을 반환하면 이 기능이 켜집니다. Magic_quotes_gpc가 켜져 있으면 모든 '(작은따옴표), "(큰따옴표), (백슬래시) 및 null 문자가 자동으로 백슬래시가 포함된 오버플로 문자로 변환됩니다. php 구성 파일에는 Magic_quotes_runtime이라는 부울 설정이 있습니다. 이 기능을 켜면 대부분의 PHP 기능이 자동으로 외부(데이터베이스 또는 파일 포함)의 데이터를 추가합니다. 물론, 오버플로 문자에 백슬래시를 반복적으로 추가하면 문자열에 여러 개의 백슬래시가 생기므로 set_magic_quotes_runtime() 및 get_magic_quotes_runtime()을 사용하여 php.ini 파일 Magic_quotes_runtime 상태를 설정하고 감지해야 합니다. 🎜>
서버 설정에 관계없이 프로그램이 정상적으로 실행되도록 하려면 get_magic_quotes_runtime을 사용하여 프로그램 시작 시 이 설정 상태를 감지하거나 수동으로 처리할지 여부를 결정하면 됩니다. 처음에(또는 자동 이스케이프가 필요하지 않은 경우) set_magic_quotes_runtime(0)을 사용하여 이 설정을 끄십시오.
magic_quotes_gpc 설정에서 '"에 백슬래시를 자동으로 추가합니다. GPC에서 보낸 데이터(가져오기, 게시, 쿠키) 시스템 설정은 get_magic_quotes_gpc()를 사용하여 감지할 수 있습니다. 이 설정이 켜져 있지 않으면 addlashes() 함수를 사용하여 이를 추가할 수 있습니다. 해당 기능은 데이터베이스 쿼리 문에서 필요할 때 특정 문자 앞에 백슬래시를 추가하는 것입니다. 이러한 문자는 작은따옴표('), 큰따옴표("), 백슬래시() 및 NUL(NULL 문자)입니다.
일반적인 사용법은 다음과 같습니다.
if(!get_magic_quotes_gpc()){ addlashes($prot);}
매뉴얼에서는 문자열 addlashes(string str)가 이 문장으로 소개되어 있습니다. get_magic_quotes_gpc의 함수입니다. 기본적으로 모든 GET, POST 및 COOKIE 데이터에 addlashes()를 실행하는 PHP 명령인 Magic_quotes_gpc가 켜져 있습니다. -레벨 이스케이프. 이러한 상황이 발생하면 get_magic_quotes_gpc() 함수를 사용하여 이를 감지할 수 있습니다. 실제로 이 함수는 PHP가 addlashes 함수를 자동으로 호출하는지 확인하는 것입니다.最土团购系统里的magic_gpc
  1.         정의('SYS_MAGICGPC', get_magic_quotes_gpc());
  2.        
  3.         $_POST = Magic_gpc($_POST);
  4.        
  5.         function Magic_gpc($string) {
  6.                if(SYS_MAGICGPC) {
  7.                       if(is_array($string)) {
  8.                               foreach($string as $key => $val) {
  9.                                        $string[$key] = Magic_gpc($val) ;
  10.                                 }
  11.                       } else {
  12.                          
                    return $string;

  13.         }

  14.        

  15.         echo 'get_magic_quotes_gpc的值: '.get_magic_quotes_gpc();

  16.         echo '

            echo '直接输出POST变weight: '.$_POST['nowamagic'];

  17.         echo '
    ';

  18.         echo '经过magic_gpc处리: '.magic_gpc($_POST['nowamagic']);

  19. ?>



  20.     < body>

  21.          

  22.                

  23.                

  24.          

  25.        

  26.    


  27. 复代码
程序输출:

get_magic_quotes_gpc 값: 1 직접 출력 POST 변수: no'wamagic.net Magic_gpc에 의해 처리됨: no'wamagic.net또 다른 예:

  1. echo 'get_magic_quotes_gpc: '.get_magic_quotes_gpc();
  2. echo '
    ';
  3. echo 'POST 변수를 직접 출력 : '.$_POST['nowamagic'];
  4. echo '
    ';
  5. echo 'addslashes: '.addslashes($_POST['nowamagic']);
  6.                                                                                               }
  7. else {
  8. $nowamagic = $_POST['nowamagic'];
  9. }
  10. echo '< />' ;
  11. echo '처리 후 출력:
  12. ?>


  13. < ; Body & gt;
  14. & lt; form action = "& lt;? = $ _ server ['pHP_Self']? & gt; " name="nowamagic" value="no' wamagic.net">
  15.                                                                                                                                          🎜>
    >코드 복사



  16. 프로그램 출력:

  17. get_magic_quotes_gpc: 1 직접 출력 POST 변수: no'wamagic.netaddslashes: no'wa\magic.net 처리된 출력: no'wamagic net.


  18. 기초지식

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