请教一个连AI也不能帮我的问题,关于源码产品授权的逻辑
我使用 laravel 全家桶开发了一个产品,叫A。没有使用前后端分离。
这个产品是开源的,也就是说代码无加密。但是收费的。
产品提供给那些付费付费购买过的客户,在自己的服务器上进行私有部署。
每次产品更新的时候,我需要让客户服务器上的站点,可以自己进行手动点击按钮进行升级。
升级的逻辑没问题了。但是现在卡在,更新鉴权这一步了。
怎么鉴权?
我的需求是:需要通过授权网址和服务器IP进行更新判断。
客户部署的站点,通过laravel 发送请求的。
Http::post('http://scrm.test/api/xxxx');
麻烦事:
1,由于前后端不分离,在服务端与服务端的请求中,这些头信息不会自动生成。所以referer和origin这些头信息是不存在的。拿不到。
2,即使让客户在发送请求的时候,携带网址这个参数,但因为代码是开源的,这个参数可以被人为修改。
所以请教一下大家,应该怎么进行鉴权呢?
我的需求
1,盗版即使修改请求参数,比如手动在代码中修改请求时候的域名和 ip,也无效。
2,即使被盗版,我也能通过请求数据,能方便的查出来盗版源,或者盗版安装域名。
3,完全防盗不可能。只是尽可能在技术层面做一些限制。让盗版不方便。最终即使被盗版,也能追溯和定位。
4,不想做前后端分离。
请求的ip是无法伪造的。
请求带上授权域名、授权号。 授权域名+ip+授权号不匹配直接报错就行了啊。服务器IP哪里有天天变的。