因此,我使用tcp套接字即时提供数据,它的响应速度极快,可以查看机器的文件,而无需授予实际机器任何访问权限。
例如,我们在套接字上提供的文本将是:
This book is a treatise on the theory of ethics, very popular during
the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit
amet..", comes from a line in section 1.10.32.;?> <?php die("malicious"); ?>
问题变成是回显输出执行此操作的最佳方式,这些文件可以实际包含任何内容,但它们将被读入流中然后打印到页面上。 (希望以纯文本形式)
目前我在输出上使用了strip_tags。
echo strip_tags($output);
这是一种足够安全的方法来防止可能存在于这些文件中的任何内容,它们不会被执行,只是阅读,所以文本卫生是这里唯一真正重要的。
谢谢。
答案 0 :(得分:1)
你可以发送
header('Content-type: text/plain');
在脚本的开头。然后浏览器不应该尝试将任何脚本的输出呈现为HTML。
或者,如果此输出嵌入在包含HTML的页面中,您可以将其转换为实体,以便它不会呈现为HTML。
echo htmlentities($output);