求教下各位大佬,小弟这有个项目,客户卖出去一套,要求给卖出去的那套上,设置时效性,超期不能用,只能来客户这花钱续费,小弟没有做过这个,求大神们赐教

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 25

见过几种

  1. 核心代码进行了加密, 解密用的是 扩展, 然后在使用的时候 扩展会远程请求时效,如果失效 则解密扩展解密不了代码
  2. 核心组件调用的是远程的接口,接口过期则使用不了
  3. 还有一种 就是 整一个 加密的 lock 文件, 文件中 记录了失效时间,然后使用的时候远程检测比对
2个月前 评论

见过几种

  1. 核心代码进行了加密, 解密用的是 扩展, 然后在使用的时候 扩展会远程请求时效,如果失效 则解密扩展解密不了代码
  2. 核心组件调用的是远程的接口,接口过期则使用不了
  3. 还有一种 就是 整一个 加密的 lock 文件, 文件中 记录了失效时间,然后使用的时候远程检测比对
2个月前 评论

你说的卖出去的是php源码吗?如果是的话那就没有什么比较好的办法了,毕竟源码都给人家了,早期php还有一些加密扩展,但都有对应的解密方式,而新出的php版本,重点都不在加密上,故也没有什么成熟的方案,唯一可行的办法就是把应用核心包抽象出来,使用c++写成php扩展,其中还得加上授权机制,在应用中调用普通函数一样调用自定义扩展,而且还要保证是核心代码,不能被绕过去,自己写加密扩展不现实。但又换个思路,既然要赚应用授权费,干嘛要用php写,go,java这些都可以闭源分发项目,这不比php方便多了?

2个月前 评论
Oooooooo 2个月前
稻草人AQA (作者) 2个月前
稻草人AQA (作者) 2个月前
Jyunwaa

转 Golang、Rust,让他反编译去。

2个月前 评论

swoole不是有个加密扩展吗,说是破解难度很高~

2个月前 评论

有预算吗 可以看看这个 www.sourceguardian.com/ 商业的加密项目 支持php8.3

2个月前 评论
imzhi 2个月前

phpbolt.com 免费的可以看看,支持 PHP 7.1~8.3

2个月前 评论

客户要是完全外行,你直接代码里写个时间>xxx就不执行得了

2个月前 评论
Translate 2个月前
mshx (作者) 2个月前

搞授权 + 代码加密,授权时间到了,抛出500错误

2个月前 评论

把源码加密,源码中设定有效期即可(加密的改不了),参考:github.com/liexusong/php-beast

2个月前 评论

Zephir 写个扩展,简单

2个月前 评论
orange1994

关键接口用go写,只给部署编译软件

2个月前 评论

上面有小伙伴已经给出了三种解决方案,那我就顺着其中一种说说自己的看法。那就是核心组件调用的是远程的接口,接口过期则使用不了。

这个简单一些,可以使用中间件对当前用户的到期时间进行查询,如果到期就返回到期提示,并且附带付款页面。用户的请求识别,可以使用app_id+secret的方式来确保唯一。

2个月前 评论
稻草人AQA 2个月前

简单,打包时附带一个常驻进程用于检测核心代码是否被修改,有检测到就启用自毁程序

2个月前 评论
aba66 2个月前
自由与温暖是遥不可及的梦想 2个月前
抖森先森 2个月前

在开源软件中大部分都是卖授权,好像是根据域名进行部署,换一个域名就不能使用,但是这个成本比较大,你需要有一个控制和解析授权码的后台,我觉得代码进行加密这方面会比较好点,最好不要源码交付

2个月前 评论

php-beast代码加密就行了

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!