CN107493250B - 一种对网页请求进行鉴权的方法、客户端及服务器 - Google Patents
一种对网页请求进行鉴权的方法、客户端及服务器 Download PDFInfo
- Publication number
- CN107493250B CN107493250B CN201610409396.4A CN201610409396A CN107493250B CN 107493250 B CN107493250 B CN 107493250B CN 201610409396 A CN201610409396 A CN 201610409396A CN 107493250 B CN107493250 B CN 107493250B
- Authority
- CN
- China
- Prior art keywords
- information
- authentication
- server
- request
- client
- 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
Links
Images
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/12—Applying verification of the received information
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种对网页请求进行鉴权的方法、客户端及服务器,其中所述方法包括:服务器接收客户端发送的网页请求;判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;若是,则采用所述第一鉴权信息对所述网页请求进行鉴权;若否,则在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权,其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息。本申请实施例可以在对网页鉴权时降低客户端的计算开销,提高请求效率。
Description
技术领域
本申请涉及数据安全技术领域,特别是涉及一种对网页请求进行鉴权的方法,一种对网页请求进行鉴权的服务器,以及,一种对网页请求进行鉴权的客户端。
背景技术
鉴权(authentication)是指验证用户是否拥有访问系统的权利,很多网页访问都有鉴权需求,用户希望服务器通过设置一些规则来过滤请求是否合法,保护用户隐私。像视频和下载的用户,如果没有有效的鉴权手段保护,非法的盗链会造成内容的泄露,以及额外的带宽成本。
现有技术中,网页鉴权一般是针对URL做鉴权,其实现过程可以为:
(1)客户端和服务端约定一个私钥,通过事先确定的算法,对一些关键字段和密钥进行拼装,对拼装后的字符串进行加密(如MD5加密),得到token,并将token封装在URL的GET参数或者BODY体中,向服务端发送请求。
(2)服务端收到请求之后,从请求中获取字段,按照相同的算法进行运算token,如果两者的结果一致,则认为请求有效,返回具体内容,否则鉴权失败,返回HTTP 403。
通过上述方法,客户端如果想使用鉴权,需要按照服务器的要求,对URL进行鉴权信息封装,而一般的鉴权方案都会包含URL和失效时间,这样会导致客户端对每个不同的URL在不同的时刻都需要进行重新计算,客户端计算开销较大。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种对网页请求进行鉴权的机制,用以在对网页鉴权时降低客户端的计算开销,提高请求效率。
发明内容
本申请实施例所要解决的技术问题是提供一种对网页请求进行鉴权的方法,用以在对网页鉴权时降低客户端的计算开销,提高请求效率。
相应的,本申请实施例还提供了一种对网页请求进行鉴权的服务器以及一种对网页请求进行鉴权的客户端,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种对网页请求进行鉴权的方法,所述方法包括:
服务器接收客户端发送的网页请求;
判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;
若是,则采用所述第一鉴权信息对所述网页请求进行鉴权;
若否,则在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权,其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息。
优选地,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表;
所述采用所述第一鉴权信息对所述网页请求进行鉴权的步骤包括:
校验所述第一鉴权信息的格式是否正确;
若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
若所述第三验证信息与所述第一验证信息一致,则鉴权通过;
若所述第三验证信息与所述第一验证信息不一致,则鉴权不通过。
优选地,所述网页请求还包括统一资源标识符;
所述依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息的步骤包括:
获取所述客户端的IP地址信息;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
优选地,所述方法还包括:
当采用所述第一鉴权信息对所述网页请求进行鉴权时,若所述鉴权通过,则生成第二鉴权信息;
将所述第二鉴权信息返回所述客户端。
优选地,采用如下方式生成所述第二鉴权信息:
确定文件路径信息;
对所述客户端的IP地址信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第二验证信息;
对所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
优选地,所述在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权的步骤包括:
在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
若所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中,则判定鉴权通过;
若所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中,则鉴权不通过。
优选地,在所述判断所述网页请求是否携带第一鉴权信息的步骤之前,所述方法还包括:
判断所述网页请求是否开启鉴权功能;
若所述网页请求开启鉴权功能,则执行所述判断所述网页请求是否携带第一鉴权信息的步骤。
本申请实施例还公开了一种对网页请求进行鉴权的方法,所述方法包括:
客户端判断是否接收到服务器发送的第二鉴权信息,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;
若否,则获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求,其中,所述第一鉴权信息包括第一验证信息;
若是,则依据所述第二鉴权信息生成第二网页请求;
将所述第一网页请求或所述第二网页请求发送至服务器,促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权。
优选地,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表。
优选地,所述第一验证信息采用如下方式获取:
确定客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
本申请实施例还公开了一种对网页请求进行鉴权的服务器,所述服务器包括:
请求接收模块,用于接收客户端发送的网页请求;
判断模块,用于判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;若是,则调用第一鉴权模块,若否,则调用第二鉴权模块;
第一鉴权模块,用于采用所述第一鉴权信息对所述网页请求进行鉴权;
第二鉴权模块,用于在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权,其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息。
优选地,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表;
所述第一鉴权模块包括:
格式校验子模块,用于校验所述第一鉴权信息的格式是否正确;
第一时间校验子模块,用于若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
第一失效判断子模块,用于在所述有效时间信息小于服务器本地的时间时,判定所述网页请求失效;
第一计算子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
第一判定子模块,用于在所述第三验证信息与所述第一验证信息一致时,判定鉴权通过;
第二判定子模块,用于在所述第三验证信息与所述第一验证信息不一致时,判定鉴权不通过。
优选地,所述网页请求还包括统一资源标识符;
所述第一计算子模块还用于:
获取所述客户端的IP地址信息;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
优选地,所述服务器还包括:
第二鉴权信息生成模块,用于在采用所述第一鉴权信息对所述网页请求进行鉴权时,若所述鉴权通过,则生成第二鉴权信息;
第二鉴权信息发送模块,用于将所述第二鉴权信息返回所述客户端。
优选地,采用如下方式生成所述第二鉴权信息:
确定文件路径信息;
对所述客户端的IP地址信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第二验证信息;
对所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
优选地,所述第二鉴权模块包括:
解码子模块,用于在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
第二时间校验子模块,用于将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
第一失效判断子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
第三判定子模块,用于在所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中时,判定鉴权通过;
第四判定子模块,用于在所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中时,判定鉴权不通过。
优选地,所述服务器还包括:
鉴权开启模块,用于判断所述网页请求是否开启鉴权功能,并在判定所述网页请求开启鉴权功能时,调用判断模块。
本申请实施例还公开了一种对网页请求进行鉴权的客户端,所述客户端包括:
信息判断模块,用于判断是否接收到服务器发送的第二鉴权信息,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;若否,则调用第一请求生成模块;若是,则调用第二请求生成模块;
第一请求生成模块,用于获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求,其中,所述第一鉴权信息包括第一验证信息;
第二请求生成模块,用于依据所述第二鉴权信息生成第二网页请求;
请求发送模块,用于将所述第一网页请求或所述第二网页请求发送至服务器,促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权。
优选地,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表。
优选地,所述第一验证信息采用如下方式获取:
确定客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
与背景技术相比,本申请实施例包括以下优点:
在本申请实施例中,服务器接收到客户端发送的网页请求以后,可以主动对网页请求进行鉴权,并在该网页请求为首次网页请求时,若该网页请求鉴权通过,主动生成包含第二验证信息的第二鉴权信息,提高了服务器的灵活度。并且,由于客户端针对后续请求直接采用第二鉴权信息生成网页请求,无需针对每个URL做重复的计算,大大降低客户端在鉴权时的计算开销,提升请求效率。
附图说明
图1是本申请的一种对网页请求进行鉴权的方法实施例一的步骤流程图;
图2是本申请的一种对网页请求进行鉴权的方法实施例二的步骤流程图;
图3是本申请的一种对网页请求进行鉴权的方法实施例三的步骤流程图;
图4是本申请的一种对网页请求进行鉴权的服务器实施例的结构框图;
图5是本申请的一种对网页请求进行鉴权的客户端实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种对网页请求进行鉴权的方法实施例一的步骤流程图,所述方法可以包括如下步骤:
步骤101,服务器接收客户端发送的网页请求;
在具体实现中,客户端与服务器之间可以通过HTTP协议(HTTP-Hypertexttransfer protocol,超文本传送协议)进行通信。
HTTP协议定义了浏览器(即万维网客户进程,客户端)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP面向应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
基于HTTP协议,客户端发送至服务器中的网页请求可以包括如下信息:HTTP请求行(RequestLine)、(请求)头(RequestHeader)、空行、可选的消息体等。
其中,RequestLine用于向服务器申明请求方式(METHOD,例如,GET、POST、PUSH、DELETE等)、请求的URL资源(path-to-resource)以及协议类型和版本(HTTP/Version-number)。
RequestHeader中可以包含许多有关的客户端环境和请求正文的有用信息,例如,可以包括如下字段:Host(表示请求服务器地址(域名/ip))、Connection(表示是否需要持久连接)、Accept(指定客户端能够接受的内容类型)、User-Agent(表示请求的客户端浏览器详细信息)、Accept-Encoding(浏览器能处理的编码)、Accept-Language(客户端申明自己所能接收的语言)、Cookie(浏览器在请求时如果本地存在请求服务器的资源的Cookie信息时,则在Request的时候将会带上这对Cookie信息,帮助服务器识别是否是历史访问人员),等等。
空行表示请求头已经结束,接下来的是请求正文(消息体)。
消息体中可以包含用户提交的查询字符串信息。
应用于本申请实施例,(请求)头(RequestHeader)中还可以包含第一鉴权信息或者第二鉴权信息。
具体的,第一鉴权信息是客户端生成的,并封装在所述网页请求中的信息。第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表等,则第一鉴权信息auth_key可以表示为如下形式:token(第一验证信息)-timestamp(有效时间信息)-index(密钥索引信息)-filelist(可放行文件列表)。
具体的,timestamp是网页请求的有效时间信息,代表在这个时刻之后该网页请求失效,可由用户按需设置。
PrivateKey[index]是和服务器协商的密钥,该密钥为私钥,可以事先协商多个私钥,通过index指定使用第几个私钥,默认从0开始。
filelist是客户端指定的后续希望放行的文件(URI)列表,可以包含*通配符,列表中的内容可由用户按需设置。
第一验证信息token是客户端计算获得的用于对数据完整性进行校验的信息。在一种所述实施方式中,第一验证信息可以采用如下方式获取:获取客户端的IP地址信息ClientIp,获取统一资源标识符URI;对所述ClientIp、所述URI、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第一验证信息。
在实际中,ClientIp格式是A.B.C.D的形式,可以配置成可选字段。
URI是网页请求中的URL去除参数之后的地址,也就是访问对象的文件路径。
在具体实现中,该哈希运算可以为MD5(Message-Digest Algorithm 5,信息-摘要算法5)sum算法,md5sum命令用于生成和校验文件的md5值,它会逐位对文件的内容进行校验,是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。
在计算第一验证信息token前,首先构建token的字符串HashValue为:HashValue=ClientIp-URI-timestamp-PrivateKey[index]-filelist。然后对该字符串HashValue进行MD5sum运算(MD5sum(HashValue)),得到第一验证信息token。
例如,若ClientIp为“127.0.0.1”,URI为“/1.html”,timestamp为“1400000000”,PrivateKey[index]为“123456”,filelist为“2.html”,则HashValue=“127.0.0.1-/1.html-1400000000-123456-2.html”,进一步的,token=Md5sum(HashValue)=a32f993e0314d07873f2bdd3b223239b。
需要说明的是,上述计算token的方式仅仅是本申请实施例的一种示例,本领域技术人员采用其他方式计算token均是可以的,本申请实施例对此不作限制。
客户端获得第一鉴权信息auth_key以后,可以将该auth_key添加到请求头中,生成网页请求。在实际中,除了可以将第一鉴权信息添加到请求头中,还可以将其添加到请求行中,本申请实施例对此不作限制。
在具体实现中,在请求资源中添加了第一鉴权信息auth_key以后,URL可以表示为http://server/uri?auth_key=token-timestamp-index-filelist。
例如,当在请求资源中添加了auth_key=a32f993e0314d07873f2bdd3b223239b-1400000000-0-2.html以后,得到的URL可以为:http://localhost/1.html?auth_key=a32f993e0314d07873f2bdd3b223239b-1400000000-0-2.html。
需要说明的是,根据第一鉴权信息生成的网页请求通常为该客户端首次向服务器发送的网页请求。
第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息,关于第二鉴权信息将在下文中进行详细说明。
客户端获得网页请求以后,可以通过HTTP协议将该网页请求发送至服务器。步骤102,判断所述网页请求是否携带第一鉴权信息,若是,则执行步骤103,若否,则执行步骤104;
服务器接收到网页请求以后,判断该网页请求中是否携带第一鉴权信息,如果该网页请求中携带第一鉴权信息,则服务器可以判定该网页请求为客户端首次发送的请求。
如果该网页请求中没有携带第一鉴权信息,则服务器可以判定该网页请求为客户端后续发送的请求(即不是首次请求,携带第二鉴权信息的情况,关于第二鉴权信息详见下文)或为非法请求(没有携带第一鉴权信息,也没有携带第二鉴权信息的情况)。
在具体实现中,服务器在判断网页请求是否携带第一鉴权信息以前,可以首先判断该网页请求是否开启鉴权功能。
在一种实施方式中,网页请求中可以包括域名信息以及统一资源标识符URI,服务器从网页请求中获得对应的域名信息和/或URI以后,可以依据该域名信息和/或URI判断该网页请求是否开启鉴权功能。
在具体实现中,服务器侧可以创建一配置文件,该配置文件中可以包括多个需要鉴权验证的指定的主机域名和/或URI。当服务器获得网页请求的域名信息和/或URI以后,可以在配置文件中匹配该域名信息和/或URI,若在配置文件中存储有与该域名信息和/或URI一致的信息,则可以判定该网页请求开通了鉴权功能,此时,可以采用本申请实施例的方法对网页请求进行鉴权验证。否则,若在配置文件中没有找到与该域名信息和/或URI一致的信息,则可以判定该网页请求没有开启鉴权功能,此时,可以不需要对网页请求进行鉴权。
需要说明的是,本申请实施例上述配置文件中除了设置域名信息和URI以外,还可以设置其他信息,例如,客户端的IP地址等,并且,除了可以设置配置文件以筛选出部分网页请求进行鉴权以外,还可以不设置配置文件,对接收到的所有网页请求进行鉴权,本申请实施例对此不作限制。
步骤103,采用所述第一鉴权信息对所述网页请求进行鉴权;
如果网页请求中携带第一鉴权信息,则在服务器侧可以采用该第一鉴权信息对网页请求进行鉴权。
在本申请实施例的一种优选实施例中,步骤103可以包括如下子步骤:
子步骤S11,校验所述第一鉴权信息的格式是否正确;
服务器获得第一鉴权信息以后,可以从该第一鉴权信息中获得第一验证信息token、有效时间信息timestamp、密钥索引信息PrivateKey[index]、可放行文件列表filelist等信息,此时,服务器可以首先判断该第一鉴权信息的格式是否正确。例如,可以判断第一鉴权信息是否包含token、timestamp,PrivateKey[index],filelist等字段,并且字段之间用‘-’分隔,若是,则判定该第一鉴权信息的格式正确,可以进行下一个步骤。否则,判定该第一鉴权信息的格式有误,拒绝该网页请求。
子步骤S12,若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
子步骤S13,若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
子步骤S14,若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
若第一鉴权信息的格式正确,可以进一步将有效时间信息与服务器本地的时间进行比较,以进行网页请求的时效性验证。
若有效时间信息小于服务器本地的时间,说明有效时间信息已经过去,该网页请求已经失效。
若有效时间信息大于或等于服务器本地的时间,说明有效时间信息到达或还没到达,该网页请求有效,此时,服务器可以执行子步骤S14,计算第三验证信息。
在本申请实施例的一种优选实施例中,子步骤S14进一步可以包括如下子步骤:
子步骤S141,获取所述客户端的IP地址信息;
子步骤S142,对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
客户端向服务器发送网页请求时,服务器可以获取客户端的IP地址信息,并对客户端的IP地址信息、URI、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第三验证信息。
该第三验证信息的计算方式与上述第一验证信息的计算方式相同,首先服务器可以构建token字符串HashValue为:HashValue=ClientIp-URI-timestamp-PrivateKey[index]-filelist,然后对该字符串进行MD5sum运算,得到第三验证信息。
子步骤S15,若所述第三验证信息与所述第一验证信息一致,则鉴权通过;
子步骤S16,若所述第三验证信息与所述第一验证信息不一致,则鉴权不通过。
服务器得到第三验证信息以后,将该第三验证信息与网页请求中携带的第一验证信息进行比较,若两者一致,则鉴权通过。若两者不一致,则鉴权失败,服务器拒绝该网页请求。
需要说明的是,上述子步骤S11-子步骤S15这些操作可以不按照其在本实施例中出现的顺序来执行或并行执行,操作的序号如S11、S12等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序,只要其都满足条件(也可以用正则表达式的形式进行判断)即可以判断网页请求通过鉴权。
应用于本申请实施例,当服务器对网页请求鉴权通过以后,服务器可以生成针对后续请求的第二鉴权信息,并通过响应信息将第二鉴权信息以及与网页请求对应的对象内容返回客户端。
与网页请求类似,服务器向客户端返回的响应信息可以包括如下信息:HTTP状态行(ResponseLine)、(应答)头(ResponsetHeader)、空行、可选的消息体等。
其中,ResponseLine包括协议版本HTTP/version-number、状态码status code、返回状态消息message等信息。
ResponsetHeader表示允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息,可以包括如下字段:Content-Encoding(文档的编码方法)、Content-Length(内容长度)、Content-Type(表示后面的文档属于什么MIME类型)、Last-Modified(文档的最后改动时间)、Set-Cookie(设置和页面关联的Cookie),等等。
应用于本申请实施例,可以将第二鉴权信息存储在Set-Cookie字段中。
在本申请实施例的一种优选实施例中,可以采用如下方式生成所述第二鉴权信息:确定文件路径信息,将所述客户端的IP地址信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第二验证信息;对该第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
在具体实现中,文件路径信息path用于控制哪些访问能够触发cookie的发送,可以从URI中获取文件路径信息path,例如,若某个URI为“/1.html”,则文件路径信息为“/”。
当获得文件路径信息path以后,服务器可以计算第二验证信息,该第二验证信息的计算方式与上述第一验证信息或第三验证信息的计算方式类似,将第一验证信息中的URI替换为path即可,例如,服务器可以构建第二验证信息的字符串HashValue为:HashValue=ClientIp-path-timestamp-PrivateKey[index]-filelist,然后对该字符串进行MD5sum运算,得到第二验证信息。
得到第二验证信息以后,服务器可以通过Set-Cookie设置客户端的Cookie信息,在具体实现中,服务器可以对该第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行64位的编码运算,得到所述第二鉴权信息,即Set-Cookie:auth_key=base64encode(token?path?timestamp?index?filelist)。
服务器得到第二鉴权信息以后,可以将该64位编码的第二鉴权信息通过响应信息返回客户端,则客户端后续的保存在可放行文件列表中的网页请求都可以携带Cookie请求头。
步骤104,在判定所述网页请求携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权。
另一方面,若网页请求中不包含第一鉴权信息,则服务器进一步判断该网页请求是否包含第二鉴权信息,若该网页请求包含第二鉴权信息,则判定该网页请求不是首次请求,而是后续请求,此时,可以采用该第二鉴权信息对网页请求进行鉴权。
在本申请实施例的一种优选实施例中,步骤104进一步可以包括如下子步骤:
子步骤S21,在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
由于客户端传递给服务器的是64位的编码的第二鉴权信息,服务器收到第二鉴权信息以后,对该第二鉴权信息进行解码,获得对应的第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表。
子步骤S22,将所述有效时间信息与服务器本地的时间进行比较;
子步骤S23,若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
子步骤S24,若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
随后,服务器可以进一步将有效时间信息与服务器本地的时间进行比较,以进行网页请求的时效性验证。
若有效时间信息小于服务器本地的时间,说明有效时间信息已经过去,该网页请求已经失效。
若有效时间信息大于或等于服务器本地的时间,说明有效时间信息到达或还没到达,该网页请求有效,此时,服务器可以执行子步骤S24,计算第四验证信息。
该第四验证信息的计算方式与上述第二验证信息的计算方式相同,可以参照上述第二验证信息的描述,本申请实施例在此不再赘述了。
子步骤S25,若所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中,则判定鉴权通过;
子步骤S26,若所述第四验证信息与所述第二验证信息不一致,或者,所述网页请求中携带的统一资源标识符不在所述可放行文件列表中,则鉴权不通过。
服务器得到第四验证信息以后,将该第四验证信息与第二鉴权信息解码后得到的第二验证信息进行比较,若两者一致,则进一步判断该网页请求中携带的URI是否在所述可放行文件列表中,若是,则判定鉴权通过,此时,服务器可以向客户端返回与网页请求对应的对象内容。
若所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中,则鉴权失败,服务器拒绝该网页请求。
本申请实施例在对网页请求进行鉴权时,通过第二鉴权信息格式判断、有效时间信息、验证信息token一致性判断、可放行文件列表等多维因素进行鉴权,保证了鉴权的可靠性。
需要说明的是,上述子步骤S21-子步骤S26这些操作可以不按照其在本实施例中出现的顺序来执行或并行执行,操作的序号如S21、S26等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序,只要其都满足条件即可以判断网页请求通过鉴权。
在本申请实施例中,服务器接收到客户端发送的网页请求以后,可以主动对网页请求进行鉴权,并在该网页请求为首次网页请求时,若该网页请求鉴权通过,主动生成包含第二验证信息的第二鉴权信息,提高了服务器的灵活度。并且,由于客户端针对后续请求直接采用第二鉴权信息生成网页请求,无需针对每个URL做重复的计算,大大降低客户端在鉴权时的计算开销,提升请求效率。
参照图2,示出了本申请的一种对网页请求进行鉴权的方法实施例二的步骤流程图,所述方法可以包括如下步骤:
步骤201,客户端判断是否接收到服务器发送的第二鉴权信息,若否,则执行步骤202;若是,则执行步骤203;
所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息。
步骤202,获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求;
其中,所述第一鉴权信息包括第一验证信息。
步骤203,依据所述第二鉴权信息生成第二网页请求;
步骤204,将所述第一网页请求或所述第二网页请求发送至服务器。
促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权。
在本申请实施例的一种优选实施例中,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表。
在本申请实施例的一种优选实施例中,所述第一验证信息采用如下方式获取:
获取客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
在本申请实施例中,客户端在首次向服务器发出网页请求时,可以依据获取的第一鉴权信息生成网页请求,后续的网页请求,可以直接依据服务器返回的第二鉴权信息生成网页请求,无需针对每个网页请求重复计算第一鉴权信息,大大降低客户端在鉴权时的计算开销,提升请求效率。
参照图3,示出了本申请的一种对网页请求进行鉴权的方法实施例三的步骤流程图,所述方法可以包括如下步骤:
步骤301,客户端获取第一鉴权信息;
作为本申请实施例的一种优选示例,第一鉴权信息auth_key至少可以包括如下信息:第一验证信息token、有效时间信息timestamp、密钥索引信息PrivateKey[index]、可放行文件列表filelist等,则第一鉴权信息auth_key可以表示为如下形式:token-timestamp-index-filelist。
具体的,timestamp是网页请求的有效时间信息,代表在这个时刻之后该网页请求失效,可由用户按需设置。
PrivateKey[index]是和服务器协商的密钥,该密钥为私钥,可以事先协商多个私钥,通过index指定使用第几个私钥,默认从0开始。
filelist是客户端指定的后续希望放行的文件(URI)列表,可以包含*通配符,列表中的内容可由用户按需设置。
第一验证信息token是客户端计算获得的用于对数据完整性进行校验的信息,在一种所述实施方式中,第一验证信息可以采用如下方式获取:
获取客户端的IP地址信息,获取统一资源标识符;对所述客户端的IP地址信息、统一资源标识符、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第一验证信息。
在实际中,客户端的IP地址信息ClientIp格式是A.B.C.D的形式,可以配置成可选字段。
统一资源标识符URI是网页请求中的URL去除参数之后的地址,也就是访问对象的文件路径。
在具体实现中,该哈希运算可以为MD5(Message-Digest Algorithm 5,信息-摘要算法5)sum算法,md5sum命令用于生成和校验文件的md5值,它会逐位对文件的内容进行校验,是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。
在计算第一验证信息token前,首先构建token字符串HashValue为:HashValue=ClientIp-URI-timestamp-PrivateKey[index]-filelist。然后对该字符串HashValue进行MD5sum运算,得到第一验证信息token。
例如,若ClientIp为“127.0.0.1”,URI为“/1.html”,timestamp为“1400000000”,PrivateKey[index]为“123456”,filelist为“2.html”,则HashValue=“127.0.0.1-/1.html-1400000000-123456-2.html”,进一步的,token=Md5sum(HashValue)=a32f993e0314d07873f2bdd3b223239b。
需要说明的是,上述计算token的方式仅仅是本申请实施例的一种示例,本领域技术人员采用其他方式计算token均是可以的,本申请实施例对此不作限制。
步骤302,客户端依据所述第一鉴权信息生成第一网页请求,并将所述第一网页请求发送至服务器;
客户端获得第一鉴权信息auth_key以后,可以将该auth_key添加到请求头中,生成第一网页请求。在实际中,除了可以将第一鉴权信息添加到请求头中,还可以将其添加到请求行中,本申请实施例对此不作限制。
在具体实现中,在请求资源中添加了第一鉴权信息auth_key以后,URL可以表示为:http://server/uri?auth_key=token-timestamp-index-filelist。
例如,当在请求资源中添加了auth_key=a32f993e0314d07873f2bdd3b223239b-1400000000-0-2.html以后,得到的URL可以为:http://localhost/1.html?auth_key=a32f993e0314d07873f2bdd3b223239b-1400000000-0-2.html。
需要说明的是,第一网页请求为该客户端首次向服务器服务器发送的网页请求。
客户端获得第一网页请求以后,可以通过HTTP协议将该第一网页请求发送至服务器。
步骤303,服务器判断所述第一网页请求是否携带第一鉴权信息;
服务器接收到第一网页请求以后,判断该第一网页请求是否携带第一鉴权信息,如果该第一网页请求中携带第一鉴权信息,则服务器可以判定该第一网页请求为客户端首次发送的请求。
如果该第一网页请求中没有携带第一鉴权信息,则服务器可以判定该第一网页请求为客户端后续发送的请求(即不是首次请求,携带第二鉴权信息的情况)或为非法请求(没有携带第一鉴权信息,也没有携带第二鉴权信息的情况)。
在具体实现中,服务器在判断第一网页请求是否携带第一鉴权信息以前,可以首先判断该第一网页请求是否开启鉴权功能。
在一种实施方式中,第一网页请求中可以包括域名信息以及URI,服务器从第一网页请求中获得对应的域名信息和/或URI以后,可以依据该域名信息和/或URI判断第一网页请求是否开启鉴权功能。
在具体实现中,服务器侧可以创建一配置文件,该配置文件中可以包括多个需要鉴权验证的指定的主机域名和/或URI。当服务器获得该第一网页请求的域名信息和/或URI以后,可以在配置文件中匹配该域名信息和/或URI,若在配置文件中存储有与该域名信息和/或URI一致的信息,则可以判定该第一网页请求开通了鉴权功能,此时,可以采用本申请实施例的方法对第一网页请求进行鉴权验证。否则,若在配置文件中没有找到与该域名信息和/或URI一致的信息,则可以判定该第一网页请求没有开启鉴权功能,此时,可以不需要对网页请求进行鉴权。
需要说明的是,本申请实施例上述配置文件中除了设置域名信息和URI以外,还可以设置其他信息,例如,客户端的IP地址等,并且,除了可以设置配置文件以筛选出部分网页请求进行鉴权以外,还可以不设置配置文件,对接收到的所有网页请求进行鉴权,本申请实施例对此不作限制。
步骤304,若该第一网页请求携带第一鉴权信息,则服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权;
如果第一网页请求中携带第一鉴权信息,则在服务器侧可以采用该第一鉴权信息对第一网页请求进行鉴权。
在本申请实施例的一种优选实施例中,步骤304可以包括如下子步骤:
子步骤S31,校验所述第一鉴权信息的格式是否正确;
服务器获得第一鉴权信息以后,可以从该第一鉴权信息中获得第一验证信息token、有效时间信息timestamp、密钥索引信息PrivateKey[index]、可放行文件列表filelist等信息,此时,服务器可以首先判断该第一鉴权信息的格式是否正确。例如,可以判断第一鉴权信息是否包含token、timestamp,PrivateKey[index],filelist等字段,并且字段之间用‘-’分隔,若是,则判定该第一鉴权信息的格式正确,可以进行下一个步骤。否则,判定该第一鉴权信息的格式有误,拒绝该网页请求。
子步骤S32,若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
子步骤S33,若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
子步骤S34,若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
若第一鉴权信息的格式正确,可以进一步将有效时间信息与服务器本地的时间进行比较,以进行第一网页请求的时效性验证。
若有效时间信息小于服务器本地的时间,说明有效时间信息已经过去,该第一网页请求已经失效。
若有效时间信息大于或等于服务器本地的时间,说明有效时间信息到达或还没到达,该第一网页请求有效,此时,服务器可以执行子步骤S34,计算第三验证信息。
在本申请实施例的一种优选实施例中,子步骤S34进一步可以包括如下子步骤:
子步骤S341,获取所述客户端的IP地址信息;
子步骤S342,对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
客户端向服务器发送第一网页请求时,服务器可以获取客户端的IP地址信息,并对客户端的IP地址信息、URI、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第三验证信息。
该第三验证信息的计算方式与上述第一验证信息的计算方式相同,首先服务器可以构建token字符串HashValue为:HashValue=ClientIp-URI-timestamp-PrivateKey[index]-filelist,然后对该字符串进行MD5sum运算,得到第三验证信息。
子步骤S35,若所述第三验证信息与所述第一验证信息一致,则鉴权通过;
子步骤S36,若所述第三验证信息与所述第一验证信息不一致,则鉴权不通过。
服务器得到第三验证信息以后,将该第三验证信息与第一网页请求中携带的第一验证信息进行比较,若两者一致,则鉴权通过。若两者不一致,则鉴权失败,服务器拒绝该第一网页请求。
需要说明的是,上述子步骤S31-子步骤S35这些操作可以不按照其在本实施例中出现的顺序来执行或并行执行,操作的序号如S31、S32等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序,只要其都满足条件(也可以用正则表达式的形式进行判断)即可以判断第一网页请求通过鉴权。
步骤305,若所述鉴权通过,则服务器生成第二鉴权信息,并将所述第二鉴权信息返回所述客户端;
应用于本申请实施例,当服务器对第一网页请求鉴权通过以后,服务器可以生成针对后续请求的第二鉴权信息,并通过响应信息将第二鉴权信息以及与第一网页请求对应的对象内容返回客户端。
应用于本申请实施例,可以将第二鉴权信息存储在响应头的Set-Cookie字段中。
在本申请实施例的一种优选实施例中,可以采用如下方式生成所述第二鉴权信息:确定文件路径信息,将所述客户端的IP地址信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行哈希运算,得到第二验证信息;对该第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
在具体实现中,可以从URI中获取文件路径信息path,例如,若某个URI为“/1.html”,则其文件路径信息为“/”。
当获得path以后,服务器可以计算第二验证信息,该第二验证信息的计算方式与上述第一验证信息或第三验证信息的计算方式类似,只是将第一验证信息中的URI参数替换为path参数,例如,服务器可以构建第二验证信息的字符串HashValue为:HashValue=ClientIp-path-timestamp-PrivateKey[index]-filelist,然后对该字符串进行MD5sum运算,得到第二验证信息。
得到第二验证信息以后,服务器可以通过Set-Cookie设置客户端的Cookie信息,在具体实现中,服务器可以对该第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表进行64位的编码运算,得到所述第二鉴权信息,即Set-Cookie:auth_key=base64encode(token?path?timestamp?index?filelist)。
服务器得到第二鉴权信息以后,可以将该64位编码的第二鉴权信息通过响应信息返回客户端,则客户端后续的保存在可放行文件列表中的第二网页请求都可以携带Cookie请求头。
步骤306,客户端依据所述第二鉴权信息生成第二网页请求,并将所述第二网页请求发送至服务器;
应用于本申请实施例,客户端接收到第二鉴权信息以后,针对可放行文件列表中的URI,可以依据该第二鉴权信息生成第二网页请求,并将该第二网页请求发送至服务器。
具体的,针对可放行文件列表中的URI,客户端可以直接将第二鉴权信息放置在请求头的cookie字段中,以生成第二网页请求,而无需重新计算第一鉴权信息,也无需重构URL,大大的节省了客户端的计算成本。
步骤307,服务器在判定所述网页请求携带第二鉴权信息时,采用所述第二鉴权信息对所述第二网页请求进行鉴权。
服务器接收到第二网页请求以后,首先判断该第二网页请求是否开启鉴权功能,若该第二网页请求开启鉴权功能,则进一步判断该第二网页请求是否包含第二鉴权信息。
若该第二访问请求包含第二鉴权信息,则可以采用该第二鉴权信息对第二网页请求进行鉴权。
若该第二访问请求不包含第二鉴权信息,则可以进一步判定该第二访问请求是否包含第一鉴权信息,若包含,则采用该第一鉴权信息对第二网页请求进行鉴权;若不包含,则判定该请求为无效请求,拒绝用户的访问。
在本申请实施例的一种优选实施例中,步骤307进一步可以包括如下子步骤:
子步骤S41,在判定所述第二网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
由于客户端传递给服务器的是64位的编码的第二鉴权信息,服务器收到第二鉴权信息以后,对该第二鉴权信息进行解码,获得对应的第二验证信息、文件路径信息、有效时间信息、密钥索引信息以及可放行文件列表。
子步骤S42,将所述有效时间信息与服务器本地的时间进行比较;
子步骤S43,若所述有效时间信息小于服务器本地的时间,则判定所述第二网页请求失效;
子步骤S44,若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
随后,服务器可以进一步将有效时间信息与服务器本地的时间进行比较,以进行第二网页请求的时效性验证。
若有效时间信息小于服务器本地的时间,说明有效时间信息已经过去,该第二网页请求已经失效。
若有效时间信息大于或等于服务器本地的时间,说明有效时间信息到达或还没到达,该第二网页请求有效,此时,服务器可以执行子步骤S44,计算第四验证信息。
该第四验证信息的计算方式与上述第二验证信息的计算方式相同,可以参照上述第二验证信息的描述,本申请实施例在此不再赘述了。
子步骤S45,若所述第四验证信息与所述第二验证信息一致且所述第二网页请求中携带的统一资源标识符在所述可放行文件列表中,则判定鉴权通过;
子步骤S46,若所述第四验证信息与所述第二验证信息不一致,或者,所述第二网页请求中携带的统一资源标识符不在所述可放行文件列表中,则鉴权不通过。
服务器得到第四验证信息以后,将该第四验证信息与第二鉴权信息解码后得到的第二验证信息进行比较,若两者一致,则进一步判断该第二网页请求中携带的统一资源标识符是否在所述可放行文件列表中,若是,则判定鉴权通过,此时,服务器可以向客户端返回与第二网页请求对应的对象内容。
若所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中,则鉴权失败,服务器拒绝该第二网页请求。
本申请实施例在对网页请求进行鉴权时,通过第二鉴权信息格式判断、有效时间信息、验证信息token一致性判断、可放行文件列表等多维因素进行鉴权,保证了鉴权的可靠性。
需要说明的是,上述子步骤S41-子步骤S46这些操作可以不按照其在本实施例中出现的顺序来执行或并行执行,操作的序号如S41、S46等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序,只要其都满足条件即可以判断第二网页请求通过鉴权。
为了使本领域技术人员更好地理解本申请实施例,以下通过一个具体实例对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
客户端首次访问1.html,向服务器发送的包含第一鉴权信息auth_key的第一网页请求:http://localhost/1.html?auth_key=a32f993e0314d07873f2bdd3b223239b-1400000000-0-2.html,其中,事先协商的密钥是123456,index=0表示使用第一个密钥,ClientIp为127.0.0.1。
服务器收到该第一访问请求后,构建第三验证信息token的字符串为HashValue=“127.0.0.1-/1.html-1400000000-123456-2.html”,对该HashValue进行哈希运算,得到token=Md5sum(HashValue)=a32f993e0314d07873f2bdd3b223239b。
将该计算得到的第三验证信息token与第一网页请求中携带的第一验证信息token比较,两者一致,服务器判定该第一网页请求为合法请求,返回对象内容,并且在响应头里面的Set-Cookie中设置第二鉴权信息。
Set-Cookie过程如下:服务器首先获得上述第一网页请求中URI的“/1.html”的文件路径信息path“/”,并根据该path计算第二验证信息token,此时,token=Md5sum(127.0.0.1-/-1400000000-123456-2.html)=0170bb326df0cd13098401eb8c9cd267。
随后,服务器根据该计算的第二验证信息token,构建第二鉴权信息的字符串为“0170bb326df0cd13098401eb8c9cd267?/?1349990006?0?2.html”,并对该字符串进行64位编码运算,得到第二鉴权信息,即第二鉴权信息为:auth_key=base64encode(0170bb326df0cd13098401eb8c9cd267?/?1349990006?0?2.html)=MDE3MGJiMzI2ZGYwY2QxMzA5ODQwMWViOGM5Y2QyNjc/Lz8xMz Q5OTkwMDA2PzA/Mi5odG1s。
服务器将该第二鉴权信息返回客户端,客户端获得第二鉴权信息以后,针对后续请求的2.html,可以直接将第二鉴权信息放置在2.html对应的请求头中,以得到第二网页请求,并发送该第二网页请求至服务器中。
服务器收到第二网页请求以后,获取第二鉴权信息,并根据第二鉴权信息对第二网页请求进行鉴权。
在本申请实施例中,服务器在对第一网页请求鉴权通过以后,主动依据第三验证信息设置第二鉴权信息,并将第二鉴权信息返回客户端,以在第二鉴权信息中保存后续鉴权信息,对客户端进行提前授权,后续客户端直接根据第二鉴权信息生成第二网页请求,服务端收到第二鉴权信息中包含鉴权信息的请求后,直接对符合条件的请求放行,不需要客户端每次都进行请求封装,大大降低客户端在鉴权时的计算开销,提升请求效率,并且能够给予服务器足够的灵活度,对后续的请求进行控制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请一种对网页请求进行鉴权的服务器实施例的结构框图,所述系统可以包括如下模块:
请求接收模块401,用于接收客户端发送的网页请求;
判断模块402,用于判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;若是,则调用第一鉴权模块403,若否,则调用第二鉴权模块404;
第一鉴权模块403,用于采用所述第一鉴权信息对所述网页请求进行鉴权;
第二鉴权模块404,用于在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权。
其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息。
在本申请实施例的一种优选实施例中,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表;
所述第一鉴权模块403可以包括如下子模块:
格式校验子模块,用于校验所述第一鉴权信息的格式是否正确;
第一时间校验子模块,用于若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
第一失效判断子模块,用于在所述有效时间信息小于服务器本地的时间时,判定所述网页请求失效;
第一计算子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
第一判定子模块,用于在所述第三验证信息与所述第一验证信息一致时,判定鉴权通过;
第二判定子模块,用于在所述第三验证信息与所述第一验证信息不一致时,判定鉴权不通过。
在本申请实施例的一种优选实施例中,所述网页请求还包括统一资源标识符;
所述第一计算子模块还用于:
获取所述客户端的IP地址信息;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
在本申请实施例的一种优选实施例中,所述服务器还包括如下模块:
第二鉴权信息生成模块,用于在采用所述第一鉴权信息对所述网页请求进行鉴权时,若所述鉴权通过,则生成第二鉴权信息;
第二鉴权信息发送模块,用于将所述第二鉴权信息返回所述客户端。
在本申请实施例的一种优选实施例中,采用如下方式生成所述第二鉴权信息:
确定文件路径信息;
对所述客户端的IP地址信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第二验证信息;
对所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
在本申请实施例的一种优选实施例中,所述第二鉴权模块404可以包括如下子模块:
解码子模块,用于在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
第二时间校验子模块,用于将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
第一失效判断子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
第三判定子模块,用于在所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中时,判定鉴权通过;
第四判定子模块,用于在所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中时,判定鉴权不通过。
在本申请实施例的一种优选实施例中,所述服务器还包括:
鉴权开启模块,用于判断所述网页请求是否开启鉴权功能,并在判定所述网页请求开启鉴权功能时,调用判断模块。
对于服务器实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图5,示出了本申请一种对网页请求进行鉴权的客户端实施例的结构框图,所述系统可以包括如下模块:
信息判断模块501,用于判断是否接收到服务器发送的第二鉴权信息,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;若否,则调用第一请求生成模块;若是,则调用第二请求生成模块;
第一请求生成模块502,用于获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求,其中,所述第一鉴权信息包括第一验证信息;
第二请求生成模块503,用于依据所述第二鉴权信息生成第二网页请求;
请求发送模块504,用于将所述第一网页请求或所述第二网页请求发送至服务器,促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权。
在本申请实施例的一种优选实施例中,所述第一鉴权信息至少包括如下信息:第一验证信息、有效时间信息、密钥索引信息、可放行文件列表。
在本申请实施例的一种优选实施例中,所述第一验证信息采用如下方式获取:
确定客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
对于客户端实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序操作指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序操作指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的操作指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序操作指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的操作指令产生包括操作指令装置的制造品,该操作指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序操作指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的操作指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种对网页请求进行鉴权的方法、客户端及服务器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (18)
1.一种对网页请求进行鉴权的方法,其特征在于,所述方法包括:
服务器接收客户端发送的网页请求;
判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;
若是,则采用所述第一鉴权信息对所述网页请求进行鉴权;
若否,则在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权,其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;
所述第一鉴权信息至少还包括如下信息:有效时间信息、密钥索引信息、可放行文件列表。
2.根据权利要求1所述的方法,其特征在于,所述采用所述第一鉴权信息对所述网页请求进行鉴权的步骤包括:
校验所述第一鉴权信息的格式是否正确;
若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
若所述第三验证信息与所述第一验证信息一致,则鉴权通过;
若所述第三验证信息与所述第一验证信息不一致,则鉴权不通过。
3.根据权利要求2所述的方法,其特征在于,所述网页请求还包括统一资源标识符;
所述依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息的步骤包括:
获取所述客户端的IP地址信息;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
当采用所述第一鉴权信息对所述网页请求进行鉴权时,若所述鉴权通过,则生成第二鉴权信息;
将所述第二鉴权信息返回所述客户端。
5.根据权利要求4所述的方法,其特征在于,采用如下方式生成所述第二鉴权信息:
确定文件路径信息;
对所述客户端的IP地址信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第二验证信息;
对所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
6.根据权利要求5所述的方法,其特征在于,所述在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权的步骤包括:
在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
若所述有效时间信息大于服务器本地的时间,则依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
若所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中,则判定鉴权通过;
若所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中,则鉴权不通过。
7.根据权利要求1或2或3或5或6所述的方法,其特征在于,在所述判断所述网页请求是否携带第一鉴权信息的步骤之前,所述方法还包括:
判断所述网页请求是否开启鉴权功能;
若所述网页请求开启鉴权功能,则执行所述判断所述网页请求是否携带第一鉴权信息的步骤。
8.一种对网页请求进行鉴权的方法,其特征在于,所述方法包括:
客户端判断是否接收到服务器发送的第二鉴权信息,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;
若否,则获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求,其中,所述第一鉴权信息包括第一验证信息;
若是,则依据所述第二鉴权信息生成第二网页请求;
将所述第一网页请求或所述第二网页请求发送至服务器,促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权;
所述第一鉴权信息至少还包括如下信息:有效时间信息、密钥索引信息、可放行文件列表。
9.根据权利要求8所述的方法,其特征在于,所述第一验证信息采用如下方式获取:
确定客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
10.一种对网页请求进行鉴权的服务器,其特征在于,所述服务器包括:
请求接收模块,用于接收客户端发送的网页请求;
判断模块,用于判断所述网页请求是否携带第一鉴权信息,所述第一鉴权信息为客户端生成的,并封装在所述网页请求中的信息,所述第一鉴权信息包括第一验证信息;若是,则调用第一鉴权模块,若否,则调用第二鉴权模块;
第一鉴权模块,用于采用所述第一鉴权信息对所述网页请求进行鉴权;
第二鉴权模块,用于在判定所述网页请求中携带第二鉴权信息时,采用所述第二鉴权信息对所述网页请求进行鉴权,其中,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;
所述第一鉴权信息至少还包括如下信息:有效时间信息、密钥索引信息、可放行文件列表。
11.根据权利要求10所述的服务器,其特征在于,所述第一鉴权模块包括:
格式校验子模块,用于校验所述第一鉴权信息的格式是否正确;
第一时间校验子模块,用于若所述第一鉴权信息的格式正确,则将所述有效时间信息与服务器本地的时间进行比较;
第一失效判断子模块,用于在所述有效时间信息小于服务器本地的时间时,判定所述网页请求失效;
第一计算子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第三验证信息;
第一判定子模块,用于在所述第三验证信息与所述第一验证信息一致时,判定鉴权通过;
第二判定子模块,用于在所述第三验证信息与所述第一验证信息不一致时,判定鉴权不通过。
12.根据权利要求11所述的服务器,其特征在于,所述网页请求还包括统一资源标识符;
所述第一计算子模块还用于:
获取所述客户端的IP地址信息;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第三验证信息。
13.根据权利要求11或12所述的服务器,其特征在于,还包括:
第二鉴权信息生成模块,用于在采用所述第一鉴权信息对所述网页请求进行鉴权时,若所述鉴权通过,则生成第二鉴权信息;
第二鉴权信息发送模块,用于将所述第二鉴权信息返回所述客户端。
14.根据权利要求13所述的服务器,其特征在于,采用如下方式生成所述第二鉴权信息:
确定文件路径信息;
对所述客户端的IP地址信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第二验证信息;
对所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行64位的编码运算,得到所述第二鉴权信息。
15.根据权利要求14所述的服务器,其特征在于,所述第二鉴权模块包括:
解码子模块,用于在判定所述网页请求携带第二鉴权信息时,对所述第二鉴权信息进行解码,获得所述第二验证信息、所述文件路径信息、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表;
第二时间校验子模块,用于将所述有效时间信息与服务器本地的时间进行比较;
若所述有效时间信息小于服务器本地的时间,则判定所述网页请求失效;
第一失效判断子模块,用于在所述有效时间信息大于服务器本地的时间时,依据所述有效时间信息、所述密钥索引信息以及所述可放行文件列表计算第四验证信息;
第三判定子模块,用于在所述第四验证信息与所述第二验证信息一致且所述网页请求中携带的统一资源标识符在所述可放行文件列表中时,判定鉴权通过;
第四判定子模块,用于在所述第四验证信息与所述第二验证信息不一致,或者,所述统一资源标识符不在所述可放行文件列表中时,判定鉴权不通过。
16.根据权利要求10或11或12或14或15所述的服务器,其特征在于,所述服务器还包括:
鉴权开启模块,用于判断所述网页请求是否开启鉴权功能,并在判定所述网页请求开启鉴权功能时,调用判断模块。
17.一种对网页请求进行鉴权的客户端,其特征在于,所述客户端包括:
信息判断模块,用于判断是否接收到服务器发送的第二鉴权信息,所述第二鉴权信息为服务器在对所述客户端发送的首次网页请求进行鉴权通过时生成的包含第二验证信息的信息;若否,则调用第一请求生成模块;若是,则调用第二请求生成模块;
第一请求生成模块,用于获取第一鉴权信息,并依据所述第一鉴权信息生成第一网页请求,其中,所述第一鉴权信息包括第一验证信息;
第二请求生成模块,用于依据所述第二鉴权信息生成第二网页请求;
请求发送模块,用于将所述第一网页请求或所述第二网页请求发送至服务器,促使所述服务器采用所述第一鉴权信息对所述第一网页请求进行鉴权,或者,采用所述第二鉴权信息对所述第二网页请求进行鉴权;
所述第一鉴权信息至少还包括如下信息:有效时间信息、密钥索引信息、可放行文件列表。
18.根据权利要求17所述的客户端,其特征在于,所述第一验证信息采用如下方式获取:
确定客户端的IP地址信息以及统一资源标识符;
对所述客户端的IP地址信息、所述统一资源标识符、所述有效时间信息、所述密钥索引信息以及所述可放行文件列表进行哈希运算,得到第一验证信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610409396.4A CN107493250B (zh) | 2016-06-12 | 2016-06-12 | 一种对网页请求进行鉴权的方法、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610409396.4A CN107493250B (zh) | 2016-06-12 | 2016-06-12 | 一种对网页请求进行鉴权的方法、客户端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107493250A CN107493250A (zh) | 2017-12-19 |
CN107493250B true CN107493250B (zh) | 2020-08-04 |
Family
ID=60643031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610409396.4A Active CN107493250B (zh) | 2016-06-12 | 2016-06-12 | 一种对网页请求进行鉴权的方法、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107493250B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833369B (zh) * | 2018-05-28 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种访问文件系统的方法、装置及设备 |
CN109462604B (zh) * | 2018-12-17 | 2021-11-12 | 北京城市网邻信息技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN110493239B (zh) * | 2019-08-26 | 2021-11-12 | 京东数字科技控股有限公司 | 鉴权的方法和装置 |
CN111209582A (zh) * | 2020-01-03 | 2020-05-29 | 平安科技(深圳)有限公司 | 请求认证方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859390A (zh) * | 2005-12-07 | 2006-11-08 | 华为技术有限公司 | 一种提供网页浏览信息的方法及装置 |
CN101695164A (zh) * | 2009-09-28 | 2010-04-14 | 华为技术有限公司 | 一种控制资源访问的校验方法、装置和系统 |
CN103067409A (zh) * | 2013-01-21 | 2013-04-24 | 中国科学院信息工程研究所 | 一种web盗链防护方法及其网关系统 |
CN104284213A (zh) * | 2014-09-26 | 2015-01-14 | 深圳市同洲电子股份有限公司 | 一种防盗链方法、客户端以及系统 |
CN105610855A (zh) * | 2016-01-21 | 2016-05-25 | 北京京东尚科信息技术有限公司 | 一种跨域系统登录验证的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9275211B2 (en) * | 2013-03-15 | 2016-03-01 | Telesign Corporation | System and method for utilizing behavioral characteristics in authentication and fraud prevention |
-
2016
- 2016-06-12 CN CN201610409396.4A patent/CN107493250B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859390A (zh) * | 2005-12-07 | 2006-11-08 | 华为技术有限公司 | 一种提供网页浏览信息的方法及装置 |
CN101695164A (zh) * | 2009-09-28 | 2010-04-14 | 华为技术有限公司 | 一种控制资源访问的校验方法、装置和系统 |
CN103067409A (zh) * | 2013-01-21 | 2013-04-24 | 中国科学院信息工程研究所 | 一种web盗链防护方法及其网关系统 |
CN104284213A (zh) * | 2014-09-26 | 2015-01-14 | 深圳市同洲电子股份有限公司 | 一种防盗链方法、客户端以及系统 |
CN105610855A (zh) * | 2016-01-21 | 2016-05-25 | 北京京东尚科信息技术有限公司 | 一种跨域系统登录验证的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107493250A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412059B2 (en) | Resource locators with keys | |
EP2307982B1 (en) | Method and service integration platform system for providing internet services | |
JP4886508B2 (ja) | 既存のsslセッションを中断することなく証明書ベースの認証にステップアップするための方法及びシステム | |
CN109547458B (zh) | 登录验证方法、装置、计算机设备及存储介质 | |
US8776204B2 (en) | Secure dynamic authority delegation | |
WO2017028804A1 (zh) | 一种Web实时通信平台鉴权接入方法及装置 | |
CN101771532B (zh) | 实现资源共享的方法、装置及系统 | |
KR101475981B1 (ko) | 만료된 패스워드 처리 | |
US20070289004A1 (en) | Authenticated and communicating verifiable authorization between disparate network domains | |
CN107493250B (zh) | 一种对网页请求进行鉴权的方法、客户端及服务器 | |
CN112202705A (zh) | 一种数字验签生成和校验方法、系统 | |
CN111177735B (zh) | 身份认证方法、装置、系统和设备以及存储介质 | |
JP4960738B2 (ja) | 認証システム、認証方法および認証プログラム | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
CN112104673B (zh) | 一种多媒体资源web访问权限认证方法 | |
US11627135B2 (en) | Method and system for delivering restricted-access resources using a content delivery network | |
KR102372503B1 (ko) | 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버 | |
WO2016116171A1 (en) | Methods and apparatus for obtaining a scoped token | |
CN112434054A (zh) | 一种审计日志的更新方法及装置 | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和系统 | |
CN114268450A (zh) | 一种api接口认证方法及系统 | |
CN107026828A (zh) | 一种基于互联网缓存的防盗链方法及互联网缓存 | |
CN106470186B (zh) | 一种以跳转方式访问第三方资源的方法 | |
CN107343028B (zh) | 一种基于http协议的通信方法及系统 | |
JP2003338815A (ja) | 電子署名システムおよび電子署名方法 |
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 |