浅谈xss和csrf防范

  • 内容
  • 相关
1.xss

防范xss的关键是过滤所有的‘<’和‘>’字符,确保从后端而来的数据并不带有任何的html标签,xss的危险在于有不可预料的前端脚本,但是值得注意的是,不单只有script标签是可以运行脚本的,任何的html标签都可以加上类似onclick,onload这样的事件也都可以运行脚本,所以需要过滤所有的‘<’和‘>’字符。

假如,从后端而来的数据一定需要带上html标签(比如编辑器的富文本),且内容并不能保证是安全的(并不是可靠的人员录入的),就需要有合适的规则去“净化”它们。这个有现成的工具,比如HTML Purifier。



2.csrf

防范csrf的前提是首先避免xss,xss如果都不能防止,那防止csrf就扯蛋了。。。

防范csrf的第一点是对于数据库的更改操作(insert、update和delete),表单必须使用post请求。这是为了防止类似于在一个img和src里面写一个路径,让用户错误访问改动数据库的问题。

做完第一点还不够,因为html表单的action是可以跨域提交的,用户在一个网站提交到另一个网站,可能他还不知情,这就需要确保用户的来源表单是可信的,一般的做法是在表单里面添加一段隐藏的唯一的token,像sessionId那样可以验明用户的身份,接收表单的同时确认这个token的有效性。

本文标签:

版权声明:若无特殊注明,本文皆为《w0ai1uo》原创,转载请保留文章出处。

本文链接:浅谈xss和csrf防范 - https://www.w0ai1uo.org/86.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注