根据IP地址加载某些页面元素

时间:2014-11-14 16:33:32

标签: javascript php html

无法找到这个确切的问题,但我可能错过了它。我想知道根据访问者来自的网站的IP地址加载某些页面元素的最佳方式。换句话说,如果站点访问者来自站点X,我只想加载某个导航按钮。

我们正在测试电子商务网站上的一些跨域导航,并且我想提供一个链接,如果他们离开它们到我们的主站点,将会让人们回到他们的购物车。但我只希望链接出现,如果人们来自电子商务网站,因此我只想加载链接元素,如果引用的IP地址是某一个。

我找到了下面的代码,但我有点像一个php newb,所以我不知道这是不是最好的方式,或者是否有更好的方法使用javascript。

If ($_SERVER[“HTTP_REFERER”] == “ip address X”) 
{
               echo “<a href="http:// etc, etc"><div id=""> Back to shopping cart</div></a>”;
}

提前致谢

1 个答案:

答案 0 :(得分:1)

首先:请注意,引用者 NOT 可靠。虽然在大多数情况下它会显示用户来自哪里,但您不应该认为它是准确的。安全/隐私软件将篡改该值或完全抑制它。

话虽如此:引用者只是一个网址,所以

$url = $_SERVER['HTTP_REFERER'];
$urlparts = parse_url($url); // decompose url into components

$host = $urlparts['host']; // get the hostname

$ip = gethostbyname($host); // do DNS lookup for hostname->ip

if ($ip == '127.0.0.1') {
   echo "Hey, you must be sitting next to me!"
}