私はPHPに慣れていませんが、すべてのPHPファイルにセキュリティスニペットがあることに気付きました。 私の質問 、それを安全にするために、子テーマfunctions.php
にもこのようなものが必要ですか?
PHP:
if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct Access Not Permitted' );
}
need itですか?おそらくそうではありません( このEdgeの場合 、props @bravokeyl)。追加しますか?私の意見では、はい:
Undefined function get_header in /bada/bing/bada/boom
)。しかし、私は絶対に 嫌い this:
die( 'Direct Access Not Permitted' );
IMOそれは単にあるべきです:
if ( ! defined( 'ABSPATH' ) )
exit;
その「メッセージ」を持っていても意味がありません。そして私はexit
の大ファンです。それは、これが expected の可能なシナリオであるという事実を伝え、そのシナリオでは、私は単にやめたいと思います。ファイルシステムの書き込みエラー、データベースエラーなどの「予期しない」シナリオにはdie
を使用します。
ほとんどの場合、子テーマでdefined( 'ABSPATH' )
をチェックする必要はありません。
いいえ、functions.php
はWordPress APIを使用しているため直接ロードされるとPHP fatalを生成します。
functions.php
がWordPressをブートストラップしてロードしようとした場合、はい、それは必要ですが、それをしたならば、何かが消えています ひどく間違っています そして、最初から始める必要があります
エラー報告が正しく設定されていれば、WordPressファイルをほとんど(全部ではないにしても)直接ロードしても、死の白い画面にしかならないでしょう。これは致命的なPHPエラーが発生して実行が停止するためです。エラー表示のための正しいパブリック設定はそれらを表示しないことです。しかし、WordPressを使用していることを隠そうとしているか、少なくともできるだけ長い間使用している場合は、ifトリガー内で404応答コードをトリガーすることをお勧めします。