Web安全息息相关,Web安全相关

从而执行了非法的数据查询,从而执行了非法的数据查询

简介

简介

  SQL注入攻击指的是由此构建特殊的输入作为参数传入Web应用程序,而这多少个输入大都是SQL语法里的片段结缘,通过推行SQL语句进而实施攻击者所要的操作,其根本原因是程序尚未仔细地过滤用户输入的数据,致使非法数据侵入系统。

  SQL注入攻击指的是经过构建特殊的输入作为参数传入Web应用程序,而那一个输入大都是SQL语法里的一些结合,通过实践SQL语句进而实施攻击者所要的操作,其关键原因是先后尚未仔细地过滤用户输入的数额,致使非法数据侵入系统。

  遵照有关技能原理,SQL注入可以分成平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的纰漏所致;后者紧要是由于程序员对输入未举办细心地过滤,从而执行了地下的数据查询。基于此,SQL注入的爆发原因平时表现在偏下几上边:

  依照相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的纰漏所致;后者首要是出于程序员对输入未举行周到地过滤,从而执行了地下的数额查询。基于此,SQL注入的发生原因平时表现在偏下几下面:

  1.
不宜的品种处理;

  1.
不当的花色处理;

  2.
不安全的数据库配置;

  2.
不安全的数据库配置;

  3.
不创制的查询集处理;

  3.
不创制的查询集处理;

  4.
不当的错误处理;

  4.
不当的错误处理;

  5.
转义字符处理不适合;

  5.
转义字符处理不正好;

  6.
两个提交处理不当。

  6.
两个提交处理不当。

 

 

防止SQL注入

防止SQL注入

  1.
永远不要相信用户的输入。对用户的输入举行校验,可以通过正则表明式,或限制长度;对单引号和双”-“举办转换等。

  1.
永恒不要相信用户的输入。对用户的输入进行校验,可以透过正则表明式,或限制长度;对单引号和双”-“举办转换等。

  2.
永久不要选拔动态拼装sql,能够接纳参数化的sql或者间接使用存储过程举行数量查询存取。(不要拼sql,使用参数化)

  2.
永久不要拔取动态拼装sql,可以使用参数化的sql或者直接动用存储过程进展数据查询存取。(不要拼sql,使用参数化)

  3.
千古不要使用管理员权限的数据库连接,为各样应用使用单独的权杖有限的数据库连接。(给程序分配合理的数据库操作权限)

  3.
世代不要使用管理员权限的数据库连接,为各类应用使用单独的权限有限的数据库连接。(给程序分配合理的数据库操作权限)

  4.
不用把机密信息直接存放,加密或者hash掉密码和敏感的信息。(敏感信息加密)

  4.
决不把机密消息直接存放,加密或者hash掉密码和机敏的音信。(敏感信息加密)

  5.
施用的可怜信息应该交由尽可能少的提拔,最好使用自定义的错误消息对原始错误音讯进行打包。

  5.
使用的异常消息应该付出尽可能少的提拔,最好使用自定义的错误音信对原始错误音信举行打包。

 

 

随笔转载自:http://www.cnblogs.com/Erik_Xu/p/5514879.html

小说转载自:http://www.cnblogs.com/Erik_Xu/p/5514879.html