2016-08-04 17 views
0

Apache 2.4を使用していますが、コンテンツセキュリティポリシーを実装しようとしています。 私はのhttpd.conf今Apache HTTP Serverでのコンテンツセキュリティポリシーscipt-src sha機能の使用

Header set Content-Security-Policy "default 'none'; script-src 'self'" 

に以下のヘッダを設定して、私は、コードは、スクリプトタグが有意義含まれていることを

<script>alert('Do something here')</script> 

注意として、HTML内部スクリプトタグを使用してJavaScriptのインラインを有しますJSコード、私はサンプルの目的のために置いたこのアラートのものではありません。

ここで、コンテンツセキュリティポリシーは、このようなインラインスクリプトをブロックします。これらをホワイトリストに登録するための一つの方法は、前述のスクリプトのSHAハッシュを計算し、明示的にこれは、スクリプトを実行することを可能にする

Header set Content-Security-Policy "default 'none'; script-src 'self' sha256-dhfds73748==" 

としてヘッダに渡すことです。

ここで、gruntを使用してビルド時にこれらのタイプのスクリプト用のSHAを生成できます。

しかし、これらのスクリプトを変更して手動でApache HTTP Serverを再起動すると、Apache httpd.confの中にこれらを手動で設定する必要がありますか?

実行時にApacheの設定でこの値を設定できますか?

私はこのようなコードを別のjsファイル に移動し、可能な唯一の方法でない限り<script src="path/to/my/file.js"></script>経由で呼び出したいとします。

答えて

1

これは静的HTMLの場合ですか、これはウェブアプリケーションですか?それがWebアプリケーションの場合、動的ポリシーはかなり簡単です。何らかのテンプレート(例:Jekyll)を使用する静的なサイトでは、cspメタタグを使用してポリシーを簡単に更新できます。

上記のどちらも当てはまらない場合、私は特定のApacheの経験を持つ人に延期する必要があります。私は多くの静的なページの上にメタタグを管理するのは良いアプローチだとは思わない。

+0

私は単一ページのWebアプリケーションアーキテクチャを使用しています – Ozil

+1

メタタグはおそらくそれに行く方法です。少なくともあなたの開発環境では。 – oreoshake

+0

ああクール! Content Security Policyヘッダーを直接メタタグに設定できるかどうかはわかりませんでした。どうもありがとう! – Ozil

関連する問題