web-dev-qa-db-ja.com

アクセスを禁止するか、readme.html、license.txt、wp-config-sample.phpを自動削除してください。

ちょっとしたセキュリティ上の問題に役立つかもしれないちょっとした質問です。 readme.htmlファイルにバージョン番号が記載されていることに気付きました。それは各アップグレードの後に​​再び現れます、そして同様にlicence.txt、そしてwp-config-sample.phpをします。

アップグレード後にWordPressがこれらのファイルを自動的に削除する簡単な方法はありますか?

バージョン番号がメタタグ、RSSフィード、アトムなどに表示されないようにすでにブロックしています。

私はこのタイプのセキュリティが that それほど役に立つわけではないことを知っていますが、それはほんの小さなスタートかもしれないと思っただけです。私は人々がWP-includesに含まれているjQueryのバージョンを単にチェックしてそれを出荷したWPのバージョンを相互参照できることを聞いた。

13
Sahas Katta

あなたは本当にこれらのファイルを削除する必要はありません。単にそれらへのアクセスをブロックする方がはるかに簡単です。あなたがかわいいURLを使っているなら、あなたはすでに.htaccessファイルを持っています。ファイルをブロックするために.htaccessを使用することは安全であり、あなたは一度だけディレクティブを追加する必要があります。

ファイルをブロックするには、次のように.htaccessにディレクティブを追加します。

    <files filename.file-extension>
         order allow,deny
         deny from all
    </files>

したがって、readme.htmlをブロックするには、次のようにします。

    <files readme.html>
         order allow,deny
         deny from all
    </files>

ライセンスファイルまたは他の人がアクセスできないようにしたい他のファイルについても同じことを行います。メモ帳やその他の基本的なテキストエディタで.htaccessを開き、ディレクティブを追加して保存します。テキストエディタはファイル名を正確に保持します。

19
Elpie

これが私の考えです:

RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
  • 存在についての手がかりを避けるため、403(禁止)ではなく404(存在しない)。
  • サブフォルダ(テーマやプラグイン、攻撃の機会を提供する可能性があります)にもあります。
  • 大文字と小文字を区別しない、拡張子を柔軟にする、README.html、またはlicense.htmlをキャッチする(changelogs | faq | contributingのような典型的な容疑者を自由に追加してください)

個人的には、私もブロックします:

RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]

nb:

  • '?:'は括弧が不一致であることを宣言するだけです(重要ではありません)。
  • rewriteEngineがonであることを必要とします(たぶん、...(醜いパーマリンクなど)なしでwordpressを使うことは稀です)。
  • .htaccessの# BEGIN WordPressセクションにbeforeを挿入
5
Frank Nocke
add_action('core_upgrade_preamble','my_function_to_delete_files');

編集:あなたもこれらを試すことができます

add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');