在PHP中获取引用站点的IP地址

时间:2014-07-31 21:06:51

标签: php

我想为我的SaaS产品实施推介计划。

合作伙伴的网站上会有一个链接,用于指导用户注册表单:

domain.com/referral/201030

" 201030"是合作伙伴网站的会员ID。

我想确保页面请求来自我的合作伙伴网站

我知道我可以查看$_SERVER['HTTP_REFERER'],但这不安全。

有没有办法可以检查网站的IP地址,用户将用户引导到我的网页?

1 个答案:

答案 0 :(得分:0)

什么时候需要高安全性?

例如,对于API,您希望跟踪传入流量,并确保只有经过身份验证的客户端才能访问API。这需要更高的安全标准以及公钥和秘密的交换。

何时不是?

推荐计划不需要这种安全措施。

您拥有的流量越多,对您来说就越好。你不关心lead的来源。当我通过messenger将我的合作伙伴计划链接发送给某人时,甚至没有HTTP_REFERER。

甚至可能吗?

非常困难无法确定用户来自哪里,没有服务器端交互,混淆和动态链接。

有机会吗?

使用静态链接的唯一方法是$_SERVER['HTTP_REFERER']。你现在可以回答这个问题了,但它并没有改变这样一个事实:一个简单的,非动态的链接,如问题所示。

将引用者转换为IP

将HTTP_REFERER转换为IP:

$urlParts = parse_url($_SERVER['HTTP_REFERER']);
$ip       = gethostbyname($urlParts['host']);

请记住,这不可靠也不安全。