php判断文件上传类型及过滤不安全数据的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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;
 }
}

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

PHP提示Cannot modify header information - headers already sent by解决方法

本文实例讲述了PHP提示Cannot modify header information - headers already sent by解决方法,是进行PHP程序设计过程中经常会遇到...

PHP生成图片验证码功能示例

PHP生成图片验证码功能示例

本文实例讲述了PHP生成图片验证码功能。分享给大家供大家参考,具体如下: 只是简单的用随机函数实现了图片的生成,没有对验证的整个流程做介绍。 代码如下: <?php /...

php实现在多维数组中查找特定value的方法

本文实例讲述了php实现在多维数组中查找特定value的方法。分享给大家供大家参考。具体如下: 最近做项目,需要从多维数组中查找是否含有特定的key和其对应特定的value,并清除该条数...

php 中phar包的使用教程详解

php 中phar包的使用教程详解

修改配置文件: vim /usr/local/php/etc/php.ini [Phar] phar.readonly = Off 压缩: a. 创建压缩脚本: vim c...

解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)

【详细错误】:由于出现错误 c00ce56e 而导致此项操作无法完成 【造成原因】:未指定输出编码格式。 【解决办法】:句首加入header("content-type:text/htm...