一种隐藏游戏地图防止用户作弊的方法和装置
技术领域
本发明涉及网络游戏领域,具体涉及一种隐藏游戏地图防止用户作弊的方法和装置。
背景技术
由于wap1.0的局限性,数据传输的方式比较单一、安全性较差,用户的数据很容易被截取,明文的数据很容易被其他玩家盗用,这一现象在wap游戏中尤为突出。同类型的隐藏地图的wap类网游,只是简单的在连接地址上加了一个地图的参数,保密性和安全性较差,容易被破解。
目前的解决方法一般是在数据提交到服务器端在进行一次验证,这种方式既影响用户的体验,又加大了服务器的负荷。
发明内容
为了解决以上的技术问题,本发明提供一种隐藏游戏地图防止用户作弊的方法和装置。
本发明公开了一种隐藏游戏地图防止用户作弊的方法,包括:
S1.从页面端获取注册用户初始化参数;
S2.根据所述的初始化参数获取页面的原始代码;
S3.根据所述的原始代码获取页面的原始代码的动态语句的数据值;
S4.将所述的动态语句的数据值加入到所述的原始代码中;
S5.过滤出所述的注册用户的请求地址,并附上加密的随机参数形成加密地址参数并保存;
S6.判断登录的用户要求的地址参数是否与所述的加密地址参数一致,若是,进入S7,若否,进入S8;
S7.确认用户的请求合法并进入链接;
S8.反馈用户的请求不合法并禁止进入链接。
在本发明所述的隐藏游戏地图防止用户作弊的方法中,步骤S1前还包括步骤S0,分配游戏注册用户一个时效性的Key值并保存于前台代码中。
在本发明所述的隐藏游戏地图防止用户作弊的方法中,所述的步骤S7后包括步骤S71,用户退出游戏时,清理所述的时效性的Key值。
在本发明所述的隐藏游戏地图防止用户作弊的方法中,所述的页面的原始代码保存于后台的数据库中。
在本发明所述的隐藏游戏地图防止用户作弊的方法中,步骤S5中所述的过滤出所述的注册用户的请求地址包括通过GetHref()函数中利用正则表达式过滤出每个连接的请求地址。
本发明公开了一种隐藏游戏地图防止用户作弊的装置,用于实现上述的方法,包括:
初始化参数获取单元:从页面端获取注册用户初始化参数;
页面原始代码获取单元:与所述的初始化参数获取单元连接,用于根据所述的初始化参数获取页面的原始代码;
动态语句的数据值获取单元:与所述的页面原始代码获取单元相连,用于根据所述的原始代码获取页面的原始代码的动态语句的数据值;
数据值加入单元:与所述的动态语句的数据值获取单元相连,用于将所述的动态语句的数据值加入到所述的原始代码中;
加密地址参数地址形成单元:与所述的数据值加入单元相连,用于过滤出所述的注册用户的请求地址,并附上加密的随机参数形成加密地址参数并保存;
地址参数判断单元:与所述的加密地址参数地址形成单元相连,用于判断登录的用户要求的地址参数是否与所述的加密地址参数一致;
请求判断单元:与所述的地址参数判断单元相连,用于判断用户的请求是否合法。
在本发明所述的隐藏游戏地图防止用户作弊的装置中,还包括Key值分配单元:与所述的初始化参数获取单元相连,用于分配游戏注册用户一个时效性的Key值并保存于前台代码中。
在本发明所述的隐藏游戏地图防止用户作弊的装置中,还包括Key值清理单元:与所述的请求判断单元相连,用户退出游戏时,清理所述的时效性的Key值。
在本发明所述的隐藏游戏地图防止用户作弊的装置中,所述的页面的原始代码保存于后台的数据库中。
在本发明所述的隐藏游戏地图防止用户作弊的装置中,所述的过滤出所述的注册用户的请求地址包括通过GetHref()函数中利用正则表达式过滤出每个连接的请求地址。
实施本发明的隐藏游戏地图防止用户作弊的方法和装置,具有以下有益的技术效果:
每个连接和加密参数对应,在用户发出访问请求时,通过加密参数判断请求的合法性,从而从根本上使用户数据的安全性得到了极大保证,数据传输时都是经过加密,保证了数据的安全性;减少了服务器端的后台判断,缓解了服务器压力。
附图说明
图1为本发明的一种隐藏游戏地图防止用户作弊的方法流程图;
图2为本发明的一种隐藏游戏地图防止用户作弊的装置方框图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明主要原理:后台sql server数据库结合.net 2005,利用在后台生成的符合wml规则的源码直接push到前台,由.net解析相应源码为每个连接加上一个加密后的参数,做到每个连接和加密参数对应,在用户发出访问请求时,通过加密参数判断请求的合法性,从而从根本上使用户数据的安全性得到了极大保证。
请参阅图1,一种隐藏游戏地图防止用户作弊的方法,包括:
S0.分配游戏注册用户一个时效性的Key值并保存于前台代码中;
用户登录游戏时,给每个用户分配一个时效性的key值,在前台代码中利用缓存技术保存这个key,在用户退出游戏的时候清理这个key值,保证用户登录的时效性。
S1.从页面端获取注册用户初始化参数;
S2.根据所述的初始化参数获取页面的原始代码;
用户进入游戏后,首先由页面端获取用户的参数,根据初始化的参数到后台数据库中获取页面的原始代码。
S3.根据所述的原始代码获取页面的原始代码的动态语句的数据值;
获得页面的原始代码后经过p_CcommnPro()函数获取原始代码的动态语句的数据值
S4.将所述的动态语句的数据值加入到所述的原始代码中;
用Regex.Replace()函数将动态得到的数据加入到页面的原始代码中。
S5.过滤出所述的注册用户的请求地址,并附上加密的随机参数形成加密地址参数并保存;
通过GetHref()函数中利用正则表达式过滤出每个连接的请求地址,在每个请求地址的连接后加上一个加密后的随机参数,并同时将这个地址对应的数据和加密值保存在缓存中。
S6.判断登录的用户要求的地址参数是否与所述的加密地址参数一致,若是,进入S7,若否,进入S8;
S7.确认用户的请求合法并进入链接;
S71,用户退出游戏时,清理所述的时效性的Key值。
S8.反馈用户的请求不合法并禁止进入链接。
当用户再次请求页面的时候,根据request的参数,和缓存中的参数对照,如果连接请求的参数和缓存的参数相同,即代表用户是通过合法的链接请求进入的,否则将给到用户非法连接的提示。
总的来说,本发明的实现流程:
登录-成功-给请求加上失效验证参数-进入游戏-游戏中对所有请求连接加上验证参数-保存参数和请求到缓存-页面push-用户请求-根据请求参数和缓存参数对照判断请求是否合法。
请参阅图2,一种隐藏游戏地图防止用户作弊的装置,用于实现上述的方法,包括:Key值分配单元5、初始化参数获取单元10、页面原始代码获取单元20、动态语句的数据值获取单元30、数据值加入单元40、加密地址参数地址形成单元50、地址参数判断单元60、请求判断单元70、Key值清理子单元80。
Key值分配单元5:与初始化参数获取单元10相连,用于分配游戏注册用户一个时效性的Key值并保存于前台代码中。
初始化参数获取单元10:从页面端获取注册用户初始化参数;
页面原始代码获取单元20:与初始化参数获取单元10连接,用于根据所述的初始化参数获取页面的原始代码;
动态语句的数据值获取单元30:与页面原始代码获取单元20相连,用于根据所述的原始代码获取页面的原始代码的动态语句的数据值;
数据值加入单元40:与动态语句的数据值获取单元30相连,用于将所述的动态语句的数据值加入到所述的原始代码中;
加密地址参数地址形成单元50:与数据值加入单元40相连,用于过滤出所述的注册用户的请求地址,并附上加密的随机参数形成加密地址参数并保存;
地址参数判断单元60:与加密地址参数地址形成单元50相连,用于判断登录的用户要求的地址参数是否与所述的加密地址参数一致;
请求判断单元70:与地址参数判断单元60相连,用于判断用户的请求是否合法。
Key值清理单元80:与请求判断单元70及Key值分配单元5相连,用户退出游戏时,清理所述的时效性的Key值。
进一步地,所述的页面的原始代码保存于后台的数据库中,所述的过滤出所述的注册用户的请求地址包括通过GetHref()函数中利用正则表达式过滤出每个连接的请求地址。
实施本发明的隐藏游戏地图防止用户作弊的方法和装置,具有以下有益的技术效果:
每个连接和加密参数对应,在用户发出访问请求时,通过加密参数判断请求的合法性,从而从根本上使用户数据的安全性得到了极大保证,数据传输时都是经过加密,保证了数据的安全性;减少了服务器端的后台判断,缓解了服务器压力。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。