gpt4 book ai didi

php - 防止htmlentities破坏utf8字符ಠ_ಠ

转载 作者:行者123 更新时间:2023-12-02 07:51:58 25 4
gpt4 key购买 nike

我想过滤我的输出以使其免受跨站点脚本 (XSS) 攻击,因此我使用 htmlentities 过滤输出。问题是,我正在尝试使我的应用程序与 utf8 兼容,因此当我输入类似 ಠ_ಠ 的内容时,我希望它在从数据库中检索时得到维护。有没有简单的解决方案来实现这一目标?在此先感谢您的任何建议。

最佳答案

三件事

  1. HTML 清理是一项输出转义任务,而不是输入过滤。您不应该在存储之前执行此任务,您应该只在显示之前执行此任务。
  2. 如果您试图防止 XSS,则不需要使用 htmlentities() - htmlspecialchars() 就足够了。 htmlentities() 仅在尝试从不同于 native 编码的字符编码呈现内容时使用。
  3. Both functions接受字符编码作为第三个参数。

所以,最后:

echo htmlspecialchars( $content, ENT_QUOTES, 'UTF-8' );

如果您使用 ENT_NOQUOTES,您可能容易受到某些类型的 XSS 攻击。

关于php - 防止htmlentities破坏utf8字符ಠ_ಠ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com