如果我不使用ASP.NET成员身份,如何保护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 web表单项目中使用Elmah作为错误记录系统。 但是在elmah中,任何人都可以通过在url中粘贴/elmah.axd来读取错误日志


我不能检查授权,因为我没有使用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>