我正在使用 IIS。我的服务器上有一些图像文件。我想将它们显示在我的网站上,但是当有人找到该 URL 并尝试通过浏览器从服务器访问它时,我想向他们显示“拒绝访问”并且不允许他们下载文件。
可以这样做吗?如果可以,我该怎么做?
谢谢。
答案1
我认为您实际上想问的是如何防止盗链?如果是这样,那么有很多资源可以解决这个问题。例如:如何在 IIS 6.0 中防止图像盗取(热链接)
答案2
通过允许它直接加载到网页中,根据定义,您正在下载它。浏览器对图像文件本身发出的请求与对加载它的网页的请求完全无关。
您可以编写代码来动态地将图像信息发送到页面。代码可以从文档根目录之外的位置读取图像文件并将数据发送到页面。这样图像就没有 URL,因此无法从浏览器下载。
代码将从文件中读取二进制图像数据,然后输出相同的数据,同时将 mime 类型设置为图像的格式(image/jpg、image/png 等)。这可以通过 CGI、ASP、JSP 或任何其他类型的应用程序网关来完成。
编辑:
不过,防止热链接是一个比这更好的建议。