gpt4 book ai didi

asp.net - 如何防止直接链接到一些 pdf 文件?

转载 作者:行者123 更新时间:2023-12-04 05:54:39 25 4
gpt4 key购买 nike

我正在开发一个网站,需要阻止直接链接到一些 pdf 文件。我正在使用 ASP.net 2.0。代码中是否有一种简单的方法可以做到这一点?或者一些简单的 IIS 设置?

现在我只是使用标准 anchor 标记来链接到文件。我可以在包含 anchor 标记的页面上验证用户,但这仍然无法阻止用户获取 URL 并将其传递给其他人。

最佳答案

创建一个 HttpHandler 来处理 .pdf 的所有请求。由于 ASP.Net 不会立即处理 PDF 文件,因此 HttpHandler 将进行干预,并且 web.config 会告诉 IIS 这样做。

代码

namespace YourNameSpace
{
public class HttpHandlerClassName: IHttpHandler
{
public bool IsReusable
{
//We dont want this class to be reused simply       
//because we dont want other requests to wait and lie pending       
//suggests that an instance of this class cannot
//be reused to serve more than one request.

get { return false; }
}

public void ProcessRequest(HttpContext context)
{       
string MyReferrer = context.Request.UrlReferrer.ToString();

//do some regex to determine if the request is originating from
//your site.
//Put logic for the behavior your want for the outcome of your
//RegEx match here
}
}
}

网络配置

  <system.web>
<httpHandlers>
<add verb="*" path="*.pdf" type="YourNameSpace.HttpHandlerClassName,YourAssemblyName"/>
</httpHandlers>
</system.web>

关于asp.net - 如何防止直接链接到一些 pdf 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3765541/

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