Как обезопасить Elmah при работе с ASP.NET и IIS 5.1 URL Routing - PullRequest
3 голосов
/ 23 февраля 2010

Этот вопрос основан на следующем вопросе: Как заставить Элму работать с ASP.NET и IIS 5.1 URL Routing

Предлагаемое решение работает, пока elmah.axd находится вне корня сайта. Что делать, если вы хотите защитить сайт, как указано здесь: Безопасное внедрение ELMAH для регистрации ошибок Plug and Play ?

Перемещение elmah.axd в /admin/elmah.axd нарушает работу модуля Fix IIS 5x Wildcard Mapping.

Мой обходной путь - просто защитить "elmah.axd" вместо "admin", например:

<location path="elmah.axd">
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
</location>

Хотя это работает, я чувствую, что должно быть более элегантное решение. Есть мысли?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2010

Вы также можете переименовать elmah.axd во что-то менее очевидное. Имя настраивается в вашем файле web.config.

1 голос
/ 17 сентября 2010

Добавить к ответу @Todd Smith:

Если вы хотите переименовать свой elmah.axd, все, что вам нужно сделать, это изменить имя в обработчике.

<add name="Elmah" path="ANY_NAME_YOU_LIKE.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah"/>
1 голос
/ 24 февраля 2010

Это то же решение, которое я использую в своих проектах. Что-нибудь еще более "изящное" было бы намного более сложным и ненужным.

Это делает трюк и просто, я бы сохранил это, если бы я был тобой: -)

...