gpt4 book ai didi

.net - 在 ASP.NET 网站中保护 Elmah 的安全

转载 作者:行者123 更新时间:2023-12-03 05:43:57 26 4
gpt4 key购买 nike

我在保护 ELMAH 时遇到困难。我关注了 Phil Haacked 的 tutorial ,唯一的区别是演示项目是一个 Web 应用程序,而我的项目是一个网站。

   <add verb="POST,GET,HEAD" path="/admin/elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />

<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

使用前导“/”,我收到“找不到资源。”的响应,如果删除前导“/”,一切正常,除了可以通过在/admin/前面附加目录名称来绕过身份验证之外elmah.axd。

例如没有前导“/”

www.mysite.com/admin/elmah.axd - 触发身份验证
www.mysite.com/asdasdasd/admin/elmah.axd - 不触发身份验证并显示 ELMAH

如何确保 ELMAH 安全,同时保持远程查看日志的能力?

谢谢。

其他人注意:
遵循下面艾伦的回答会产生以下结果。

www.mysite.com/admin/elmah.axd - 触发身份验证
www.mysite.com/admin/asdasdasd/elmah.axd - 触发身份验证
www.mysite.com/asdasdasd/admin/elmah.axd - 找不到资源。 (正是我们想要的)

最佳答案

我尝试了 web.config 并得到了以下结果。基本上,不要将 elmah.axd HttpHandler 放在通用 system.web 中,而是将其专门添加到“admin”路径位置的 system.web 中。

<location path="admin">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd"
type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

关于.net - 在 ASP.NET 网站中保护 Elmah 的安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com