CN107769909A - 一种Egret引擎的前端数据发送处理的方法 - Google Patents
一种Egret引擎的前端数据发送处理的方法 Download PDFInfo
- Publication number
- CN107769909A CN107769909A CN201710918142.XA CN201710918142A CN107769909A CN 107769909 A CN107769909 A CN 107769909A CN 201710918142 A CN201710918142 A CN 201710918142A CN 107769909 A CN107769909 A CN 107769909A
- Authority
- CN
- China
- Prior art keywords
- parameter
- data
- egret
- backstage
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种Egret引擎的前端数据发送处理的方法,将传递的数据封装成字符串;将传递的参数与后台协定好的参数进行md5加密,保证数据安全性;在外层添加一个消息类型的参数保证前后台参数一致,用于后台识别。后台接受消息后按照约定好的对参数进行md5加密,二者进行比较是否参数被人修改过,判断数据格式是否正确。使用了本方法能够有效的避免数据参数错误后台无法处理的问题,并且可以有效保证数据传递的安全性。
Description
技术领域
本发明属于互联网大数据处理领域,特别涉及一种Egret引擎的前端数据发送处理的方法,通过该方法来优化数据的传输效率和提高用户体验。
背景技术
随着互联网技术的飞速发展,各个方面的应用就需要于后台进行大量的数据请求。
Egret是一套完整的HTML5游戏开发解决方案。Egret中包含多个工具以及项目。Egret引擎(Egret Engine,白鹭引擎)是一个基于TypeScript语言开发的HTML5游戏引擎,该项目在BSD许可证下发布。使用Egret Engine开发的游戏可发布为HTML5版本,运行于浏览器之中。
各种各样的网站,以及手机上的app等等,都使用Http数据请求。这些数据请求传递给后台不同的参数,后台进行不同的处理。但如果传递的参数,没有按照与后台约定好的数据格式、参数字段来发送,后台将会无法处理。在数据交互的过程中,经常会发生因一些不当操作导致参数传递错误或人为恶意发送消息给服务器,可能导致服务器无法正确响应,从而前后端消息不同步。尤其在游戏app中,数据发送不对,后台无法做出响应。一旦后台无法响应,前端就无法收到有效信息反馈,用户不能正确操作。这样将严重影响用户的体验,面临极大的风险。
发明内容
本发明旨在解决上述Egret引擎下Http数据请求传递中的风险问题。
为了达到上述目的,本发明提供了一种Egret引擎的前端数据发送处理的方法,前端发送数据请求,传递给后台不同的参数,后台根据消息类型进行相应的处理;前端进行数据封装,并将参数进行md5加密发送。
本发明通过封装好的数据发送给后台,提高了开发效率;将参数进行md5加密提高了程序的安全性。通过提高开发效率和程序的安全性,Egret引擎下Http数据请求在传递中的风险得以降低。
做为进一步优化,本发明中,前台跟后台协定好要处理的消息类型及对应格式,将传递的参数按约定的格式拼接成字符串,在字符串外边加上一个标志消息类型的字符串。前台封装的数据需要提供对应的消息类型用于后台解析:前台把用到的参数传递到后台,后台接收到参数之后,根据传递的信息类型标志进行解析读取出来参数的值;进行前后端比较,防止后台无法处理不能识别的参数,提高了安全性。
做为一种优选,本发明中,前台数据的参数包含了url、params、listener和thisObj四个参数;其中,url是string类型,表示了服务器地址;params是string类型,表示了封装好的参数内容;listener是Function类型,表示了回调方法,用于处理服务器的响应;thisObj是any类型,表示了发起请求的类型。通过这四个参数的设置,可以将前端的数据请求中的服务器地址、参数内容、回调方法、发起请求的类型等重要信息予以具体明确并格式化固定。
做为进一步改进,本发明中,封装发送数据的前端的接口,对后台的服务器响应进行监听,当有消息返回的时候并调用listener方法进行处理。通过前台监听后台的消息返回,可实现前端发送数据请求的回调,提高数据传递的准确性和成功率。
做为进一步改进,本发明中,后台将传递来的参数进行解析并将参数进行md5加密,与前端传递过来的md5加密的值比较;一样则进行处理,不一样则参数有问题,直接返回前台参数错误的提醒。前台将传递的参数进行md5加密,保证数据安全性。后台接受消息后解析,并按照约定好规则再次对参数进行md5加密。二者md5加密的数值进行比较,从而可以判断是否参数被人修改过,判断数据格式是否正确。能够有效的避免数据参数错误后台无法处理的问题,并且在使用上因为有两个md5加密过的参数可以有效保证安全性。
做为进一步改进,本发明中,前端提供一个供处理后台响应的接口,在前端接受到后台返回的消息后对其进行解析,并根据约定参数的数值判断服务器的处理结果。这样,前端和后端能形成有效的双向沟通,提高了数据传递的信息准确性。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1是本发明一实施例的流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1所示,本实施例的流程为:
1、定义一个枚举,标志消息类型。比如enum MsgType{Login=0,//登录GetRole=1,//获取角色},服务器根据发过去的这个参数的值判断是什么类型消息,对不同消息进行不同处理;
2、封装一个发送Http请求接口,供前端调用,接收前端传递过来的参数;该接口里对http消息进行封装,并对消息进行监听。public static postRequest(url:string,params:string,listener:Function,thisObject:any),其中url是服务器的地址,params是封装后的参数字符串,listener是个回调方法,用于处理服务器的响应,thisObject是发起请求的类;实例化一个HttpRequest对象var request=new egret.HttpRequest();设置它的响应类型responseType:request.responseType=egret.HttpResponseType.TEXT;通过open方法初始化请求一个对象,初始化请求地址和请求类型request.open(url,egret.HttpMethod.POST);通过setRequestHeader设置请求头信息。如果是POST带参数的请求这一步很重要,需要告诉服务端请求的参数格式,而且这一步需要在open之后执行;
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");通过send方法发送请求,如果是post方法可以传入参数request.send(params);添加监听,监听服务器端的响应,包括进度事件和请求成功和失败事件request.addEventListener(egret.Event.COMPLETE,listener,thisObject);request.addEventListener(egret.IOErrorEvent.IO_ERROR,listener,thisObject);
3、将要传递给后台的数据进行md5加密,加密的格式需要前端与后台协商好;将需要传递的参数的值按约定好的格式封装成一个字符串,比如let str=`www${this.lvl}${Math.floor(this.lvlEssens)}${Math.floor(this.lvlExp)}`;引入md5第三方库,调用加密方法str=new md5().hex_md5(str);这里得到的str就是加密后的值;
4、将数据按照参数拼成一个字符串,将消息类型与加密值也一起拼接;比如varparams="msgType="+MsgType.LvlSuccess+"&lvl="+this.lvl+"&lvlExp="+this.lvlExp+"&lvlEssens="+this.lvlEssens+"&deadEnemyNum="+this.deadEnemyNum+"&accID="+role.accID+"&battleTag="+role.battleTag+"&ecpt="+str;当后台接受到这个字符串的时候,首先提取出来msgType字符串,根据这个的值进行处理;后台根据其他参数的值也进行一次md5加密,得出来的值与ecpt参数带的值进行比较,如果不相等直接返回前端错误标志,否则处理并返回前端处理结果;
5、前端封装一个接口用于响应后台返回的响应,就是第二步中的listener,首先判断后台响应的事件是error还是complete,如果是error就提示错误,如果是complete则继续解析;对返回回来的request的response属性进行转换,转换成json字符串方便前端读取;在读取其中的msgType字符串的值,判断此次响应是哪个事件的响应进行不同的处理;前端与后台可以再约定一个参数,用于识别服务器对此事件的处理结果,比如res参数,如果返回res为0则处理成功,如果res为1则表示前端发送的数据缺少参数;比如if(evt.type==egret.Event.COMPLETE)var request:egret.HttpRequest=evt.currentTarget;varobj=JSON.parse(request.response);var msgType=parseInt(obj["msgType"]);varres=parseInt(obj["res"]);if(msgType==MsgType.Login){{if(res==0){console.log(“成功”);}else if(res==1){console.log(“参数错误”);}}};
6、调用封装好的接口发送数据,postRequest(url,params,this.msgHandler,this);参数都是上述步骤封装好的。
Claims (6)
1.一种Egret引擎的前端数据发送处理的方法,前端发送数据请求,传递给后台不同的参数,后台根据消息类型进行相应的处理,其特征在于:前端进行数据封装,并将参数进行md5加密发送。
2.根据权利要求1所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:前台跟后台协定好要处理的消息类型及对应格式,将传递的参数按约定的格式拼接成字符串,在字符串外边加上一个标志消息类型的字符串。
3.根据权利要求2所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:上述参数包含了url、params、listener和thisObj四个参数;其中,url是string类型,表示了服务器地址;params是string类型,表示了封装好的参数内容;listener是Function类型,表示了回调方法,用于处理服务器的响应;thisObj是any类型,表示了发起请求的类型。
4.根据权利要求3所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:上述封装发送数据的前端的接口,对后台的服务器响应进行监听,当有消息返回的时候并调用listener方法进行处理。
5.根据权利要求3所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:后台将传递来的参数进行解析并将参数进行md5加密,与前端传递过来的md5加密的值比较;一样则进行处理,不一样则参数有问题,直接返回前台参数错误的提醒。
6.根据权利要求4或5所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:前端提供一个供处理后台响应的接口,在前端接受到后台返回的消息后对其进行解析,并根据约定参数的数值判断服务器的处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918142.XA CN107769909A (zh) | 2017-09-29 | 2017-09-29 | 一种Egret引擎的前端数据发送处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918142.XA CN107769909A (zh) | 2017-09-29 | 2017-09-29 | 一种Egret引擎的前端数据发送处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107769909A true CN107769909A (zh) | 2018-03-06 |
Family
ID=61267796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710918142.XA Pending CN107769909A (zh) | 2017-09-29 | 2017-09-29 | 一种Egret引擎的前端数据发送处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107769909A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614560A (zh) * | 2018-12-04 | 2019-04-12 | 大唐网络有限公司 | 一种基于nodejs的url传参方法 |
CN114567629A (zh) * | 2022-03-03 | 2022-05-31 | 上海电气风电集团股份有限公司 | 风场数据处理方法、处理装置、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944863A (zh) * | 2013-01-21 | 2014-07-23 | 博雅网络游戏开发(深圳)有限公司 | 登录实现方法和系统 |
CN103973695A (zh) * | 2014-05-16 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种与服务器验证的签名算法 |
CN104135536A (zh) * | 2014-08-15 | 2014-11-05 | 浪潮电子信息产业股份有限公司 | 一种基于json数据协议的Web管理系统数据交互方法 |
US20160034442A1 (en) * | 2014-08-01 | 2016-02-04 | Protegrity Corporation | Mapping Between User Interface Fields and Protocol Information |
CN106464395A (zh) * | 2015-03-01 | 2017-02-22 | Lg电子株式会社 | 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法和接收广播信号的方法 |
-
2017
- 2017-09-29 CN CN201710918142.XA patent/CN107769909A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944863A (zh) * | 2013-01-21 | 2014-07-23 | 博雅网络游戏开发(深圳)有限公司 | 登录实现方法和系统 |
CN103973695A (zh) * | 2014-05-16 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种与服务器验证的签名算法 |
US20160034442A1 (en) * | 2014-08-01 | 2016-02-04 | Protegrity Corporation | Mapping Between User Interface Fields and Protocol Information |
CN104135536A (zh) * | 2014-08-15 | 2014-11-05 | 浪潮电子信息产业股份有限公司 | 一种基于json数据协议的Web管理系统数据交互方法 |
CN106464395A (zh) * | 2015-03-01 | 2017-02-22 | Lg电子株式会社 | 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法和接收广播信号的方法 |
Non-Patent Citations (2)
Title |
---|
吴祥坤: "基于 Android 平台的信息采集与远程显示系统研究", 《吉林大学学报》 * |
江婷: "基于ElasticSearch的Angularjs联想框功能实现", 《软件导刊》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614560A (zh) * | 2018-12-04 | 2019-04-12 | 大唐网络有限公司 | 一种基于nodejs的url传参方法 |
CN114567629A (zh) * | 2022-03-03 | 2022-05-31 | 上海电气风电集团股份有限公司 | 风场数据处理方法、处理装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795629B2 (en) | Text and custom format information processing method, client, server, and computer-readable storage medium | |
US10834031B2 (en) | Information exchange method, client, and apparatus | |
US7533419B2 (en) | Human interactive proof service | |
US8869254B2 (en) | User verification using voice based password | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和系统 | |
CN102647398B (zh) | 基于移动终端实现游戏的方法及装置 | |
EP3485450B1 (en) | Network based advertisement data traffic latency reduction | |
CN109214196B (zh) | 一种数据交互方法、装置及设备 | |
WO2016070689A1 (zh) | 分享应用的方法和系统以及应用服务平台 | |
CN106656953A (zh) | 一种基于互联网的系统间安全调用接口实现方法 | |
CN104468592B (zh) | 登录方法和登录系统 | |
CN108900479A (zh) | 短信验证码获取方法及装置 | |
CN113867732A (zh) | 一种报文信息处理方法、系统以及存储介质 | |
CN107315948B (zh) | 数据调用方法及装置 | |
US10291718B2 (en) | Method and apparatus for implementing communication from web page to client | |
CN107769909A (zh) | 一种Egret引擎的前端数据发送处理的方法 | |
US8990115B2 (en) | Method, apparatus and system for implementing verification and payment in content service | |
EP4102808A1 (en) | Data processing method and apparatus based on instant messaging, device, and medium | |
CN103595611B (zh) | 即时通信应用的实现方法及系统、与设备 | |
CN113989021A (zh) | 基于5g消息的银行业务办理方法及装置 | |
CN109214895A (zh) | 一种游戏资源推广方法、装置及系统 | |
CN113055348A (zh) | 一种跨平台数据请求方法、装置及电子设备 | |
CN104301285B (zh) | 用于web系统的登录方法 | |
CN102970185A (zh) | 网络应用的运行状态监控方法、客户端设备及通信系统 | |
CN111586344B (zh) | 一种网络摄像机的消息发送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |
|
RJ01 | Rejection of invention patent application after publication |