php判断文件上传类型及过滤不安全数据的方法
更新时间:2014年12月17日 15:56:23 投稿:shichen2014
这篇文章主要介绍了php判断文件上传类型及过滤不安全数据的方法,可实现对$_COOKIE、$_POST、$_GET中不安全字符的过滤功能,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了php判断文件上传类型及过滤不安全数据的方法。分享给大家供大家参考。具体如下:
禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type'].
这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下:
复制代码 代码如下:
function s_addslashes($string, $force = 0) {
if(!get_magic_quotes_gpc()) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = s_addslashes($val, $force);
}
} else {
$string=str_replace("&#x","& # x",$string); //
//过滤一些不安全字符
$string = addslashes($string);
}
}
return $string;
}
//用法实例:
$_COOKIE = c_addslashes($_COOKIE);
$_POST = c_addslashes($_POST);
$_GET = c_addslashes($_GET);
//在公共文件中加入
if($_FILES){
foreach( $_FILES as $key => $_value )
{
$_FILES[$key]['type'] =$_value['type'];
}
if(substr($_FILES[$key]['type'],0,6) !='image/')
{
exit;
}
}
if(!get_magic_quotes_gpc()) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = s_addslashes($val, $force);
}
} else {
$string=str_replace("&#x","& # x",$string); //
//过滤一些不安全字符
$string = addslashes($string);
}
}
return $string;
}
//用法实例:
$_COOKIE = c_addslashes($_COOKIE);
$_POST = c_addslashes($_POST);
$_GET = c_addslashes($_GET);
//在公共文件中加入
if($_FILES){
foreach( $_FILES as $key => $_value )
{
$_FILES[$key]['type'] =$_value['type'];
}
if(substr($_FILES[$key]['type'],0,6) !='image/')
{
exit;
}
}
希望本文所述对大家的PHP程序设计有所帮助。
相关文章
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
今天偶然在想,如果用PHP写一个类似BDB的基于文件的Key-Value小型数据库用于存储非结构化的记录型数据,不知道效率会如何?2010-06-06通过PHP current函数获取未知字符键名数组第一个元素的值
在开发中经常遇到这样问题,获取数组第一个元素的值,如果是数字索引那还好,直接$array[0],如果键名是字符串,你又未知这个字符串呢?用current()函数就可以做到2013-06-06PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
本篇文章是对PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数进行了详细的分析介绍,需要的朋友参考下2013-06-06
最新评论