Sql 注入是如何产生的,如何防止?

程序开发过程中不注意规范书写sql 语句和对特殊字符进行过滤,导致客户端可以通过全局变量
POST 和GET 提交一些sql 语句正常执行。产生Sql 注入。下面是防止办法:

  • 过滤掉一些常见的数据库操作关键字,或者通过系统函数来进行过滤。
  • 在PHP 配置文件中将Register_globals=off;设置为关闭状态
  • SQL 语句书写的时候尽量不要省略小引号(tab 键上面那个)和单引号
  • 提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的
  • 对于常用的方法加以封装,避免直接暴漏SQL 语句
  • 开启PHP 安全模式:Safe_mode=on;
  • 打开magic_quotes_gpc 来防止SQL 注入
  • 控制错误信息:关闭错误提示信息,将错误信息写到系统日志。
  • 使用mysqli 或pdo 预处理。

你可能感兴趣的:(Sql 注入是如何产生的,如何防止?)