0

我在我的 magento 1.6.1.0 站点上遇到了一些问题,看起来像是内存泄漏。服务器完全停机了几次,因为我在共享服务器上,我的托管公司对我并不满意,并威胁要禁止我的网站进入他们的服务器,因为他们说这对整个服务器构成威胁。

当服务器在服务器日志中关闭时,我们可以首先阅读:NY-SH-02 suhosin[31654]: ALERT - canary mismatch on efree() - heap overflow detected at 0x7f7567b90e58 (attacker 'REMOTE_ADDR not set', file '/var/ www/sites/mysite.com/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php',第 119 行)大约 78 行,同时带有确切的消息

系统写入 NY-SH-02 suhosin[30574] 之间的 1 次:警报 - efree() 上的金丝雀不匹配 - 在 0x7f7567b90e58 处检测到堆溢出(攻击者'REMOTE_ADDR 未设置',文件'/var/www/sites/mysite.com /lib/Zend/Controller/Response/Abstract.php',第 586 行)

半分钟后,以下消息出现 NY-SH-02 suhosin[32532]:ALERT - 脚本试图将 memory_limit 增加到超过允许值的 536870912 字节(攻击者 'ip-adress',文件 '/var/www/网站/mysite.com/index.php',第 2 行)

这一行出现了 50 次,但有不同的 php 文件,但总是提到第 2 行

最后一条警报线中定义为攻击者的 ip 地址有时不同,2 次是 google bot,2 次是不同的 ip。

有没有人遇到过这个问题,或者知道我必须从哪里开始寻找,因为这是大海捞针。

4

1 回答 1

3

这与其说是内存泄漏,不如说是 Magento 对内存的需求很大。我不是安全专家,但我知道这suhosin是一个旨在加强 PHP 安全性的 PHP 扩展。似乎在抱怨

  1. PHP 的内存限制正在耗尽,它解释为攻击。

  2. 一个 PHP 文件ini_set用于将内存限制提高到 536870912 字节,即 512MB。

您的共享主机没有足够的内存分配给每个共享主机实例以供 Magento 运行。如果用户点击包含大量非缓存项目的页面,Magento 可以暂时使用 200 MB、300 MB 甚至 400 MB 的内存。在结帐期间,Magento 故意重建与订单相关的缓存,以确保它获得最新的项目 - 快速修复它以达到内存限制,这可能是正在发生的事情 #2

您需要一个宣传 Magento 支持的主机。

于 2012-08-10T04:24:25.033 回答