如何检测链接是否来自特定域

问题描述:

如果链接来自特定域,我需要能够使用PHP进行检测。我不能只检查域是否存在于链接中,因为它可能是通过追加域伪造的。如何检测链接是否来自特定域

谢谢。

+0

你能提供一个你想要的例子吗?有可能你只需要使用'parse_url()'。 – Matthew 2010-12-13 19:27:22

我相信你会想要检查引荐,并确保你检查双正斜杠,因为这是协议(HTTP/HTTPS)的一部分,不能伪造。

检查此链接额外的参考:Determining Referer in PHP

我会检查对像...

//www.mydomain.com

//mydomain.com

+0

不,实际上我需要检测一篇文章中的链接,然后分析该域名是什么。谢谢。 – santa 2010-12-13 19:43:40

+0

我的错误。上面的帖子有助于我相信。 – jocull 2010-12-13 20:27:30

只要使用parse_url()作为konforce提到。例如:

$url = "http://www.google.com/"; 
$parts = parse_url ($url); 

print $parts["host"]; // will print www.google.com 

// Or, for PHP 5.1 and above 
$host = parse_url ($url, PHP_URL_HOST); // returns www.google.com 

现在,关于这个的好处是,追加域这样一个网址的结尾:

http://www.google.com/?www.foo.com 

不会工作作为主机元素依然会说,该链接指向www.google.com而不是www.foo.com。

希望这会有所帮助。