十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首发于:用http.get()简单实现网络验证防止客户不给尾款_电脑计算机编程入门教程自学
在大邑县等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,外贸网站建设,大邑县网站建设费用合理。
http://jianma123.com/viewthread.aardio?threadid=428
给软件加上网络验证是经常需要用到的实用功能,下面简单示范下怎么用http.get()简单实现网络验证,用来防止客户不给尾款等.
适用场景
1.集团公司给大量员工用的内部软件,防止外传
2.给客户定制的软件在试用版中加上网络验证,防止不给尾款
工作过程
先让用户申请帐号,管理员在后台审核添加帐号,每次登陆前验证下机器码,返回通行码供本地验证.
申请开通帐号按钮:用http.get()方式把"用户名/密码/机器码"提交给http服务端保存到申请表,管理员审核时一条条把它复制到通行表
登陆按钮:用http.get()方式把"用户名/密码/机器码/时间戳"提交,并本地根据这几个参数算法来生成正确的通行码
http服务端收到后根据这几个参数算法来生成正确的通行码响应输出,客户端获取到后用它来与本地生成的通行码对比,如果正确就提示登陆成功
优点
可以验证机器码;
可以验证帐号;
可以因为有时间戳的参与而每次点登陆按钮都是返回不同的通行码,破解者如果不知道验证原理抓包也无法用本地host跳转的方式来破解,只能用od修改软件逻辑判断,增加了破解难度.
缺点
用od修改软件逻辑判断可以轻易破解(一般用户或客户不具备这种能力,如果找人破解也需要付出一定的成本)
防破解
1.可以在验证到通行码不对时启动时钟,电子取证,然后随机秒数后自退
2.加多种暗桩,防止直接修改判断逻辑就突破防线
3.加大破解者损失,暗桩里可以格式化硬盘破坏对方的业务数据文件啥的让对方不敢随便用盗版
核心源码
winform.button.oncommand = function(id,event){ //申请开通帐号 var name = winform.editName.text; var pwd = winform.editPwd.text; var mcode = winform.editMcode.text; var html,errInfo,errCode = http.get("http://jianma123.com:55555/?ac=reg&name="+inet.url.encode(name)+"&pwd="+pwd+"&mcode="+mcode) //console.varDump(html,errInfo,errCode) } winform.button2.oncommand = function(id,event){ //登陆 var name = winform.editName.text; var pwd = winform.editPwd.text; var mcode = winform.editMcode.text; var tick = time().getMilliTime(); 正确的通行码 = 生成通行码(mcode,tick) console.log("正确的通行码:",正确的通行码) var htmlStr,errInfo,errCode = http.get("http://jianma123.com:55555/?ac=login&name="+name+"&pwd="+pwd+"&mcode="+mcode+"&tick="+tick) console.varDump(htmlStr,errInfo,errCode) if(htmlStr==正确的通行码){ winform.msgbox("允许通行") }else { winform.msgbox("不允许通行,请联系管理员") } }