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

用http.get()简单实现网络验证防止客户不给尾款_电脑计算机编程入门教程自学的更多相关文章

  1. 【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!

    C语言/C++编程学习:一个简单的实例 让我们来看一个简单的C语言程序.从下面的程序可以看出编写C语言程序的一些基本特征.   如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的! ...

  2. Python Twisted网络编程框架与异步编程入门教程

    原作出处:twisted-intro-cn 作者:Dave 译者:杨晓伟 luocheng likebeta 转载声明:版权归原作出处所有,转载只为让更多人看到这部优秀作品合集,如果侵权,请留言告知 ...

  3. GAN网络从入门教程(一)之GAN网络介绍

    GAN网络从入门教程(一)之GAN网络介绍 稍微的开一个新坑,同样也是入门教程(因此教程的内容不会是从入门到精通,而是从入门到入土).主要是为了完成数据挖掘的课程设计,然后就把挖掘榔头挖到了GAN网络 ...

  4. python3+django2 开发易语言网络验证(上)

    创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原 ...

  5. python3+django2 开发易语言网络验证(中)

    第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...

  6. Xamarin.Android之封装个简单的网络请求类

    一.前言 回忆到上篇 <Xamarin.Android再体验之简单的登录Demo> 做登录时,用的是GET的请求,还用的是同步, 于是现在将其简单的改写,做了个简单的封装,包含基于Http ...

  7. jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

    最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...

  8. shiro 简单的身份验证 案例

    Apache Shiro是Java的一个安全框架,Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等. 简单的身份验证 项目目录: 首先,在shiro.ini里配置了用户名和 ...

  9. jQuery结合Ajax实现简单的前端验证和服务端查询

    上篇文章写了简单的前端验证由传统的JavaScript转向流畅的jQuery滑动验证,现在拓展一下,使用Ajax实现用户体验比较好的异步查询,同样还是从建立一个简单的表单开始 <form nam ...

随机推荐

  1. Java BeanUtils 组件 使用

    1. BeanUtils组件 1.1 简介 程序中对javabean的操作很频繁, 所以apache提供了一套开源的api,方便对javabean的操作!即BeanUtils组件. BeanUtils ...

  2. 我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持

    网站地址:http://i.youku.com/gisoracle第一个学习视屏:ArcGIS文本文件,excel文件生成点操作http://v.youku.com/v_show/id_XNzM3Nz ...

  3. 19_ThreadLocal

    [概述] 线程局部变量,是一种多线程间并发访问变量的解决方案.与synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以 ...

  4. atoi、itoa,strcpy,strcmp,memcpy等实现

    原文:http://www.cnblogs.com/lpshou/archive/2012/06/05/2536799.html 1.memcpy.memmove.memset源码 link:http ...

  5. 解决github访问过慢问题

    解决github访问过慢问题 主要原因: DNS 自动解析较慢 http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 用文本编辑器打开ho ...

  6. html 标签 显示模式

    1.html 标签模式分为三类:块级标签,行内标签(内联),行内块标签 a. 块级标签 典型代表:div.h1~h6.p.ul.ol.li.dl.dt.dd等. 特点:可以设置宽高,独占一行 b.行内 ...

  7. 使用Powershell 管理 Windows 2012 hyper-v复制

    HyperV复制相关命令 Suspend-VMReplication Suspends replication of a virtual machine. 暂停复制虚拟机. Resume-VMRepl ...

  8. SAP成都研究院2018年总共87篇技术文章合集

    2018年很快就要结束了.Jerry在2017年年底准备开始写这个公众号时,给自己定的目标是:2018年至少保证每周发布一篇高质量的文章.如今2018年就快过去了,高质量与否需要大家来反馈,至少从量上 ...

  9. Dz7.2 从获取uc key到getshell

    0x01下午在群里看到的 问下朋友大概 然后用不生不熟的sqlmap在那跑–表能跑的出 列就GG了 然后没辙–晚上跑各大论坛逛了遍果然大神多 就慢慢的研究下了下 看了pt0n大牛的分析文 真心感叹这洞 ...

  10. Python模块(进阶3)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6411917.html 本文出自:[Edwin博客园] Python模块(进阶3) 1. python中模块和 ...