如何防止注入及开发安全
时间:2009-08-19 来源:phpwzb
PHP100.php?id=2 页面中我们会使用 2 写入到SQL语句中
正常情况:Select * From Table where id=2
如果我们对SQL语句熟悉,就知道2 我们可以替换成我们需要的SQL语句
如:and exists (select id from admin) 如何防止呢?
其实原来就是我们需要过滤一些我们常见的关键字和符合如:
Select,insert,update,delete,and,*,等等function inject_check($sql_str) {
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str); // 进行过滤
}
或者是通过系统函数间的过滤特殊符号
Addslashes(需要被过滤的内容)
$resut = inject_check($_GET['id']); if($resut){ 执行相关命令 }else{ 执行相关命令,die(); }
function inject_check($sql_str) { |