CSRF与XSS攻击的原理与防范
2024-10-09 10:09:37
CSRF
1、概念与原理
CSRF,跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或者破坏系统。例如:
用户访问A网站登陆并生成了cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网站给A网站的请求(此时相当于是用户访问),A网站会认为是用户发的请求,从而B网站就成功伪装了你的身份,因此叫跨站请求伪造。
2、CSRF防范
1、重要数据交互采用POST进行接收,当然是用POST也不是万能的,伪造一个form表单即可破解
2、使用验证码,只要是涉及到数据交互就先进行验证码验证,这个方法可以完全解决CSRF。但是出于用户体验考虑,网站不能给所有的操作都加上验证码。因此验证码只能作为一种辅助手段,不能作为主要解决方案。
3、验证HTTP Referer字段,该字段记录了此次HTTP请求的来源地址,最常见的应用是图片防盗链。PHP中可以采用Apache URL重写规则进行防御
4、为每个表单添加token令牌并验证
XSS
1、概念与原理
XSS,跨站脚本攻击,攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
2、XSS防范
不信任任何客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤处理然后方可进行下一步的操作。
最新文章
- AngularJS下对数组的比较
- 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
- (4)java方法区
- ajax j跨域请求sonp
- PHP採集CSDN博客边栏的阅读排行
- MATLAB将变量存储到EXCEL
- 不同WINDOWS平台下磁盘逻辑扇区的直接读写
- Elasticsearch学习笔记(十四)relevance score相关性评分的计算(1)
- Python 安装beautifulsoup4遇到No module named setuptools问题解决方法
- Maven学习 六 pom.xml文件
- kubernetes CSI 插件机制学习笔记
- Java 容器 &; 泛型:六、容器讲到为什么要使用泛型
- 2018-北航-面向对象-前三次OO作业分析与小结
- thymeleaf学习笔记:总结
- VUE2 第五天学习--过渡效果
- java 检查异常 和 非检查异常
- java中类的加载顺序介绍(ClassLoader)
- Spring注解详解@Repository、@Component、@Service 和 @Constroller
- POJ 3067 - Japan - [归并排序/树状数组(BIT)求逆序对]
- Python3基础 list str转成list