2

KohanaCodeigniter都有encode_php_tags(). 我了解 XSS 清理(用于 Javascript),但是您何时以及为什么要使用encode_php_tags()?安全威胁是什么?

4

5 回答 5

4

#kohana 论坛上的一位聪明人建议它存在,因为 Expression Engine 使用 eval() 作为模板。如果有人将 PHP 嵌入到一个字符串中,它可能会被 eval()'d 并执行。由于 Kohana 不将 eval() 用于模板,因此它可能只是从 Codeigniter 时代遗留下来的。

于 2009-04-13T01:09:38.987 回答
3

这确保了用户输入中的任何 PHP 代码都不会被执行,例如,如果应用程序将输入写入文件或将其传递给eval(). 或者,如果您只是想写一些 PHP 代码来显示浏览器。

于 2009-04-13T01:17:05.477 回答
1

如果您的应用程序允许将用户输入写入某种文件。您应该阻止用户输入可以在您的服务器上执行的 PHP 代码。

encode_php_tags()防止这种情况。

于 2009-04-13T01:10:08.817 回答
1

使用点很明确,您的网站用户不必在您的表单中编写 php 代码。如果您正在使用为 CI 或 kohana 提供的其他 XSS 预防方法,则没有必要使用它。

于 2009-04-13T01:19:01.587 回答
-2

为什么他们将其列为与安全相关的功能,我无法告诉您,但这几乎只是将 PHP 标记中的 < 和 > 替换为其编码形式,因此不允许解析标记之间的实际 PHP 代码. 纯粹是视觉上的东西,但你有它......

于 2009-04-13T01:08:14.997 回答