HTML 实体应该如何存储在 SQL 服务器上?

How should HTML Entities be stored on SQL server?

HTML 实体应该如何存储在 SQL 服务器上?它们应该存储为实体还是字符。哪个是正确的,真的重要吗?

例如

存储解决方案 1

& > <

存储解决方案 2

& < >

我觉得存储解决方案 1 更安全,因为如果有人在他们的输入中嵌入 javascript 或类似内容,它有助于大大降低无意中意外执行某些脚本的风险。

当然,您应该剥离,但最好的做法是存储实体,而不是角色。

试试用ascii码来解决你的疑问,这个link可能对你有帮助。

无论何时存储任何类型的数据,您都应该考虑以下准则:

  • Data/info 不应篡改或更改其原始形式
  • 它应该独立于任何 processing/conversion 逻辑

这可能并不总是适用,尤其是在存储密码、信用卡或任何其他财务数据等敏感信息时,因此将视具体情况而定。

在上述场景中,

解决方案 1 有两个缺点:

  • 数据量增加
  • 在每次读写操作时实现数据转换逻辑(也可能会增加处理时间)

解决方案 2 将存在安全问题,如果系统设计得当,这可能不是问题或适用。

因此,不能简单地根据提供的信息做出决定;并且将取决于系统的架构和长期使用分析。