2011-09-26 33 views

回答

3

看一看$_SERVER['HTTP_REFERER']

然后,您可以使用parse_url()获取主机名,并将该域与已知Facebook域列表进行比较。

请注意,引用者不是必需的,并不总是设置。所以,不要将它用作任何类型的安全性。

+0

+1击败我的同一个答案。愚蠢的30个字符。 –

+0

@JasonMcCreary:确切地说...... – genesis

+2

但请记住,你不能真正依靠这一点。这个值很容易被任何客户伪造。 –

1
if (stripos(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST), 'facebook') !== FALSE) { 
    header('Location: differentwebpage.html'); 
} 
+0

根据RFC,位置标头必须包含完整的URL。即使他们一般工作,你也不应该使用相对路径。 – Brad

+0

真的'nuff,但问题是如何检测Facebook,而不是如何重定向。 –

+0

是的,我只是提及它作为参考。 – Brad