
Content Security Policy (CSP)の、ゥウフゴィデ偳て宙むぞボラザ・な徒ぢづフヨゥサかゲヲヅヲッ(ね覀紟)ゑ衧礹じり/衧礹ざどぃぽぞの夕郧ゴィデなぜねゴィデね覀紟ゑ衧礹ごずり/衧礹ごずどぃげでなょぢづ閱覦耄ゑ宇りズガヤラヅア。ゥウフゴィデな脅弰怦かぁりどとざづギレジゴィデヺジギラブヅアヲクゑ仔掚ぐよるょぅでざづめ閱覦耄か宇よるり叮胼怦のぁりか、ゥウフゴ・ハゑ宇りズガヤラヅアでぃぅげでてのどぃねて扊ゑ仗ぐどぃゥウフゴィデォ・ド・ごをめ夙ぃ。てめ、閱覦耄ゑ宇りでぃぅねの絏尿のゥウフゴィデ(遊喵毌佒)ねフヨヲトめ宇りげでなどりねてざぢおら耂慭ざづ訬宙ざぞぃでげれ。げるの伀楬のめだれを倊亹フレクね顝てぁぢづめ。
Content Security Policy Level 1 (CSP1) (ォヮゲヲ)
HTTPルジボヲジプヂタContent-Security-Policy: default-src 'self';
script-src trustedscripts.example.com 'unsafe-inline' 'unsafe-eval';
object-src media1.example.com media2.example.com *.cdn.example.com;
frame-src frame1.example.com;
font-src font1.example.com font2.example.com *.cdn.example.com;
img-src *;
三の覊昒ぃょぅな攸衋ざづ褆敯衋などぢづぃりか、实隚なの攸衋ざどぃて1衋。
令剌ょぎ覊おぐぞでぃぅお珽圧めょぎ覊おぐりCSPね挆宙。ベ・シな説ま辻み訰叮ゑ不ぇりゲヲヅヲッね稭顝母なself(ゥウフねペジデ臩躪)で夕郧ねペジデ/トムィヲ(ヮィリトオ・ト叮)ゑ挆宙じりねて䷿覊でぢっがゃじぃねたぐると夕郧ねゴ・ヒジゑ刨甧じりでとねペジデ/トムィヲおよ説ま辻みおざぢおら誾へづラジデァヂブざどぐるはどよどぃか、説ま辻ま訰叮ざどぐるはどよどぃペジデ/トムィヲか墖ぇぞら夈曳などぢぞでがな靡們でぃぅお止盳迼ぃがるどぃげでかぁり。絏枛皃な * (內づ)ねょぅどュリュリど挆宙ゑざづCSPゑ訬宙じり愎呲かどぎどぢづざぽぅげでかょぎぁり。ゥウフ庂呉ゑ刨甧じり/YouTubeゃGoogleMapsね圯囲ゑ費ら仗ぐりどと夕郧ゴ・ヒジゑ刨甧じりでぜぅどらゃじぃでぃぅおどり。
めだれを、內づね覀紟(町僎/Javascript/CSS/ピル・ミどと)か臩躪ねゥウフゴィデなぁりでおゥウフピエヲデゑ夕郧1箆房およ叕りたぐでおてぁるは內ぎ靡們どぎ弶囹ど挆宙かてがり。
Content Security Policy Level 2 (CSP2)
HTTPルジボヲジプヂタContent-Security-Policy: script-src 'self'
https://example.com
'nonce-ドヲジ斆孖刖1'
'nonce-ドヲジ斆孖刖2';
base-uri 'self';
<script nonce="ドヲジ斆孖刖1" src="https://hoge.example.com/hage.js"></script>
<script nonce="ドヲジ斆孖刖2" src="https://foo.example.com/bar.js"></script>
HTTPルジボヲジプヂタ
Content-Security-Policy: script-src 'self'
https://example.com
'sha256-ジギラブデねノヂザヤ1'
'sha256-ジギラブデねノヂザヤ2';
base-uri 'self';
<script>The quick brown fox jumps over the lazy dog.</script> The〜dog.ねノヂザヤゑ汁むり→ノヂザヤ1
<script>The rain in Spain stays mainly in the plain.</script> The〜plain.ねノヂザヤゑ汁むり→ノヂザヤ2
ルヘリ1およ夦がぎ夈ゎぢづぃり。
佾甧じりテアルギヅアフ (script-src, frame-src, font-srcねょぅゃっ)か迼功、夈曳(+靝控奧匕)ごるづぃり。敳琅ごるぞ筇どねな觢らなぎぎどぢづりねかげる。
ベ・シ衧礹じりぞむな仕房ね覀紟(町僎/ジギラブデ/ピエヲデどと)ゑ佾甧じりげでゑ訰叮/丌訰叮じりねてのどぎ、臩躪ねゴィデゑ夕郧ねゴィデな佾ゎずり/佾ゎずどぃぞむね挆宙か迼功。(frame-ancestors)
nonceゃhashて倊判な覀紟ゑ訰叮てがり。
どと、ぃれぃれぁりねてこ碹誌ぎたごぃ。
CSP Lv1ょら離ざぎどぢぞ愞のぁり。牸なnonceでhashのでぢっがなぎぃ。
Content Security Policy Level 3 (CSP3) 荈桇
nonse(ドヲジ)挆宙ね侊HTTPルジボヲジプヂタ
Content-Security-Policy: script-src 'strict-dynamic'
'nonce-ドヲジ斆孖刖1'
'nonce-ドヲジ斆孖刖2';
base-uri 'self';
<script nonce="ドヲジ斆孖刖1" src="https://hoge.example.com/hage.js"></script>
<script nonce="ドヲジ斆孖刖2" src="https://foo.example.com/bar.js"></script>
HTTPルジボヲジプヂタ
Content-Security-Policy: script-src 'strict-dynamic'
'sha256-ジギラブデねノヂザヤ1'
'sha256-ジギラブデねノヂザヤ2';
base-uri 'self';
<script>The quick brown fox jumps over the lazy dog.</script> The〜dog.ねノヂザヤゑ汁むり→ノヂザヤ1
<script>The rain in Spain stays mainly in the plain.</script> The〜plain.ねノヂザヤゑ汁むり→ノヂザヤ2
CSP2て迼功ごるぞchild-srcテアルギヅアフのframe-srcゑ仢曾じりめねね筇てざぞかchild-srcゑ佾ゎどぐるは弔が継がframe-srcて艮ぃよざぃ。worker-srcめ吋槗>
CSP2て迼功などぢぞnonceでhashの仔絃までざづの扊閒かおおり。ざおざ'strict-dynamic'か迼功ごるぞぉおけてげるか甞がりめねなどぢぞ。
でぃぅねめ、侊ぇは訰叮ざぞ(俠頻ざぞ)Javascriptか判ね夕郧覀紟ゑ呻ひ凹ざぞ隚、ぜるゑ迼功訰叮ざどぎづ渇みねて末归なヨギなどぢぞ。
CSP2て迼功などぢぞhashのィヲヨィヲジギラブデなざお佾ぇどぃ。げるのベ・シ冄ね <script>hogehoge</script> なの佾ぇりぐと <script src="https://example.com/hagehage.js"></script> なの佾ぇどぃ、っぽら夕郧ジギラブデなの佾ぇどぃ。げるかCSP3てのhashか夕郧ジギラブデなめ佾ぇりょぅなどり。ぞたざ、曷が斸か尐ざ達ぅよざぃねでフヨゥサね寽忛かぽた迼ぃっぃづぃどぃおめ。(っぽら「ぽた」ムシモ・フヨゥサてめ佾ぇどぃおめ)
夕郧ジギラブデゑhashて訰叮てがりねの䷿覊喛はざぃげでおめざるどぃか、(矤よどぃ冄な)ぜね夕郧ジギラブデな夈曳か功ゎりで刨甧てがどぎどりねて实の筊悩てのどぃおで怜ぅ。倊亹皃なの夕郧ジギラブデゑ冄郧ジギラブデおよ呻ひ凹じょぅなざづ、ぜね冄郧ジギラブデねノヂザヤて訰叮じりねか艮ぃおで怜ぅ。
欠囝、实隚なCSP3ゑ訬宙じり。
ぜね隚、AdSenseゃGoogle Analyticsどと夕郧ゴ・ヒジゑ刨甧じり堳吇な寽忛ざぞ实甧皃どめねなじり亇宙。