2009-12-23 63 views
0

我想知道是否有可能执行脚本取决于引用网站。例如,如果用户从Facebook访问我的网站,然后我想要激活脚本,但如果用户通过谷歌搜索访问该网站,则脚本将不会运行。这可能吗?使用引用来运行脚本

回答

2

您应该可以测试$_SERVER['HTTP_REFERER']以查看用户是否来自Facebook并且行为不同。

0

这是可能的。只要记住引用者可能被欺骗,所以你不应该根据它的价值来做与安全有关的事情。

1

您是指服务器端还是客户端脚本?

从客户端,您可以通过document.referrer(是的,即使相应的HTTP标头是错误拼写的,加上'r')来访问引荐。例如:

​​
+0

+1不知道! – 2009-12-24 00:41:33

0

我会做这样的事情:

if (array_key_exists('HTTP_REFERER', $_SERVER) === true) 
{ 
    // this will give you something like google.com or facebook.com 
    $domain = str_ireplace('www.', '', parse_url($_SERVER['HTTP_REFERER'], 'PHP_URL_HOST')); 

    // check if there is any referer script you want to execute 
    if (is_file('path/to/scripts/' . $domain . '.php') === true) 
    { 
     // include the path/to/scripts/google.com.php for instance 
     include('path/to/scripts/' . $domain . '.php'); 
    } 
}