CN108462580B - 数值转移方法及装置 - Google Patents

数值转移方法及装置 Download PDF

Info

Publication number
CN108462580B
CN108462580B CN201710097347.6A CN201710097347A CN108462580B CN 108462580 B CN108462580 B CN 108462580B CN 201710097347 A CN201710097347 A CN 201710097347A CN 108462580 B CN108462580 B CN 108462580B
Authority
CN
China
Prior art keywords
order
signature
agent
server
preset
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.)
Active
Application number
CN201710097347.6A
Other languages
English (en)
Other versions
CN108462580A (zh
Inventor
周菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710097347.6A priority Critical patent/CN108462580B/zh
Priority to PCT/CN2018/076072 priority patent/WO2018153288A1/zh
Publication of CN108462580A publication Critical patent/CN108462580A/zh
Application granted granted Critical
Publication of CN108462580B publication Critical patent/CN108462580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures

Abstract

本发明公开了一种数值转移方法及装置,属于信息安全领域。所述方法包括:在接收到网页页面发送的第一订单的订单参数和签名后,根据订单参数和签名检测签名是否正确;在签名正确时,检测订单参数中是否包含第一预定字段,且第一预定字段的值为预定数值;当订单参数中包含第一预定字段且第一预定字段的值为预定数值时,向网页页面发送第一错误码,并禁止继续执行第一订单对应的数值转移操作。本发明解决了实际支付场景中,使用代理工具跳过部分逻辑校验流程,继续调用支付CGI完成支付,导致用户的账户和资金得不到安全保障的问题,达到了在实际支付场景中使用代理工具时,禁止执行支付操作,保护用户的账户和资金安全的效果。

Description

数值转移方法及装置
技术领域
本发明实施例涉及信息安全领域,特别涉及一种数值转移方法及装置。
背景技术
在进行支付操作时,通常在完成支付之前,支付系统需要对支付操作进行一些逻辑校验,比如手机号校验、验证码校验等,逻辑校验的目的是确认支付操作是否为用户本人操作。
支付系统在执行支付流程时,通常包括:终端上的网页页面和服务器上的各种CGI(Common Gateway Interface,通用网关接口)之间的多次交互操作。以CGI包括身份校验CGI和支付CGI为例,网页页面将用户输入的身份验证相关的参数发送至身份校验CGI,身份校验CGI对参数进行校验,校验成功后,身份校验CGI向网页页面返回确认消息,然后网页页面将支付相关的参数发送至支付CGI,支付CGI对参数进行校验,检验成功后完成支付操作,向网页页面返回支付已完成消息。在支付场景的开发或测试中,技术人员经常在终端中使用代理工具(比如Fiddler)通过抓包并修改网页页面的参数或各个CGI的参数来测试不同的支付场景,也就是说,代理工具通常被技术人员用于支付场景的开发或测试。但在实际支付场景中,若恶意用户使用代理工具,则网页页面在向身份校验CGI发送身份验证相关的参数时,代理工具可以截获网页页面发送给服务器的身份校验CGI请求,然后伪装成服务器向网页页面返回确认消息,这种情况下无论用于身份验证的参数是否正确,网页页面都能接收到确认消息,从而绕开了实际的身份验证过程,网页页面在向支付CGI发送支付相关的参数时,代理工具可以将输入给支付CGI的参数进行修改,让支付CGI在校验时认为之前的身份验证已经确认,从而使得网页页面成功调用支付CGI完成支付。
由于恶意用户将代理工具用在实际支付场景中时,支付系统可能会跳过一些类似身份验证的逻辑校验流程,继续调用支付CGI完成支付,从而导致普通用户的账户和资金得不到安全保障。
发明内容
为了解决现有技术中在实际支付场景中使用代理工具跳过类似身份验证的逻辑校验流程,继续调用支付CGI完成支付,导致用户的账户和资金得不到安全保障的问题,本发明实施例提供了一种数值转移方法及装置。所述技术方案如下:
第一方面,提供了一种数值转移方法,所述方法包括:
在接收到网页页面发送的第一订单的订单参数和签名后,根据所述订单参数和所述签名检测所述签名是否正确,所述订单参数包括签名前的各字段的参数值,所述签名是根据所述订单参数按照预定数字签名规则得到的;
在所述签名正确时,检测所述订单参数中是否包含第一预定字段,且所述第一预定字段的值为预定数值,所述第一预定字段用于指示是否使用代理工具,所述第一预定字段的值为所述预定数值时表示使用代理工具,所述代理工具是指将被访问的服务器的资源代理为本地资源的工具;
当所述订单参数中包含所述第一预定字段且所述第一预定字段的值为所述预定数值时,向所述网页页面发送第一错误码,并禁止继续执行所述第一订单对应的数值转移操作。
第二方面,提供了一种数值转移方法,所述方法包括:
在打开网页页面时,检测终端是否正在运行代理工具,所述代理工具是将被访问的服务器的资源代理为本地资源的工具,所述网页页面是需要检测是否运行所述代理工具的页面;
当所述终端正在运行所述代理工具时,令第一预定字段的值为预定数值,令第二预定字段的值为所述代理工具的名称,所述第一预定字段用于指示是否使用代理工具,所述第二预定字段用于表示所使用的代理工具的名称;
将第一订单的订单参数按照预定数字签名规则计算得到签名,所述订单参数包含所述第一预定字段、所述第二预定字段以及其他的数值转移操作对应字段;
将所述签名和所述订单参数发送给服务器,所述签名和所述订单参数用于触发所述服务器检测所述签名是否正确,在所述签名正确的情况下,若所述第一预定字段的值为所述预定数值,则返回第一错误码,并禁止继续执行所述数值转移操作;
接收所述服务器发送的所述第一错误码,所述第一错误码用于提示禁止继续执行所述数值转移操作。
第三方面,提供了一种数值转移装置,所述装置包括:
第一检测模块,用于在接收到网页页面发送的第一订单的订单参数和签名后,根据所述订单参数和所述签名检测所述签名是否正确,所述订单参数包括签名前的各字段的参数值,所述签名是根据所述订单参数按照预定数字签名规则得到的;
第二检测模块,用于在所述第一检测模块检测到所述签名正确时,检测所述订单参数中是否包含第一预定字段,且所述第一预定字段的值为预定数值,所述第一预定字段用于指示是否使用代理工具,所述第一预定字段的值为所述预定数值时表示使用代理工具,所述代理工具是指将被访问的服务器的资源代理为本地资源的工具;
第一发送模块,用于当所述第二检测模块检测到所述订单参数中包含所述第一预定字段且所述第一预定字段的值为所述预定数值时,向所述网页页面发送第一错误码,并禁止继续执行所述第一订单对应的数值转移操作。
第四方面,提供了一种数值转移装置,所述装置包括:
检测模块,用于在打开网页页面时,检测终端是否正在运行代理工具,所述代理工具是将被访问的服务器的资源代理为本地资源的工具,所述网页页面是需要检测是否运行所述代理工具的页面;
赋值模块,用于当所述检测模块检测到所述终端正在运行所述代理工具时,令第一预定字段的值为预定数值,令第二预定字段的值为所述代理工具的名称,所述第一预定字段用于指示是否使用代理工具,所述第二预定字段用于表示所使用的代理工具的名称;
计算模块,用于将第一订单的订单参数按照预定数字签名规则计算得到签名,所述订单参数包含所述第一预定字段、所述第二预定字段以及其他的数值转移操作对应字段;
第一发送模块,用于将所述计算模块得到的所述签名和所述订单参数发送给服务器,所述签名和所述订单参数用于触发所述服务器检测所述签名是否正确,在所述签名正确的情况下,若所述第一预定字段的值为所述预定数值,则返回第一错误码,并禁止继续执行所述数值转移操作;
第一接收模块,用于接收所述服务器发送的所述第一错误码,所述第一错误码用于提示禁止继续执行所述数值转移操作。
本发明实施例提供的技术方案带来的有益效果是:
通过网页页面检测终端是否使用代理工具,在发送至服务器的订单参数中增加第一预定字段和第二预定字段,并且将订单参数生成的签名发送给服务器,服务器根据订单参数和签名来对签名进行校验,由于订单参数中的任意字段的值发生变化后,生成的签名也会发生变化,通过对签名进行校验能够有效地发现代理工具对订单参数的修改。另外在服务器检测出订单参数中包含第一预定字段且第一预定字段的值为预定数值时,即服务器检测出执行第一订单对应的数值转移操作时终端使用了代理工具,则服务器禁止继续执行第一订单对应的数值转移操作,从而使得恶意用户通过代理工具进行数值转移操作被禁止,达到了保护普通用户的账户和财产安全的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例所涉及的数值转移方法的实施环境的示意图;
图2是本发明一个实施例中提供的数值转移方法的方法流程图;
图3A是本发明另一个实施例中提供的数值转移方法的方法流程图;
图3B是本发明一个实施例中提供的支付场景下的数值转移方法的流程图;
图4是本发明一个实施例中提供的数值转移装置的结构方框图;
图5是本发明另一个实施例中提供的数值转移装置的结构方框图;
图6是本发明一个实施例中提供的服务器的结构示意图;
图7是本发明一个实施例中提供的终端的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明一个实施例所涉及的数值转移方法的实施环境的示意图,如图1所示,该实施环境包括:终端110、服务器120和通信网络130。
终端110具备网页浏览的能力。可选地,终端110包括:台式计算机、膝上型便携计算机、平板电脑、智能手机等。
服务器120是提供互联网网络服务的平台。服务器120具备数值转移、数据存储、逻辑校验的能力。服务器120可以是一台服务器,或者是由若干服务器组成的服务器集群,服务器集群中的各个服务器之间的数据可以共享,也可以是云计算服务中心。本发明实施例对服务器120的物理实现方式不加以限定。
终端110与服务器120之间通过通信网络130连接。可选地,通信网络130可以为有线通信网络或无线通信网络。
终端110的浏览器或应用程序上运行有网页页面111,网页页面111具备提供数值转移操作的能力。数值转移是指将指定数值的资源在第一账户A和第二账户B之间的转移,比如从第一账户A转账到第二账户B。在实际应用中,数值转移包括支付、充值、转账、还款中的至少一种。对应的,网页页面111具体可以实现为支付页面、充值页面、转账页面、还款页面中的至少一种。
服务器120上运行有各种CGI,本实施例以服务器120上运行有身份校验CGI 121和支付CGI 122为例。CGI在物理上是一段程序,运行在服务器120上,根据实现的功能不同,CGI可以具体划分为不同类型的CGI,比如图1所示的身份校验CGI 121和支付CGI 122。身份校验CGI 121是服务器120上用于实现身份校验功能的程序,支付CGI 122是服务器120上用于实现支付功能的程序。
网页页面111向服务器请求调用某一CGI时,服务器120根据请求查找对应的CGI,将请求发送给查找到的CGI进行处理,CGI在处理完后将处理结果发送给服务器120,服务器120将处理结果返回给网页页面111。比如,以终端110为PC(personal computer,个人电脑)端进行示例性的说明,用户在PC端进行数值转移操作时,由于数值转移操作可能涉及用户的财产安全,通常服务器120在完成数值转移操作之前,用户还需要通过终端110向服务器120发送身份验证请求以确保数值转移操作是本人进行的。在正常支付的情况下,用户在终端110上打开网页页面111,网页页面111在用户填写完身份验证信息后,根据填写的身份验证信息中的参数生成身份验证请求,将身份验证请求发送给服务器120,服务器120接收到身份验证请求后,将身份验证请求发送给身份校验CGI 121,身份校验CGI 121通过对身份验证请求中的参数进行校验,当通过检验时,身份校验CGI 121将校验成功消息反馈给服务器120,服务器120将校验成功消息返回给网页页面111,网页页面111在接收到校验成功消息后,根据用户填写的数值转移相关的参数生成数值转移请求,将数值转移请求发送给服务器120,服务器120在接收到数值转移请求后,将数值转移请求发送给支付CGI 122,支付CGI 122对数值转移参数进行校验,确保在数值转移之前的身份验证已通过,另外支付CGI122对手续费进行校验、对支付权限进行校验、对是否支付进行校验等,在校验完成后,进行数值转移操作,在数值转移操作完成后,支付CGI 122向服务器120反馈数值转移成功消息,服务器120将数值转移成功消息返回给网页页面111,网页页面111在终端110上显示数值转移成功的通知。
而在非正常支付的情况下(比如恶意用户),终端110上还会运行有代理工具112。代理工具112是将被访问的服务器120的资源代理为本地资源的服务器,当网页页面请求该资源时会调用本地资源。代理工具112通常被技术人员应用在开发或测试中,以模拟不同的场景,节省开发成本。常见的代理工具112有Fiddler,Fiddler具有转发、代理、host管理、设置断点、CGI扫描、修改输入参数、修改返回参数、模拟网速等功能。
在实际支付场景中,若是恶意用户使用代理工具112,则网页页面111在想身份校验CGI 121发送身份验证请求时,由于代理工具112能够将服务器120的资源代理为本地资源,因此身份验证请求并没有发送至身份校验CGI 121中,而是调用本地资源,代理工具112伪装成服务器120向网页页面111返回校验成功消息,这种情况下,无论网页页面111中输入的身份验证信息是否正确,网页页面111都能收到校验成功消息,从而绕开了实际的身份验证过程。当网页页面111向支付CGI 122发送支付请求时,由于代理工具112能够修改输入参数,因此代理工具112能够将发送给支付CGI 122的参数进行修改,使得支付CGI 122在接收到支付请求时,根据对参数的校验认为之前的身份验证等校验逻辑均已确认,从而继续进行支付逻辑的其他校验,完成数值转移。
由于在实际支付场景下,运行有代理工具112被认为是非正常支付,因此,本申请各个实施例中,在网页页面111和支付CGI 122中增加对终端110是否运行代理工具112的校验过程。
图2是本发明一个实施例中提供的数值转移方法的方法流程图,该数值转移方法以应用在图1所示的实施环境中举例说明。如图2所示,该数值转移方法可以包括:
步骤201,终端在打开网页页面时,网页页面检测终端是否正在运行代理工具。
代理工具是将被访问的服务器的资源代理为本地资源的工具。
网页页面是需要检测是否运行代理工具的页面。可选地,网页页面用于提供数值转移操作,网页页面包括支付页面、充值页面、转账页面、还款页面中的至少一种。
步骤202,当终端正在运行代理工具时,网页页面令第一预定字段的值为预定数值,令第二预定字段的值为代理工具的名称,第一预定字段用于指示是否使用代理工具,第二预定字段用于表示所使用的代理工具的名称。
在网页页面发送给支付CGI的支付请求中增加第一预定字段和第二预定字段,分别用来表示是否使用代理工具以及所使用的代理工具的名称。比如:第一预定字段为agent_tool,第二预定字段为agent_name。若终端中运行Fiddler时,网页页面令agent_tool=1,用于表示有代理工具运行,令agent_name=Fiddler,用于表示正在运行的代理工具的名称为Fiddler。
可选地,在网页页面发送给支付CGI的支付请求中只增加第一预定字段,第二预定字段为可选字段。
步骤203,网页页面将第一订单的订单参数按照预定数字签名规则计算得到签名,订单参数包含第一预定字段、第二预定字段以及其他的数值转移操作对应字段。
可选地,计算签名是在提交第一订单之前的预定时间段内,通常预定时间段较短。比如,用户在网页页面上填写完第一订单对应的数值转移的数量以及转移账户的信息后,当网页页面上的确认控件被触发时,网页页面根据用户填写的信息对应的各个字段以及第一预定字段和第二预定字段根据预定数字签名规则计算得到签名。
可选地,预定数字签名规则可以为MD5签名。MD5签名在生成签名时,从用户的订单参数中选取一些特定的参数按照一定的排序并加上外部用户不可见的key值生成。MD5签名是不可逆的,也就是说,用户无法根据MD5签名逆向计算出签名前的参数。网页页面使用MD5签名生成签名前,会在计算签名的字段中加上第一预定字段和第二预定字段(或者,仅添加第一预定字段)。
可选地,网页页面还可以使用3des进行数字签名,3des与MD5签名的区别是3des的加密是可逆的,CGI可以通过密钥解密数字签名得到签名前的参数。对于3des,网页页面是在生成签名后增加第一预定字段和第二预定字段以及根据指定key生成的MD5签名。
步骤204,网页页面将签名和订单参数发送给服务器。
由于MD5签名不可逆,因此签名前的订单参数也被发送给服务器,服务器中的支付CGI根据订单参数和签名对签名是否正确进行校验。
在实际应用中,网页页面根据签名和订单参数生成支付请求,网页页面将支付请求发送给服务器,服务器接收到网页页面发送的支付请求后,将支付请求发送给对应的支付CGI进行处理,支付CGI在处理完支付请求后,将处理结果发送给服务器,服务器再把处理结果发送给网页页面。
对于支付CGI处理网页页面发送的支付请求的具体实现请参见步骤205至步骤207。
步骤205,支付CGI在接收到网页页面发送的第一订单的订单参数和签名后,根据订单参数和签名检测该签名是否正确。
由于订单参数或签名可能被修改,因此支付CGI需要通过校验签名是否正确确定订单参数或签名是否被修改过。
步骤206,在签名正确时,支付CGI检测订单参数中是否包含第一预定字段,且第一预定字段的值为预定数值。
第一预定字段用于指示是否使用代理工具,第一预定字段的值为预定数值时表示使用代理工具。
对应步骤202,支付CGI需要检测订单参数中是否包含第一预定字段agent_tool,且第一预定字段的值是否为预定数值1。
步骤207,当订单参数中包含第一预定字段且第一预定字段的值为预定数值时,支付CGI向网页页面发送第一错误码,并禁止继续执行第一订单对应的数值转移操作。
当终端中有代理工具运行时,网页页面令agent_tool=1,支付CGI接收到的订单参数中包含agent_tool=1,则订单参数中包含第一预定字段agent_tool,且第一预定字段的值为预定数值1。
当支付CGI检测到agent_tool=1时,会向网页页面发送第一错误码,告知网页页面禁止继续执行第一订单对应的数值转移操作。在支付场景中,支付CGI发送的第一错误码可以为:retcode=5100211,retmsg=禁止用户继续支付。
步骤208,网页页面接收服务器发送的第一错误码,第一错误码用于提示禁止继续执行数值转移操作。
网页页面通过解析第一错误码获取禁止继续执行数值转移操作的消息。
可选地,网页页面根据第一错误码弹出提示窗口,提示窗口用于提示用户禁止继续执行数值转移操作。
需要说明的是,本实施例中终端与服务器的交互可以直接理解为网页页面与支付CGI之间的交互。
综上所述,本发明实施例提供的数值转移方法,通过网页页面检测终端是否使用代理工具,在发送至服务器的订单参数中增加第一预定字段和第二预定字段,并且将订单参数生成的签名发送给服务器,服务器根据订单参数和签名来对签名进行校验,由于订单参数中的任意字段的值发生变化后,生成的签名也会发生变化,通过对签名进行校验能够有效地发现代理工具对订单参数的修改。另外在服务器检测出订单参数中包含第一预定字段且第一预定字段的值为预定数值时,即服务器检测出执行第一订单对应的数值转移操作时终端使用了代理工具,则服务器禁止继续执行第一订单对应的数值转移操作,从而使得恶意用户通过代理工具进行数值转移操作被禁止,达到了保护普通用户的账户和财产安全的效果。
图3A是本发明另一个实施例中提供的数值转移方法的方法流程图,该数值转移方法以应用在图1所示的实施环境中举例说明。如图3A所示,该数值转移方法可以包括:
步骤301,终端在打开网页页面时,网页页面检测终端是否正在运行代理工具。
代理工具是将被访问的服务器的资源代理为本地资源的工具。
网页页面是需要检测是否运行代理工具的页面。可选地,网页页面用于提供数值转移操作,网页页面包括支付页面、充值页面、转账页面、还款页面中的至少一种。
可选地,当终端上打开的是登录页面时,登录页面也可以检测终端是否正在运行代理工具。
可选地,网页页面检测终端是否正在运行代理工具,可以通过以下方式实现:
S1,网页页面检测终端的资源管理器中是否运行有目标代理工具。
目标代理工具是预配置的代理工具列表中的至少一个。代理工具可能有很多种,网页页面预先将一系列代理工具的名称配置成一个代理工具列表,然后根据代理工具列表到资源管理器中查询是否有代理工具列表上的目标代理工具正在运行。
S2,当终端的资源管理器中运行有目标代理工具时,网页页面确定终端正在运行代理工具。
在实际应用中,终端可能运行一个代理工具,也可能同时运行多个代理工具,网页页面在检测到代理工具列表中的任意一个代理工具在运行时,便可以确认终端正在运行代理工具。
S3,当终端的资源管理器中没有运行任何目标代理工具时,网页页面确定终端没有运行代理工具。
在实际应用中,只有在终端没有运行任何代理工具列表中的代理工具时,才能确认终端没有运行代理工具。
步骤302,当终端正在运行代理工具时,网页页面令第一预定字段的值为预定数值,令第二预定字段的值为代理工具的名称,第一预定字段用于指示是否使用代理工具,第二预定字段用于表示所使用的代理工具的名称。
在网页页面发送给支付CGI的支付请求中增加第一预定字段和第二预定字段,分别用来表示是否使用代理工具以及所使用的代理工具的名称。比如:第一预定字段为agent_tool,第二预定字段为agent_name。若终端中运行Fiddler时,网页页面令agent_tool=1,用于表示有代理工具运行,令agent_name=Fiddler,用于表示正在运行的代理工具的名称为Fiddler。
可选地,在网页页面发送给支付CGI的支付请求中只增加第一预定字段,第二预定字段为可选字段。
步骤303,网页页面将第一订单的订单参数按照预定数字签名规则计算得到签名,订单参数包含第一预定字段、第二预定字段以及其他的数值转移操作对应字段。
可选地,计算签名是在提交第一订单之前的预定时间段内,通常预定时间段较短。比如,用户在网页页面上填写完第一订单对应的数值转移的数量以及转移账户的信息后,当网页页面上的确认控件被触发时,网页页面根据用户填写的信息对应的各个字段以及第一预定字段和第二预定字段根据预定数字签名规则计算得到签名。
可选地,预定数字签名规则可以为MD5签名。MD5签名在生成签名时,从用户的订单参数中选取一些特定的参数按照一定的排序并加上外部用户不可见的key值生成。MD5签名是不可逆的,也就是说,用户无法根据MD5签名逆向计算出签名前的参数。网页页面使用MD5签名生成签名前,会在计算签名的字段中加上第一预定字段和第二预定字段(或者,仅添加第一预定字段)。
可选地,网页页面还可以使用3des进行数字签名,3des与MD5签名的区别是3des的加密是可逆的,CGI可以通过密钥解密数字签名得到签名前的参数。对于3des,网页页面是在生成签名后增加第一预定字段和第二预定字段以及根据指定key生成的MD5签名。
步骤304,网页页面将签名和订单参数发送给支付CGI。
网页页面将签名和订单参数发送给支付CGI的过程即为调用支付CGI的过程。
由于MD5签名不可逆,因此签名前的订单参数也被发送给支付CGI,支付CGI根据订单参数和签名对签名是否正确进行校验。
在实际应用中,网页页面根据签名和订单参数生成支付请求,网页页面将支付请求发送给服务器,服务器接收到网页页面发送的支付请求后,将支付请求发送给对应的支付CGI进行处理,支付CGI在处理完支付请求后,将处理结果发送给服务器,服务器再把处理结果发送给网页页面。
步骤305,支付CGI在接收到网页页面发送的第一订单的订单参数和签名后,根据订单参数和签名检测该签名是否正确。
由于订单参数或签名可能被修改,因此支付CGI需要通过校验签名是否正确确定订单参数或签名是否被修改过。
可选地,检测签名是否正确可以通过以下方式实现:
s1,支付CGI根据订单参数按照预定数字签名规则计算出校验签名。
由于MD5签名不可逆,支付CGI需要根据订单参数按照与网页页面相同的预定数字签名规则计算出签名,该签名为校验签名,通过将校验签名与接收到的签名进行比对,确定出签名或订单参数是否被修改。
s2,支付CGI检测签名与校验签名是否一致。
s3,当签名与校验签名一致时,支付CGI确定签名正确。
s4,当签名与校验签名不一致时,支付CGI确定签名错误。
步骤306,在确定签名错误时,支付CGI向网页页面发送第二错误码,并禁止继续执行第一订单对应的数值转移操作。
支付CGI在确定签名错误时,表明支付CGI对签名的校验不通过,因此支付CGI向网页页面发送第二错误码报错。
在实际支付场景中,第二错误码可以为:retcode=5100200,retmsg=签名错误,禁止用户继续支付。
步骤307,网页页面接收服务器发送的第二错误码,第二错误码用于提示签名错误并禁止继续执行数值转移操作。
可选地,网页页面根据第二错误码弹出提示窗口,提示窗口用于提示用户禁止继续执行数值转移操作。
作为步骤305的另一个分支,在签名正确的情况下,支付CGI需要继续执行步骤308。
步骤308,在签名正确时,支付CGI检测订单参数中是否包含第一预定字段,且第一预定字段的值为预定数值。
第一预定字段用于指示是否使用代理工具,第一预定字段的值为预定数值时表示使用代理工具。
对应步骤302,支付CGI需要检测订单参数中是否包含第一预定字段agent_tool,且第一预定字段的值是否为预定数值1。
步骤309,当订单参数中包含第一预定字段且第一预定字段的值为预定数值时,支付CGI在服务器的数据库中记录第一订单的订单号,标记订单号对应的第一订单为目标订单。
订单号用于唯一标识第一订单,目标订单为使用代理工具的数值转移订单。
当终端中有代理工具运行时,网页页面令agent_tool=1,支付CGI接收到的订单参数中包含agent_tool=1,则订单参数中包含第一预定字段agent_tool,且第一预定字段的值为预定数值1。
可选地,支付CGI在数据库中将订单号与标记对应存储,标记可以为agent_tool=1。
步骤310,支付CGI向网页页面发送第一错误码,并禁止继续执行第一订单对应的数值转移操作。
当支付CGI检测到agent_tool=1时,会向网页页面发送第一错误码,告知网页页面禁止继续执行第一订单对应的数值转移操作。在支付场景中,支付CGI发送的第一错误码可以为:retcode=5100211,retmsg=禁止用户继续支付。
步骤311,网页页面接收服务器发送的第一错误码,第一错误码用于提示禁止继续执行数值转移操作。
网页页面通过解析第一错误码获取禁止继续执行数值转移操作的消息。
可选地,网页页面根据第一错误码弹出提示窗口,提示窗口用于提示用户禁止继续执行数值转移操作。
在实际实现时,即使网页页面接收到第一错误码之后,恶意用户仍可能通过网页页面再次提交相同的数值转移订单,并且有可能通过代理工具重新修改参数。在一种可能的情况中,当网页页面弹出提示窗口提示用户禁止继续执行数值转移操作时,恶意用户可能直接关闭提示窗口,确认控件再次被触发,网页页面将该数值转移订单再次发送至支付CGI。在另一种可能的情况中,恶意用户更换了一个终端,重新打开网页页面,将之前已提交但未完成支付的数值转移订单重新提交。以上两种情况,重新提交的数值转移订单的订单号不变。对于这类订单,支付CGI通过以下步骤进行校验。
步骤312,网页页面在提交第二订单时,将第二订单的签名和订单参数发送给支付CGI,订单参数还包括第二订单的订单号。
第二订单的订单号用于唯一标识第二订单。
可选地,第二订单是指已提交过但未完成的数值转移订单。
步骤313,当接收到第二订单的提交请求时,支付CGI根据第二订单的订单号在数据库中查询第二订单是否属于目标订单。
第二订单被重新提交后,由于第二订单的订单号与之前被提交时的订单号相同,因此支付CGI根据第二订单的订单号查询第二订单是否属于被标记的目标订单。
步骤314,当第二订单属于目标订单时,支付CGI向网页页面发送第一错误码。
由于第二订单属于目标订单,表明第二订单是使用代理工具的数值转移订单,则支付CGI直接向网页页面发送第一错误码报错。
步骤315,网页页面接收支付CGI发送的第一错误码。
可选地,网页页面通过解析第一错误码弹出对应的提示窗口,用于提示用户禁止继续执行数值转移操作。
作为步骤308的另一个分支,该方法还包括步骤316。
步骤316,在签名正确且订单参数中没有第一预定字段时,或在签名正确且第一预定字段的值不为预定数值时,继续执行正常的数值转移的其他校验流程。
其他校验流程包括校验手续费、校验是否支付成功、校验是否具备支付权限中的至少一种。
对没有安装代理工具的终端,或安装有代理工具但没有在执行数值转移操作的整个过程中开启代理工具,网页页面不会发送第一预定字段和第二预定字段给支付CGI,或者网页页面发送第一预定字段和第二预定字段,但第一预定字段的值为空或不为预定数值,第二预定字段的值为空。
可选地,在实际实现时,支付CGI支持配置开关,开关打开时,支付CGI需要对订单参数中是否有用于指示终端是否使用代理工具的第一预定字段进行检测,对应的,终端上的网页页面需要通过资管管理器检测终端中是否运行代理工具,然后在订单参数中增加第一预定字段,或增加第一预定字段和第二预定字段。开关关闭时,支付CGI不检测订单参数中的第一预定字段,对应的,网页页面不检测终端中是否运行代理工具。该开关在支付CGI的配置文件中,技术人员必须登录服务器后才能进行开关的控制,因此该开关仅由技术人员控制,普通用户不能够控制该开关。技术人员在测试和开发时由于需要使用到代理工具,因此关闭开关。在网页页面正常供用户使用时,开关是打开的,以检测实际支付环境中,终端是否运行代理工具。
本实施例所提供的数值转移方法在支付场景下还可以表示为图3B所示的流程图。如图3B所示,首先执行S301,打开网页页面;然后执行S302,网页页面检查终端资源管理器进程;然后执行S303,判断终端是否使用代理工具;若S303判断结果为否,执行S304,网页页面计算标签,调用支付CGI;然后执行S307,支付CGI计算和校验标签;若S303的判断结果为是,则执行S305,agent_tool=1,agent_name=***,计算生成标签;然后执行S306,网页页面调用支付CGI,发送agent_tool=1,agent_name=***,标签;然后执行S307,支付CGI计算和校验标签;然后执行S308,支付CGI验证标签是否正确;若S308的判断结果为否,则执行S3089,支付CGI返回第二错误码;然后执行S310,页面弹窗:签名错误,无法继续支付;若S308的判断结果为是,则执行S311,支付CGI判断agent_tool是否等于1;若S311的判断结果为是,则执行S312,支付CGI返回第一错误码;然后执行S313,页面弹窗:禁止支付,无法继续支付;若S311的判断结果为否,则执行S314,支付CGI进行支付逻辑的其他校验。
综上所述,本发明实施例提供的数值转移方法,通过网页页面检测终端是否使用代理工具,在发送至服务器的订单参数中增加第一预定字段和第二预定字段,并且将订单参数生成的签名发送给服务器,服务器根据订单参数和签名来对签名进行校验,由于订单参数中的任意字段的值发生变化后,生成的签名也会发生变化,通过对签名进行校验能够有效地发现代理工具对订单参数的修改。另外在服务器检测出订单参数中包含第一预定字段且第一预定字段的值为预定数值时,即服务器检测出执行第一订单对应的数值转移操作时终端使用了代理工具,则服务器禁止继续执行第一订单对应的数值转移操作,从而使得恶意用户通过代理工具进行数值转移操作被禁止,达到了保护普通用户的账户和财产安全的效果。
另外,通过在签名错误时,支付CGI禁止继续执行数值转移操作,使得在订单参数或签名发生变化时,禁止执行数值转移操作,保护普通用户的账户和财产安全。
另外,通过在支付CGI检测到第一订单为使用代理工具的数值转移订单时,将第一订单的订单号记录到数据库中,标记第一订单为目标订单后,若具备相同订单号的第二订单被提交,则支付CGI能够根据订单号查询数据库,快速确定出第二订单为使用代理工具的数值转移订单。
另外,通过在签名校验正确且订单参数中不含第一预定字段或在签名校验正确且订单参数中的第一预定字段不为预定数值时,继续执行数值转移操作的其他校验流程,使得没有使用代理工具的终端的数值转移订单请求能够被正常执行。
图4是本发明一个实施例中提供的数值转移装置的结构方框图,该数值转移装置以应用在图1所示的服务器120中举例说明。如图4所示,该数值转移装置可以包括:第一检测模块410、第二检测模块420和第一发送模块430。
第一检测模块410,用于实现上述步骤205、步骤305以及其他任意隐含或公开的与检测相关的功能。
第二检测模块420,用于实现上述步骤206、步骤308以及其他任意隐含或公开的与检测相关的功能。
第一发送模块430,用于实现上述步骤207、步骤310、步骤314以及其他任意隐含或公开的与发送相关的功能。
可选地,第一检测模块410包括:计算单元、检测单元、第一确定单元和第二确定单元。
计算单元,用于实现上述步骤s1以及其他任意隐含或公开的与计算相关的功能。
检测单元,用于实现上述步骤s2以及其他任意隐含或公开的与检测相关的功能。
第一确定单元,用于实现上述步骤s3以及其他任意隐含或公开的与确定相关的功能。
第二确定单元,用于实现上述步骤s4以及其他任意隐含或公开的与确定相关的功能。
可选地,该数值转移装置还包括:第二发送模块、标记模块、查询模块和校验模块。
第二发送模块,用于实现上述步骤306以及其他任意隐含或公开的与发送相关的功能。
标记模块,用于实现上述步骤309以及其他任意隐含或公开的与标记相关的功能。
查询模块,用于实现上述步骤313以及其他任意隐含或公开的与查询相关的功能。
校验模块,用于实现上述步骤316以及其他任意隐含或公开的与校验相关的功能。
综上所述,本发明实施例提供的数值转移装置,通过网页页面检测终端是否使用代理工具,在发送至服务器的订单参数中增加第一预定字段和第二预定字段,并且将订单参数生成的签名发送给服务器,服务器根据订单参数和签名来对签名进行校验,由于订单参数中的任意字段的值发生变化后,生成的签名也会发生变化,通过对签名进行校验能够有效地发现代理工具对订单参数的修改。另外在服务器检测出订单参数中包含第一预定字段且第一预定字段的值为预定数值时,即服务器检测出执行第一订单对应的数值转移操作时终端使用了代理工具,则服务器禁止继续执行第一订单对应的数值转移操作,从而使得恶意用户通过代理工具进行数值转移操作被禁止,达到了保护普通用户的账户和财产安全的效果。
图5是本发明另一个实施例中提供的数值转移装置的结构方框图,该数值转移装置以应用在图1所示的终端110中举例说明。如图4所示,该数值转移装置可以包括:检测模块510、赋值模块520、计算模块530、第一发送模块540和第一接收模块550。
检测模块510,用于实现上述步骤201、步骤301以及其他任意隐含或公开的与检测相关的功能。
赋值模块520,用于实现上述步骤202、步骤302以及其他任意隐含或公开的与赋值相关的功能。
计算模块530,用于实现上述步骤203、步骤303以及其他任意隐含或公开的与计算相关的功能。
第一发送模块540,用于实现上述步骤204、步骤304以及其他任意隐含或公开的与发送相关的功能。
第一接收模块550,用于实现上述步骤208、步骤311、步骤315以及其他任意隐含或公开的与接收相关的功能。
可选地,该数值转移装置还包括第二接收模块和第二发送模块。
第二接收模块,用于实现上述步骤307以及其他任意隐含或公开的与接收相关的功能。
第二发送模块,用于实现上述步骤312以及其他任意隐含或公开的与发送相关的功能。
可选地,检测模块510包括:检测单元、第一确定单元和第一确定单元。
检测单元,用于实现上述步骤S1以及其他任意隐含或公开的与检测相关的功能。
第一确定单元,用于实现上述步骤S2以及其他任意隐含或公开的与确定相关的功能。
第一确定单元,用于实现上述步骤S3以及其他任意隐含或公开的与确定相关的功能。
综上所述,本发明实施例提供的数值转移装置,通过网页页面检测终端是否使用代理工具,在发送至服务器的订单参数中增加第一预定字段和第二预定字段,并且将订单参数生成的签名发送给服务器,服务器根据订单参数和签名来对签名进行校验,由于订单参数中的任意字段的值发生变化后,生成的签名也会发生变化,通过对签名进行校验能够有效地发现代理工具对订单参数的修改。另外在服务器检测出订单参数中包含第一预定字段且第一预定字段的值为预定数值时,即服务器检测出执行第一订单对应的数值转移操作时终端使用了代理工具,则服务器禁止继续执行第一订单对应的数值转移操作,从而使得恶意用户通过代理工具进行数值转移操作被禁止,达到了保护普通用户的账户和财产安全的效果。
需要说明的是:上述实施例中提供的数值转移装置在转移数值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数值转移装置与数值转移方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明一个实施例中提供的服务器的结构示意图。该服务器可以是图1所示的服务器120。具体来讲:服务器600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述服务器600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入/输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为服务器600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,所述服务器600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器600可以通过连接在所述系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机系统(未示出)。
请参见图7所示,其示出了本发明部分实施例中提供的终端的结构方框图。该终端700用于实施上述实施例提供的数值转移方法。本发明中的终端700可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(RAM)和只读存储器(ROM),用于存储数据和信息的存储器,I/O设备,界面,天线等。具体来讲:
终端700可以包括RF(Radio Frequency,射频)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、WiFi(wireless fidelity,无线保真)模块770、处理器780、电源782、摄像头790等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对终端700的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行终端700的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与终端700的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及终端700的各种菜单。显示单元740可包括显示面板741,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现终端700的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现终端700的输入和输出功能。
终端700还可包括至少一种传感器750,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在终端700移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端700还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与终端700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,终端700通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于终端700的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。
处理器780是终端700的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行终端700的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
终端700还包括给各个部件供电的电源782(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
摄像头790一般由镜头、图像传感器、接口、数字信号处理器、CPU、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与终端主板连接,将采集的图像发送给所述存储器720;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器720。
尽管未示出,终端700还可以包括蓝牙模块等,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行上述数值转移方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种数值转移方法,其特征在于,所述方法包括:
在接收到网页页面发送的第一订单的订单参数和签名后,根据所述订单参数按照预定数字签名规则计算出校验签名,检测所述签名与所述校验签名是否一致,所述订单参数包括签名前的各字段的参数值,所述签名是根据所述订单参数按照所述预定数字签名规则得到的;
当所述签名与所述校验签名一致时,确定所述签名正确;
在所述签名正确时,检测所述订单参数中是否包含第一预定字段,且所述第一预定字段的值为预定数值,所述第一预定字段用于指示是否使用代理工具,所述第一预定字段的值为所述预定数值时表示使用代理工具,所述代理工具是指将被访问的服务器的资源代理为本地资源的工具;
当所述订单参数中包含所述第一预定字段且所述第一预定字段的值为所述预定数值时,向所述网页页面发送第一错误码,并禁止继续执行所述第一订单对应的数值转移操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述签名与所述校验签名不一致时,确定所述签名错误。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述订单参数和所述签名检测所述签名是否正确之后,还包括:
在确定所述签名错误时,向所述网页页面发送第二错误码,并禁止继续执行所述第一订单对应的数值转移操作。
4.根据权利要求1所述的方法,其特征在于,所述向所述网页页面发送第一错误码之前,还包括:
在服务器的数据库中记录所述第一订单的订单号,标记所述订单号对应的所述第一订单为目标订单,所述订单号用于唯一标识所述第一订单,所述目标订单为使用代理工具的数值转移订单;
所述向所述网页页面发送第一错误码之后,还包括:
当接收到第二订单的提交请求时,根据所述第二订单的订单号在所述数据库中查询所述第二订单是否属于所述目标订单;
当所述第二订单属于所述目标订单时,向所述网页页面发送所述第一错误码。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
在所述签名正确且所述订单参数中没有所述第一预定字段时,或在所述签名正确且所述第一预定字段的值不为所述预定数值时,继续执行正常的数值转移的其他校验流程,所述其他校验流程包括校验手续费、校验是否支付成功、校验是否具备支付权限中的至少一种。
6.一种数值转移方法,其特征在于,所述方法包括:
在打开网页页面时,检测终端是否正在运行代理工具,所述代理工具是将被访问的服务器的资源代理为本地资源的工具,所述网页页面是需要检测是否运行所述代理工具的页面;
当所述终端正在运行所述代理工具时,令第一预定字段的值为预定数值,令第二预定字段的值为所述代理工具的名称,所述第一预定字段用于指示是否使用代理工具,所述第二预定字段用于表示所使用的代理工具的名称;
将第一订单的订单参数按照预定数字签名规则计算得到签名,所述订单参数包含所述第一预定字段、所述第二预定字段以及其他的数值转移操作对应字段;
将所述签名和所述订单参数发送给服务器,所述服务器根据所述订单参数按照所述预定数字签名规则计算出校验签名,检测所述签名与所述校验签名是否一致,当所述签名与所述校验签名一致时,确定所述签名正确,在所述签名正确的情况下,若所述第一预定字段的值为所述预定数值,则返回第一错误码,并禁止继续执行所述数值转移操作;
接收所述服务器发送的所述第一错误码,所述第一错误码用于提示禁止继续执行所述数值转移操作。
7.根据权利要求6所述的方法,其特征在于,在所述将所述签名和所述订单参数发送给服务器之后,还包括:
接收所述服务器发送的第二错误码,所述第二错误码用于提示所述签名错误并禁止继续执行所述数值转移操作。
8.根据权利要求6所述的方法,其特征在于,所述接收所述服务器发送的第二错误码之后,还包括:
在提交第二订单时,将所述第二订单的签名和订单参数发送给所述服务器,所述订单参数还包括所述第二订单的订单号,所述订单号用于唯一标识所述第二订单,所述订单号用于触发所述服务器在数据库中查询所述第二订单是否属于目标订单,所述目标订单为使用代理工具的数值转移订单;
接收所述服务器发送的第一错误码,所述第一错误码是所述服务器在查询到所述第二订单属于所述目标订单时发送的。
9.根据权利要求6至8任一所述的方法,其特征在于,所述检测终端是否正在运行代理工具,包括:
检测所述终端的资源管理器中是否运行有目标代理工具,所述目标代理工具是预配置的代理工具列表中的至少一个;
当所述终端的资源管理器中运行有所述目标代理工具时,确定所述终端正在运行所述代理工具;
当所述终端的资源管理器中没有运行任何所述目标代理工具时,确定所述终端没有运行所述代理工具。
10.一种数值转移装置,其特征在于,所述装置包括:
第一检测模块,用于在接收到网页页面发送的第一订单的订单参数和签名后,根据所述订单参数按照预定数字签名规则计算出校验签名,检测所述签名与所述校验签名是否一致,当所述签名与所述校验签名一致时,确定所述签名正确,所述订单参数包括签名前的各字段的参数值,所述签名是根据所述订单参数按照所述预定数字签名规则得到的;
第二检测模块,用于在所述第一检测模块检测到所述签名正确时,检测所述订单参数中是否包含第一预定字段,且所述第一预定字段的值为预定数值,所述第一预定字段用于指示是否使用代理工具,所述第一预定字段的值为所述预定数值时表示使用代理工具,所述代理工具是指将被访问的服务器的资源代理为本地资源的工具;
第一发送模块,用于当所述第二检测模块检测到所述订单参数中包含所述第一预定字段且所述第一预定字段的值为所述预定数值时,向所述网页页面发送第一错误码,并禁止继续执行所述第一订单对应的数值转移操作。
11.根据权利要求10所述的装置,其特征在于,所述第一检测模块,包括:
第二确定单元,用于当所述检测单元检测到所述签名与所述校验签名不一致时,确定所述签名错误。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在所述第二确定单元确定所述签名错误时,向所述网页页面发送第二错误码,并禁止继续执行所述第一订单对应的数值转移操作。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
标记模块,用于在服务器的数据库中记录所述第一订单的订单号,标记所述订单号对应的所述第一订单为目标订单,所述订单号用于唯一标识所述第一订单,所述目标订单为使用代理工具的数值转移订单;
查询模块,用于当接收到第二订单的提交请求时,根据所述第二订单的订单号在所述数据库中查询所述第二订单是否属于所述标记模块标记的所述目标订单;
所述第一发送模块,还用于当所述查询模块查询到所述第二订单属于所述目标订单时,向所述网页页面发送所述第一错误码。
14.根据权利要求10至13任一所述的装置,其特征在于,所述装置还包括:
校验模块,用于在所述第一检测模块检测到所述签名正确且所述第二检测模块检测到所述订单参数中没有所述第一预定字段时,或在所述第一检测模块检测到所述签名正确且所述第二检测模块检测到所述第一预定字段的值不为所述预定数值时,继续执行正常的数值转移的其他校验流程,所述其他校验流程包括校验手续费、校验是否支付成功、校验是否具备支付权限中的至少一种。
15.一种数值转移装置,其特征在于,所述装置包括:
检测模块,用于在打开网页页面时,检测终端是否正在运行代理工具,所述代理工具是将被访问的服务器的资源代理为本地资源的工具,所述网页页面是需要检测是否运行所述代理工具的页面;
赋值模块,用于当所述检测模块检测到所述终端正在运行所述代理工具时,令第一预定字段的值为预定数值,令第二预定字段的值为所述代理工具的名称,所述第一预定字段用于指示是否使用代理工具,所述第二预定字段用于表示所使用的代理工具的名称;
计算模块,用于将第一订单的订单参数按照预定数字签名规则计算得到签名,所述订单参数包含所述第一预定字段、所述第二预定字段以及其他的数值转移操作对应字段;
第一发送模块,用于将所述计算模块得到的所述签名和所述订单参数发送给服务器,所述服务器根据所述订单参数按照所述预定数字签名规则计算出校验签名,检测所述签名与所述校验签名是否一致,当所述签名与所述校验签名一致时,确定所述签名正确,在所述签名正确的情况下,若所述第一预定字段的值为所述预定数值,则返回第一错误码,并禁止继续执行所述数值转移操作;
第一接收模块,用于接收所述服务器发送的所述第一错误码,所述第一错误码用于提示禁止继续执行所述数值转移操作。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述服务器发送的第二错误码,所述第二错误码用于提示所述签名错误并禁止继续执行所述数值转移操作。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在提交第二订单时,将所述第二订单的签名和订单参数发送给所述服务器,所述订单参数还包括所述第二订单的订单号,所述订单号用于唯一标识所述第二订单,所述订单号用于触发所述服务器在数据库中查询所述第二订单是否属于目标订单,所述目标订单为使用代理工具的数值转移订单;
所述第一接收模块,还用于接收所述服务器发送的第一错误码,所述第一错误码是所述服务器在查询到所述第二订单属于所述目标订单时发送的。
18.根据权利要求15至17任一所述的装置,其特征在于,所述检测模块,包括:
检测单元,用于检测所述终端的资源管理器中是否运行有目标代理工具,所述目标代理工具是预配置的代理工具列表中的至少一个;
第一确定单元,用于当所述检测单元检测到所述终端的资源管理器中运行有所述目标代理工具时,确定所述终端正在运行所述代理工具;
第二确定单元,用于当所述检测单元检测到所述终端的资源管理器中没有运行任何所述目标代理工具时,确定所述终端没有运行所述代理工具。
19.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的数值转移方法。
20.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的数值转移方法。
CN201710097347.6A 2017-02-22 2017-02-22 数值转移方法及装置 Active CN108462580B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710097347.6A CN108462580B (zh) 2017-02-22 2017-02-22 数值转移方法及装置
PCT/CN2018/076072 WO2018153288A1 (zh) 2017-02-22 2018-02-09 数值转移方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710097347.6A CN108462580B (zh) 2017-02-22 2017-02-22 数值转移方法及装置

Publications (2)

Publication Number Publication Date
CN108462580A CN108462580A (zh) 2018-08-28
CN108462580B true CN108462580B (zh) 2020-07-07

Family

ID=63220703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710097347.6A Active CN108462580B (zh) 2017-02-22 2017-02-22 数值转移方法及装置

Country Status (2)

Country Link
CN (1) CN108462580B (zh)
WO (1) WO2018153288A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221925A (zh) * 2019-05-13 2019-09-10 平安科技(深圳)有限公司 数据提交请求的处理方法、装置和计算机设备
CN111193595B (zh) * 2019-11-28 2023-05-09 腾讯云计算(北京)有限责任公司 电子签名的错误检测方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009005A (zh) * 2006-01-24 2007-08-01 中国电信股份有限公司 保障基于互联网的支付安全的方法、系统和平台
CN104170425A (zh) * 2012-03-14 2014-11-26 海德沃特合作I有限公司 通过动态选择的接入网进行移动设备激活
CN104902481A (zh) * 2015-06-30 2015-09-09 北京奇虎科技有限公司 一种可以免流量的安全接管方法
CN105955743A (zh) * 2016-04-29 2016-09-21 腾讯科技(深圳)有限公司 资源数值转移请求生成的方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117303A1 (en) * 2002-12-16 2004-06-17 Hermogenes Gamboa Apparatus and anonymous payment system (ASAP) for the internet and other networks
CN101378312B (zh) * 2007-08-31 2011-07-20 中国电信股份有限公司 基于宽带网络的安全支付控制系统和方法
CN102073953A (zh) * 2009-11-24 2011-05-25 阿里巴巴集团控股有限公司 一种网上支付方法及系统
SG10201706477YA (en) * 2011-07-15 2017-09-28 Mastercard International Inc Methods and systems for payments assurance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009005A (zh) * 2006-01-24 2007-08-01 中国电信股份有限公司 保障基于互联网的支付安全的方法、系统和平台
CN104170425A (zh) * 2012-03-14 2014-11-26 海德沃特合作I有限公司 通过动态选择的接入网进行移动设备激活
CN104902481A (zh) * 2015-06-30 2015-09-09 北京奇虎科技有限公司 一种可以免流量的安全接管方法
CN105955743A (zh) * 2016-04-29 2016-09-21 腾讯科技(深圳)有限公司 资源数值转移请求生成的方法、装置和系统

Also Published As

Publication number Publication date
WO2018153288A1 (zh) 2018-08-30
CN108462580A (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
US9703971B2 (en) Sensitive operation verification method, terminal device, server, and verification system
KR102146388B1 (ko) 지능 설비를 조종하는 방법, 장치, 시스템과 기억 매체
CN108345543B (zh) 一种数据处理方法、装置、设备及存储介质
CN110869907B (zh) 一种浏览应用页面的方法及终端
CN108920366B (zh) 一种子应用调试方法、装置及系统
CN108475304B (zh) 一种关联应用程序和生物特征的方法、装置以及移动终端
CN107766747B (zh) 校验应用程序安装包完整性的方法、移动终端及服务器
CN105678553A (zh) 一种处理订单信息的方法、装置和系统
CN110196795B (zh) 检测移动终端应用运行状态的方法及相关装置
CN111597542B (zh) 验证信息共享方法、装置及电子设备及存储介质
CN111355732B (zh) 链接检测方法、装置、电子设备及存储介质
CN113821803B (zh) 安全架构系统、安全管理方法和计算设备
CN108090345B (zh) linux系统外部命令执行方法及装置
CN108737638A (zh) 应用控制方法、装置、移动终端及计算机可读介质
CN111866885A (zh) 验证信息共享方法、装置及电子设备
CN109451130A (zh) 移动终端测试方法、装置、移动终端及存储介质
CN108462580B (zh) 数值转移方法及装置
CN114528598A (zh) 文件系统的文件完整性的确定方法、装置及电子设备
WO2015101254A1 (zh) 一种信息交互的方法、装置及系统
CN106709330B (zh) 记录文件执行行为的方法及装置
EP4187420A1 (en) Resource management method, computing device, computing equipment, and readable storage medium
CN111209031A (zh) 一种数据获取方法、装置、终端设备及存储介质
CN111177612A (zh) 一种页面登录鉴权的方法及相关装置
CN110225106A (zh) 一种数据传输方法、装置及存储介质
CN107995150B (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
GR01 Patent grant
GR01 Patent grant