我在asp.net web表单项目中使用Elmah作为错误记录系统。 但是在elmah中,任何人都可以通过在URL中粘贴/elmah.axd来读取错误日志
我无法检查授权,因为我没有使用ASP.NET成员资格。
答案 0 :(得分:1)
可以使用IP安全性(IIS7 +)将其锁定吗?
<location path="elmah.axd">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on using ASP.NET authorization securing ELMAH.
-->
</system.web>
<system.webServer>
<security>
<ipSecurity allowUnlisted="false" >
<add ipAddress="127.0.0.1" allowed="true"/>
</ipSecurity>
</security>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
答案 1 :(得分:0)
我发现最简单的选择是将web.config中的elmah.axd位更改为其他人无法猜测的内容。例如myerrors.axd(显然选择了一些更模糊的东西)。
然后只有你知道页面名称才能查看错误....