gpt4 book ai didi

c# - 避免对静态文件的 404 请求进行集成管道身份验证

转载 作者:行者123 更新时间:2023-11-30 21:09:43 25 4
gpt4 key购买 nike

我有一个站点在 IIS7 上以集成模式运行,并且更改了 web.config 以便对静态文件进行身份验证。我想解决的是当请求一个不存在的文件时,它仍然通过 .NET 身份验证管道,我通过调试 Begin_Request() 方法看到请求是针对/login.aspx?returnurl=filenotfound .js(此处释义)。

有没有人知道如何在身份验证开始之前捕获和返回 404?

谢谢

最佳答案

我的主要建议是;不要。

如果您需要对某些资源进行身份验证,那么您可能需要隐藏一些东西。当您有东西要隐藏时,您应该注意您要揭示的内容,并且当您对具有文件的资源和没有文件的资源给出不同的响应时,您就是在揭示某些东西。

这是一个主要的安全漏洞吗?我不能说,但这足以向攻击者透露一些信息。这肯定会扩大攻击面,因此您有两个选择。

  1. 进行艰苦的分析,以证明有关哪些 URI 映射到文件以及哪些 URI 未映射到文件的信息对攻击者没有任何好处。
  2. 要求对请求进行身份验证,即使它只会给经过身份验证的用户一个 404。

后者更容易且不易出错。

也就是说,有几种方法可以在 ASP.NET 中使用集成模式进行身份验证。您是在处理 AuthorizeRequestAuthenticateRequest 事件的模块中执行此操作吗?您可以让他们检查这种情况是否正在发生(检查 URI 是否映射到现有文件),如果是这种情况则不发送 401。

关于c# - 避免对静态文件的 404 请求进行集成管道身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8894282/

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