使用ASP.NET进行HTML编码

1 html asp.net encoding

我目前在插入/更新db表记录之前对所有用户输入的文本进行html编码.问题是在任何后续更新中,重新编码先前编码的字符串.这个无限循环开始在我的表中占用很多列空间.我正在为所有sql语句使用参数化查询,但我想知道让.NET Framework在没有HTML编码的情况下处理这部分是否安全?

Tom*_*han 5

您应始终在显示时对用户数据进行HTML编码,而不是在存储时.将用户输入保存在DB中(使用参数化查询或诸如此类以防止SQL注入),然后在输出数据时进行HTML编码.这样你就永远不会遇到这个问题.

HTML编码简单地构建在ASP.NET框架中.这是你如何做到的:

<!-- ASP.NET 3.5 and below -->
<%= Html.Encode(yourStuff) %>

<!-- ASP.NET 4 -->
<%: yourStuff %>
Run Code Online (Sandbox Code Playgroud)