Экранирование всех параметров POST / GET в ASP / ASP.net - PullRequest
0 голосов
/ 11 ноября 2011

Я разработчик PHP, пытающийся решить проблему в ASP / ASP.net (.aspx). У нас есть очень старое приложение, в котором много проблем с безопасностью (на многих страницах везде много беспорядка).

Чтобы решить эту проблему, я думал о добавлении некоторого кода вверху каждой страницы, чтобы избежать любого запроса POST / GET перед обработкой его приложением.

Если бы это был PHP, я бы добавил файл PHP (используя .htaccess - auto_preppend) и сделал бы:

foreach($_POST as $myval => $anything)
{
    $_POST[$myval] = htmlspecialchars($_POST[$myval]);
    .. other escaping ..
}

Есть ли такая вещь в ASP? Просто хочу экранировать любой пользовательский ввод, прежде чем перейти к тому беспорядку кода, который никто не хочет трогать: (

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Это ASP или ASP.NET? Разные звери целиком. Если вы используете .NET, вы можете использовать что-то вроде:

в VB

For Each item In Request.Form.Keys
    newVal = Server.HtmlEncode(Request.Form(item))
Next

или C #

foreach (var item in Request.Form.Keys) {
    var newVal = Server.HtmlEncode(Request.Form(item));
}
0 голосов
/ 11 ноября 2011

С точки зрения индивидуального управления это может помочь: Запретить специальные символы в TextBox

Если вы хотите защитить всю свою форму от атак с использованием скриптов, взгляните наЗапрос подтверждения: http://www.asp.net/learn/whitepapers/request-validation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...