0

O. 这个网站对我来说就像毒品。我希望有人可以指导我完成这项任务。

我需要一个脚本/解决方法,以限制对特定文件夹或文件的直接文件访问,并仅允许通过预授权的 IP 地址访问它。

我想要完成的是能够通过我的网站上的 iframe 访问文件,并且只能访问我们的网站,但阻止访问者直接访问它的任何其他尝试。基于 IP 的限制(将我网站的 IP 地址添加到允许访问者池中并阻止其他所有人)。

www.mysite.com/public/ 通过 iframe 打开 www.mysite.com/private/FILEA.html

但 www.mysite.com/private/FILEA.html 它不能直接访问

这甚至可能吗?几天来,我一直在阅读 SO,试图找到解决方案。

如果有人能想到一个解决方案,我将永远感激不尽。

非常感谢你们!

4

1 回答 1

0

这甚至可能吗?几天来,我一直在阅读 SO,试图找到解决方案。

不是你想的那样。您不能通过 IP 进行限制,因为当您将内容放入www.mysite.com/private/FILEA.htmliframe 时,它​​仍然由客户端的浏览器加载,因此访问它的远程 IP仍然是客户端的 IP。您不能通过 IP 拒绝/授予访问权限。

您可以做的是阻止引用者的访问。您可以确保引用者是并且仅在请求具有该引用者www.mysite.com/public/时才加载文件。FILEA.html但是,人们可以欺骗引用者并规避这一点,因此如果他们是持久的,仍然可以直接访问文件。您可以通过放置在文档根目录中的 htaccess 文件中的一些重写规则来执行此操作:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !www.mysite.com/public/ [NC]
RewriteRule ^/?private/FILEA.html$ - [L,F]

这意味着如果引用者不包含 www.mysite.com/public并且如果请求是 for /private/FILEA.html,则返回 403 禁止。

当有人访问并通过 php 脚本(或其他脚本)/public/路由所有请求时发出临时会话 cookie 会更复杂一些,该脚本在提供私有文件​​之前验证会话 cookie 是否有效。FILEA.html

于 2012-12-27T07:16:40.083 回答