gpt4 book ai didi

php - htmlspecialchars() - 如何以及何时使用和避免多次使用

转载 作者:太空狗 更新时间:2023-10-29 15:52:41 27 4
gpt4 key购买 nike

我正在为我的老板构建一个 PHP 内联网。一个简单的客户、订单、报价系统。它将被拒绝从 Internet 访问,并且只能由 3 人使用。我不太关心安全性,因为我关心验证。 Javascript 在所有机器上都被禁用。

我遇到的问题是:

  1. 员工将有效数据输入包含以下任何:;[]"'等的表单。
  2. 将此数据形成 $_POSTS 到 validationAndProcessing.php 页面,并确定员工是否将数据输入到字段中。如果他们不这样做,他们将被重定向回数据输入页面,他们错过的字段会以红色突出显示。
  3. htmlspecialchars() 应用于根据之前输入的内容重新填充到表单的所有数据。
  4. 如果成功将数据输入数据库,然后员工将被带到显示数据页面,然后将表单重新提交到 validationAndProcessing.php 页面。

我的问题是:

如果员工在第 1 步中重复输入任何数据,则每次将 htmlspecialchars() 应用于数据时,他们都会在第 1 步和第 4 步之间继续移动。

So that:- &
becomes:- &
becomes:- &
becomes:- &

等..

如何停止将 htmlspecialchars() 多次应用于已清理的数据?

谢谢,亚当

最佳答案

检查 manual page on htmlspecialchars :

string htmlspecialchars ( string $string [, int $quote_style = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

$double_encode 选项应该是您正在寻找的。

不过,在正确设置的数据流中,这根本不应该是可能的,除非有来自用户或第 3 方服务的数据可能已经或不可能包含 HTML 编码的字符。 (并不是说我在我的职业生涯中没有构建过一些设置不当的数据流。但这就是为什么我知道为什么它们如此重要,它们是干净的和定义明确的。:-)

关于php - htmlspecialchars() - 如何以及何时使用和避免多次使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957324/

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