programing

[( ! defined ( " ABSPATH " ) ]는 무엇을 의미합니까?

subpage 2023. 3. 25. 11:05
반응형

[( ! defined ( " ABSPATH " ) ]는 무엇을 의미합니까?

저는 현재 WordPress Theme를 '직장에서 배우기' 위한 수단으로 처음부터 만들고 있습니다.저는 백엔드 작업에 대해 중간 정도의 경험이 있지만, 이전에는 PageBuilder에 크게 의존했습니다.이제 로드 속도 등을 높이기 위한 수단으로 페이지빌더 없이 테마를 만들고 싶습니다.

현재 웹 사이트 파일의 보안을 검토 중인데 다음과 같은 용어가 있습니다.

<?php 
    if ( ! defined( 'ABSPATH' ) ) {
        exit; // Exit if accessed directly
    }
?>

이로 인해 웹 파일에 직접 액세스할 수 없게 되는 것으로 알고 있습니다.나는 이것이 무엇을 의미하는지 완전히 확신하지 못한다.예를 들어 FTP, Server 및 WordPress Dashboard를 통해 파일에 액세스할 수 있습니다.이로 인해 차단되는 다른 직접 액세스가 있습니까?WordPress Plugins 등을 통한 접근을 금지하고 있습니까?

이 점을 고려하여 상기 코드를 테마 내의 모든 파일에 표준으로 배치하는 것이 맞습니까?예외는 없나요?

이에 대해 더 이상의 설명을 해주시면 감사하겠습니다.

따라서 공용 사용자가 URL을 통해 .php 파일에 직접 액세스할 수 없습니다. 파일에 일부 I/O 작업이 포함되어 있으면 공격자가 트리거하여 예기치 않은 동작을 일으킬 수 있습니다.

따라서 스니펫을 사용하면 파일에서 직접 액세스할 수 없고 WordPress 환경 내에서만 테마 파일이 실행됩니다.

사용방법:

  1. PHP 파일(테마 및 플러그인)의 맨 위에 배치할 수 있습니다.
  2. 이것은 wp-config의 맨 위에 배치할 수 있습니다.php

도움이 되었으면 좋겠다

ABSPATHWordPress에 의해 정의PHP 상수입니다.wp-config.php:

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

위의 코멘트 블록에서 볼 수 있듯이 WordPress는 이러한 코드 행을 수정하는 것을 권장하지 않습니다.아마 많은 플러그인과 테마가 에 의존하고 있기 때문일 것입니다.ABSPATHPHP 파일이 WordPress 환경에서 실행되고 있는지 확인합니다.

위쪽에 있는 이 스니펫을 사용하면wp-config.php이 경우 파일 실행이 종료됩니다.wp-config.php,왜냐면ABSPATH아직 정의되지 않았습니다.그 외의 파일에는wp-config.php는 실패합니다(즉, 웹 사이트가 파손됩니다).

if ( ! defined( 'MY_CONSTANT' ) ) { exit; }는 PHP의 플러그인 및 테마 파일에 널리 사용되는 스니펫입니다.이론적으로, 이것은 당신이 당신의 상수를 맨 아래에 추가할 수 있다는 것을 의미합니다.wp-config.php 결과를 수

의 ★★★★★★★★★★★★★★★★★.wp-config.php:

if ( !defined('MY_CONSTANT') )
    define('MY_CONSTANT', 'fool');

테마 또는 플러그인 파일:

<?php 
    if ( ! defined( 'MY_CONSTANT' ) ) {
        exit; // Exit if accessed directly
    }

상세 정보

PHP에서 상수 정의: http://php.net/manual/en/language.constants.syntax.php

PHP 매직 상수: http://php.net/manual/en/language.constants.predefined.php

언급URL : https://stackoverflow.com/questions/43212340/what-is-meant-by-if-defined-abspath

반응형