文件:getRemoteImage.php

第49行:

  1. if ( !in_array( $fileType , $config[ 'allowFiles' ] ) || stristr( $heads[ 'Content-Type' ] , "image" ) ) {
  2. array_push( $tmpNames , "error" );
  3. continue;
  4. }

$heads[ 'Content-Type' ] 永远为空,因为没有这个数组键

所以
true || false 退出
false || false 继续执行

$heads[ 'Content-Type' ] 永远为空 为什么为空:

第40行:

  1. $heads = get_headers( $imgUrl );

  

  1. print_r(get_headers($url));
  2.  
  3. print_r(get_headers($url, 1));
  4.  
  5. Array
  6. (
  7. [0] => HTTP/1.1 200 OK
  8. [1] => Date: Sat, 29 May 2004 12:28:13 GMT
  9. [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
  10. [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
  11. [4] => ETag: "3f80f-1b6-3e1cb03b"
  12. [5] => Accept-Ranges: bytes
  13. [6] => Content-Length: 438
  14. [7] => Connection: close
  15. [8] => Content-Type: text/html
  16. )
  17.  
  18. Array
  19. (
  20. [0] => HTTP/1.1 200 OK
  21. [Date] => Sat, 29 May 2004 12:28:14 GMT
  22. [Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
  23. [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
  24. [ETag] => "3f80f-1b6-3e1cb03b"
  25. [Accept-Ranges] => bytes
  26. [Content-Length] => 438
  27. [Connection] => close
  28. [Content-Type] => text/html
  29. )

  

所以$heads[ 'Content-Type' ]  永远为空,因为没有这个数组键,结果永远false

所以,在验证的时候,图片的Content-Type 以及非图片的Content-Type 都能够请求成功

达不到//格式验证(扩展名验证和Content-Type验证)里面的Content-Type验证结果。

验证的两点:

1、后缀只能为图片后缀

2、Content-Type 只能为image*

ueditor1_3_6 一点问题记录的更多相关文章

  1. 关于Mybatis的一点小记录(parameterType)

    1.Mybatis的parameterType有两个比较常用的,一个是类的对象,还有一个就是Map,然后取值的方法也很简单: 基本数据类型:#{参数} 获取参数中的值 复杂数据类型:#{属性名} ,m ...

  2. C\C++串口通信编程的一点技术记录

    新工作接的第一个活,要写一个配合设备调试的上位机程序. 除了MFC界面的部分,就是要处理几条命令. 串口通信部分代码借鉴的是这一篇文章:http://blog.sina.com.cn/s/blog_a ...

  3. 关于qt学习的一点小记录(2)

    嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...

  4. 关于qt学习的一点小记录(1)

    今日为了应付学校作业要求 决定现学qt来制作界面 毕竟c++不像在这方面c#可以那么方便 qt主要依靠信号.槽来实现类似winform中的消息 鉴于要尽快做完,故而没有细看qt 只是大概了解了下界面的 ...

  5. 关于EF的一点小记录

    今日新闻:朝鲜要改革开放了!!!比你牛逼的人都在努力,你还有理由懒惰吗? 宇宙强大IDE配套的EF问题记录 今天做数据添加时,Id我设置为int类型了,结果在做Add操作时报的错让我摸不着头脑,后来问 ...

  6. 关于storyboard的一点学习记录

    1.storyboard中“Main storyboard file base name”这个用来注册启动是所需要的storyboard 文件名称.当我们程序启动的时候,我们的工程就会根据这一项来自动 ...

  7. try catch 一点小记录

    这两天做了新的需求,做完之后 在测试环境下 完美通关.之后部署到了预发布环境,然而怎么尝试都不通过.刚开始看到 预发布的一个配置文件错了.发邮件改了下,但是依然流程跑不通.之后 一步步在测试环境看代码 ...

  8. 记录Office Add-in开发经验

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 得益于微软系强大的共通能力和Visual Studio的开发支持,做Office插件不是什么难事.一点经验记录如下 ...

  9. python学习第一课要点记录

    写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写 ...

随机推荐

  1. 如何查看Mysql event事件是否启用

    mysql> show variables like 'event_scheduler';+-----------------+-------+| Variable_name   | Value ...

  2. SQL Server中的聚集索引(clustered index) 和 非聚集索引 (non-clustered index)

    本文转载自  http://blog.csdn.net/ak913/article/details/8026743 面试时经常问到的问题: 1. 什么是聚合索引(clustered index) / ...

  3. 使用JSONPath

    SONPath是查询JSON对象元素的标准方法.JSONPath使用路径表达式来导航JSON文档中的元素,嵌套元素和数组.有关JSON的更多信息,请参阅JSON简介. 使用JSONPath访问JSON ...

  4. Codeforces Round #561 (Div. 2) A. Silent Classroom

    链接:https://codeforces.com/contest/1166/problem/A 题意: There are nn students in the first grade of Nlo ...

  5. 牛客网36-A,B题解

    A.Rabbit的字符串 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Rabbit得到了一 ...

  6. 用Open Live Writer写博体验

    感觉还蛮方便的--openlivewriter第一博!

  7. .Net Core 做请求监控NLog

    使用 NLog 给 Asp.Net Core 做请求监控 https://www.cnblogs.com/cheesebar/p/9078207.html 为了减少由于单个请求挂掉而拖垮整站的情况发生 ...

  8. NET Core 开发环境

    NET Core 开发环境 最近,一直在往.Net Core上迁移,随着工作的深入,发现.Net Core比.Net Framework好玩多了.不过目前还在windows下开发,虽然VisualSt ...

  9. cordova开发的坑

    相机 根据android版本,有各种问题. 1.拍照后不会自动清内存造成内存溢出,导致照片不会自动旋转,拍多张之后会自动刷新网页. 2.小米手机安卓7.0时,拍出的照片不会自动旋转,需要安卓端代码调整 ...

  10. 【转】"超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法

    方法有以下三种: 1.原因应该在数据访问有问题,可以把连接时间设置长些,在数据库连接字符串,加上Connect Timeout=18000,单位毫秒 2,在web.config中加上以下语句: < ...