Как создать белый список IP для одного URL в IIS - PullRequest
2 голосов
/ 01 августа 2010

У меня есть приложение ASP.NET, состоящее из нескольких страниц .aspx.Я хочу, чтобы одна из этих страниц .aspx была доступна только для определенного набора IP-адресов.Возможно ли это?

Я знаю, что вы можете создать белый список IP на уровне веб-сайта, но можете ли вы добавить белый список IP для одного URL-адреса в приложении?

Ответы [ 3 ]

3 голосов
/ 01 августа 2010

К сожалению, я почти уверен, что вы не можете сделать это для одной страницы через IIS (для получения дополнительной информации обращайтесь на Serverfault.com, но если вы хотите сделать это программно, вы можете подключить Application_BeginRequest вваш файл global.asax.Сверьте URL-адрес запроса и IP-адрес запроса с вашими ограничениями и разрешите выполнение запроса, только если он пройдет.

3 голосов
/ 01 августа 2010

Следующий ресурс демонстрирует, как определить IP-адрес клиента в ASP.NET:

http://bytes.com/topic/asp-classic/answers/439176-how-get-clients-ip-address-asp-net

Получив IP-адрес, загрузите свой белый список из выбранного вами механизма хранения,возможно, во время события Init (если на странице), и если IP-адрес не совпадает, ответьте так (используйте HttpContext.Current.Response, если не на странице:

if (!mySafeIpList.Contains(clientIP))
{
    Response.Clear()
    Response.StatusCode = (int)HttpStatusCode.Unauthorized
    Response.End()
}

или просто перенаправьте надействительная страница:

Response.Redirect("~/Head-Fake.aspx")

Надеюсь, это поможет.

1 голос
/ 01 августа 2010

Вы всегда можете проверить Request.ServerVariables ["REMOTE_HOST"] по своему собственному белому списку в вашем приложении.

...