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

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

}

原文地址:https://www.cnblogs.com/jianma123/p/9338745.html

时间: 2024-10-24 01:42:59

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

【教程】原创:历上最简单的游戏编程入门教程(基于cocos2d-js)

前言: 大家好.我是一个游戏开发者.曾就职于cocos2d-x这个手机游戏引擎的开发的公司. 在这边我准备了一个最简单的教程,想告诉大家制作一个游戏有多简单. 回忆起当年刚刚步入游戏这个行业,我也抱着非常多的疑问. 所以如果大家对游戏有兴趣的朋友,可以在下面留言. 这个教程我会讲的非常通俗易懂.争取几句话之内就让你看到一个效果. 另外教程里面有丰富的图文讲解.我保证你学完之后掌握了做游戏的真髓. 你完全可以马上开始做自己的游戏.并且能够让你的游戏在网页上,ios,android 还有pc平台上跑

java网络编程入门教程

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.

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

原作出处:twisted-intro-cn 作者:Dave 译者:杨晓伟 luocheng likebeta 转载声明:版权归原作出处所有,转载只为让更多人看到这部优秀作品合集,如果侵权,请留言告知 感 谢:感谢 杨晓伟 luocheng likebeta 为国内Twisted Coder做的里程碑级贡献 其 它:能访问到Github的童鞋,请访问出处链接.因为出处排版相当棒! 1.Twisted理论基础 2.异步编程初探与reactor模式 3.初次认识Twisted 4.由twisted支持

PPP 网络验证

R1-S1/1-----------S1/0-R2 相关说明:在链路建立的第2个阶段进行用户验证,最常用的认证协议有口令验证协议PAP和挑战-握手协议CHAP.口令验证协议PAP是一种简单的明文验证方式,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令:挑战-握手验证协议CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码. 初始:配置各路由器的IP地址. Router>en Router#conf ter Router(config)#hostname r1

新手如何制作防破解网络验证系统?

百宝云介绍 百宝云是一款云服务器产品,专为快速打造个人云端服务器的云应用产品.你不用懂任何高深的技术,只需要懂百宝云的脚本语言即可,百宝云的脚本语言支持中文开发和英文开发,一个开发菜鸟也能轻轻松松上手开发自己的网络服务,百宝云提供完善的全套服务.强大的第三方接口可以和任何开发语言对接,开发者无需变更自己熟悉的开发环境,仅仅需要按照百宝云语言规范,通过com组件,Get或者Post的方式即可轻松访问自己的云端服务器. 百宝云提供的不仅仅是一种虚拟机或者一个操作系统,而是全面的,统一规划的网络服务架

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

创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原本的基础上修改,却出现了一大堆坑,不是这儿少个$ ,就是那少个 ;  要不就是哪{}包的不对了,擦,不是说php是世界上最好的语言吗?怎么感觉是世界上最坑的语言呢? 也许因为一般的程序员都是从C启蒙,进而C++,后又转Java,忽然见到php,顿时感觉简单明快,好像见到亲人了似的:而我易语言启蒙,进

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

第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin import views from .models import Cards class BaseSetting(object): """ 引入更换主题功能 """ enable_themes = True use_bootswatch = Tru

虚拟空间做软件免费网络验证思路

网络验证,是做付费软件的程序员不可避免要遇到的问题. 现在市面上提供免费网络验证的网站都是坑,承诺永久免费,但是用着用着就收费,各种幺蛾子层次不穷. 简单的验证方法就是本地验证,提取个硬盘号,算个机器码,给个注册码什么的.这种方法弊端很多,一是顾客电脑和系统不同,可能提取失败或者.二是,顾客升级电脑,就需要重新注册.三是破解太容易,四是绑定电脑,给顾客带来不便. 网络验证,一般情况都是找个页面,例如博客什么的,做个读取验证.这种验证方法靠谱.但是往往还是需要计算顾客机器码,所以还是要面对上面说的

百宝云Web网络验证系统发布升级版了.....

Web网络验证系统全新升级 本网络验证系统提供windowcom插件/windowdll动态库,支持VC++.VB.C#.易.按键精灵.TC.Delphi.Java等语言的快速接入.为满足作者的需求.之前发布的Web网络验证系统免费版依旧支持永久免费使用. 本次发布了Web网络验证系统收费版,相比免费版新增了以下功能: 1.支持 多项目管理 3.支持 数据监控管理 4.支持 黑名单功能,可以灵活阻止用户恶意操作行为 5.支持 日志功能,实时记录用户操作行为 6.支持 在线用户数据支持800-10