Laravel - 致力于提供优质PHP中文学习资源

pFinal.cn

怎么防止sql注入?

1、过滤掉一些常见的数据库操作关键字:select,insert,update,delete,and,*等 或者通过系统函数:addslashes(需要被过滤的内容)来进行过滤。 2、在PHP配置文件中 Register_globals=off;设置为关闭状态 //作用将注册全局变量关闭。 比如:接收POST表单的值使用$_POST['user'],如果将register_globals=on;直接使用$user可以接收表单的值。 3、SQL语句书写的时候尽量不要省略小引号(tab键上面那个)和单引号 4、提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的 5、对于常用的方法加以封装,避免直接暴漏SQL语句 6、开启PHP安全模式 Safe_mode=on; 7、打开magic_quotes_gpc来防止SQL注入 Magic_quotes_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进行转换,把'转为\',这对防止sql注入有重大作用。 因此开启:magic_quotes_gpc=on; 8、控制错误信息 关闭错误提示信息,将错误信息写到系统日志。 9、使用mysqli或pdo预处理。

评论