WordPress | PHPファイルが直接実行されるのを防ぐ

「defined( ‘ABSPATH’ ) || exit;」や、「if ( ! defined( ‘ABSPATH’ ) ) exit;」は、PHPファイルが外部から直接実行されるのを防ぎます。

ほとんどのテーマ、プラグインのPHPファイルの最初に記述されます。

コード

いずれかの形で使用されます。

論理演算子ORを用いて左のオペランドがfalseの場合右辺が評価されexitによって処理が終了します。(左のオペランドがtrueのとき、式はtrueを返し右のぺランドは評価されません。)

defined( 'ABSPATH' ) || exit;

if文を用いて、「ABSPATHが定義されていなければ」処理を終了します。

if ( ! defined( 'ABSPATH' ) ) exit;

ABSPATH

wordpress.orgのSupport内「What is ABSPATH and explain me with some examples?」の回答によると、「ABSPATH」はWordPressディレクトリへの絶対パスです。

処理内容

上記のコードは、WordPressディレクトリへの絶対パスが、(defined)定数として定義されていなければ、現在の処理を終了する。

最初に記述する事で外部からの直接実行を防ぎます。

参考

When to use “if ( ! defined( ‘ABSPATH’ ) ) exit;”
When to use “if ( ! defined( ‘ABSPATH’ ) ) exit;” jjbte (@jjbte) 7 years, 4 months ago Most plugins and many theme files...

コメント

タイトルとURLをコピーしました