2017-07-21 6 views
1

Microsoft Internet ExplorerとMicrosoft Edgeはコンテンツセキュリティポリシーのバージョン2をサポートしていないため、IEの場合はサポートしていませんユーザーエージェントに基づいてコンテンツセキュリティポリシーを変更します。これはPHPでかなりシンプルですが、私はこれを.htaccessファイルで行いたいと思います。質問は;これは可能なのですか。今まで私は多くの書き換えルールを見つけましたが、これを行うmod_headersはありませんでした。htaccessのUAGENTに基づいてヘッダーを設定することは可能ですか

Header set Content-Security-Policy: ... 

<UserAgentMatch "(Edge|Internet Explorer)$"> 
    Header unset Content-Security-Policy 
</UserAgentMatch> 

誰もがその可能な場合、私はこれを行うことができどのようにアイデアを持っている:

このような何かをお探しですか?

UPDATE:

Walfの答えは、内部サーバーエラーが発生しますが、いくつかのfinetuning後に溶液が得られました。同じものを探している人には以下のコードを見てください。

<If "%{HTTP_USER_AGENT} !~ /(MSIE|Edge)s*/i"> 
    header always set Content-Security-Policy "..." 
</If> 

+0

あなたの正規表現はまだ間違っています。あなたはキーワードの前にスペースがなく、リテラル 's'を探しています。つまり、単語「Wedges」に一致します。バックスラッシュをダブルエスケープしようとしましたか?引用符で囲まれた文字列になっていますか?試してみてください。%{HTTP_USER_AGENT}!〜/ \\ s +(?: MSIE \\ s + \\ d | Edge \\ /)/ "> – Walf

答えて

1

それはないこれらのブラウザだ場合にのみ、ヘッダーを設定しようとしましたか?

<If "%{HTTP_USER_AGENT} !~ /\s+(?:MSIE\s+\d|Edge\/)/"> 
    Content-Security-Policy: ... 
</If> 
+0

小さな調整をしているようです。ありがとう – RvdM

関連する問題