gpt4 book ai didi

php - 何时过滤/清理数据 : before database insertion or before display?

转载 作者:IT王子 更新时间:2023-10-28 23:51:17 26 4
gpt4 key购买 nike

当我准备解决输入数据过滤和清理问题时,我很好奇是否有最佳(或最常用)的做法?在将数据插入数据库之前过滤/净化数据(HTML、JavaScript 等)是否更好,还是应该在准备以 HTML 显示数据时完成?

一些注意事项:

  • 我是用 PHP 做的,但我怀疑这个问题的答案与语言无关。但是,如果您有任何特定于 PHP 的建议,请分享!
  • 这不是为数据库插入转义数据的问题。我已经让 PDO 处理得很好。

谢谢!

最佳答案

在显示用户提交的数据时,普遍接受的口头禅是“过滤输入,转义输出”。

我建议不要在进入数据库之前转义 html 实体等内容,因为您永远不知道 HTML 何时不再是您的显示媒介。此外,不同类型的情况需要不同类型的输出转义。例如,在 Javascript 中嵌入字符串需要与在 HTML 中不同的转义。之前这样做可能会让自己陷入一种虚假的安全感。

因此,基本的经验法则是,在使用前进行 sanitizer ,并专门针对该用途进行 sanitizer ;不先发制人。

(请注意,我不是在谈论转义 SQL 的输出,只是为了显示。请仍然对 SQL 字符串绑定(bind)的数据进行转义)。

关于php - 何时过滤/清理数据 : before database insertion or before display?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1274558/

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