这个:<!---->
这..。这..。一件事。就在那儿。
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的发展,其他浏览器都没有。
发布于 2009-12-04 07:06:12
我找到罪魁祸首。
不知何故,我在函数中隐藏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);
}发布于 2009-12-04 06:06:39
我查看了你发布的git,它不包含在里面。您可以尝试从github上的副本到当前的副本,因为更改是在您所做的更改中进行的。
如果使用IDE,请执行全局文件搜索字符串。这些“虫子”可能会很麻烦。
发布于 2009-12-04 06:16:07
如果您可以通过cygwin或直接在Linux中使用grep,那么grep似乎很方便。一个简单的示例,它只是查找带有HTML注释的文件
grep -R "<\!---->" ./*这应该会缩小搜索范围。
https://stackoverflow.com/questions/1845142
复制相似问题