首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理需要编辑的编码输入?

如何处理需要编辑的编码输入?
EN

Stack Overflow用户
提问于 2008-11-28 01:14:11
回答 5查看 985关注 0票数 0

使用微软的AntiXssLibrary,你如何处理以后需要编辑的输入?

例如:

用户输入:<i>title</i>

在数据库中另存为:<i>title</i>

在编辑页面的文本框中,它显示类似于:&lt;i&gt;title&lt;/i&gt;的内容,因为我在文本框中显示之前已经对其进行了编码。

用户不喜欢这样。

在写入输入控件时不编码可以吗?

更新:

我还在努力弄清楚这件事。下面的答案似乎表明要在显示之前对字符串进行解码,但这不会允许XSS攻击吗?

一个用户说,解码输入字段值中的字符串是可以的,但被否决了。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-15 15:09:11

看起来你编码了不止一次。在ASP.NET中,使用微软的AntiXss库,您可以使用HtmlAttributeEncode方法对不受信任的输入进行编码:

代码语言:javascript
复制
<input type="text" value="<%= AntiXss.HtmlAttributeEncode("<i>title</i>") %>" />

这会导致

代码语言:javascript
复制
<input type="text" value="&#60;i&#62;title&#60;&#47;i&#62;" />

并在输入框中正确显示为<i>title</i>

票数 2
EN

Stack Overflow用户

发布于 2008-11-28 01:35:48

您的问题似乎是双重编码;HTML需要转义一次(这样就可以将其插入到页面上的HTML中而不会出现问题),但是两次都会导致编码后的版本出现在字面上。

票数 1
EN

Stack Overflow用户

发布于 2008-11-28 01:29:09

您可以调用HTTPUtility.HTMLDecode(MyString)将文本返回到未编码的形式。

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

https://stackoverflow.com/questions/324905

复制
相关文章

相似问题

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