htmlentities 的 double_escape 选项的安全性如何?是否可以绕过这个选项?

问题描述 投票:0回答:1

我注意到 htmlentitieshtmlspecialchars 的"$double_encode "选项。

如果您将此函数设置为 false,则不会对 html 实体进行编码,如 > 再到 >

到目前为止,我发现了什么;Escape。<h1>Hoi!</h1> 使(双转义在true或false上不存在,同样的结果)。

&lt;h1&gt;Hoi!&lt;/h1&gt;gt;

再用双转义的方式来进行转义 true:

&amp;lt;h1&amp;gt;Hoi!&amp;lt;/h1&amp;gt;

再来一次,用双倍速逃逸 false:

&lt;h1&gt;Hoi!&lt;/h1&gt;gt;

我的问题是问:将double_escape设置为false有多安全?如果我将此选项设置为false而不是true,是否有任何已知的旁路或错误会使我的应用程序不那么安全?

当我把这个选项设置为false时,我的应用程序是否有任何方法会降低安全性?

我在网上找不到任何与此相关的资料。

php security html-entities htmlspecialchars
1个回答
0
投票

如果你创建了一个应用程序,并且你把它留给了 false而你的用户(例如)通过你的应用程序向他的朋友发送消息。

Hello! To store > in your index.html file, write it as &gt;

而且该方法只会引用 >它将在朋友窗口中显示为

html。

Hello! To store &gt; in your index.html file, write it as &gt;

在浏览器中。

Hello! To store > in your index.html file, write it as >

而这个朋友会说: "什么?"

© www.soinside.com 2019 - 2024. All rights reserved.