http security
XSS
跨站脚本攻击
用户将恶意代码植入到页面中。
防范
转义
CSP
使用CSP减少XSS攻击。
CSP设置禁止内联js和设置js加载来源,js等静态全部写入单独文件。
页面仅保留html,静态资源使用SRI保证内容正确。
webserver添加header或者html页面添加meta实现。
Subresource Integrity (SRI)
SRI翻译为子资源完整性,用来检查阅览器链接中的资源完整性,防止资源被篡改。
例如下列引入js文件:
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
声明了该资源的哈希摘要值,算法是sha384,后面是哈希值。
integrity值的格式是算法-哈希值
,算法存在sha256、sha384、sha512三种,哈希值就是对应算法计算的值。
如果启用SRI后获得跨域资源,非同源域名就需要添加crossorigin="anonymous"
属性运行从其他域名加载资源。
强制SRI
SRI一般都未启用,默认也不是必要,但是可以使用CSP强制启用SRI。
例如添加CSP Header,使script和style强制依赖SRI值,如果资源没有SRI值阅览器就会报错,但是部分阅览器不一定支持。
Content-Security-Policy: require-sri-for script style;
Content Security Policy
CSP内容安全策略,用于限制html页面加载资源。
时间攻击
通过比较密码判断时间推测值
Last updated
Was this helpful?