网站后端安全

  • 前言

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

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

猜你喜欢

转载自blog.csdn.net/Brannua/article/details/105185511
今日推荐