网站安全政策csp防止xss攻击

2020-07-28 17:17:58 浏览2232次 作者: 旋风

收藏

  xss攻击可以说是最常见的攻击了,防不胜防,因为我们总不能任何的post提交都挨个检查和过滤xss吧?有些正常的xss可能也会被加载怎么办?所以我们就需要使用内容安全政策,简称csp,以下内容我都用简拼csp,就不再说网站安全政策几个字了。

  csp说的直白点,就是告诉打开网页的浏览器,哪一些东西在这个网页允许被加载,哪一些东西在这个网页不允许被加载,本质上和白名单差不多。可以说,csp是防止xss攻击的利器!因为目前很多网站攻击,都会基于xss的post提交攻击,当用户post提交之后,xss如果没被过滤,那么打开网页,就会执行这个xss地址了,网站被攻击就变得很容易。

  由于csp设置方法很多,防护等级也不同,我这边只介绍最简单和最常用的方法:不符合csp规则的链接和资源禁止被加载!

  使用方法:

        1.http头信息  

        2.http的meta标签,我这里主要说一下使用meta标签的方法:


       在html中,使用meta标签,如下:

 <meta http-equiv="content-security-policy" content="default-src 'self' ">

上面这一行的意思是,当页面加载的时候,所有的引用,比如:css、js、img、iframe、font等,只能引用当前域名下的,其他域名的引用资源将不再被加载!

      当然,这是一个范限制,您可以精确到每一个步骤,比如所有资源都是只允许当前域名,但是script可以允许使用其他的域名:

<meta http-equiv="content-security-policy" content="default-src 'self' ;script-src: demo.com">

还可以不限制某些链接,比如不限制css的引入地址:

<meta http-equiv="content-security-policy" content="default-src 'self' ;script-src: demo.com ; style-src:*">

当然除此之外,还可以有其他的限制,就不一一列举了,我直接把限制的名字发出来:

script-src:外部脚本

style-src:样式表

img-src:图像

media-src:媒体文件(音频和视频)

font-src:字体文件

object-src:插件(比如 Flash)

child-src:框架

frame-ancestors:嵌入的外部资源(比如<frame>、<iframe>、<embed>和<applet>)

connect-src:HTTP 连接(通过 XHR、WebSockets、EventSource等)

worker-src:worker脚本

manifest-src:manifest 文件



当您发现内容错误或代码bug,以及下载链接无法使用等,请点击屏幕右下角的上报错误来进行提交,我们会尽快修正。
本程序所有源码和工具完全免费,当本网站内容如果侵犯了您的权益,请联系我们,我们会尽快处理,感谢您的合作。

收藏 分享

相关文章

评论:

文明上网理性发言,请遵守 新闻评论服务协议

当前还没有评论,快来评论吧

上报错误