php 判断文件上传类型与过滤不安全数据

这函数 过滤不安全字符

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;
 }
}

禁止上传除图片文件以外的文件,
提示:
不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']

['type']
这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足

够了解。

www.111cn.net 本站原创,转载注明

时间: 2024-11-01 15:35:32

php 判断文件上传类型与过滤不安全数据的相关文章

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

本文实例讲述了php判断文件上传类型及过滤不安全数据的方法.分享给大家供大家参考.具体如下: 禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type']. 这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下: 复制代码 代码如下: function s_addslashes($string, $force = 0) {  if(!get_magic_

android-Android 文件上传出错服务器却可以得到数据

问题描述 Android 文件上传出错服务器却可以得到数据 用的AsyncHttpClient 文件上传时报错:org.apache.http.client.httpresponseExcrption:not found 但是服务器那边可以得到数据

有关文件上传 非ajax提交 得到后台数据问题_javascript技巧

下文给大家介绍文件上传非ajax提交得到后台数据的操作方法,具体详情如下所示: <form name="configForm" id="configForm" method="post" action="" > .......... </form> 根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美. 但是如果需要上传文件, <tr> <td class=&qu

JS判断FileUpload上传类型

  <head runat="server">     <script type="text/javascript">         function Judge() {             // 获取上传文件名             var fileupload = document.getElementByIdx_x("FileUpload1");             var filename = file

如何判断文件上传以及相关数据插入数据库同时成功

问题描述 我想实现保证文件上传和相关数据(即文件信息,如文件名,文件大小,文件路径等)插入数据库要同时成功.避免只有文件上传成功了或数据插入数据库中的一种情况实现.要实现要么就两者都全部操作成功了.要么就全部没有成功(同时报错).如何实现呢?谢谢 解决方案 解决方案二:1.首先文件保存的SAVE方法放在数据库保存后面执行2.建立一个事务,首先进行数据库的保存,但是不要commit:然后save文件,当成功save后就commit,否则就会滚解决方案三:设置一个变量数据保存成功赋值1不成功2再判断

OSS文件上传及OSS与ODPS之间数据连通

场景描述        有这样一种场景,用户在自建服务器上存有一定数量级的CSV格式业务数据,某一天用户了解到阿里云的OSS服务存储性价比高(嘿嘿,颜值高),于是想将CSV数据迁移到云上OSS中,并且未来还想对这些数据做一些离线分析,挖掘其中存在价值,因此需要将OSS中文件再通过一种方式同步到ODPS数加平台上,面对这样需求,小编我经过参考文档,实践,调试并修复Bug,实现出以下一种解决方案. 实现目标     通过OSS的Java SDK以及批量数据通道tunnel SDK实现以下两个功能:

PHP文件上传类型后辍名对应mine对照表

  使用PHP脚本上传文件时需要将文件格式处理为PHP所认识的文件类型,例如(.jpg的文件格式为image/jpeg).这个格式的判断首先是由浏览器完成的,浏览器通过表单的提交判断是某类文件,再提交给php进行处理. 有时候不同浏览器对文件类型的定义不相同,因此有时候需要对不同的浏览器做判断.其实可以将不同浏览器的类型都加入到判断中. 下面提供一张IE和火狐浏览器的文件类型对照表: ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpe

ie9 js判断文件上传大小

问题描述 要预判断一下上传图片的大小,但是现有能查到的只能支持到ie8.ie9无法实现,跪求了. 解决方案 解决方案二:代码帖来看看解决方案三:functioncheckFileChange(obj){if(obj.value!=""){alert(Sys.ie);varfile_size=0;if(Sys.ie>0){varimage_var=newImage();obj.select();image_var.src=document.selection.createRange

PHP限制文件上传的类型

PHP限制文件上传类型,如下代码: <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <title>限制上传文件的类型 - www.cxybl.com</title>  <style type="text/css">  <!--  body {