Web安全小结------SQL注入

SQL注入(用户提交的数据可以被数据库解析执行)
  • 在浏览器前端页面输入类似数据库的一些语句,会影响到后端的数据库。
  • SQL注入是一种将SQL代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法。SQL注入攻击是输入参数未经过滤,然后直接拼接到SQL语句当中解析,执行达到预想之外的一种行为。
  • SQL注入是怎么产生的?
    1)WEB开发人员无法保证所有的输入都已经过滤
    2)攻击者利用发送给SQL服务器的输入参数构造可执行的SQL代码(可加入到get请求、post请求、http头信息、cookie中)
    3)数据库未做相应的安全配置
  • 如何预防:
    1)检查变量数据类型和格式:只要是有固定格式的变量,在SQL语句执行前,应该严格按照固定格式去检查,确保变量是我们预想的格式,这样很大程度上可以避免SQL注入攻击。
    2)过滤特殊符号:对于无法确定固定格式的变量,一定要进行特殊符号过滤或转义处理。
    3)绑定变量,使用预编译语句:绑定变量,使用预编译语句是预防SQL注入的最佳方式,使用预编译的SQL语句语义不会发生改变,在SQL语句中,变量用问号?表示,黑客即使本事再大,也无法改变SQL语句的结构。

你可能感兴趣的:(安全,sql,javascript)