大家好,我是果壳王子,今天我们来学一下自制验证!
经过测试我们发现,软件过期时间设定为2020年(明显没有过期)。
然而为何提示过期,这其中必有BUG!
接下来,我们找虫子!

这里STR返回的是一个网页页面(用于记录注册码的)。
这是啥网页呢——千万不能让我告诉你这是按键论坛的网页!

树大招风,看到论坛上我熟悉的提莫头像没,没错是我!自己发贴自制验证:完美!
图为按键论坛帖子:用于记录注册用户设备数据
这些就是验证码:用户机子上的设备串码!

图为获取网络日期时间代码
我们通过网络获取日期时间,拿到当前的年、月、日。
接下来就可以把当前的年月日与指定的到期时间做比较了!

图为判断对比日期时间的错误代码示范
首先,年_如果大于年,就意味着当前的年份已经超过指定的软件到期年份了,自然不能再使用软件了。
接下来判断年_ = 年 and 月_ > 月
当年份符合(未到期)的情况下,继续判断当前月份量是否大于指定到期的月份?如果大于说明过期!
接下来判断年_ = 年 and 月_ = 月 AND 日_ > 日
当年份和月份都符合(未到期)的情况下,继续判断当前日是否大于到期日?大于表示过期!

图为判断对比日期时间的错误代码示范
首先,年_如果大于年,就意味着当前的年份已经超过指定的软件到期年份了,自然不能再使用软件了。
接下来判断年_ = 年 and 月_ > 月
当年份符合(未到期)的情况下,继续判断当前月份量是否大于指定到期的月份?如果大于说明过期!
接下来判断年_ = 年 and 月_ = 月 AND 日_ > 日
当年份和月份都符合(未到期)的情况下,继续判断当前日是否大于到期日?大于表示过期!

现在我们来解释一下这段串码是怎么来的?
答案是:由用户在本机一键获取的!

在你的软件界面上呈现此获取硬盘序列号的输入框和按钮——然后,奇妙的事情就发生了!
让用户将串码复制给你,然后你将其通过发贴形式写入论坛或部落格等可以稳定记录数据的网站站点!
369458729 是我的串码(硬盘序号)。
我之前已将此串码录入论坛,所以现在它提示“注册成功”,并显示了我指定的软件使用到期时间。

假如我将此串码在论坛中删除,会发现什么呢?我们不妨一试,一试便知!
按键论坛帖子bbs.anjian.com这是我发的帖子,用于记录用户串码的
我们把 369458729|2020|5|16@ 删除,或者修改到期日期试一下(分别试下,操作详情请观看后面的视频)。
忘记告诉大家,每次对论坛信息的修改,由于有缓存的原因,可能需要清缓存或直接重启电脑,数据才能生效!
估计要重启,那么本集结束,下集继续收看!
欢迎加入果壳学院QQ群(群号见下图):

———————中场休息———————

我们接着上一集的课程,本集演示一下实战调用自制验证系统的效果!
且看:放错片了……

假如这是您的脚本界面,这个选项卡界面上呈现的便是关于软件注册的控件(按钮和输入框)。
那么当用户点击“点我注册”时会发生什么呢?

如上图所示,会触发自动获取本机硬盘序列号事件!

图为获取硬盘序列号代码。
当然,你也可以将其改为获取机器码!任凭客官自由发挥了!
注意,上图红字提示部分,也是当用户点击按钮且未注册成功后的触发事件!
记住:论坛修改后,要重启电脑才能生效!
重启完毕,我们再试一下!
什么原因导致BUG?
注意看帖子信息的格式:

少了个“爱的魔力转圈圈”
这圈圈是干嘛用的——用于作为分割字符串的标识符!

本课重点:
1. 人类正是通过不断试错实现进化的。
2. 万物皆由事件触发,只要掌握了事件驱动机制,就能驱动万物!
好,我们重启一遍电脑,最后测试一遍!
完美!
下节课我们讲如何将这一段验证代码模块移植到主程序中(也就是移植到你的脚本中,供你调用)
果壳危险自制:自制验证系统教学视频(含上集、中集)

(图为大雄的危险自制,请勿效仿)
上集剧情介绍:
1.自制验证不求人
2.铁杵磨成针,大雄吃饱撑
3.什么鬼?
上集视频地址(腾讯视频):
https://url.cn/5N9Gi9a
中集剧情介绍:
1.人类正是通过不断试错实现进化的
2.万物皆由事件触发,只要掌握了事件驱动机制,就能驱动万物!
中集视频地址(腾讯视频):
https://url.cn/5NaNZHg
下集未完待续……