2010-08-04 5 views
1

관리 패널 및 블로그 게시물에 양식을 추가하는 플러그인을 작성하고 싶습니다. 나는 지금 magic_quotes로 어려움을 겪고있다.WordPress 플러그인 및 magic_quotes_gpc의 문제점

먼저 나는 clear PHP에서와 같이 magic_quotes_gpc를 사용하려고했습니다. 그러나 WordPress는이 플래그를 무시하고 항상 제출 된 양식 내용을 인용합니다 (최소한 게시물의 양식, 관리 패널의 양식은 인용되지 않음).

하지만 DreamHost에 내 플러그인을 업로드하면 다른 방식으로 작동합니다.

WordPress 플러그인에서 제출 된 양식 내용을 처리하는 올바른 방법은 무엇입니까?

+0

참조 : http://stackoverflow.com/questions/3812128/although-magic-quotes-are-turned-off-still-escaped-strings –

답변

0

기본적으로 개발 환경과 Dreamhost 간에는 다른 PHP 구성이있는 것으로 보입니다. 플러그인이 magic_quotes on과 off 두 가지 시나리오를 처리 할 수 ​​있기를 원한다고 가정합니다. 여기에 몇 가지 아이디어/생각이 있습니다.

  • 런타임시 php.ini 설정을 항상 변경할 수있는 것은 아닙니다. 이는 서버 구성에 따라 다릅니다.

  • 항상 php.ini를 변경할 수있는 것은 아닙니다. On Dreamhost this is possible,하지만 지원되지 않습니다.

  • ini_get()으로 magic_quotes가 활성화되었는지 감지 할 수 있습니다.

  • magic_quotes_gpc의 본질적 당신은 stripslashes()과 역 동작을 수행 할 수있는 모든 GET에 addslashes(), POST, 및 COOKIE 데이터

  • 를 실행합니다. 도움이

    function myplugin_param($name) 
    { 
        if (ini_get('magic_quotes_gpc')) 
        { 
         return stripslashes($_REQUEST[$name]); 
        } 
        return $_REQUEST[$name]; 
    } 
    

    희망 :

일반적인 기술은 다음과 같은 매개 변수를 (POST/COOKIE/GET)에 액세스하기위한 간단한 래퍼를 작성하는 것입니다!

+0

예, 알고 있습니다. 문제는 더 복잡합니다. 나는 보통의 방법으로 magic_quotes_gpc를 처리하고있다. (나는 magic_quotes가 켜져있을 때만 슬래시를 제거한다.) 그러나 DreamHost에서는 모든 입력을 인용한다. 관리자 패널의 magic_quotes가 아닌 서버에서 테스트를하는 동안 따옴표가 붙지 않지만 게시 페이지에 입력됩니다. –

+0

아마도 사용중인 테마가 불필요하게 입력을 인용하고있는 것일 수 있습니다. 다른 제품을 활성화하면 어떻게됩니까? – Adam

+0

정확히 동일합니다. 가장 큰 문제는 내가 magic_quotes 플래그를 올바르게 처리하고 있지만 다른 서버에서는 다른 방식으로 동작한다는 것입니다. 확인해야 할 다른 깃발이 있습니까? –

관련 문제