一种基于c/s架构下的软件权限验证方法

文档序号:7851437阅读:112来源:国知局
专利名称:一种基于c/s架构下的软件权限验证方法
技术领域
本发明涉及ー种软件的权限验证方法,具体的说,是ー种在基于C/S架构下的软件权限验证法。
背景技术
现在很多基于C/S架构(客户机和服务器结构)的商业软件,都采用了付费和试用两种模式,通常付费版本可以使用软件的最核心的功能,而试用版本的很多功能都会受到限制。由于人们想不花钱使用而使用软件的所有功能,因此对于和服务器后台交互的应用程序常常被非法篡改,常见的方式有修改hosts文件里的域名与IP地址关联,使客户端去一个非真实服务器的IP地址验证后返回付费授权,或者网上的ー个付费授权被很多用户同时使用,有的甚至在服务端验证完成后,直接离线使用,然后付费账号提供给其他用户上网验证,这样ー来软件开发者的权益得不到保证,其积极性大受影响,甚至会导致软件企业的入不敷出。

发明内容
发明目的本发明的目的在于提供ー种验证效果好,操作便利的验证方法。技术方案本发明通过如下技术加以实现一种基于C/S架构下的软件权限验证方法,包括如下步骤I)客户端将用户输入的账号和密码送至服务器后端验证,服务器根据账号及密码确定用户的类型,客户端返回用户状态码;2)如果是付费用户,服务器会另外产生访问时间戳,以及客户端下次验证的时间间隔,和用户状态码一起返回客户端;3)客户端接收到返回值后,根据返回值给予客户端对应的权限;4)如果是付费用户,客户端另外记录下服务器产生的时间戳以及下次访问时间间隔,启动定时器,定时器事件触发后,客户端会将账户、时间戳向服务器重新发出付费验证请求;5)服务器验证账号的类型,如果是未付费返回未付费状态码;服务器验证客户端时间戳和和服务器时间戳是否相同,如果不同,返回多个相同账号同时登陆状态码;如果账户属于付费,且时间戳相同,服务器产生新的时间戳以及付费状态码和下次验证时间间隔,返回给客户端;6)客户端根据状态码重新确定权限,如果返回值是未付费或者多点登陆,则客户端退出付费状态,结束安全验证;否则重复步骤4 ;其中用户的类型分为付费用户与免费用户,所述权限分为付费用户权限与免费用户权限,当服务器检测到用户为付费用户时,则在返回值上加上当前访问的时间戳,用户为免费用户时不加时间戳;当服务器收到验证请求后,首先判定验证请求中有无时间戳,若没有时间戳,则先确定用户的类型,然后确定是否给予时间戳;若验证请求中存在时间戳,则、将验证请求中的时间戳与服务器中时间戳进行对比,若时间戳一致,则产生ー个新的时间戳,并将时间戳加到返回值中,否则将返回多点登陆代码令客户端变为免费用户权限。所述的时间戳为随机数通过MD5进行加密而产生。所述客户端发出验证请求3次未收到返回值时,客户端变为免费用户权限。所述时间戳中可含有与服务器约定的干扰信息。所述的验证请求通过加密方式传输。所述的时间戳中包含用户账号信息。有益效果本发明与现有技术相比,其提供了时间戳作为识别手段,且时间戳会随时更改,客户端同时提供了最大验证重复次数,这样便防止了常见的相同的账号多处登录、 服务器IP欺骗、多个付费客户端离线使用等问题。


图I为本发明流程图。
具体实施例方式下面结合说明书附图对本发明进行进一步详述本发明涉及一种基于C/S架构下的软件权限验证方法,所述的方法包括了以下的步骤首先,客户端将用户输入的账号和密码送至服务器后端验证,服务器根据账号及密码确定用户的类型返回对应的返回值;一般来说,付费用户返回A0、未付费用户返回Al,客户端接受到返回值后,根据返回值给予客户端对应的权限,这些与一般的验证方法并无区别,在本发明中,确定权限的返回值分为如下两种,在付费用户的返回值中,包含了服务器给予的时间戳,而在免费用户(或试用用户)的返回值中不包括时间戳,这样ー来,客户端只要分析返回值中有无时间戳便可分辨登陆本客户端的用户是免费用户抑或是收费用户,而后给予不同的权限。若用户使用非真实服务器对软件进行验证,或者是多人同时用ー个用户名与密码登陆,则登陆时确实可以给予其收费用户权限,但是本发明中,所述客户端每隔1-3分钟向服务器发出验证请求,由服务器返回对应的状态码给客户端,客户端会根据状态码重新确定权限,确切的说,当服务器收到验证请求后,首先判定验证请求中有无时间,若没有时间戳,则先确定用户的类型,然后确定是否给予时间戳;若验证请求中存在时间戳,则将验证请求中的时间戳与服务器中时间戳进行对比,若时间戳一致,则服务器产生ー个新的时间戳,并将时间戳加到返回值中,如果时间戳不同,且是付费用户,则有两个账号同时在试图登录,则返回客户端多个账号登录的状态码,此时服务器时间戳不变;如果账号是非付费用户,则会返回未付费状态码;如果发送的数据格式非法,则会返回非法的用户请求状态码。客户端在收到返回结果后,如果是未付费、多点登陆、非法请求等状态时都会退出客户端的付费状态,变成未付费状态,给予免费用户权限。这样便杜绝了上述情况下依然可以以收费用户的权限运行软件。如果用户在验证后,将客户端与网络断开,则客户端发出验证请求后得不到回应,这时,客户端隔广3分钟重新发送请求,若连续发送3次请求没有回应,则客户端断定当前处于离线状态,客户端退出收费用户授权状态,等待用户将客户端与网络重新连接后,重新进行验证后,再确定是否进入收费用户授权状态。本发明中,所述的时间戳为随机数通过MD5进行加密而产生,其中包含用户账号信息,还可含有与服务器约定的干扰信息,所述的验证请求通过加密方式传输。·
权利要求
1.一种基于C/s架构下的软件权限验证方法,其特征在于包括如下步骤 .1)客户端将用户输入的账号和密码送至服务器后端验证,服务器根据账号及密码确定用户的类型,客户端返回用户状态码; .2)如果是付费用户,服务器会另外产生访问时间戳,以及客户端下次验证的时间间隔,和用户状态码一起返回客户端; .3)客户端接收到返回值后,根据返回值给予客户端对应的权限; .4)如果是付费用户,客户端另外记录下服务器产生的时间戳以及下次访问时间间隔,启动定时器,定时器事件触发后,客户端会将账户、时间戳向服务器重新发出付费验证请求; .5)服务器验证账号的类型,如果是未付费返回未付费状态码;服务器验证客户端时间戳和和服务器时间戳是否相同,如果不同,返回多个相同账号同时登陆状态码;如果账户属于付费,且时间戳相同,服务器产生新的时间戳以及付费状态码和下次验证时间间隔,返回给客户端; 6)客户端根据状态码重新确定权限,如果返回值是未付费或者多点登陆,则客户端退出付费状态,结束安全验证;否则重复步骤4 ; 其中用户的类型分为付费用户与免费用户,所述权限分为付费用户权限与免费用户权限,当服务器检测到用户为付费用户时,则在返回值上加上当前访问的时间戳,用户为免费用户时不加时间戳;当服务器收到验证请求后,首先判定验证请求中有无时间戳,若没有时间戳,则先确定用户的类型,然后确定是否给予时间戳;若验证请求中存在时间戳,则将验证请求中的时间戳与服务器中时间戳进行对比,若时间戳一致,则产生一个新的时间戳,并将时间戳加到返回值中,否则将返回多点登陆代码令客户端变为免费用户权限。
2.根据权利要求I所述的一种基于C/S架构下的软件权限验证方法,其特征在于所述的时间戳为随机数通过MD5进行加密而产生。
3.根据权利要求I所述的一种基于C/S架构下的软件权限验证方法,其特征在于所述客户端发出验证请求3次未收到返回值时,客户端变为免费用户权限。
4.根据权利要求I所述的一种基于C/S架构下的软件权限验证方法,其特征在于所述时间戳中可含有与服务器约定的干扰信息。
5.根据权利要求I所述的一种基于C/S架构下的软件权限验证方法,其特征在于所述的验证请求通过加密方式传输。
6.根据权利要求I所述的一种基于C/S架构下的软件权限验证方法,其特征在于所述的时间戳中包含用户账号信息。
全文摘要
本发明涉及一种基于C/S架构下的软件权限验证方法,本方法首先由客户端将用户输入的账号和密码送至服务器后端验证,服务器根据账号及密码确定用户的类型返回对应的返回值,在付费用户的返回值中,包含了服务器给予的时间戳,而在免费用户(或试用用户)的返回值中不包括时间戳,而后客户端分析返回值而后给予不同的权限。同时,对于付费用户,客户端每隔1-3分钟发送服务器验证请求验证付费账号的真实性,并在客户端断线后及时退出授权状态,发明与现有技术相比,其提供了时间戳作为识别手段,且时间戳会随时更改,客户端同时提供了最大验证重复次数,这样便防止了常见的相同的账号多处登录、服务器IP欺骗、多个付费客户端离线使用等问题。
文档编号H04L29/06GK102685135SQ20121015335
公开日2012年9月19日 申请日期2012年5月17日 优先权日2012年5月17日
发明者吴少刚, 吴少文, 唐科, 张斌, 张珩, 张福新 申请人:江苏中科梦兰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1