关于csp:Content-Security-Policy-学习笔记之三CSP-指令的使用方式

HTTP 平安标头是网站平安的重要组成部分。 它们爱护店面免受潜在攻打,例如 XSS、代码注入、点击劫持等。 Owasp 很好地概述了能够利用的各种标头。 HTTP Strict-Transport-SecurityHSTS 平安标头强制 Web 浏览器仅通过 https 拜访店面。 这能够避免潜在的协定降级和 cookie 劫持。 这是一个十分根本的标头,应该默认利用于 Storefront 应用程序。 以下片段显示了一个示例标头配置: Strict-Transport-Security: max-age=31536000 ; includeSubDomainsX-Frame-OptionsX-Frame-Options 标头可用于避免将 Spartacus 加载到另一个起源的 iframe 中,这是加重点击劫持的罕用办法。点击劫持是一种歹意技术,它诱使用户点击与用户感知不同的内容,通常通过在原始站点的 iframe 上进行笼罩来实现。 然而,这个 X-Frame-Options 标头只能有两个值,DENY 或 SAMEORIGIN。这对于 Spartacus 作为避免点击劫持的默认策略来说太无限了,因为 Spartacus 店面在 SmartEdit 中的 iframe 中运行。 SmartEdit 在 iframe 中加载 Spartacus,实际上成心应用 Clickjacking 技术来反对内联内容治理。 Content-Security-Policy: frame-ancestors 提供了一种更简单的办法来解决点击劫持,因而能够应用 SmartEdit,同时依然可能避免点击劫持。 CSP 将在下文进一步详述。为了确保 IE11 用户也受到爱护,X-Frame-Options 的应用依然是相干的。如果存在带有 frame-ancestors 指令的 CSP 标头,古代浏览器将齐全疏忽 X-Frame-Options 标头。 X-XSS-Protection通常倡议不要应用 X-XSS-Protection 平安标头,因为它能够“在客户端引入额定的平安问题”。参看这个链接。 ...

March 12, 2022 · 1 min · jiezi

关于csp:fetch-http-请求被转成-https

问题fetch 申请一个 http 协定的接口,理论申请进来的接口是 https 协定的? 解决有两种思路: fetch 申请有没有被重写;其余配置影响,让原生 api 出现异常;经查看,fetch 申请没有被重写,所以就着重看下思路二。通过一直的查找, 发现一个meta 标签: <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 原来是因为这个才把 http 主动转化为 https。 内容安全策略 CSPCSP 通过定义 Content-Security-Policy HTTP 标头,容许创立信赖内容的起源白名单,并批示浏览器仅执行或渲染来自这些起源的资源,而不要自觉地信赖服务器提供的所有内容。即便攻击者发现破绽并可能注入脚本,因为此脚本不合乎此白名单,也不会执行该脚本。 作用可显著升高古代浏览器中 XSS 攻打的危险和影响的防护性能。 CSP指令只管脚本资源是最不言而喻的平安危险,但 CSP 提供了一个丰盛的策略指令集,让开发者能够对容许页面加载的资源进行相当精密的管制。其余指令有: script-src 用于管制脚本对于某个特定页面所享有的一组权限。 base-uri 用于限度可在页面的 <base> 元素中显示的网址。 child-src 用于列出实用于工作线程和嵌入的帧内容的网址。例如: child-src https://youtube.com 将启用来自 YouTube(而非其余起源)的嵌入视频。 应用此指令代替已弃用的 frame-src 指令。 connect-src 用于限度可(通过 XHR、WebSockets 和 EventSource)连贯的起源。 font-src 用于指定可提供网页字体的起源。Google 的网页字体可通过 font-src https://themes.googleusercontent.com 启用。 form-action 用于列出可从 <form> 标记提交的无效端点。 frame-ancestors 用于指定可嵌入以后页面的起源。此指令实用于 <frame>、<iframe>、<embed> 和 <applet> 标记。此指令不能在 <meta> 标记中应用,并仅实用于非 HTML 资源。 ...

July 22, 2021 · 1 min · jiezi