0

大家好,我有以下几点:

$str = base64_encode(preg_replace("#\s|\r|\t|\n#", " ", file_get_contents("../www.cms.actwebdesigns.co.uk2/logged.php")));
if(preg_replace("#(PD9waHAg)((?!(Pz4g)).)*#is", $str, ))
{
    #print_r($matches);
    echo "<xmp>".base64_decode($matches[0]."Pz4g")."</xmp>";
}

现在这可行,但我希望能够将它用于页面上的所有事件。(在页面中找到 php 段)所以我使用 preg_match_all 但返回浏览器错误(页面已被移动或不再存在)有人知道为什么吗?

4

1 回答 1

0

这是一个真正的远景,但我似乎记得某些版本的 Internet Explorer 具有“功能”,其中显示所谓的友好错误消息的页面:

  • 返回了错误状态代码(例如404 Not Found),并且
  • 实际的 HTML 响应小于一定的字节数。

如果您的代码已经发送错误响应,并且更改为preg_match_all()最终缩短了输出,则可能触发了友好的错误消息。

如果您没有使用 IE,或者您的脚本返回非错误状态代码,那么我不知道是什么原因造成的。

于 2009-10-18T13:10:07.987 回答