2021 腾讯云区域研发前端一面
参考链接:
有XSS,CSRF,
XSS:跨站脚本攻击
它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。当用户浏览被修改的网页时,就可以达到恶意攻击的目的
XSS的防御措施:
- 过滤转义输入输出
- 避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关
- 使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的
- 使用innerHTML、document.write的时候,如果数据是用户输入的,那么需要对象关键字符进行过滤与转义
CSRF:跨站请求伪造
xss利用站点内的信任用户,而csrf则是通过伪装来自受信任用户的请求来利用受信任网站,相当于以其他用户的名义发送而已请求
其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操作,会被操作到其他网站上
CSRF防御措施:
- 检测http referer是否是同域名
- 避免登录的session长时间存储在客户端中
- 关键请求使用验证码或者token机制
其他的一些攻击方法还有HTTP劫持、界面操作劫持