Http 拒绝对文件的直接url访问

Http 拒绝对文件的直接url访问,http,Http,如果有人将直接URL键入或粘贴到浏览器中,是否有人对如何只允许从我的网站页面下载文件和拒绝访问有任何建议?与其直接链接到您的文件,不如链接到php/asp/python/任何首先检查推荐人的脚本。如果引用者在您的域中,请重定向到实际文件。不确定您使用的是什么语言,但在.NET中,您可以将其添加到App_数据文件夹中,该文件夹不可浏览,并编写自定义处理程序(.ashx)文件以检索文件。这增加了安全级别,处理程序可以在将文件提供给客户端之前进行一些规则检查。这取决于您的web服务器。使用Apache

如果有人将直接URL键入或粘贴到浏览器中,是否有人对如何只允许从我的网站页面下载文件和拒绝访问有任何建议?

与其直接链接到您的文件,不如链接到php/asp/python/任何首先检查推荐人的脚本。如果引用者在您的域中,请重定向到实际文件。

不确定您使用的是什么语言,但在.NET中,您可以将其添加到App_数据文件夹中,该文件夹不可浏览,并编写自定义处理程序(.ashx)文件以检索文件。这增加了安全级别,处理程序可以在将文件提供给客户端之前进行一些规则检查。

这取决于您的web服务器。使用Apache,您可以使用阻止HTTP\u引用程序不是来自您自己站点的任何下载尝试。(我认为IIS也存在类似的情况。)

修改“Blocked Inline Images”示例后,您会得到如下结果:

RewriteCond %{HTTP_REFERER} !^http://YOUR_SITE_HERE/ALLOWED_PATH/.*$ [NC]
RewriteRule .*\.PROTECTED_FILE_SPEC$  [F]
这里有一个警告,这是一个重要的警告并非所有浏览器都发送HTTP\u REFERER头。因此,当浏览器不发送HTTP\u REFERER时,它不仅会阻止来自您主页的下载,还会阻止来自您站点的下载


(请注意,当浏览器不支持HTTP_REFERER时,这些规则的原始版本将允许下载。我根据URL直接粘贴到浏览器时不允许下载的要求对其进行了修改。)

重定向到文件不符合OP的标准。一旦浏览器被重定向到直接URL,用户就拥有了直接URL并可以直接粘贴它。您可以让脚本提供文件本身,但在这一点上,您也可以使用mod_rewrite(或与IIS等效的)解决方案。