说我的aspx页面上有一个ListView。我需要过滤掉任何可能在里面偷偷摸摸的XSS数据,但我不能在“eval”上使用Server.Encode。
我有这样的代码,我不知道如何使用XSS过滤网格视图。
<asp:ListView ID="MyList" runat="server" DataSourceID="MySource" DataKeyNames="ObjectID" OnItemCommand="MyList_OnItemCommand">
<ItemTemplate>
<tr id="row" runat="server" class='<%# Container.DataItemIndex % 2 == 0 ? "row" : "altrow" %>'>
<td align="left">
<%# Eval("Name") %>
</td>
看到问题? Eval(“名称”)未经过XSS过滤。我该怎么办?
答案 0 :(得分:1)
您可以拨打HttpUtility.HtmlEncode(),这是一种静态方法:
<%# HttpUtility.HtmlEncode(Eval("Name")) %>
答案 1 :(得分:1)
<%# Server.HtmlEncone(Eval("Name")) %>