我应该将db - user输入保存为html编码吗?

时间:2014-03-10 10:00:28

标签: javascript html encoding fiddler html-encode

我们是否应该htmlencode用户输入然后将其保存到db(并将其直接保存为原样)与同事发生冲突

我还发现various answers表示DB应该保存普通(!)输入。

为什么?因为DB应该知道<中的用户长度是1,&lt;中的不是 4

html编码在输出时应

话虽如此,我看到Stackoverflow没有遵循这条规则。

当我在SO处保存问题时,其中包含普通<,它确实显示(显然)预览窗格中的&lt;。但是当我提交问题时:它以json 提交内容为html编码

Json.stringify没有做html编码

所以,如果我输入输入:

enter image description here

并提交:

我看到(通过fiddler)它实际上发送了html编码值:

enter image description here

问题:

如你所见 - 我有点困惑。通用逻辑说db应该保存用户类型1:1。

应在输出

进行同步

1 个答案:

答案 0 :(得分:-1)

您必须对发送到服务器的输入进行编码,否则服务器上的反交叉站点脚本保护将阻止整个请求。但是,在保存到DB之前解码此输入。

另一方面,您在POST中看到的内容不一定是保存到数据库的内容。