今天处理公司网站,在支付成功之后回调到原网站,出现http 500 内部服务器错误。
后来经过注释代码查找错误,终于锁定在return.php里面的两行代码。
$resHandler = new PayResponseHandler(); $resHandler->setKey($key);
顺藤摸瓜,找到PayResponseHandler.class.php,核对官方代码,发现代码里面被人插入了恶意代码,在输出html代码里,body之间被加入了传奇私服的一些代码。
官方代码如下:
function doShow($show_url) { $strHtml = "<html><head>\r\n" . "<meta name=\"TENCENT_ONLINE_PAYMENT\" content=\"China TENCENT\">" . "<script language=\"javascript\">\r\n" . "window.location.href='" . $show_url . "';\r\n" . "</script>\r\n" . "</head><body></body></html>"; echo $strHtml; exit; }
解决了终于松口气。