私は時々テーマの次のスニペットに出くわしました:
if ( ! defined('ABSPATH')) exit('restricted access');
これは、テーマ内の(すべての)PHPファイルの先頭にあり、悪意のあるソースによるファイルへの直接アクセスを防ぐためのものです。
私はこれがTwenty TenやElevenに含まれていないことを知っています、そしてそれが公式のWordPressドキュメントで推奨されているのを見たことがありません。それは私にとっては良い考えのように思えますが、私はそれを判断するのに十分なセキュリティについても知らず、グーグルではあまり見つけることができません。
これは私のカスタムテーマに含めるべきものですか?もしそうなら、それはすべてのPHPファイルに含まれるべきですか、それともほんのいくつかに含まれるべきですか?
通常は必要ありません。しかし…少なくとも1つのEdgeケースがあります。
on
、…攻撃者はこのファイルを呼び出し、不足している変数をGET
またはPOST
で設定し、それらをテーマファイルに表示させることができます。それから は セキュリティ問題です。
ですから…最良の選択肢はあなたの例のようなコンテキストチェックではなく、良いコードです。グローバル変数を避け、印刷する前にその内容をチェックしてください。
他の誰かが私のコードを使ってセキュリティを気にせずにそれを変更すると思うとき、私はコンテキストチェックを追加することがあります。痛いことはありません。