刚刚就刚刚,我发现了一段牛B的代码
if( strtotime(base64_decode("MjAyMy0wMy0zMQ==")) < time() ){
toError(base64_decode("YmV5b25kIHRoZSB0aW1lIGxpbWl0"));
}
就是这段代码。导致接口一直报错 beyond the time limit 。这些天唯一动过的地方就是,客户修改了一些数据,而这些数据有缓存的。我就直接把前边的判断缓存先注释掉了。我还以为是我这个操作导致缓存满了。请过缓存还是不行。发现只有需要用户登录的接口才报错。加上断点才找到在中间件有这段代码。解密出来就是:
if( strtotime('2023-03-31') < time() ){
toError('beyond the time limit');
}
我说我全局搜索这个报错信息怎么找不到。这是帮别人二开的一个项目,还是用的TP,说是之前的程序员联系不上了。我过完年就开始处理了。早都能用了,就是没给钱。一直测。我都能想象出为什么之前的程序员联系不上,为什么会出现这段代码。你们猜我是直接把这段代码删掉了么?不。我改成这个了:
if( strtotime(base64_decode("MjAyNC0wMy0zMQ==")) < time() ){
toError(base64_decode("YmV5b25kIHRoZSB0aW1lIGxpbWl0"));
}
唉,附上和客户的对话截图
本帖已被设为精华帖!
本帖由系统于 2年前 自动加精
关于 LearnKu
高认可度评论:
虽然有效果,但是不建议这么做,这样的处理方式一点也不够灵活,不就是有些客户喜欢拖延么,你要大度一些,这边建议你可以改写一下你的固定时间写法,采用行业内标准的外部api接口请求,实现远程动态控制,而且客户端的提醒信息,也可以api动态定义……(仅供娱乐,请勿采纳,维护行业规范,人人有责 :speak_no_evil:)
虽然有效果,但是不建议这么做,这样的处理方式一点也不够灵活,不就是有些客户喜欢拖延么,你要大度一些,这边建议你可以改写一下你的固定时间写法,采用行业内标准的外部api接口请求,实现远程动态控制,而且客户端的提醒信息,也可以api动态定义……(仅供娱乐,请勿采纳,维护行业规范,人人有责 :speak_no_evil:)
太优秀了!
真优秀,没想到这么6
弄个远程aes秘钥
他给你钱了吗。。
这个最好是把代码也加密下
话说你们是怎么说服自己接没给钱就部署到别人服务器上的活的?
学会了,要是客户不给钱,我也加 :joy:
优秀
:see_no_evil:所以一般我都是先收钱
优秀..
吊得不行,不过我们做项目一般都是收了钱才给客户部署项目
666 学习了
秀啊
学到了 学到了
如果把这个代码写到vendor库里面怎么样,不得找个半死
niubility
先放到自己服务器上 :grin:
写个授权接口 针对指定客户 授权过期了就不允许访问资源API就可以了吧
如果打成2进制,在里面加个判断。 不给源码岂不是更美哉
一般不都是用把授权写在混淆加密的php里面吗?
等我快离职了我也这么干
我都是打包成二进制 文件,里面写一些限制,你还看不见哈哈
干他 朋哥!
哈哈哈哈 学习了,多少有点用
吃一堑,长一智,下次先收钱
这不做个非对称加密不是很能接受,哈哈哈 不给钱,不给 private key :joy:
看了半天才发现,原来是加了一年,哈哈哈 :+1:
我听说过有给页面加透明度的,授权到期后透明度逐渐降低,直到完全看不见
要是我,我只给他加一周 :joy: