プラグインフォルダーに空のindex.phpファイルを含める必要がありますか?


16

WordPress自体のwp-contentフォルダーには、次のような空のPHPファイルが含まれています。

<?php
// Silence is golden.
?>

ディレクトリの内容を見ている人の表示を停止するために、プラグインにはこのような空のファイルも含める必要がありますか?テーマ内の追加のフォルダはどうincludesですか?ディレクトリのようなものですか?


1
はい、おそらく良い考えです。Options –IndexesバンドルされたhtaccessにWPが含まれていない理由がわからないため、これらのファイルは必要ありません
...-onetrickpony

回答:


17

いいえ、そうすべきではありません。誰かがそのディレクトリ構造を見るかもしれないという理由だけでプラグインに脆弱性がある場合、それは壊れています。これらのバグは修正する必要があります。
あいまいさによるセキュリティは、それ自体のバグです。

ディレクトリの閲覧を許可または禁止するのは、サイトの所有者次第です。

2番目の問題はパフォーマンスです。WordPress はプラグインのルートディレクトリにあるすべてのPHPファイルをスキャンして、プラグインヘッダーを見つけます。これにより、複数のプラグインを同じディレクトリに配置できます(例:)/wp-content/plugins/wpse-examples/

また、そのディレクトリ内の未使用のPHPファイルは、WordPressがプラグインを検索するときに時間とメモリを浪費していることを意味します。1つのファイルはそれほど害はありませんが、これが一般的な慣行になっていると想像してください。架空の問題を修正しようとして、実際の問題を作成しています。


2
「ディレクトリの閲覧を許可または禁止するのはサイト所有者次第です。」それがおそらく重要なポイントです。
chrisguitarguy

私の主な質問は、なぜメインのプラグインファイルが書かれていないのですindex.phpか?最適な回避策になる可能性があります
-T.Todua

10

はいと言います。あいまいさによるセキュリティは、隣人よりもあいまいな場合に機能します:)(冗談ですが、それには真実があります)。

実際には、ボット/スキャナーはwordpress.orgからプラグインリストをすぐにコンパイルし、プラグインのURLを直接クロールし、既知のエクスプロイトのバージョンをフィンガープリントし、参照用にデータベースに情報を保持します。

ボットは、インストールに関する情報を収集できないか、安全を確保するためにプラグインの作成者に任せることができます。両方とも。

追伸 補足として、昨年wordpress.orgプラグインから186件のエクスプロイトが報告されました(* reported ..)。


1
エクスプロイトスキャナーは、プラグインが存在するかどうかをテストしません。彼らは最初のリクエスト中にエクスプロイトを実行しようとします。空の状態でindex.phpは何も保護されず、誤った安心感が得られます。
FUXIA

しかし、たとえば、2200プラグインを超えるwp-scan(多くの1つ)フィンガープリントを使用し、適切なフィンガープリントを使用してバージョン(ファイルサイズ、ファイルの追加など)を検出します。
ウィック

ハッキングされた多数のWordPressサイトをクリーンアップしました。ほとんどの場合、最初の要求は実際の攻撃でした。最初のリクエストで脆弱性をテストできるのに、なぜ詳細スキャンで時間を無駄にするのですか?404追跡して確認してください。:)
fuxia

1
私は同意します、これは著者ではなくエンドユーザー次第です。しかし、私もそれが痛いとは思わない。あなたが「いいえ」と言ったので、私はカウンターポイントを追加したかっただけです。
ウィック

1
コメントの討論のため、これを承認済みとしてマークしました!
chrisguitarguy

1

WordPressコアはこれを行うため、プラグインがこれに従うのは理にかなっています。これらはすべてサーバー側のさまざまな設定で保護できますが、デフォルトを使用しても問題ありません(おそらくWordPressコアがそれを行う理由です)。


0

fuxiaが指摘したように、.phpWordPressがプラグインをスキャンするための余分なファイルがあると、パフォーマンス上の欠点があります。index.htmlおそらくより良いオプションになります。もちろん、最適なオプションは、Webサーバーを介したディレクトリの参照を禁止することです。

また、あいまいさによるセキュリティは良くありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.