我注意到htmlentities / htmlspecialchars的'$ double_encode'选项。
如果将此功能设置为false,则不会将>
之类的html实体再次编码为>
到目前为止,我发现了什么;转义:<h1>Hoi!</h1>
使(对正确或错误的doenst mather进行两次转义,结果相同):
<h1>Hoi!</h1>gt;
再次对此进行转义,使true
上出现两次转义:
&lt;h1&gt;Hoi!&lt;/h1&gt;
再次在false
上使用两次转义符来转义此字符:
<h1>Hoi!</h1>gt;
我的问题是:将此double_escape设置为false有多安全?如果我将其设置为false而不是设置为true,是否有任何绕过或发现的错误会降低我的应用程序的安全性?
我在网上找不到与此相关的任何内容。
如果创建一个应用程序,然后将其保留为false
,并且您的用户(例如)通过您的应用程序向其朋友发送消息:
Hello! To store > in your index.html file, write it as >
并且该方法仅引用>
,并且将在朋友窗口中显示为
html:
Hello! To store > in your index.html file, write it as >
在浏览器中:
Hello! To store > in your index.html file, write it as >
和朋友会像:“什么?”