网络验证无非就这么几个步骤。
首先软件注册时,发送注册信息给服务器的软件。
服务器的软件验证后,发送是否成功的验证信息给软件,如果验证成功,服务器软件会做一个记录。
软件收到验证信息后,会判断是否开启功能。
以后每次登陆使用时,自动发送相关信息给服务器软件进行验证,服务器软件根据之前的记录进行比对,成功后就发送成功信息。
软件正常使用。
在这个过程中,有一个至关重要的问题,那就是交互。
那你需要有一个服务器,而服务器的费用也是不便宜的。如何解决这个问题,能让自己的本地电脑也能做远程交互?
我们先看一下,服务器和我们本地电脑的区别。
直白点说,基本没啥区别,一些配置的不同而已,也无关痛痒。最最主要的还是有固定的外网ip。
我们一般的家用电脑都没有外网ip,因为ip数量越来越少,服务商通常都是一起区域,比如一个小区公用一个ip。
虽然你可以申请,但麻烦不说,有时也不会通过。
所以,洪雨的思路就是,找一个拥有固定外网的空间做跳板,进行交互。
有人会想,上哪找这样的跳板呢?
其实,很简单,比如你的网站啊!你的网站,就算只是一个虚拟主机,也是有固定外网ip的,否则别人怎么访问你的网站?
直接说说步骤。
假设软件a是需要注册的软件,软件b是服务器验证软件。
软件a在注册的时候,自动将注册信息发布到的网站的一个页面上。
然后本地的软件b自动读取这个页面信息,如果注册信息正确,就自动将信息记录在另一个网页上。
软件a在每次登陆的时候,读取另一个网页记录的信息,来验证软件是否可以正常使用。
思路很简单,但是有几个细节需要注意。
第一,a软件不能给他任何关于网站的权限,否则一旦被破解,会连同你网站一起完蛋。
所以注册信息发布页面,最好是用asp,或者js访问即可生成的页面。如果不懂,可以用网站的留言板代替,因为任何人都可以留言,效果一样。
第二,b软件作为服务器验证软件,可以拥有网站的所有权限,每次验证结束后,要及时删除留言板里的信息,以防被人利用。
思路就是这样。
如果没有自己的网站,或者觉得购买虚拟空间还是贵,那么也可以用免费的网站进行注册。
比如贴吧,比如新浪博客都可。
当然,既然不是自己的网站,就会有很多麻烦,比如登录时需要验证码等情况。
所以用户注册时,可能也需要用户有这个网站的账号,登陆这个网站,然后才能在某个页面发布信息,本地软件再识别这个页面。
这就麻烦很多。
洪雨上面说的思路,虽然省去了服务器的钱,但是也是有很多弊端的。
例如,没有服务器做实时验证,就无法监控软件上线下线。无法监控软件上线下线,就无法阻止软件多开。如果是账号密码登陆,那么账号密码分享出去,每个人都可以登陆。
解决办法,只能软件绑定机器使用。如果是这样的话,用户换个机器就不能用了,很不方便。
洪雨这里再推荐一个思路,还是借用跳板,这次借用qq号作为跳板。
众所周知,qq的上线和下线都是单一的,不可能出现同一账号多开的情况。这样,我们直接把软件绑定qq号,来验证软件即可。
注册某个qq号,机器上只要登陆了这个qq软件就能使用。就算用户把qq号外借给别人,也只能保证只登陆一个软件。
剩下的,大家可以发散思维,开拓出更多验证方法……
发表评论: