我目前在插入/更新db表记录之前对所有用户输入的文本进行html编码.问题是在任何后续更新中,重新编码先前编码的字符串.这个无限循环开始在我的表中占用很多列空间.我正在为所有sql语句使用参数化查询,但我想知道让.NET Framework在没有HTML编码的情况下处理这部分是否安全?
您应始终在显示时对用户数据进行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)
| 归档时间: |
|
| 查看次数: |
8862 次 |
| 最近记录: |