アクセスを禁止するか、readme.html、license.txt、wp-config-sample.phpを自動削除します


13

セキュリティに関して少しだけ役立つかもしれない簡単な質問です。readme.htmlファイルにリストされているバージョン番号があることに気付きました。各アップグレード後に再表示されるため、licence.txtおよびwp-config-sample.phpも同様です。

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

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

この種のセキュリティはそれほど有用ではないことは知っいますが、それはほんの小さな始まりに過ぎないと考えました。WP-includesに含まれているjQueryのバージョンを簡単に確認でき、どのバージョンのWPがそれを出荷したかを相互参照できると聞きました。

回答:


19

これらのファイルを削除する必要はありません。それらへのアクセスをブロックする方がはるかに簡単です。きれいなURLを使用している場合は、すでに.htaccessファイルがあります。.htaccessを使用してファイルをブロックすることは安全であり、ディレクティブを1回追加するだけで済みます。

ファイルをブロックするには、次のように.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を開き、ディレクティブを追加して保存し、テキストエディターがファイル名を正確に保持していることを確認します-末尾に.txtはありません。


1
これは実際に私が行くことになったオプションです。完璧に機能します。
サハスカッタ

1
上記の構文はApache 2.2まで有効であることに注意してください!その後Require all denied、Apache 2.4 以降で使用します(これらの内側の2行を置き換えます)。詳細はこちら
フランクノッケ

5

私の見解は次のとおりです。

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(ほとんどの場合、まれに、ワードプレスを使用せずに...(ugいパーマリンクなど))。
  • .htaccess のセクションの前に挿入# BEGIN WordPressします

3
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');

おかげで、私はPHPのリンク解除機能を理解し、それが動作しますが、1つの問題。提供したフックは、ダッシュボードの[更新]セクションにアクセスするだけで実行されるようです。アップグレードが発生した後、別のフックがありますか?
サハスカッタ

1
病気を見て、あなたに知らせる
Atif Mohammed Ameenuddin

@Sahas @ atif089これを機能させることができましたか?
INT

削除する代わりに(実際にreadmeを読みたい場合に!)、これを関数で使用できますchmod("/path/to/readme.txt", 0640);
-Bysander
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.