+
95
-

回答

使用内容安全策略(CSP)

CSP 通过指定哪些内容资源是可信的,来减少和报告 XSS 攻击(跨站脚本攻击)。你可以通过在 HTTP 响应头中添加 Content-Security-Policy 或在 HTML 中使用 <meta> 标签来实现 CSP。

示例:通过 HTTP 响应头实现 CSP

在服务器配置文件或服务器脚本中,为 HTTP 响应添加 Content-Security-Policy 头部。例如,在 Apache 服务器中,你可以在 .htaccess 文件中添加如下指令:

Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted-source.com;"
这条策略指定,所有的资源(如脚本、样式等)默认只能从当前域名加载('self'),而脚本资源只能从当前域和 https://trusted-source.com 加载。

示例:通过 HTML <meta> 标签实现 CSP

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://trusted-source.com;">

使用子资源完整性(SRI)

SRI 通过验证载入资源(如脚本或样式表)的完整性哈希值,来保护网站免受篡改的三方资源威胁。当资源的实际哈希值与指定的哈希值不匹配时,浏览器将不会加载该资源。

示例:为脚本和样式表添加 SRI

首先,使用像是 SHA-256、SHA-384 或 SHA-512 这样的加密哈希函数计算资源的哈希值。然后,使用 integrity 属性在资源标签上指定哈希值,并指定 crossorigin 属性用于跨域资源。

<script src="https://trusted-source.com/library.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9DDeJnDqz7vgqWoP4KpVbFaw/58A"
crossorigin="anonymous"></script>

<link rel="stylesheet" href="https://trusted-source.com/style.css"
integrity="sha384-xxxxx/yyyyy/zzzzz"
crossorigin="anonymous">
通过这种方式,你的网页就可以利用 CSP 和 SRI 来增强安全性,有效防止内容和脚本被篡改。记住,实施这些安全措施时仔细测试网站,确保没有意外阻止了有效资源的加载。

网友回复

我知道答案,我要回答