无法找到这个确切的问题,但我可能错过了它。我想知道根据访问者来自的网站的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>”;
}
提前致谢
答案 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!"
}