首发于:用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("不允许通行,请联系管理员")
} }

最新文章

  1. Think twice before doing~
  2. PHP发短信 PEAR 包:Services_Sms
  3. 39行代码实现JS HTML模板(轻量+高效+易用)
  4. POJ 1186 方程的解数
  5. CI 框架中 AR 操作
  6. php技术概要汇总
  7. 基于Web的系统测试方法
  8. 关于hibernate注解的简单应用
  9. Mac操作系统下忘记MYSQL的密码
  10. APP自动化框架LazyAndroid使用手册(1)--框架简介
  11. java springboot 大文件分片上传处理
  12. 操作Excel
  13. R代码展示各种统计学分布 | 生物信息学举例
  14. 【C++】ubuntu中读取指定目录中的所有文件
  15. Spring Cloud Config 分布式配置中心【Finchley 版】
  16. oracle中数字保留几位小数的问题
  17. SQL 行列转换数据转换为字符串
  18. 正则表达式pattern属性
  19. C# fileUpload视频上传
  20. 【洛谷P2504】聪明的猴子 最小瓶颈树

热门文章

  1. 关于 class 的命名
  2. roadflow asp.net core版工作流引擎更新发布
  3. vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数
  4. WPF控件相对位置解析
  5. 深入理解mysql的底层实现
  6. NS Simulation: Scheduling Events (examples inside)
  7. Eclipse控制台输出信息的控制(引用其他人的博客)
  8. C#调用Excel VBA宏[转载]
  9. Log4net (Log for .net)
  10. 使用qt的hostInfo类,查看本机的IP和设备