当前位置:  开发笔记 > 后端 > 正文

为安全性编码HTML输入时,如何避免编码Ñ或ñ等国际字符?

如何解决《为安全性编码HTML输入时,如何避免编码Ñ或ñ等国际字符?》经验,为你挑选了1个好方法。

我在ASP.NET MVC应用程序中有一个textarea,用户可以在其中键入一些文本.当我向用户显示文本时,我Html.Encode用来防止恶意输入.问题是用户可以键入西班牙语,也许他会输入año并将其Encode转换为año.我该如何防止这种情况?

编辑:在生成的HTML中,我看到:

a1 'a1' Camaño

在页面的后面我有这个,这次显示是正确的:

a1 'a1' Camaño

第一个是这样生成的:

<%= Html.RouteLink(Html.Encode(Model.NAME),  ...... %>

第二个是这样的:

<%= Html.Encode(Model.NAME)%>

所以我的猜测是问题在于Html.RouteLink.



1> chakrit..:

你是不是偶然编码了两次

例如,如果您在服务器端以编程方式设置Textarea的内容,它将在渲染时自动编码内容.

尝试查看textarea的原始HTML输出.

通常当你将转义符放在textarea内容中时,它应该在textarea中显示解码(显示为预期的非转义字符).

所以它可能是一个意外的Html.Encode问题两次不必要的问题.

如果您的数据已经被转义,您可能希望在将其放入textarea之前取消转义(Html.Decode).

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有