-
前言
- server端攻击方式非常多,预防手段也非常多
- 本项目只涉及能通过web-server( node.js )层面预防的
- 有些攻击需要硬件和服务来支持( 需要OP支持 ),如DDOS
-
预防内容
-
sql注入 : 操作数据库内容
- 最原始,最简单的攻击,自从web2.0就有了sql注入攻击
- 攻击方式 : 输入一个sql片段,最终拼接成一段攻击代码
- 比如当username传入的为 :
zhangsan' --
,如果不使用MySQL提供的escape函数进行处理,就会具有攻击性
select username, password from users where username='zhangsan' -- ' and password='123';
- 预防措施 : 使用
mysql的escape函数
处理输入内容即可,处理后的sql语句如下,不具有攻击性
select username, password from users where username='zhangsan\' -- ' and password='123';
- 所以所有使用拼接sql语句进行读写操作的数据接口的controller层都应使用escape函数进行过滤一下,以提高安全性
- 比如当username传入的为 :
-
XSS攻击 : 窃取前端的cookie内容
- 在页面展示内容中掺杂js代码,以获取网页信息,如下举例
<script>alert(document.cookie)</script>
- 预防方式 : 转换生成js的特殊字符串
- 使用xss包对特殊字符进行转译,使其失去js功能,在页面内容展示的时候只需要再转译过来就可 :
npm i xss --save
<script>alert(document.cookie)</script>
- 转换特殊字符
<
—><
>
—>>
&
—>&
""
—>"
'
—>'
/
—>/
- 使用xss包对特殊字符进行转译,使其失去js功能,在页面内容展示的时候只需要再转译过来就可 :
- 在页面展示内容中掺杂js代码,以获取网页信息,如下举例
-
密码加密 : 保障用户的信息安全
- 万一数据库被攻破,最不应该泄露的就是用户信息
- 攻击方式 : 获取用户名和密码,再去尝试登录其他系统
- 预防措施 : 将密码加密处理,即使拿到密码也不知道明文
-
网站后端安全
猜你喜欢
转载自blog.csdn.net/Brannua/article/details/105185511
今日推荐
周排行