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、文件上传漏洞
在上传的时候过滤图片类型,文件后缀,图片大小即可
随机推荐
- [转]解析UML建模语言中的UML图分类、 UML各种图形及作用
本文向大家介绍一下UML图分类,作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分. UML图大致可分为五类,共有九种图形. AD: 本文和大家重点讨论一下UML图分类,标准建模语言U ...
- Ubantu Mark
说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法. 一.U ...
- [转载]memcached 命令操作详解
转载:http://www.cnblogs.com/azheng007/p/3159345.html 一.存储命令 存储命令的格式: <command name> <key> ...
- C#-java RSA加密解密
using Org.BouncyCastle.Math; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Securi ...
- Jquery 一次处理多个ajax请求的代码
Jquery 一次处理多个ajax请求的代码,需要的朋友可以参考下. 复制代码代码如下: $(document).ready(function () { $('#getsetgo').click( ...
- linux UART串口驱动开发文档
转:http://www.360doc.com/content/10/0417/18/829197_23519037.shtml linux UART串口驱动开发文档时间:2010-01-09 14: ...
- Dedecms会员中心注入漏洞
详细说明: member/buy_action.php require_once(dirname(__FILE__)."/config.php"); CheckRank(0 ...
- scrapy-splash抓取动态数据例子六
一.介绍 本例子用scrapy-splash抓取中广互联网站给定关键字抓取咨询信息. 给定关键字:打通:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信 ...
- phpcms v9自定义HTML文件名
用过织梦.Wordpress.Zblog等程序的网友都知道,发布内容的时候可以自定义生成的HTML文件名,这个功能对于SEO来说非常有好 处,但是到了V9之后却很遗憾, 这个功能却没有了,现在你只要对 ...
- FreeMarker最简单的例子(2)
二.通过String来创建模版对象,并执行插值处理 代码: package com.abc; import freemarker.template.Template; import java.io.O ...