【问题标题】:Why file with an image extension is executing as a php file?为什么带有图像扩展名的文件作为 php 文件执行?
【发布时间】:2014-08-19 23:49:27
【问题描述】:

我已经创建了以下文件

<?php 
echo "hi";
?>

我将它命名为“test.php.jpg”并上传到我网站的根文件夹

现在我通过浏览器访问该文件 (http://domainname.com/test.php.jpg)

我得到以下输出

hi

为什么会这样?为什么我的 apache 服务器在扩展名为“jpg”的文件中执行 php 脚本?

【问题讨论】:

  • 你的 apache php 处理程序指令是什么样的?
  • 正如提到的副本。人们当然不应该这样做,充其量它会消耗大量资源(没有缓存,完整的 php 引擎启动应该是一个简单的内存文件请求),最坏的是它是一个安全噩梦(允许人们上传图像,注入 php 代码,你甚至可以在 valid 图像中执行此操作)。
  • @Wrikken ,您将如何在有效的图像文件中注入代码?
  • @Vimalraj.S:例如,in a PNG comment field

标签: php linux image file-upload


【解决方案1】:

我的猜测是您的 Apache 配置文件中的 FilesMatch 指令过于宽松。有关正确的FilesMatch 指令,请参见此处的第 8 点:http://www.php.net/manual/en/install.unix.apache2.php

【讨论】:

    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    相关资源
    最近更新 更多