0。 这个网站对我来说就像毒品一样。 我希望有人可以指导我完成这项任务。
我需要一个脚本/解决方法,以限制对特定文件夹或文件的直接文件访问,并且只允许通过预授权的IP地址访问它。
我想要实现的是一个文件可以通过我的网站上的iframe访问,只能访问我们的网站,但阻止访问者直接访问它的任何其他尝试。基于IP的限制(将我的网站的IP地址添加到允许的访问者池中并阻止其他人)。
www.mysite.com/public/ 通过iframe www.mysite.com/private/FILEA.html
打开但是www.mysite.com/private/FILEA.html它无法直接访问
这甚至可能吗? 我一直在寻找S.O几天试图寻找解决方案。
如果有人能想出解决方案,我会永远感激。
非常感谢你们!
答案 0 :(得分:0)
这甚至可能吗?我一直在寻找S.O几天试图寻找解决方案。
不是你在想什么。您不能通过IP进行限制,因为当您将www.mysite.com/private/FILEA.html
的内容放入iframe时,客户端的浏览器仍会加载,因此访问它的远程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
,并且请求是/private/FILEA.html
,则返回403禁止。
当有人访问/public/
并通过php脚本(或其他一些脚本)路由所有FILEA.html
请求时,会发出一些更复杂的问题,即验证会话cookie是否有效提供私人档案。