我有一个结构如下的网页:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php echo readfile("https://example.com/example/".urldecode($_GET["path"])."/head.html");?>
</head>
<body>
<header>
<a href="/"><img src="../../../../../img/header.png" alt="Some alt text..." height="94" width="334"></a>
<p><a href="/contents/">Contents</a> | <a href="/about/">About</a> | <a href="/contact/">Contact</a></p>
</header>
<p>Some text...</p>
</body>
</html>
如您所见,我有一个标题、一个标题和标题下方的正文。我的目标是使用一些 PHP 代码来动态加载一些头部信息(例如元标记、文档标题和 CSS 文件),但是这段代码做了一些非常奇怪的事情——无论何时运行,它都会随机插入一个字符串 — "876" — 介于<body>和之间<header>。该字符串以纯文本形式呈现给用户,使整个页面看起来不对。
我的代码有什么问题可能导致这种情况发生吗?据我所知,PHP 代码甚至不应该访问文档正文,但这个随机字符串仅在 PHP 代码位于该部分时出现<head>。
(我想值得注意的是 PHP 代码确实有效——它很好地加载了头部数据,并且一切都完美呈现……除了左上角那个愚蠢的“876”。
桃花长相依