web-dev-qa-db-ja.com

.htaccessセキュリティヘッダーファイル

私はLinuxシステムに自己ホスト型のWordpressをインストールしていて、ブラックリストやパスの書き換えなどの修正がたくさんあります。それは.htaccessファイル内で行われ、すべてうまくいきます。

しかし、私はこの規則のブロックを持っています:

<IfModule mod_headers.c>
   RewriteEngine On ## HAVE TRIED WITH THIS LINE THERE AND WITHOUT, NO CHANGE ##
   Header set X-XSS-Protection "1; mode=block"
   Header always append X-Frame-Options SAMEORIGIN
   Header set X-Content-Type-Options nosniff
</IfModule>

しかし、それは効力を発揮せず、適用されません。構文と能力を最大限に引き出し、ドキュメントと整合性が取れていることを確認しました。これは正しいことです。それで誰もがなぜそれが効力を発揮しないのか、そしてそれを機能させるために私がする必要があるかもしれないことについての説明を提供することができます。

何が起こっているのか、どこが分断されているのかをよりよく理解するためのあらゆる支援をいただければ幸いです。私はENTIRE .htaccessを投稿しようと思いましたが、その事実はかなり長く、私は投稿を雑然とさせたくありませんでした。また、それは重要なことではありません(少なくともそうは思わない)が、このブロックはファイルの最後にあります。


サイトの詳細:

  • WordPressのバージョン:4.2.4
  • 上で実行されている:Apache
  • Powered by:PHP/5.5.26
1
GµårÐïåñ

RewriteEngine Onライン(あなたが示したように)は必要ではなく、そして異なるモジュール、mod_rewriteに関係します。 mod_headersブロックから削除する必要があります。

あなたのヘッダにApacheモジュールがインストールまたは有効化されていない可能性があります。テストを中断して実行できる場合は、Ifブロックを削除し、親コンテキストでコマンドを実行してみてください。失敗した場合は、ヘッダーがインストールされていなかったために機能していなかったことを示しています。

Debianシステム(Ubuntuなど)を使用している場合は、SSHを使用して同様にHeaders Apacheモジュールを有効にできます。

Sudo a2enmod headers
Sudo service Apache2 restart
1
Kevin Fodness