一、php安全设置
1、
register_globals
= Off
设置为关闭状态
2
、
SQL
语句书写时尽量不要省略小引号和单引号
s
elect * From Table Where id=2
(
不规范
)
select * From `Table` Where `id`='2' (规范)
3、正确的使用 $_POST $_GET $_SESSION 等接受参数,并加以过滤
4、提高数据库命名技巧,对于一些重要的字段可根据程序特点命名
5、对于常用方法加以封装,避免直接暴露SQL语句
二、$_POST $_GET传值的时候一定要用intval()或者addslashes()函数进行过滤。
过滤一些我们常见的关键字和符合如:Select,insert,update,delete,and,*,等等
<?php
function sql_guo($sql_str){
$check=eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|union|into|load_file|outfile',$sql_str);
if($check)
{
echo "注入非法字符";
exit();
}else{
return $sql_str;
}
}
$_GET[id]=sql_guo($_GET[id]);
echo $sql="select * from `table` where `id='$_GET[id]'";
?>