首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内部站点是否需要使用Html.Encode?

内部站点是否需要使用Html.Encode?
EN

Stack Overflow用户
提问于 2010-10-12 16:48:40
回答 3查看 314关注 0票数 1

我遇到了一些Html.Encode和用户想要使用特殊字符的问题。首先,字符被html代码替换,因此不能正确显示。然后,如果文本稍后被编辑并重新提交,则在重新提交这些html代码时会抛出异常。

考虑到这是一个内部网站点,并且几乎不存在故意攻击的可能性,那么不使用Html.Encode真的有风险吗?有没有可能有人无意中提交了一些导致问题的特殊字符?

或者,有没有更好的方法来解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2010-10-12 19:20:43

考虑到这是一个内部网站点,并且几乎不存在故意攻击的可能性,不使用Html.Encode真的有风险吗

是的,是的,再一次。有人在输入字段中输入特殊字符总是有风险的。web开发的黄金法则是永远不要相信用户输入,并始终对可能来自用户输入的任何内容进行编码。

票数 1
EN

Stack Overflow用户

发布于 2010-10-12 20:18:55

检查您正在调用Html.Encode的所有地方,因为它听起来像是在对字符串进行双重编码(可能是在保存和显示时编码,也可能是在模板/部分上编码,然后再次编码)。

是的,即使字符串是内部的,也要对其进行编码,否则一个心怀不满的员工可能会造成一些严重的破坏。

票数 0
EN

Stack Overflow用户

发布于 2010-10-12 22:01:02

首先,字符被html代码替换,因此不能正确显示

你在双重编码。实际上,您希望通过Html.Encode来显示用户输入的HTML标记。除非你真的希望像<ul><li>这样的东西是一个项目符号列表,而不是显示标签。

然后,如果文本稍后被编辑并重新提交,则在重新提交这些

代码时会抛出异常。

无论您做了什么,以允许初始提交的那些,将工作,以允许编辑。同样,可能由于双重编码,您会遇到更多的问题。

考虑到这是一个内部网站点,并且几乎不存在故意攻击的可能性,那么不使用Html.Encode真的有风险吗?

在内心深处,您已经知道看待安全性的方式是错误的;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3912906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档