DGKumar Ответов: 1

Как предотвратить набор данных или datatable при привязке gridview от xss-атак?


Не могли бы вы помочь с уязвимостью безопасности DataTable или DataSet, в котором привязка к Gridview.DataSource = набор данных;

Что я уже пробовал:

Я уже пробовал использовать HttpUtility.HtmlEncode но работает для набора данных

1 Ответов

Рейтинг:
1

Sandeep Mewara

Ссылка: eval - предотвращение атаки межсайтового скриптинга в asp.net с#[^]

Чтобы предотвратить XSS при использовании TemplateField в .NET Framework 4.0 или более поздней версии, вы можете использовать Библиотека Веб-Защиты Microsoft[^] на странице aspx. В .NET Framework 4.5 и выше он уже интегрирован с фреймворками.
Фреймворки 4.0 или старше.

<ItemTemplate>
<asp:Label ID="Name" runat="server" 

     Text='<%#Microsoft.Security.Application.Encoder.HtmlEncode(Eval("Name").ToString()) %>'> 
</asp:Label>

Таблицах 4.5 и выше:
<ItemTemplate>
<asp:Label ID="Name" runat="server" 

     Text='<%#System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(Eval("Name").ToString(),true) %>'> 
</asp:Label>

Это будет кодировать вашу метку, когда они будут визуализированы. Используйте его только для ItemTemplate, EditItemTemplate render имеет html-входной текст, и он будет кодироваться фреймворком по умолчанию.

Еще одна статья, которую было бы неплохо почитать: Предотвращение XSS в ASP.Net сделано легко[^]


BillWoodruff

+5