$type = $_FILES[$filename]['type'];

if ($type != "image/jpeg" && $type != "image/jpg" && $type != "image/gif" && $type != "image/png") {

$r['error'] =   "error: '只允许上传jpg、jpeg、gif、png类型的图片文件!'";

return $r;

}

+ $tmp  = pathinfo($_FILES[$filename]['name']);

+ if(!in_array($tmp["extension"],["jpg","jpeg","gif","png"])){

+    $r['error'] =   "error: '只允许上传jpg、jpeg、gif、png类型的图片文件!'";

+    return $r;

+ }

也可更细致判断,是否为真实的图片,可以用exif_imagetype辅助。

不过上面的代码在增加下面代码之前,如果用户伪造请求头里面的type,就可以非常轻松的上传html文件。$type = $_FILES[$fileElementName]['type'];

$file = $_FILES[$fileElementName]['tmp_name'];

$suffix = explode('/', $type)[1];

$name = sha1_file($file) . '.' . $suffix;

文件上传 服务器不响应headr,php 文件上传中服务器接收到$_FILES[xxx]['type'] 中的 type 原来是从 http header 里读取的,所以非常不可信...相关推荐

  1. 路由器自动连接服务器无响应,路由器WAN口设置已断开(服务器无响应)怎么办?...

    昨天,有个网友,在微信上找到我,问了我这样一个问题: 路由器WAN口设置的地方显示:已断开(服务器无响应),路由器连不上网,问我应该怎么办. 路由器中设置宽带拨号上网或者PPPoE拨号上网时,出现 已 ...

  2. excel 只读或服务器没响应,Excel打开时显示只读或服务器没响应而打不开怎么办.doc...

    文档介绍: 胞荆捎橇呵鲤邹缘逛梳婿烤黎分讲湿埋暇磋章铆谜咖送宏速宪勋匹润荆皑尉粳在赐谓羔里樟炽颊忙拣斑挺锭资登惜陶泡实型廉随垂限淌氢紫锤姚笺兼啤彬梢哆雍桂荔帧挣嚎吾歇脖良馅袁夺氢烁群氓瓶庐炊或辞窿罪幅 ...

  3. DNS服务器无响应win10系统,Win10上的DNS服务器无响应:这是如何解决它

    你的网络无法使用.当您尝试对其进行故障排除时,您会收到以下消息:DNS服务器没有响应"或"您的计算机似乎已正确配置,但设备或资源(DNS服务器)没有响应." 我们在这里告 ...

  4. dns服务器未响应wifi用不上,为你解答dns服务器未响应导致无法上网怎么办

    dns服务器未响应怎么办?遇到dns服务器未响应的盆友有很多,当然小编也不例外.尤其是在前几天,简直都要被气死了,不过在经过小编我的一番了解之后,后来终于将这个问题个解决好了.所以,今天小编就来给大家 ...

  5. iphone天行连接不上服务器未响应,天行连接不上 - 卡饭网

    串行连接 SCSI 常见问题解答 串行连接 SCSI 常见问题解答 1.串行连接 SCSI 和并行 SCSI 之间有哪些差别? 串行连接 SCSI (SAS) 是在并行 SCSI 的基础上发展起来的, ...

  6. 路由器无法服务器未响应是怎么回事,路由器设置时服务器未响应怎么回事

    路由器设置时服务器未响应怎么回事 内容精选 换一换 该API用于删除指定的节点池.集群管理的URL格式为:https://Endpoint/uri.其中uri为资源路径,也即API访问的路径您可以在A ...

  7. ipv4和ipv6显示服务器无响应,将IPv4客户端连接到IPv6服务器:连接被拒绝

    我正在试验IPv6套接字,尤其是在Windows Vista和更高版本上提供的"双栈"功能,显然在Unix上默认情况下.我发现当我将服务器绑定到特定的IP地址或本地计算机的主机名解 ...

  8. lol为什么网络连接到服务器未响应,lol登陆服务器未响应是怎么回事 解决lol登陆服务器未响应有方法...

    最近有很多lol玩家遇到了"登陆服务器未响应,您可能遇到一个网络问题,请检查您的网络"的问题,那么这是什么造成的呢,又该如何解决呢?下面小编给大家分享解决"lol登陆服务 ...

  9. wdns服务器未响应,Win7系统​网络诊断提示DNS服务器未响应的解决方法

    Win7系统​网络诊断提示DNS服务器未响应的解决方法 昨天小编的朋友Win7系统​网络诊断提示DNS服务器未响应的解决方法说,她win7系统电脑在开机的过程中,怎么都连接不上网络了,并且出现dns服 ...

最新文章

  1. python查询mysql中文乱码问题
  2. 马斯克学什么计算机语言,马斯克头脑风暴——对计算机如醉如痴
  3. 子类能否访问或覆盖父类的private方法
  4. eclipse使用working set
  5. 华三云:不做开源的投机者
  6. 机器学习的练功心法(三)——特征工程
  7. Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件
  8. Spark初识-弹性分布式数据集RDD
  9. JavaScript高级程序设计笔记 - 第四章 变量 作用域 内存问题
  10. [Ext JS6实战]动态数据绑定
  11. 比特币所有权及隐私问题 | 转账的加密流程
  12. tf.nn.bidirectional_dynamic_rnn()函数详解
  13. linux系统制作win安装盘,在Ubuntu Linux下制作Windows 启动安装 USB盘
  14. Mysql将多个查询结果并列显示
  15. android 页面跳转代码
  16. win10 如何设置眼睛保护色(绿色)
  17. modbus tcp主站和从站_实例分享!西门子PLC通过MODBUS控制变频器
  18. UI设计新手该怎么求职 有没有UI面试必备攻略
  19. 华为防火墙基础自学系列 | IKE介绍
  20. 【Android--项目构建失败原因及解决】

热门文章

  1. linux搭建xss平台,一个漏洞平台的搭建
  2. Revit开发 - 创建幕墙系统(CurtainSystem)
  3. 哈密尔顿回路(旅行售货员问题)
  4. Eigen 常用操作
  5. Linux环境搭建 | 代码阅读神器——Sourceinsight
  6. 人性化设计,稳步提升手持式医疗器材的价值
  7. 怎样把你的声音变得跟声波一样
  8. DTLS-SRTP协议学习
  9. 手机淘宝:亿级用户APP的快速运维交付实践
  10. KBEngine奇技淫巧<二>