在gridviews中实现Server.HtmlEncode

时间:2011-08-08 19:57:01

标签: asp.net security xss

说我的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过滤。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以拨打HttpUtility.HtmlEncode(),这是一种静态方法:

<%# HttpUtility.HtmlEncode(Eval("Name")) %>

答案 1 :(得分:1)

<%# Server.HtmlEncone(Eval("Name")) %>