代码详解sql注入和XSS过滤

SQL注入

SQL注入式攻击是未将代码与数据进行严格的隔离,导致在读取用户数据的时候,错误地把数据作为代码的一部分执行,从而导致一些安全问题。例如:传入"–!#@这些内容到SQL上导致语句错误被执行。

如何预防?

  1. 过滤用户输入的参数中的特殊字符,从而降低被SQL注入的风险。
  2. 禁止通过字符串拼接的SQL语句,严格使用参数绑定传入的SQL参数。
  3. 合理使用数据库访问框架提供的防注入机制。比如MyBatis提供的#{}绑定参数,从而防止SQL注入。同时谨慎使用 , {}, ,{}相当于使用字符串拼接SQL。

XSS过滤

XSS攻击全称跨站脚本攻击,是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。XSS主要用于信息窃取、破坏等目的。

示例

xss攻击示例


测试信息:<%= request.getParameter("message")>

上面代码从请求中获取message参数输出到页面展示。如果参数内容为

测试信息
                    
                    

你可能感兴趣的:(微信公号原创)