問題タブ [content-security-policy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1808 参照

sql-server - Reporting Services 2008 のコード アクセス セキュリティ

Reporting Service 2008 内で配信拡張機能を実行しています。

久々に元気に走っています。しかし今、拡張機能内からデータベースに挿入したいと考えています。

私が得た最初のエラーはこれでした:

次に、接続を開いて挿入を行うコードの前に、これを追加しました。

その後、エラー メッセージは次のように変わりました。

次に、次の行を追加しました。

そして今、私が得るエラーはこれです:

実際の SqlConnection 固有のコードを含む私のコードは、Delivery Extension から参照されるアセンブリにあります。アクセス許可固有のコードはそのアセンブリ内にありましたが、それを Delivery Extension アセンブリに移動しようとしましたが、うまくいきませんでした。

0 投票する
4 に答える
6306 参照

javascript - コンテンツセキュリティポリシーはブックマークレットをブロックしますか?

Mozilla CSPは、デフォルトでブックマークからJavascriptを実行することをブロックしますか?

そうするように構成できますか?

0 投票する
2 に答える
1901 参照

node.js - Node.js / Express(CSP違反レポート用)のリクエストからエンティティ本体を取得するにはどうすればよいですか?

Node.jsアプリケーションにコンテンツセキュリティポリシー(CSP)を実装することに興味があります。Mozillaのドキュメントはかなり役に立ちますが、違反レポートを有効にする方法に固執しています。それらがどのように機能するか(ブラウザが指定されたURLにPOSTリクエストを送信してWebサイトに違反を通知する)の基本的な前提は理解していますが、HTTPリクエストで違反を説明するJSONドキュメントがどこにあるかわかりませんでした。おそらく、これはHTTP仕様に精通している人には明らかだったでしょう。

CSPのW3Cドラフトを見ると、JSONが「エンティティ本体」と呼ばれるHTTPの一部に含まれていることがわかりました。私はまだエンティティの目的が何であるかを知りません(私がこの問題で見つけることができた唯一のやや有用なページはHTTP仕様からのものでした)。リクエストの本文だと思います。

おそらくもっと重要なのは、エンティティ本体のコンテンツを取得する方法が見つからないことです。使用することを考えreq.header('entity-body')ましたが、エンティティがHTTPヘッダーではないため、機能しません。それは何で、どのように取得するのですか?

(さらに、Node.jsでCSP違反レポートを実装する方法に関するチュートリアルを見つけようとしましたが、何も見つかりませんでした。PHP用のチュートリアルは見つかりましたがfile_get_contents('php://input')、Nodeに似たものがないものを参照して、特に役に立ちませんでした。 .js / Express。)

どんな援助でも大歓迎です。

0 投票する
1 に答える
2102 参照

javascript - 関数の呼び出しと表示イメージにおけるコンテンツ セキュリティ ポリシーの問題

私のサイトhttp://pcrypt.org/dev/groups.phpで指定したポリシーの効果がわかりません。

インライン スクリプトを許可しない場合、関数を呼び出すにはどうすればよいですか。このページで、サーバー上の js ファイルにある関数を onload (body onload='initialize()') から呼び出そうとしましたが、次のエラーが生成されました (デンマーク語で申し訳ありません)。

"options inline-script;"追加で正常に動作します

initialize()また、画像が読み込まれるのを待たずに DOM の準備ができたときに呼び出すのが好きですが、CSP を使用してこれを行うにはどうすればよいですか?

また、必要だと思います"img-src *;"が、画像がまったく表示されません。画像は同じサーバーにありますか?

理解するのを手伝ってください。

0 投票する
4 に答える
92269 参照

google-chrome - Chrome バージョン 18 以降: コンテンツ セキュリティ ポリシーでインライン スクリプトを許可する方法は?

Chrome 18 Dev/Canary がリリースされたばかりcontent_security_policyで、特定の拡張機能のマニフェストで必要になります。

CSP をインライン スクリプトで動作させようとしていますが、何か間違っているのか、それとも Chrome 18 のバグなのかわかりません。

マニフェスト.json:

test.html:

Chrome 18 では、このアンパックされた拡張機能の読み込みに失敗し、次のエラーが表示されます。

「[拡張機能ディレクトリ]」から拡張機能を読み込めませんでした。 「content_security_policy」の値が無効です。

に変更'unsafe-inline'する'self'と、拡張機能は正常に読み込まれますがalert()機能せず、オプション ページのコンソールに次のエラーが表示されます。

Content-Security-Policy により、インライン スクリプトの実行が拒否されました。

Chrome 16 では、 を'unsafe-inline'使用すると拡張機能が正常に読み込まれ、機能しますalert()。ただし、Chrome 16 では、 に置き換える'unsafe-inline''foo'拡張機能がロードされますが、もちろん動作しませんalert()。したがって、Chrome 18 は 16 よりも厳密である可能性がありますが...

default-src 'unsafe-inline'実際には無効ですか、それともバグですか? alert()Chrome 18 で機能させるには、どの CSP 値を使用できますか?


以下の受け入れられた回答に基づいて、インライン スクリプトは Chrome 18 の拡張機能では機能しなくなりましたalert()。独自の JavaScript ファイルに配置する必要があります。

0 投票する
2 に答える
6132 参照

javascript - コンテンツ セキュリティ ポリシー エラー?

私はクロム拡張機能に取り組んでおり、コンテンツスクリプトを使用してページでこのコードを実行しています



「Content-Security-Policy のため、インライン スタイルの適用を拒否されました」という エラーが表示されます。
manifest.json コード:

0 投票する
2 に答える
1205 参照

javascript - Javascript と CSP - ベスト プラクティス

Web アプリケーションに Content Site Protection を使用したいと考えています。聞いたことがない場合は、簡単に言うと、Web アプリに埋め込まれた JavaScript を無効にして、XSS の防止に役立てることができます。

その結果、すべての JavaScript コードを外部ファイルに含める必要があります。

ほとんどの JavaScript の「ライブラリ/フレームワーク」コードは既に存在しますが、通常、私のページには少なくとも数行の JS コードが含まれ、特定のページに関連するコンポーネントをインスタンス化します。

たとえば、架空の登録ページがあります。登録ページの下部に、次のコードがあります。

この架空のコードは、登録フォームへの参照を取得し、すべての検証コードを登録できます。

ここで、このコードを外部ファイルに移動する必要があります。私はできた:

オプション A : すべてのページに小さな .js ファイルを作成し、そのページに固有のコードのみを実行します。

  • 長所 - シンプルで比較的高速
  • 短所 - これはすべてのページに追加の js ファイルです。リクエストを減らすために、すべての JavaScript を 1 つのファイルに最小化できるようにしたいと考えています。

オプション B : すべての「インスタンス化コード」を JavaScript ファイルで実行します。ページに '.regForm' css クラスがあるかどうかを検出し、それらがページに表示される場合にのみオブジェクトをインスタンス化します。

  • 長所 - インスタンス化のための単一の場所。ページ上のコンポーネントは、適切な css クラスを持っていれば、魔法のように機能し始めます。
  • 短所 - アプリケーションがかなり大きくなると、特定のページには不要な初期化コードが大量に発生する可能性があります。

オプション C:タグ<body>に ID またはクラスを指定し、大きなスイッチに基づいて正しいコードを実行します。

  • 長所: 単一の .js ファイルに圧縮することができ、ページごとに .js ファイルは必要ありません。
  • 短所:これは少し醜いと思います。

全体として、大量の初期化コードを使用するのは悪い考えだと私が感じているという事実がなければ、オプション B が最も優れています。

私が主に疑問に思っているのは、この状況の経験はありますか、どのように解決しましたか?

0 投票する
3 に答える
7227 参照

javascript - *://www.google.com/recaptcha/api へのリクエストをブロックするコンテンツ セキュリティ ポリシー

このリンクに照らしてみると、recaptcha オブジェクトをページに挿入するために使用されるようなインライン スクリプトのように見えます。

または経由

);

manifest.json がhttp://www.google.com/recaptcha/api/js/recaptcha_ajax.jsのような URL を許可しているように見えるにもかかわらず、コンテンツのセキュリティ ポリシーについて常に苦情が寄せられます。

この質問全体を狂わせる本当に明白な何かが欠けていますか?

0 投票する
1 に答える
832 参照

google-chrome-extension - Chrome 拡張機能とコンテンツ セキュリティ ポリシーと GWT RPC

GWT RPCを使用しようとしているという点で、クロム拡張機能があります。それを機能させることはできません。モジュール xml ファイルで <add-linker name="xsiframe" /> を使用して GWT コードをコンパイルします。行番号なしでjs chromeコンソールで次の例外が引き続き発生します。

Content-Security-Policy のため、JavaScript URL の実行を拒否しました。

私のmanifest.json、ver.2は次のようになります:


この展開に既知の解決策はありますか? または、おそらく何が間違っていますか?ありがとう

0 投票する
1 に答える
37343 参照

javascript - CSP:特定のURIプレフィックスに対してunsafe-evalを許可する方法(Firefox)

かなり厳格なコンテンツセキュリティポリシー(CSP)を使用するWebアプリケーションの一部としてMathJaxを使用しようとしています。問題は、MathJaxが[正確には]を使用するようにコーディングされていることです。これは、CSPではデフォルトで安全とは見なされていません。eval()Function()

現在、次のCSPヘッダーを使用しています。

を使用しているため、MathJax2.0コードが失敗しますFunction()Function()パスの下の同じ原点内にあるMathJaxに対してのみunsafe-eval(つまり)を許可しようとしました/:static/math/。それをするために、私は追加しようとしました

ヘッダー全体を次のように表示します

しかし、Firefox13.0でコードを実行することはできません。Firefox Webコンソール([ツール]-[Web開発者]にあります)にエラーメッセージが表示されます。

ただし、「report-uri」へのCSPレポートを取得していません。(ご覧のとおり、私は現在、SSLなしのカスタムローカルホストポートを介してテストを実行しています。違いが生じる場合に備えて。前のコロンstaticはタイプミスではないため、コロンで始まるすべてのパス部分を内部使用のために予約しています。アプリケーションでは、すべてのユーザーコンテンツが他のURLを自由に定義できます。)

属性の使用がunsafe-eval正しくないのですか、それとも「自己」のサブセットに対してのみ安全でない評価を許可することは不可能ですか?目的は、同じオリジンパスプレフィックスに対してのみunsafe-evalを許可し/:static/math、''に対しては厳密なCSPJSコードの実行を許可selfし、他のメソッドに対してはJSコードを許可しないことです。