Php 如何仅接受服务器中从某些特定服务器重定向的请求

Php 如何仅接受服务器中从某些特定服务器重定向的请求,php,.htaccess,redirect,backend,fileserver,Php,.htaccess,Redirect,Backend,Fileserver,我有一个前端服务器,其中包含用户可以下载的各种信息,还有一些后端服务器包含这些文件。当用户单击文件的下载链接时,他们会重定向到包含这些文件的后端服务器 现在,如果且仅当请求从前端服务器重定向,用户无法直接访问后端服务器时,我希望在后端服务器中接受请求。 有没有办法做到这一点?请帮帮我 多谢各位 if(isset($_SERVER['HTTP_REFERER']) && ($_SERVER['HTTP_REFERER']=='yoursite.com' ) { }

我有一个前端服务器,其中包含用户可以下载的各种信息,还有一些后端服务器包含这些文件。当用户单击文件的下载链接时,他们会重定向到包含这些文件的后端服务器

现在,如果且仅当请求从前端服务器重定向,用户无法直接访问后端服务器时,我希望在后端服务器中接受请求。

有没有办法做到这一点?请帮帮我

多谢各位

   if(isset($_SERVER['HTTP_REFERER']) && ($_SERVER['HTTP_REFERER']=='yoursite.com' ) {

    }

“HTTP_REFERER”-将用户代理引用到当前页面的页面(如果有)的地址。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它不能真正被信任()。

问题是,当前端服务器将用户重定向到后端服务器时,它会“通过用户”执行此操作

也就是说,“www.front-end.com”告诉用户为她的头字段分配一个值“www.front-end.com”,然后将此HTTP请求发送到“www.back-end.com”。智能用户可以修改她的头并欺骗您的系统

对于您的情况,您应该做更多的工作并实现Rapidshare、Megaupload或大多数其他文件宿主所做的事情

其中一个想法可能是:前端生成一个秘密随机字符串(“$ticket”)。然后,它将其通信到后端(通过或直接),请求将其存储到后端的数据库中。然后,前端通过以下方式重定向用户:

header("Location: http://www.back-end.com/index.php?ticket=$ticket");
后端比较票据并允许用户进入


您还需要注意防止误用它,如在一段时间后使车票失效。

谢谢你们两位的回复。是否有任何方法可以使用htaccess文件执行此操作。