当我在一个简单的PHP脚本的顶部设置内容类型时:
<?php
header('Content-type: text/plain; charset=utf-8');
echo "<P>this is a paragraph</p>";
?>
该页面作为HTML源代码提供(不是php,只是HTML)。
<P>this is a paragraph</p>
为什么?
在将内容作为text/plain
提供时,我不会期望其他任何东西。如果您希望浏览器将其解释为 HTML,请将标头更改为 text/html
。
Php 是服务器端的:它将执行并发送你告诉它发送的内容。
发送内容类型标头不会影响 php 输出,但会影响客户端对其进行计算的方式。
在您的情况下,即使您回显<script>alert('test');</script>
,客户端也不会将其视为javascript,而只会将其视为文本,所有html标签也是如此。