XSS
概叙
XSS
(Cross Site Scripting)中文意思就是跨站脚本攻击
。- 一般网页都会有评论功能或留言功能,或类似可以让用户写东西的地方,然后写的东西直接存入数据库。然后下次把数据库中的评论或者写的东西渲染到前端页面,网页解析器会把用户的信息也当成html代码给解析了,这就出问题了。你想啊,既然当成html代码给解析,那么如果写的是一些代码,那么就可以为所欲为了了。
解决办法思路
- 就是把这些特殊字符,进行转义一下即可。
- 前端过滤(代码可以参考下面参考第二个参考资料)
- 后端过滤(代码可以参考下面参考第二个参考资料)
DDOS
概叙
DDOS
(Distributed Denial of Service)中文意思就是分布式拒绝服务
。- 我的理解就是占着茅坑不拉屎。就是一直不间断的发起很多个请求,一直占着访问资源,不让别人访问。
解决办法思路
- 高防服务器(类似于保安)
- 黑名单(宁可错杀1千,也不放过一个)
- DDos清洗(一直占着访问资源,服务器主动断掉连接)
- CDN加速(分散节点,减小压力,隐藏真实ip)
CSRF
概叙
CSRF
(Cross—Site Request Forgery)中文意思就是跨站请求伪造
。- 这个东西,通俗的来说,就是用户
先访问一个正常的A网站
,正常的网站可以返回一个cookie
,可以理解成进入正常网站的钥匙
;然后再访问一个危险未知B网站
,这个B网站可以返回一些攻击性的代码
,因为这些代码是在用户浏览器执行的,所以可以直接在用户的浏览器上使用钥匙--cookie对A网站进行操作
。
解决办法思路
- 在请求地址中添加 token 并验证
- 双重Cookie验证
SQL注入
概叙
- 它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现
无账号登录,甚至篡改数据库
。因为我们用户和密码一般放在数据库中,使用服务端是利用sql语句先去数据库中对比数据,如果有则为真,如果没有则为假,但是我们可以加上某些数据库的语句,可以直接讲返回真结果。
解决办法思路
- 检查变量数据类型和格式
- 过滤特殊符号(直接转义特殊符号)
参考资料
- [1]刘烨.前端安全系列(二):如何防止CSRF攻击?.美团
- [2]帅大叔的博客.关于HTML 代码注入,XSS攻击问题解决.CSDN
- [3]掘金翻译计划.CSRF 攻击:解析、预防和 CSRF 令牌.稀土掘金
- [4]w3sft.什么是CSRF攻击?如何防御CRSF攻击?.知乎
- [5]什么是 DDoS 攻击?.知乎
- [6]myseries.SQL注入详解 .博客园