С Elmah, установленным на нашем веб-сервере dev. Можем ли мы ограничить доступ к нему удаленно? Даже f мы жестко задаем имя пользователя/пароли (hashed?) Или это только через IP?
Как я могу ограничить удаленный доступ к Elmah?
Ответ 1
Есть две настройки: одна находится в <elmah>
:
<elmah>
<security allowRemoteAccess="1"/>
</elmah>
Другой, если вы разрешаете удаленный доступ, вы можете использовать <location>
для управления тем, кто обращается к нему:
<location path="elmah.axd">
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Вы можете поместить это в основной файл web.config сразу после тега </runtime>
Ответ 2
Вы можете обеспечить это в своем web.config(если вы действительно хотите, чтобы он был доступен для всех на производственном сайте) Видеть: Как защитить Elmah.axd?
Очевидно, измените ваш < allow users =.... > к соответствующим значениям
Ответ 3
Я знаю это немного позже, но для будущей ссылки там больше, чем просто открытие доступа через allowRemoteAccess
. Я действительно получил под защитой ELMAH, когда писал пару месяцев назад эту запись в блоге "Безопасность ELMAH" и разрешить возможность использования RemoteAccess.
Я не думаю, что любой из ответов на этот вопрос неверен, но есть больше доступных вариантов, в зависимости от используемых технологий. При запуске ASP.NET защита элемента authorization
- это, безусловно, путь. Тем не менее, многие люди используют MVC. Александр Белецкий написал отличный пакет под названием Elmah.MVC. Используя этот пакет, все проблемы, связанные с использованием ELMAH из MVC, просто уходят. И при использовании этого пакета безопасность ELMAH также проста, используя ряд пользовательских настроек приложения, таких как:
<appSettings>
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.allowedUsers" value="Thomas" />
</appSettings>