我现在有一种奇怪的情况。基本上,我的公司目前正在为门后的最新软件构建链接,但是一旦用户登录,他们就可以将链接分发到构建版本。下午30天免费试用。
所以我想阻止访问网址/downloads/file.extension
,甚至完全阻止访问/downloads/
,除非引荐网址为allowed_domain.com
。
我 爱 使用.htaccess
,但我们使用的托管服务提供商(WP引擎)的服务器设置在Nginx上。不仅如此,我还必须将我的Nginx代码发送给WP Engine,以便他们为我实现,这是不切实际的。
因此, 我正在寻找一个PHP ONLY解决方案 ,或者我显然没有注意到的WordPress插件。
是的,我知道这对我公司存储重要文件来说是一种非常愚蠢的方式,但我现在需要解决这个问题,直到他们找到更好的方法。
答案 0 :(得分:1)
你可以使用我使用它的方法。 享受。
您需要列出这些IP地址。
<?php $allow = array("201.168.0.1", "456.789.123", "789.123.456"); //allowed IPs
if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) {
header("Location: http://yourdomain.com/index.php"); //redirect
exit();
} ?>
答案 1 :(得分:1)
不幸的是,你不可能做你所描述的。这是因为当有人试图从站点访问文件时,Web服务器将首先检查它是否存在,如果存在,它将立即提供该文件。它不会通过任何PHP代码。因此,您无法编写任何拦截此请求并阻止它的PHP代码。