1.一种方法,包括:
由一个或多个服务器接收包括表征请求的数据将被提供到的客户端设备的环境的一个或多个属性的数据请求;
由所述一个或多个服务器基于所述一个或多个属性来选择响应数据;
由所述一个或多个服务器使用表征所述请求的数据将被提供到的所述客户端设备的环境的所述一个或多个属性来生成验证质询,所述验证质询基于所述客户端设备是否生成对所述验证质询的正确回答来控制对所述响应数据的访问,包括:
在由所述客户端设备生成的回答正确地响应所述验证质询并且所述客户端设备验证在所述验证质询中指定的所述环境的所述一个或多个属性时,向所述客户端设备提供对所述响应数据的访问;
在由所述客户端设备生成的回答未正确地响应所述验证质询或所述客户端设备未验证在所述验证质询中指定的所述环境的所述一个或多个属性时,阻止所述客户端设备访问所述响应数据;以及
由所述一个或多个服务器利用所述验证质询安全保护所述响应数据;以及
由所述一个或多个服务器将利用所述验证质询安全保护的所述响应数据传输到所述客户端设备。
2.根据权利要求1所述的方法,进一步包括:
在所述客户端设备处生成质询响应;
在所述客户端设备处确定所述质询响应是否是对所述验证质询的有效响应;以及
响应于确定所述质询响应是对所述验证质询的有效响应,由所述客户端设备访问所述响应数据。
3.根据权利要求1或权利要求2所述的方法,其中,向所述客户端设备提供对所述响应数据的访问包括:向所述客户端设备提供可执行代码,所述可执行代码使所述客户端设备能够在所述客户端设备生成对所述验证质询的有效响应时访问所述客户端设备上的所述响应数据。
4.根据权利要求1-3中的任一项所述的方法,其中,所述一个或多个属性包括以下中的一个或多个:所述客户端设备的浏览器的公钥、所述客户端设备的公钥、所述客户端设备的地址、所述服务器的cookie名称和值或应用名称。
5.根据权利要求1-4中的任一项所述的方法,其中,生成所述验证质询包括:
生成唯一值;
检索所述客户端设备的公钥;
使用所述客户端设备的公钥加密所述唯一值和所述请求的一个或多个属性;以及
生成包括所加密的唯一值和所述一个或多个属性之一的所述验证质询。
6.根据权利要求1-5中的任一项所述的方法,其中,由所述一个或多个服务器利用所述验证质询来安全保护所述响应数据包括:使用所述客户端设备的公钥来加密所述响应数据的至少一部分。
7.根据权利要求1-6中的任一项所述的方法,其中,接收包括表征请求的数据将被提供到的客户端设备的环境的所述一个或多个属性的所述数据请求包括:从存储所述一个或多个属性的至少一部分的中间服务器接收所述数据请求。
8.根据权利要求1至7中的任一项所述的方法,其中,由所述一个或多个服务器向所述客户端设备传输利用所述验证质询来安全保护的所述响应数据包括:
从所述数据请求中提取所述客户端设备的地址;和
将所述验证质询传输到所述客户端设备的所述地址。
9.一种编码有计算机程序的非暂时性计算机存储介质,所述计算机程序包括指令,所述指令在由数据处理装置执行时使所述数据处理装置执行操作,所述操作包括:
由一个或多个服务器接收包括表征请求的数据将被提供到的客户端设备的环境的一个或多个属性的数据请求;
由所述一个或多个服务器基于所述一个或多个属性来选择响应数据;
由所述一个或多个服务器使用表征所述请求的数据将被提供到的所述客户端设备的环境的所述一个或多个属性来生成验证质询,所述验证质询基于所述客户端设备是否生成对所述验证质询的正确回答来控制对所述响应数据的访问,包括:
在由所述客户端设备生成的回答正确地响应所述验证质询并且所述客户端设备验证在所述验证质询中指定的所述环境的所述一个或多个属性时,向所述客户端设备提供对所述响应数据的访问;
在由所述客户端设备生成的回答未正确地响应所述验证质询或所述客户端设备未验证在所述验证质询中指定的所述环境的所述一个或多个属性时,阻止所述客户端设备访问所述响应数据;以及
由所述一个或多个服务器利用所述验证质询来安全保护所述响应数据;以及
由所述一个或多个服务器将利用所述验证质询安全保护的所述响应数据传输到所述客户端设备。
10.根据权利要求9所述的非暂时性计算机存储介质,进一步包括:
在所述客户端设备处生成质询响应;
在所述客户端设备处确定所述质询响应是否是对所述验证质询的有效响应;以及
响应于确定所述质询响应是对所述验证质询的有效响应,由所述客户端设备访问所述响应数据。
11.根据权利要求9或权利要求10所述的非暂时性计算机存储介质,其中,向所述客户端设备提供对所述响应数据的访问包括:向所述客户端设备提供可执行代码,所述可执行代码使所述客户端设备能够在所述客户端设备生成对所述验证质询的有效响应时访问所述客户端设备上的所述响应数据。
12.根据权利要求9-11中的任一项所述的非暂时性计算机存储介质,其中,所述一个或多个属性包括以下中的一个或多个:所述客户端设备的浏览器的公钥、所述客户端设备的公钥、所述客户端设备的地址、所述服务器的cookie名称和值或应用名称。
13.根据权利要求9-12中的任一项所述的非暂时性计算机存储介质,其中,生成所述验证质询包括:
生成唯一值;
检索所述客户端设备的公钥;
使用所述客户端设备的公钥加密所述唯一值和所述请求的一个或多个属性;以及
生成包括所加密的唯一值和所述一个或多个属性之一的所述验证质询。
14.根据权利要求9-13中的任一项所述的非暂时性计算机存储介质,其中,由所述一个或多个服务器利用所述验证质询来安全保护所述响应数据包括:使用所述客户端设备的公钥来加密所述响应数据的至少一部分。
15.根据权利要求9-14中的任一项所述的非暂时性计算机存储介质,其中,接收包括表征请求的数据将被提供到的客户端设备的环境的所述一个或多个属性的所述数据请求包括:从存储所述一个或多个属性的至少一部分的中间服务器接收所述数据请求。
16.根据权利要求9至15中的任一项所述的非暂时性计算机存储介质,其中,由所述一个或多个服务器向所述客户端设备传输利用所述验证质询来安全保护的所述响应数据包括:
从所述数据请求中提取所述客户端设备的地址;和
将所述验证质询传输到所述客户端设备的所述地址。
17.一种包括一个或多个服务器的系统,所述一个或多个服务器被配置成用于:
接收包括表征请求的数据将被提供到的客户端设备的环境的一个或多个属性的数据请求;
基于所述一个或多个属性来选择响应数据;
使用表征所述请求的数据将被提供到的所述客户端设备的环境的所述一个或多个属性来生成验证质询,所述验证质询基于所述客户端设备是否生成对所述验证质询的正确回答来控制对所述响应数据的访问,包括:
在由所述客户端设备生成的回答正确地响应所述验证质询并且所述客户端设备验证在所述验证质询中指定的所述环境的所述一个或多个属性时,向所述客户端设备提供对所述响应数据的访问;
在由所述客户端设备生成的回答未正确地响应所述验证质询或所述客户端设备未验证在所述验证质询中指定的所述环境的所述一个或多个属性时,阻止所述客户端设备访问所述响应数据;以及
利用所述验证质询来安全保护所述响应数据;以及
将利用所述验证质询安全保护的所述响应数据传输到所述客户端设备。
18.根据权利要求17所述的系统,所述服务器执行操作,所述操作进一步包括:
在所述客户端设备处生成质询响应;
在所述客户端设备处确定所述质询响应是否是对所述验证质询的有效响应;以及
响应于确定所述质询响应是对所述验证质询的有效响应,由所述客户端设备访问所述响应数据。
19.根据权利要求17或权利要求18所述的系统,其中,向所述客户端设备提供对所述响应数据的访问包括:向所述客户端设备提供可执行代码,所述可执行代码使所述客户端设备能够在所述客户端设备生成对所述验证质询的有效响应时访问所述客户端设备上的所述响应数据。
20.根据权利要求17-19中的任一项所述的系统,其中,所述一个或多个属性包括以下中的一个或多个:所述客户端设备的浏览器的公钥、所述客户端设备的公钥、所述客户端设备的地址、所述服务器的cookie名称和值或应用名称。