微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – htmlspecialchars() – 如何以及何时使用并避免多次使用

我正在为我的老板建立一个PHP内部网.一个简单的客户,订单,报价系统.它将被拒绝从互联网访问,仅供3人使用.我不太关心安全性,因为我在验证时. Javascript在所有计算机上都是禁用的.

我遇到的问题是:

>员工将有效数据输入包含以下任何内容的表单:; []“’等.
>将$_POSTS此数据形成一个validationAndProcessing.PHP页面,并确定员工是否输入数据到字段中.如果不是,则将它们重定向回数据输入页面,并将其错过的字段以红色突出显示.
> htmlspecialchars()应用于从之前输入的内容重新填充到表单的所有数据.
>然后将表单重新提交到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选项应该是您正在寻找的.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐