[if ( ! defined( 'ABSPATH' ) )] の意味は何ですか?質問する

[if ( ! defined( 'ABSPATH' ) )] の意味は何ですか?質問する

私は現在、仕事を通じて学ぶ手段として、WordPress テーマをゼロから構築しています。バックエンド作業の経験は中程度ですが、過去には PageBuilder に大きく依存していました。現在は、読み込み速度などを向上させる手段として、PageBuilder を一切使用しないテーマを作成したいと考えています。

今のところ、私はウェブサイトのファイルのセキュリティを調べていて、次の用語に出会いました。

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

これにより、Web ファイルへの直接アクセスが防止されると理解しています。これが何を意味するのか、よくわかりません。たとえば、FTP、サーバー、WordPress ダッシュボード経由では、引き続きファイルにアクセスすることができます。これにより防止される他の直接アクセスはありますか? WordPress プラグインなどによるアクセスが防止されるのでしょうか?

これを念頭に置くと、上記のコードはテーマ内のすべてのファイルに標準として配置する必要があると考えるのは正しいでしょうか? 例外はあるでしょうか?

これについてさらに説明していただければ幸いです。

ベストアンサー1

これにより、パブリック ユーザーが URL を介して .php ファイルに直接アクセスできなくなります。ファイルに何らかの I/O 操作が含まれている場合、最終的には (攻撃者によって) トリガーされ、予期しない動作が発生する可能性があるためです。

したがって、スニペットを使用すると、ファイルからのアクセスを(直接)防止でき、テーマ ファイルが WordPress 環境内でのみ実行されるようになります。

使用法:

  1. PHPファイル(テーマとプラグイン)の先頭に配置できます。
  2. wp-config.phpの先頭に配置できます。

それが役に立てば幸い

おすすめ記事