亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

HTTP Content-Security-Policy(CSP)script-src指令為JavaScript的源指定有效來源。這不僅包括直接加載到<script>元素中的URL ,還包括可以觸發(fā)腳本執(zhí)行的內(nèi)聯(lián)腳本事件處理程序(onclick)和XSLT樣式表等內(nèi)容。

CSP版本

1

指令類型

取指令


default-src fallback

是。如果此指令不存在,用戶代理將查找default-src指令。

句法

script-src政策可以允許一個(gè)或多個(gè)來源:

Content-Security-Policy: script-src <source>;Content-Security-Policy: script-src <source> <source>;

來源

<source>可以是以下之一:

通過名稱或IP地址的<host-source> Internet 主機(jī),以及可選的 URL方案 and/or 端口號(hào)。該站點(diǎn)的地址可能包含一個(gè)可選的前導(dǎo)通配符(星號(hào)字符'*'),并且可以使用通配符(再次'*')作為端口號(hào),表示所有合法端口對(duì)于源都有效。

示例:

  • http://*.example.com:匹配使用http:URL方案從example.com的任何子域加載的所有嘗試。

  • mail.example.com:443:匹配所有嘗試訪問mail.example.com上的端口443的嘗試。

  • https://store.example.com:匹配所有嘗試訪問store.example.com使用https:

<scheme-source>一種模式,如'http:' 或 'https:'。冒號(hào)是必需的,不應(yīng)使用單引號(hào)。您也可以指定數(shù)據(jù)模式(不推薦)。

  • data:允許將data:URI用作內(nèi)容源。這是不安全的; 攻擊者也可以注入任意數(shù)據(jù):URI。謹(jǐn)慎使用這一點(diǎn),絕對(duì)不適用于腳本。

  • mediastream:允許將mediastream:URI用作內(nèi)容源。

  • blob:允許將blob:URI用作內(nèi)容源。

  • filesystem:允許將filesystem:URI用作內(nèi)容源。

'self'指受保護(hù)文檔的來源,包括相同的URL方案和端口號(hào)。你必須包括單引號(hào)。一些瀏覽器特別排除blobfilesystem從源指令。需要允許這些內(nèi)容類型的網(wǎng)站可以使用Data屬性來指定它們。

'unsafe-inline'允許使用內(nèi)聯(lián)資源,如內(nèi)聯(lián)<script>元素,javascript:URL,內(nèi)聯(lián)事件處理程序和內(nèi)聯(lián)<style>元素。你必須包括單引號(hào)。

'unsafe-eval'允許使用eval()和類似的方法從字符串創(chuàng)建代碼。你必須包括單引號(hào)。

'none'指空集;也就是說,沒有URL匹配。單引號(hào)是必需的。'nonce- <base64-value>'使用加密隨機(jī)數(shù)(使用一次的數(shù)字)的特定內(nèi)聯(lián)腳本的白名單。每次發(fā)送策略時(shí),服務(wù)器都必須生成唯一的隨機(jī)數(shù)值。提供一個(gè)無法猜測(cè)的隨機(jī)數(shù)是非常重要的,因?yàn)槔@過資源的策略是微不足道的。例如,查看不安全的內(nèi)聯(lián)腳本。

<hash-source>腳本或樣式的sha256,sha384或sha512散列。此源的使用由兩部分組成:用短劃線分隔的部分:用于創(chuàng)建散列的加密算法以及腳本或樣式的base64編碼散列。生成散列時(shí),不要包含<script>或<style>標(biāo)記,并注意大小寫和空白字符,包括前導(dǎo)或尾隨空格。有關(guān)示例,請(qǐng)參閱不安全的內(nèi)聯(lián)腳本。在CSP 2.0中,這僅適用于內(nèi)聯(lián)腳本。CSP 3.0允許它的情況下script-src用于外部腳本。

'strict-dynamic' strict-dynamic源表達(dá)式指定顯式給予標(biāo)記中存在的腳本的信任,通過附加一個(gè)隨機(jī)數(shù)或散列,應(yīng)該傳播給由該腳本加載的所有腳本。與此同時(shí),任何白名單或源表達(dá)式(例如'self''unsafe-inline'將被忽略)。請(qǐng)參閱script-src作為示例?!皉eport-sample”需要將違規(guī)代碼樣本包含在違規(guī)報(bào)告中。

示例

違規(guī)示例

鑒于此CSP標(biāo)題:

Content-Security-Policy: script-src https://example.com/

以下腳本被阻止并且不會(huì)被加載或執(zhí)行:

<script src="https//not-example.com/js/library.js"></script>

請(qǐng)注意,嵌入式事件處理程序也被阻止:

<button id="btn" onclick="doSomething()">

你應(yīng)該用addEventListener調(diào)用代替:

document.getElementById("btn").addEventListener('click', doSomething);

不安全的內(nèi)聯(lián)腳本

注意:禁止內(nèi)聯(lián)樣式和內(nèi)聯(lián)腳本是CSP提供的最大安全勝利之一。但是,如果你絕對(duì)必須使用它,有幾個(gè)機(jī)制可以允許它們。

要允許內(nèi)聯(lián)腳本和內(nèi)聯(lián)事件處理程序,'unsafe-inline'可以指定與內(nèi)聯(lián)塊匹配的 nonce-source 或 hash-source。

Content-Security-Policy: script-src 'unsafe-inline';

上述內(nèi)容安全策略將允許內(nèi)聯(lián)<script>元素

<script> 
  var inline = 1; </script>

您可以使用nonce-source來僅允許特定的內(nèi)聯(lián)腳本塊:

Content-Security-Policy: script-src 'nonce-2726c7f26c'

您將不得不在<script>元素上設(shè)置相同的隨機(jī)數(shù):

<script nonce="2726c7f26c">  var inline = 1;</script>

或者,您可以從內(nèi)聯(lián)腳本創(chuàng)建散列。CSP支持sha256,sha384和sha512。

Content-Security-Policy: script-src 'sha256-076c8f1ca6979ef156b510a121b69b6265011597557ca2971db5ad5a2743545f'

生成散列時(shí),不要包含<script>標(biāo)記,并注意大小寫和空白字符,包括前導(dǎo)或尾隨空白。

<script>var inline = 1;</script>

不安全的評(píng)估表達(dá)式

所述'unsafe-eval'源表達(dá)控制該創(chuàng)建從串代碼幾個(gè)腳本執(zhí)行方法。如果'unsafe-eval'未用script-src指令指定,則以下方法被阻止并不會(huì)產(chǎn)生任何影響:

  • eval()

  • Function()

  • 當(dāng)傳遞一個(gè)字符串文字就像這樣的方法: window.setTimeout("alert(\"Hello World!\");", 500);

    • window.setTimeout

    • window.setInterval

    • window.setImmediate

  • window.execScript  (IE <11)

strict-dynamic

'strict-dynamic'源表達(dá)指定明確給出與存在于標(biāo)記的腳本,通過用隨機(jī)數(shù)或散列伴隨它的信任,應(yīng)當(dāng)被傳播到由根腳本加載的所有腳本。與此同時(shí),任何白名單或源表達(dá)式(例如'self''unsafe-inline'將被忽略)。例如,一種策略script-src 'strict-dynamic' 'nonce-R4nd0m' https://whitelisted.com/可以允許加載根腳本<script nonce="R4nd0m" src="https://example.com/loader.js">并將該信任傳播給由其加載的任何腳本loader.js,但不允許加載腳本https://whitelisted.com/。

script-src 'strict-dynamic' 'nonce-someNonce'

要么

script-src 'strict-dynamic' 'sha256-hash'

可以以strict-dynamic向后兼容的方式進(jìn)行部署,而不需要用戶代理嗅探。

政策:

script-src 'unsafe-inline' https: 'nonce-abcdefg' 'strict-dynamic'

'unsafe-inline' https:在支持CSP1 https: 'nonce-abcdefg'的瀏覽器,支持CSP2的'nonce-abcdefg' 'strict-dynamic'瀏覽器以及支持CSP3的瀏覽器中發(fā)揮作用。

規(guī)范

規(guī)范

狀態(tài)

評(píng)論

內(nèi)容安全策略級(jí)別3該規(guī)范中'script-src'的定義。

編輯草稿

沒有變化。

內(nèi)容安全策略級(jí)別2該規(guī)范中'script-src'的定義。

建議

初始定義。

瀏覽器兼容性

特征

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

基本支持

25

14

23.0

No

15

7

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

4.4

(Yes)

?

23.0

No

?

7.1

Previous article: Next article: