php安全处理
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、文件上传漏洞
在上传的时候过滤图片类型,文件后缀,图片大小即可
最新文章
- Daily Scrum02 12.11
- 自定义Spring Security权限控制管理(实战篇)
- 使用ab进行页面的压力测试
- Base64复习
- rebuild new environment for DW step
- C中文件操作说明
- 反弹SHELL汇总
- asp.net C#检查URL是否有效
- Codeforces 325D
- HDU4893:Wow! Such Sequence!(段树lazy)
- 项目中通过Sorlj获取索引库中的数据
- Python 基础语法复习
- Flex布局—语法篇
- CentOS 7 建立svn仓库 远程连接
- win7 + nginx + php
- Layer 弹出页面 在点击保存关闭弹出层
- java中GZIPOutputStream 流的使用(EOFException)
- Oracle purge 用法介绍
- eclipse egit 报错 The current branch is not configured for pull No value for key branch.master
- 2017-2018-1 JAVA实验站 冲刺 day05
热门文章
- POJ 2139 Six Degrees of Cowvin Bacon (弗洛伊德最短路)
- sqlserver 计算数据库时间差
- 搭建maven支持的web工程的步骤
- 动画clip仅仅读的解决的方法,以及动画关键帧回调的办法
- [HTML/CSS]z-Index层重叠顺序
- U-Boot添加menu命令的方法及U-Boot命令执行过程
- extern用法
- Google Chrome插件开发-Context Menus
- scrapy-splash抓取动态数据例子六
- 【Linux】Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法