【问题标题】:Do I need to `htmlspecialchars()` when I read PHP Session?阅读 PHP Session 时是否需要 `htmlspecialchars()`?
【发布时间】:2013-01-08 13:31:02
【问题描述】:

在将 PHP Session 发送到 MySQL 查询之前,是否需要使用 htmlspecialchars()

一些邪恶的黑客可以在他的机器上创建带有危险 SQL 注入的会话吗?

【问题讨论】:

标签: php mysql session


【解决方案1】:

没有。

在将文本放入 HTML 之前,您使用 htmlspecialchars()。 (受信任的 HTML 直接放入 HTML。不受信任的 HTML 通过白名单运行)。这是对 XSS 的防御。

将数据放入 SQL 查询时,您必须担心 SQL 注入。由于会话数据只包含您最初放入其中的内容,因此如果您采取任何措施来防御 SQL 注入,那么它们将取决于您放入会话中的数据。

根据经验,任何放入查询的变量都应该是inserted using bound variables and not string concatenation

【讨论】:

  • 是否有可能有人在客户端欺骗会话?
  • 有时可以接管其他人的会话,但绝不会(暴露其他安全漏洞)向其中添加任意数据。
猜你喜欢
  • 2015-04-19
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
  • 2021-12-19
  • 2022-11-12
  • 1970-01-01
相关资源
最近更新 更多