作者:落单鸟人 | 2023-06-16 11:24
我一直在'洒'
htmlentities($user_input, ENT_QUOTES, 'UTF-8')
在我的观点中,无处不在,我回应用户有机会在我的应用中输入的数据.
这非常繁琐,我想知道在我的控制器中使用HTMLPurifier是否可以安全地替代在视图中使用htmlentities
每一个echo
.
我已经注意到,单独的HTMLPurifier将尝试关闭一个打开而不是删除它,所以如果一些smartass输入他的名字,
Johnny而我
echo
在我的视图中,它会破坏我的整个布局.
但如果相反,我会htmlentities
独自使用
Johnny
我的布局得以保留.
所以我想知道这是否是HTMLPurifier配置的问题,或者最佳做法是与它一起使用它htmlentities
.
我理解HTMLPurifier有其他功能符合要求和有效的HTML,但我最关心的是XSS.
你怎么看?
1> Jon..:
如果你担心XSS然后使用htmlspecialchars
(没有理由使用全面的htmlentities
),你是金色的:
echo htmlspecialchars($user_input);
HTMLPurifier仅在您希望允许某些 HTML功能同时仍然阻止XSS 时才有意义.但是,与任何其他代码一样,它有可能在某些时候不如广告那样有效.就个人而言,我不会去那里.
更新:
是的,htmlspecialchars
确实支持其他标志(包括ENT_QUOTES
).但是,仅在以下ENT_QUOTES
情况下需要:
您正在输出HTML属性的值和
您已将值括在单引号内
因此,例如,你会不会需要ENT_QUOTES
在这里:
或者在这里:
您将在这里需要它:
推荐阅读
-
如何解决《Windows10UWP仅针对Windows10移动版》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《无法获取GCM配置文件》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《打开CViOS安装》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Intellij完成贡献者》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《是否将JavaScript映射对象编入索引以优化map.get?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《UIDevice在swift2.0中不起作用》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何解决"未捕获的TypeError:未能构建'注释':关于ReactJS,请使用'new'operarat.."?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《将参数馈入张量流中的占位符》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在AndroidActivity中扩展ListActivityAppCompatActivity的位置》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《获取所有DropDown列表的选定选项》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《RPlotly:如何将config()与plotly_build()结合使用?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如果shebang不准确,如何自动检查Python脚本是否正确?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《打开我的Bootstrap模式后无法点击任何内容》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《pythontornado下载远程文件》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《ef7无法检索子集合的子对象的属性》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何从mysql查询中获取关注者/以下列表》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在IpythonNotebook上使用我的GPU?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《ng-grid不显示任何数据》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Git:将多个提交从一个分支合并到另一个分支》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Django:模型之间的参考》经验,为你挑选了0个好方法。 ...
[详细]