SQL注入漏洞产生的原因?如何防止?

来源:互联网 发布:vscode下载插件 编辑:程序博客网 时间:2024/05/18 03:13
SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行。
防止 SQL 注入的方式:
1、 开启配置文件中的 magic_quotes_gpc 和 magic_quotes_runtime 设置
2、 执行 sql 语句时使用 addslashes 进行 sql 语句转换
3、 Sql 语句书写尽量不要省略双引号和单引号。
4、 过滤掉 sql 语句中的一些关键词:update、insert、delete、select、 * 。
5、 提高数据库表和字段的命名技巧,对一些重要的字段根据程序的特点命名,取不易被猜到的。
6、 Php 配置文件中设置 register_globals 为 off,关闭全局变量注册
7、 控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。
8、 可以使用 waf 防护系统进行防护。