1、php.ini 修改 open_basedir=‘d:\wwwroot‘ //配置只能访问指定的网站目录
2、php.ini 修改 disable_funcitons=system,passthru,exec,shellexec,popen,phpinfo //禁止执行一些函数
3、php.ini 修改display_errors =On 为display_errors =Off //禁止显示一些错误
4、跨站脚本攻击(XSS)
防御方法:写函数或者用htmlentities来进行对html或者javascript标签进行过滤
5、sql注入漏洞
防御方法:写函数或者addslashes()来过滤SQL关键字即可
6、跨站请求伪造攻击(CSRF-防盗链)
如要删除一个条记录,没有判断来源信息,任何人都能删除
防御方法:在请求页加上
session_statrt();
$token=md5(uniqid(rand(),TRUE));
$_SESSION[‘token‘]=$token;
在表单中加入
<input type="hidden" name="token" value="<?=$token?>"/>
在接收页中验证如:
if(isset($_SESSION[‘token‘]) && $_POST[‘token‘]==$_SESSION[‘token‘])
{
验证成功则执行语句
}
7、表单是否重复提交
解决方法:
在提交页处理如下:
session_statrt();
$_SESSION[‘conn‘]=time();
$_SESSION[‘connid‘]=time();
<input type="hidden" name="connid" value="<?=$_SESSION[‘connid‘]?>"/>
接收页如下
if($_SESSION[‘conn‘] != $_POST[‘connid‘])
{
echo ‘重复提交‘;
}else
{
echo ‘验证通过处理内容‘;
}
8、文件上传漏洞
在上传的时候过滤图片类型,文件后缀,图片大小即可