什么是sql
注入?
用户通过输入参数拼接形成sql查询语句,使用户可以控制sql查询语句
防御方法:
- 绑定变量,使用预解析语句
- 检查变量数据类型和格式
- 过滤特殊符号
什么是xss
漏洞?
通过向web页面插入一段恶意脚本代码,用户访问web页面时,会执行这段脚本代码,某些恶意信息可能会被存储到数据库中,下一次访问页面时这些恶意信息会从数据库渲染到web页面,造成攻击
防御方法:
- 对用户输入进行有效过滤,只允许规定长度或内容的输入
- 对html实体进行实体编号,如:< --- <
- 对不可信数据进行JavaScript编码,并且只将这些数据放在用引号包裹起来的值之中
- xss攻击大部分目的是为了获取用户的cookie,所以将重要的cookie设置为httponly,这样就不能在脚本中通过document.cookie的方式获取cookie