网站后端安全

  • 前言

    • 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函数进行过滤一下,以提高安全性
    • XSS攻击 : 窃取前端的cookie内容

      • 在页面展示内容中掺杂js代码,以获取网页信息,如下举例
      • 预防方式 : 转换生成js的特殊字符串
        • 使用xss包对特殊字符进行转译,使其失去js功能,在页面内容展示的时候只需要再转译过来就可 : npm i xss --save
        • <script>alert(document.cookie)</script>
        • 转换特殊字符
          • < —> <
          • > —> >
          • & —> &
          • "" —> "
          • ' —> '
          • / —> /
    • 密码加密 : 保障用户的信息安全

      • 万一数据库被攻破,最不应该泄露的就是用户信息
      • 攻击方式 : 获取用户名和密码,再去尝试登录其他系统
      • 预防措施 : 将密码加密处理,即使拿到密码也不知道明文

你可能感兴趣的:(后端项目myblog文档)