目次
前書き:
デフォルトのポリシー制限
ホームページ ウェブフロントエンド H5 チュートリアル HTML5 のコンテンツ セキュリティ ポリシー (CSP)

HTML5 のコンテンツ セキュリティ ポリシー (CSP)

Oct 07, 2017 am 11:40 AM
h5 html5 戦略

前書き:

Cordova不支持内联事件,所以点击事件必须提取到js里面.
以下是从官网摘抄下来,希望对您有所帮助
ログイン後にコピー

多くの潜在的なクロスサイト スクリプティングの問題を軽減するために、Chrome の拡張機能システムにはコンテンツ セキュリティ ポリシー (CSP) の一般的な概念が組み込まれています。 これにより、デフォルトで拡張機能の安全性が高まり、拡張機能やアプリケーションによってロードおよび実行できるコンテンツの種類を管理するルールを作成および強制できるようにする、いくつかのかなり厳格なポリシーが導入されています。

一般的に言えば、CSP は、拡張プログラムがロードまたは実行するリソースのハッキング/ホワイトリスト メカニズムとして機能します。 拡張機能に賢明なポリシーを定義することで、拡張機能が必要とするリソースを慎重に検討し、拡張機能がアクセスできるリソースがこれらのみであることをブラウザーに確認することができます。 これらのポリシーは、拡張機能によって要求されたホスト権限を超えたセキュリティを提供します。これらは追加の保護層であり、置き換えるものではありません。

ウェブでは、そのようなポリシーは HTTP ヘッダーまたは要素を通じて定義されます。 どちらも Chrome の拡張システムには適切なメカニズムではありません。 代わりに、拡張機能のポリシーは、次のように拡張機能の manifest.json ファイルによって定義されます:

{ 
   … 
   “content_security_policy”:“[POLICY STRING GOES HERE]” 
   …
}
ログイン後にコピー

CSP 構文の詳細については、コンテンツ セキュリティ ポリシーの仕様と、HTML5 Rocks の記事「コンテンツ セキュリティ ポリシーの概要」を参照してください。

デフォルトのポリシー制限

manifest_version パッケージが定義されていません デフォルトのコンテンツ セキュリティ ポリシーはありません。 マニフェスト バージョン 2 を選択したものには、デフォルトのコンテンツ セキュリティ ポリシーが適用されます:

script-src'self'; object-src'self'

このポリシーは、次の 3 つの方法で拡張機能とアプリケーションを制限することでセキュリティを強化します:

(1) 評価および関連機能は無効になります

次のコードは機能しません:

alert(eval("foo.bar.baz"));

window.setTimeout(“alert(’hi’)”,10); 
 window.setInterval(“alert(’hi’)”,10); 
 new Function(“return foo.bar.baz”);
ログイン後にコピー

このような JavaScript 文字列の評価 は、一般的な XSS 攻撃ベクトルです。 代わりに、次のようなコードを記述する必要があります:

alert(foo && foo.bar && foo.bar.baz); 
window.setTimeout(function(){alert(’hi’);},10); 
window.setInterval(function(){alert(’hi’);},10); 
function(){return foo && foo.bar && foo.bar.baz};
ログイン後にコピー

(2) インライン JavaScript は実行されません

インライン JavaScript は実行されません。 この制限により、インライン ブロックとインライン イベント ハンドラー プログラム (例: ) が禁止されます。

最初の制限は、悪意のあるサードパーティが提供するスクリプトを誤って実行することを防ぐことで、多数のクロスサイト スクリプティング攻撃を排除します。 ただし、コードの記述内容とコードの実行内容を明確に分離する必要があります (これは必ず行うべきです) ですよね? 例を挙げると、これがより明確になるかもしれません。 次の内容を含む単一の Popup.html としてブラウザー アクション ポップアップを作成してみるとよいでしょう:

<!doctype html> 
      My Awesome Popup! 
       function awesome(){ 
         //做某事真棒! 
       }
   function totalAwesome(){
     //做某事真棒!
   }
  函数clickHandler(element){
     setTimeout( “awesome();getherAwesome()” ,1000);
   }
   function main(){
     //初始化工作在这里。
   }
 </ SCRIPT>
ログイン後にコピー
すばらしい点をクリックしてください!


デフォルトポリシーの緩和

(1) インラインスクリプト

Chrome 45 までは、インライン JavaScript の実行に関する制限を緩和するメカニズムはありませんでした。 特に、「unsafe-inline」を含むスクリプト ポリシーを設定しても効果はありません。

Chrome 46 以降では、ポリシーでソース コードの Base64 エンコードされたハッシュを指定することで、インライン スクリプトをホワイトリストに登録できるようになりました。 ハッシュには、使用するハッシュ アルゴリズム (sha256、sha384、または sha512) をプレフィックスとして付ける必要があります。

例について

以上がHTML5 のコンテンツ セキュリティ ポリシー (CSP)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles