php - 在 PHP 中寻找流氓 <!---->

标签 php html

<分区>

这个:<!---->

这……这……东西。就在那里。

邪恶的 7 个字符,迫使 IE 在怪癖模式下像这样在顶部呈现所有页面:

<!----><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">

如果它不是邪恶的,我不知道它是什么,因为它肯定不在我的模板文件中,因为它的前几行是:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <?php $this->outputHead(); ?>
    </head>

我在实际输出代码中当然没有发现任何问题:

function build()
{
    if ($this->disabled)
    {
        return $this->content;
    }
    else
    {
        global $footer;
        ob_start();
        $location = $this->location;
        include($this->location['theme_nr'].'/overall.php');
        return ob_get_clean();
    }
}

function outputAll()
{
    // stop capturing everything
    $this->content = ob_get_clean();

    // build the page
    echo $this->build();
}

我真的不明白。这个东西怎么会进入我的代码?

我可以想象 >咬到最后变成了微笑,那东西在对着我

它困扰着我的梦想,它杀死了我的猫,我不知道它接下来会做什么,但它会杀死某物

帮助我,网络开发之神!

编辑:请注意,它确实出现在所有浏览器中,但它似乎会驱动 IE,而不会驱动其他浏览器。

最佳答案

我找到了罪魁祸首。

不知何故,我在一个隐藏 MySQL 错误的函数中的一个错误只会在我的一个分支中引起问题,即使两个分支之间的函数和调用它的位置没有改变。

对于那些感兴趣的人,有问题的代码:

function isexistinguser($uname,$pwd)
{
    global $location;

    $uname = mysql_real_escape_string($uname);

    $result = mysql_query("SELECT * FROM users WHERE user_username = '$uname'");

    $hit = 0;
    $rowcounted = false;
    $salt = '';

    echo '<!--'; // cheap fix for mysql error - FIND A BETTER WAY!

    while($row = mysql_fetch_array($result))
    {       
        // Do stuff to figure out what to return
    }

    echo '-->'; // cheap fix for mysql error - FIND A BETTER WAY!

    return array($hit,$salt);
}

关于php - 在 PHP 中寻找流氓 &lt;!---->,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845142/

相关文章:

php - .htaccess 将子域重定向到目录

没有IV的php mcrypt加密

php - 减少 DOMPDF 生成的文件大小

PHP远程调试: XDebug can't connect to JetBrains php Storm client

javascript - 我想默认设置当前日期和时间并显示在输入字段中

html - 如何修复我的子菜单的对齐方式

javascript - 如何将 php 变量传递到外部 php 文件以使用 ajax 获取数据?

html - css 根据高度下降而不是自动

html - HTML 中的属性值是否有任何保留关键字?

html - 开拓者 |是否有任何方法可以将 Razor 页面转换为 HTML