如果引用者被禁用,PHP如何检测来自姊妹网站的用户

时间:2012-12-11 00:35:28

标签: php detect referrer

E.g。我有两个域:

http://www.computer.com
http://www.computers.com

http://www.computer.com是主要网站,http://www.computers.com只是虚拟,会重定向到主网站(http://www.computer.com)。

因此,我使用纯PHP的目标是检测用户来自http://www.computers.com而不是谷歌或其他网站,或直接输入网址而不使用引用,因为它可以被禁用。

两个站点都在同一个主机上,但我无法从另一个站点访问一个站点的文件系统。 $_SESSION$_COOKIE也是域特定变量。

2 个答案:

答案 0 :(得分:3)

您可以将重定向脚本设置为推送到www.computer.com?ref=sister或某个类似的网址,然后相应地进行日志记录,如果需要,还可以重定向回主页以使其对用户保持透明。

你是否要求提供htaccess示例?或者只是关于如何做的想法?

你在computer.com索引文件中说纯php:

    <?php 
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: http://www.computer.com?ref=sister"); 
    ?>

答案 1 :(得分:1)

您最好的选择是在多个级别上解决您的问题。首先,您应该为www.computers.com指向DNS,以指向www.computer.com的IP地址。现在,您的两个请求都由同一服务器或服务器集群提供服务(如果在负载均衡器后面)。

其次,如果您确实想要重写URL以利用单个域(合并您的cookie,会话等),那么您可以使用webserver重定向(即Apache的mod_rewrite)将所有请求重定向到最终域。

最后,在重写时,你应该在重写时发送301代码,以确保蜘蛛等知道这是永久重定向。