Skip to content

Instantly share code, notes, and snippets.

@xgqfrms-GitHub
Last active June 6, 2017 04:59
Show Gist options
  • Save xgqfrms-GitHub/b0da64ef34e0ba8072de09599aeb4cbf to your computer and use it in GitHub Desktop.
Save xgqfrms-GitHub/b0da64ef34e0ba8072de09599aeb4cbf to your computer and use it in GitHub Desktop.
CSP & CORS

CSP & CORS

CSP 基于白名单来源,因为此方法可明确指示浏览器将特定的资源集视为可接受的资源,并拒绝其余资源。

https://developers.google.com/web/fundamentals/security/csp/

TL;DR

  • 使用白名单告诉客户端允许加载和不允许加载的内容。
  • 了解可使用哪些指令。
  • 了解这些指令接受哪些关键字。
  • 内联代码和 eval() 被视为是有害的。
  • 向服务器举报政策违规行为,以免执行这些行为。

https://content-security-policy.com/

Content-Security-Policy

https://www.w3.org/TR/CSP2/

https://developer.mozilla.org/zh-CN/docs/Web/Security/CSP/Using_Content_Security_Policy

内容安全策略 (CSP) 是一个额外的安全层,有助于检测和减轻某些类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击。

这些攻击用于从数据窃取到现场污染或恶意软件分发的一切。

    
script-src *
img-src *




script-src 'self';

script-src 'self' www.google-analytics.com ajax.googleapis.com;

default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';


https://developers.google.com/web/fundamentals/security/csp/

    
Content-Security-Policy: default-src https://cdn.example.net; child-src 'none'; object-src 'none'

Content-Security-Policy: script-src 'sha256-qznLcsROx4GACP2dm0UCKCzCG-HiZ1guq6ZZDob_Tng='

Content-Security-Policy: default-src 'self'; ...; report-uri /my_amazing_csp_report_parser;


Content-Security-Policy-Report-Only: default-src 'self'; ...; report-uri /my_amazing_csp_report_parser;


Content-Security-Policy: default-src https:; script-src https: 'unsafe-inline'; style-src https: 'unsafe-inline'



    
<meta http-equiv="Content-Security-Policy" content="default-src https://cdn.example.net; child-src 'none'; object-src 'none'">
@xgqfrms-GitHub
Copy link
Author

CSP 内容安全策略

https://gist.github.com/xgqfrms-GitHub/ecf7733d066d56723b00de41a849037a

Content-Security-Policy: 
default-src 'none'; 
script-src https://cdn.mybank.net; style-src https://cdn.mybank.net;
img-src https://cdn.mybank.net; 
connect-src https://api.mybank.com; child-src 'self'
Content-Security-Policy: 
default-src https:; 
script-src https: 'unsafe-inline';
style-src https: 'unsafe-inline'

@xgqfrms-GitHub
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment