|
![](https://bbs.125.la/data/attachment/common/cf/142107bku4nnlt1vnu8bi1.jpg)
本帖最后由 小海>依就< 于 2015-1-30 00:09 编辑
说到网络验证,通常易友们都会想到加密方式以及防破J能力。
上线用户撇开这一点先不谈,先说一下网络验证到底是个什么东西,其实这没有什么技术含量,充其量就是一个用户系统而已,只不过是把他做成了API,通过调用这个API,使你的程序实现网络用户注册、登陆、修改密码等一系列的功能。
总的来说,网络验证分为两类吧,一种就是php或者asp编写的个人网络验证系统,它本身就集成了对外开放的API。你需要下载这个验证系统,然后上传到一个web服务器,如果这个服务器支持的话,简单的修改一下这个验证系统的配置文件就可以实现目的。可以自由修改。前提是你得有一台服务器或者web空间。通过get或者post这个系统来提交信息,
例如:user.321aiyi.com/login.php?username=abc&password=123
以上这种方式比较常见,但是应用较为麻烦,一般的时候通常是作为一个参考而已,实用性并不大(试问这种网络验证的web程序大家都可以下载使用,包括他的原理,构造都了如指掌,那么用它真的安全吗?)
我们假设一下,例如我们下载了同样的web程序,你那他上传到了你的web空间拿来用,并且只有注册或者充值的用户才可以用你的程序,尽管软件本身加密的非常好了,但是假如我也下载了一个和你一样的网络验证系统,然后上传到自己的服务器,或者干脆就在本地开一个临时的web服务,然后通过hosts将你的验证地址指向我的地址呢?那么你所做的一切就白费了,我只需要自己的后台中设置一个123的用户,输入123就可以随意的使用你这个程序。
简单的介绍了这种较为普遍的网络验证,下面还有一种,也是不久兴起的,他是一种封闭式的系统,不对外提供源码,同样,你也不用再额外的配置服务器或者购买web空间,这种系统我叫他《网络用户管理系统》我也做过这个并且现在还在运转,使用量也不低。
这种系统的好处就是更加安全,因为它不是对外开放的,另外无需用户再额外的配置服务器了,它就像QQ一样,你只需注册一个账号就可以在上面随意发挥!而且功能更多更强大,甚至可以交费获取更多的服务,你也不许再因为服务器被公鸡、被入寝、或者数据丢失而担心,这些担心都交给做这个用户系统的作者去吧。你只需注册一个管理员的账号,下载一个开发者API手册,剩下的一切都不用操心了。唯一的一点儿弊端就是,你不能像前者那样随意修改这个系统了,假如发现BUG的话,只能等作者自己去更新。因为你只得到了这个系统的使用权,而且,你没有源码。
下面就以我做过的一个例子来说一下具体心得,(全部自学,老鸟勿喷)
我做的那种用户系统就属于后者,我叫他阿海网络用户管理系统。谁想用的话,只需话30秒注册一个管理员账号就可以拥有一个自己的后台。然后花10分钟阅读以下API文档就可以上手了。
他的原理很简单,首先你要明确表结构。第一张表是管理员用户表,他记录了每个注册的管理员的详细信息。第二张表是管理员配置表(你也可以吧前面这两张表写成一张)不过我喜欢分开来写,有助于后期的更新以及扩展。
第三章表则是管理员的下线用户,也就是普通用户表,他记录了这些个用户的用户名密码,管理员账户(上属用户)积分或者使用期限,是否冻结等信息至于我的写的可就多了,都是后期慢慢加上去的字段,我这个系统后去又加了签到、点数充值、授权时间充值、留言板等等一系列的
第四列表一直到最后列表,则是管理员的充值卡(或者说是授权码)列表,任何一个注册本系统的管理员,都可以在后台通过图形界面像这个列表添加充值卡,这里每个列表是一种充值卡的类型,比如我第四列表是充值时间的卡密列表,那么第五列表就是充值点数的卡密列表,第六张表可以是一次性永久授权用户的授权码列表。
这样做差不多就大功告成了,接下来,写前台吧还有API吧!
API写的方式非常简单,自己不用判断什么,只需向服务器发送请求,所有判断的过程全部放在了服务器端,只管着接受服务器返回来的数据就行了!这样也防止了部分本地破J的可能性。如果有闲情雅致的话,可以在API模块中写一下健壮性判断(尽管在服务器里谢过了)这样的话,假如用户提交不正确的请求,可以在本地的健壮性判断中拦截下来不会发给服务器,会减少很多无用的请求。千万不要小看这一个本地判断,他可以给你的服务器减少多一半的压力!我曾经统计过一次,在API中没有健壮性判断的时候,服务器每两条请求中就有一条是无用的数据这一点儿也不假。处理这些东西会给服务器增加很多压力的。
 |
|