如果我不使用ASP.NET成员身份,如何保护elmah.axd
我正在asp.net web表单项目中使用Elmah作为错误记录系统。 但是在elmah中,任何人都可以通过在url中粘贴/elmah.axd来读取错误日志如果我不使用ASP.NET成员身份,如何保护elmah.axd,asp.net,security,elmah,Asp.net,Security,Elmah,我正在asp.net web表单项目中使用Elmah作为错误记录系统。 但是在elmah中,任何人都可以通过在url中粘贴/elmah.axd来读取错误日志 我不能检查授权,因为我没有使用ASP.NET成员身份。您能用IP安全(IIS7+)将其锁定吗 我发现最简单的选择是将web.config中的elmah.axd位更改为其他任何人都猜不到的内容。例如myerrors.axd(显然选择了更模糊的内容) 那么只有您知道查看错误的页面名称……您是否使用任何类型的授权?只需设置一个auth cooki
我不能检查授权,因为我没有使用ASP.NET成员身份。您能用IP安全(IIS7+)将其锁定吗
我发现最简单的选择是将web.config中的elmah.axd位更改为其他任何人都猜不到的内容。例如myerrors.axd(显然选择了更模糊的内容)
那么只有您知道查看错误的页面名称……您是否使用任何类型的授权?只需设置一个auth cookie,就可以很容易地保护elmah。你不需要任何复杂的东西,甚至不需要一个数据库。
<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>