Pur*_*ome 12 .net asp.net elmah
在我们的开发Web服务器上安装Elmah ..我们可以限制远程访问它的人吗?即使我们硬编码用户名/密码(哈希?)还是仅通过IP?
rtp*_*rry 25
有两种设置,一种是<elmah>
:
<elmah>
<security allowRemoteAccess="1"/>
</elmah>
Run Code Online (Sandbox Code Playgroud)
另一种是,如果您允许远程访问,您可以使用<location>
控制谁访问它:
<location path="elmah.axd">
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
您可以在</runtime>
标记之后将其放在主web.config中
我知道有点晚了,但为了将来的参考,它不仅仅是通过allowRemoteAccess
. 几个月前,在撰写这篇博文《ELMAH 安全性和allowRemoteAccess》时,我真的很关心保护 ELMAH 的安全。
我不认为这个问题的任何答案都是错误的,但是根据所使用的技术,还有更多选项可用。如果运行 ASP.NET,通过authorization
element 进行保护绝对是最佳选择。不过,现在很多人都在运行 MVC。Alexander Beletsky 编写了一个优秀的包,名为Elmah.MVC。使用这个包,使用 MVC 中的 ELMAH 的所有问题都会消失。使用该包时,保护 ELMAH 也很容易,使用许多自定义应用程序设置,如下所示:
<appSettings>
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.allowedUsers" value="Thomas" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)