我想为我的SaaS产品实现一个推荐计划。
合作伙伴将在他们的网站上有一个链接,将他们的用户引导到我的注册表单:
domain.com/referral/201030
"201030"为来自合作伙伴站点的成员id。
我想确保页面请求来自我的合作伙伴网站,
我知道我可以检查$_SERVER['HTTP_REFERER']
,但这是不安全的。
有一种方法,我可以检查网站的IP地址,指用户到我的网页与PHP?
什么时候需要高安全性?
以API为例,您希望跟踪传入的流量,并确保只有经过身份验证的客户端才能访问该API。这需要更高的安全标准以及公钥和秘密的交换。
当不?
推荐程序不需要这种安全性。
你拥有的流量越多,对你越好。你不关心的引子来自哪里。当我通过信使发送我的合作伙伴程序链接给某人时,甚至没有HTTP_REFERER。
这可能吗?
如果没有服务器端交互、混淆和动态链接,很难确定用户来自哪里。
任何机会吗?
使用静态链接的唯一方法是$_SERVER['HTTP_REFERER']
。你现在可以给答案点赞,但这并不能改变一个事实,那就是没有办法,就像问题中显示的那样,用一个简单的、非动态的链接。
将引用对象转换为IP
将HTTP_REFERER转换为IP:
$urlParts = parse_url($_SERVER['HTTP_REFERER']);
$ip = gethostbyname($urlParts['host']);
请记住,这既不可靠也不安全。