从套接字输出文本的安全方法。

时间:2016-04-23 09:52:21

标签: php sockets output sanitize

因此,我使用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);

这是一种足够安全的方法来防止可能存在于这些文件中的任何内容,它们不会被执行,只是阅读,所以文本卫生是这里唯一真正重要的。

谢谢。

1 个答案:

答案 0 :(得分:1)

你可以发送

header('Content-type: text/plain');

在脚本的开头。然后浏览器不应该尝试将任何脚本的输出呈现为HTML。

或者,如果此输出嵌入在包含HTML的页面中,您可以将其转换为实体,以便它不会呈现为HTML。

echo htmlentities($output);