[英]Get referring site IP address in PHP
我想为我的SaaS产品实现推荐计划。
合作伙伴将在其网站上提供一个链接,该链接会将其用户引导至我的注册表单:
domain.com/referral/201030
“ 201030”是合作伙伴站点的成员ID。
我想确保页面请求来自我的合作伙伴网站,
我知道我可以检查$_SERVER['HTTP_REFERER']
但这并不安全。
有什么方法可以检查使用PHP将用户引到我的网页的网站的IP地址吗?
什么时候需要高安全性?
例如,对于一个API,您要跟踪传入的流量,并确保只有经过身份验证的客户端才能访问该API。 这需要更高的安全标准以及公共密钥和秘密的交换。
什么时候不?
推荐程序不需要这种安全性。
您拥有的流量越多,对您越有利。 您不在乎潜在客户来自何处。 当我通过Messenger发送我的合作伙伴程序链接给某人时,甚至没有HTTP_REFERER。
可能吗
没有服务器端的交互,混淆和动态链接,
很难
确保用户来自哪里。
任何机会?
使用静态链接的唯一方法是$_SERVER['HTTP_REFERER']
。 您现在可以对答案进行投票表决,但不会改变事实,即没有简单的,非动态的链接(如问题所示)的事实。
将引荐来源转化为IP
要将HTTP_REFERER转换为IP:
$urlParts = parse_url($_SERVER['HTTP_REFERER']);
$ip = gethostbyname($urlParts['host']);
请记住,这在任何方面都不可靠也不安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.