0

我有 nginx 作为反向代理和 apache 作为 mod_php 后端的网站。有时 nginx 在特定 url 上返回 502 错误(如http://example.com/ipb.html?automodule=elfchat),因为 apache 关闭连接。在好的情况下 - 脚本应该将我重定向到另一个页面。这是崩溃连接的文件:

define('ELFCHAT_VERSION', '4.2.1');
include_once(ELFCHAT_PATH."config.php");
include_once(ELFCHAT_PATH."settings.php");
include_once(ELFCHAT_PATH."error.php");
include_once(ELFCHAT_PATH."kernel/db.php");
include_once(ELFCHAT_PATH."kernel/sessions.php");
include_once(ELFCHAT_PATH."kernel/skinloader.php");
include_once(ELFCHAT_PATH."kernel/kernel.php");

Elfchat::Init($config, unserialize($settings));

Skin::Setskinpath("skin/".Elfchat::Settings("skin")."/");

/**
 * Код для пользовательского смена скина и языка.
 */
Elfchat::Session()->start();

if(isset($_GET['useskin']))
{
    if($_GET['useskin'] == "ichat")$skin = "ichat";
    else $skin = "elfskin";
    $_SESSION['useskin'] = $skin;
}

if(isset($_SESSION['useskin']))
{
    if($_SESSION['useskin'] == "ichat")$skin = "ichat";
    else $skin = "elfskin";
    Skin::Setskinpath("skin/".$skin."/");
}
/**
 * Конец дополнительного кода
 */
@header('Content-Type: text/html; charset=utf-8');

如果我注释掉最后一行,一切都开始工作,但编码错误,删除评论后一切正常,即使编码也很好。过了一段时间,事情变糟了。请帮忙,我是 nginx 新手。

4

1 回答 1

0

我忘了说 - 我将 php 版本从 5.2升级到 5.3,因为 php 设置是安全的,所以一些代码会中断。关于解决方案:这令人难以置信 - 有人编写了这些代码eval(base64_decode("aWYoJG5hbWUgPT0gIkVsZmV0IikkaHRtbG5hbWUgPSAiPGJpZz5FbGZldDwvYmlnPiI7")); 来做这件事,if($name == "Elfet")$htmlname = "<big>Elfet</big>";我用纯代码替换 eval 并且一切正常!

于 2012-09-15T12:28:03.310 回答