CN109891421B - 部署对信息资源上的内容元素的基于散列的动态限制的对策 - Google Patents
部署对信息资源上的内容元素的基于散列的动态限制的对策 Download PDFInfo
- Publication number
- CN109891421B CN109891421B CN201780066650.8A CN201780066650A CN109891421B CN 109891421 B CN109891421 B CN 109891421B CN 201780066650 A CN201780066650 A CN 201780066650A CN 109891421 B CN109891421 B CN 109891421B
- Authority
- CN
- China
- Prior art keywords
- content
- content element
- information resource
- data processing
- processing system
- 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
- 238000012545 processing Methods 0.000 claims abstract description 330
- 230000004044 response Effects 0.000 claims abstract description 236
- 238000009877 rendering Methods 0.000 claims abstract description 223
- 238000000034 method Methods 0.000 claims abstract description 97
- 238000013515 script Methods 0.000 claims abstract description 50
- 239000003607 modifier Substances 0.000 claims description 64
- 230000005540 biological transmission Effects 0.000 claims description 55
- 230000008859 change Effects 0.000 claims description 46
- 230000000007 visual effect Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 11
- 230000037431 insertion Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 46
- 230000006399 behavior Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 18
- 238000012986 modification Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 8
- 238000012015 optical character recognition Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000003909 pattern recognition Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文提供了用于限制插入到信息资源中的内容的系统和方法。数据处理系统可以识别信息资源上的第一内容元素。第一内容元素可以具有第一比特流。数据处理系统可以确定对信息资源上的第一内容元素的渲染的干扰。响应于确定干扰,数据处理系统可以基于第一内容元素生成用于后续信息资源的第二内容元素。第二内容元素可以具有与第一比特流不同的第二比特流。数据处理系统可以将包括第二内容元素的后续信息资源发送到客户端设备。接收到第二内容元素可以使得内容限制脚本响应于与第一比特流不同的第二比特流来应用基于渲染的限制策略。
Description
相关申请的交叉引用
本申请要求标题为“部署对信息资源上的内容元素的基于散列的动态限制的对策(DEPLOYING COUNTERMEASURES TO HASH-BASED DYNAMIC RESTRICTION OF CONTENTELEMENTS ON INFORMATION RESOURCES)”、于2016年12月30日提交的美国专利申请第62/440,793号的优先权的权益,通过引用将其整体并入本文。
技术领域
本申请通常涉及部署对信息资源上的内容元素的基于散列的动态限制的对策,并且更具体地,涉及部署针对干扰信息资源的完整性的脚本的对策的方法、计算机系统以及用于部署针对干扰信息资源的完整性的脚本的对策的系统。
背景技术
在诸如互联网的计算机网络化环境中,信息资源(例如,网页)和包括在这种信息资源中的内容元素可以由在客户端设备上执行的应用(例如,web浏览器)来解析和渲染。信息资源和其上的内容元素可以经由计算机网络化环境从不同的服务器发送到客户端设备。
发明内容
至少一个方面涉及一种限制插入到信息资源中的内容的方法。具有一个或多个处理器的计算设备可以识别包括在信息资源中的内容元素,对该内容元素应用内容限制策略以用于修改内容元素的呈现。计算设备可以识别与包括在信息资源中的内容元素对应的比特流。计算设备可以对识别的比特流进行散列(hash)以生成与内容元素对应的元素标识符(identifier,ID)。计算设备可以使用元素标识符来访问受限内容数据库。响应于在受限内容数据库中找到元素标识符,计算设备可以根据内容限制策略修改信息资源上的内容元素的呈现。
在一些实施方式中,计算设备可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,计算设备可以向远程设备发送对在与远程设备相关联的远程受限内容数据库上寻找元素标识符的请求。该请求的接收可以触发远程设备使用元素标识符访问远程受限内容数据库。在一些实施方式中,计算设备可以从远程设备接收指示元素标识符在与远程设备相关联的远程受限内容数据库上的响应。
在一些实施方式中,计算设备可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。本地受限内容数据库可以包括要被许可的元素标识符的第一列表和要被限制的元素标识符的第二列表。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,计算设备可以根据内容渲染限制扩展基于内容元素和信息资源的渲染属性来确定要修改内容元素。在一些实施方式中,响应于根据内容渲染限制扩展确定要将内容限制策略应用于内容元素,计算设备可以将元素标识符插入到包括在本地受限内容数据库中的第二列表中。在一些实施方式中,响应于根据内容渲染限制扩展确定要将内容限制策略应用于内容元素,计算设备可以将元素标识符发送到远程受限内容数据库中。
在一些实施方式中,计算设备可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,计算设备可以向远程设备发送对在与远程设备相关联的远程受限内容数据库上寻找元素标识符的请求。该请求的接收可以触发远程设备使用元素标识符访问远程受限内容数据库。该请求的接收可以触发远程设备响应于未在远程受限内容数据库中找到元素标识符,根据内容渲染限制扩展基于内容元素和信息资源的渲染属性来确定要修改内容元素。该请求的接收可以触发远程设备响应于根据内容渲染限制扩展确定要将内容限制策略应用于内容元素,将元素标识符插入到远程受限内容数据库中。在一些实施方式中,计算设备可以从远程设备接收指示元素标识符在与远程设备相关联的远程受限内容数据库上的响应。
在一些实施方式中,响应于未在受限内容数据库上找到元素标识符,计算设备可以在内容元素在信息资源上的第一包含期间,将内容元素的属性设置为默认值。在一些实施方式中,计算设备可以在内容元素的第一包含之后,根据内容渲染限制扩展基于内容元素和信息资源的渲染属性确定要修改内容元素。在一些实施方式中,响应于根据内容渲染限制扩展确定要将内容限制策略应用于内容元素,计算设备可以将元素标识符插入到受限内容数据库中。在一些实施方式中,如由内容限制策略指定的,计算设备可以在第一包含之后的内容元素的第二包含期间,从信息资源或第二信息资源中的至少一个信息资源中删除内容元素。
在一些实施方式中,计算设备可以许可将对内容元素的确认响应发送到远程服务器。在一些实施方式中,计算设备可以在将对内容元素的确认响应发送到远程服务器之后从信息资源中删除内容元素。在一些实施方式中,如由内容限制策略指定的,计算设备可以将第二内容元素插入到位于信息资源上的内容元素上方。在一些实施方式中,如由内容限制策略指定的,计算设备可以从信息资源中移除内容元素。在一些实施方式中,如由内容限制策略指定的,计算设备可以将内容元素的可见性属性设置为空。在一些实施方式中,计算设备可以从表示内容元素的字节流的一部分中识别出与内容元素的一部分对应的比特流。
至少一个方面涉及一种用于限制插入到信息资源中的内容的系统。该系统可以包括在一个或多个处理器上执行的资源解析器。资源解析器可以识别包括在信息资源中的内容元素,对该内容元素应用内容限制策略以用于修改内容元素的呈现。资源解析器可以识别与包括在信息资源中的内容元素对应的比特流。该系统可以包括在一个或多个处理器上执行的元素散列器(hasher)。元素散列器可以对识别的比特流进行散列以生成与内容元素对应的元素标识符。该系统可以包括在一个或多个处理器上执行的内容限制器。内容限制器可以使用元素标识符访问受限内容数据库。响应于在受限内容数据库中找到元素标识符,内容限制器可以根据内容限制策略修改信息资源上的内容元素的呈现。
在一些实施方式中,内容限制器可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,内容限制器可以向远程设备发送对在与远程设备相关联的远程受限内容数据库上寻找元素标识符的请求。该请求的接收可以触发远程设备使用元素标识符访问远程受限内容数据库。在一些实施方式中,内容限制器可以从远程设备接收指示元素标识符在与远程设备相关联的远程受限内容数据库上的响应。
在一些实施方式中,内容限制器可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,内容限制器可以根据内容渲染限制扩展基于内容元素和信息资源的渲染属性确定要修改内容元素。在一些实施方式中,响应于根据内容渲染限制扩展确定要修改内容元素,内容限制器可以将元素标识符插入到本地受限内容数据库中。在一些实施方式中,响应于确定根据内容渲染限制扩展要修改内容元素,内容限制器可以将元素标识符发送到远程受限内容数据库以进行储存。
在一些实施方式中,内容限制器可以使用元素标识符来访问存储在计算设备上的本地受限内容数据库。在一些实施方式中,响应于未在本地受限内容数据库中找到元素标识符,内容限制器可以向远程设备发送对在与远程设备相关联的远程受限内容数据库上寻找元素标识符的请求。该请求的接收可以触发远程设备使用元素标识符访问远程受限内容数据库。该请求的接收可以触发远程设备响应于未在远程受限内容数据库中找到元素标识符,根据内容渲染限制扩展基于内容元素和信息资源的渲染属性确定要修改内容元素。该请求的接收可以触发远程设备响应于根据内容渲染限制扩展确定要将内容限制应用于内容元素,将元素标识符插入到远程受限内容数据库中。在一些实施方式中,内容限制器可以从远程设备接收指示元素标识符在与远程设备相关联的远程受限内容数据库上的响应。
在一些实施方式中,响应于未在受限内容数据库上找到元素标识符,内容限制器可以在内容元素在信息资源上的第一包含期间,将内容元素的属性设置为默认值。在一些实施方式中,内容限制器可以在内容元素的第一包含之后,根据内容渲染限制扩展基于内容元素和信息资源的渲染属性确定要修改内容元素。在一些实施方式中,如由内容限制策略指定的,内容限制器可以在第一包含之后的内容元素的第二包含期间,从信息资源或第二信息资源中的至少一个信息资源中删除内容元素。
在一些实施方式中,内容限制器可以许可将对内容元素的确认响应发送到远程服务器。在一些实施方式中,内容限制器可以在将对内容元素的确认响应发送到远程服务器之后,从信息资源中删除内容元素。在一些实施方式中,如由内容限制策略指定的,内容限制器可以将第二内容元素插入到位于信息资源上的内容元素上方。在一些实施方式中,如由内容限制策略指定的,内容限制器可以从信息资源中移除内容元素。在一些实施方式中,如由内容限制策略指定的,内容限制器可以将内容元素的可见性属性设置为空。在一些实施方式中,资源解析器可以从表示内容元素的字节流的一部分中识别与内容元素的一部分对应的比特流。
至少一个方面涉及一种部署针对干扰信息资源的完整性的脚本的对策的方法。具有一个或多个处理器的数据处理系统可以识别先前发送到客户端设备的信息资源上的第一内容元素。第一内容元素可以具有第一比特流。数据处理系统可以确定对信息资源上的第一内容元素的渲染的干扰。响应于确定对信息资源上的第一内容元素的渲染的干扰,数据处理系统可以基于第一内容元素生成用于后续信息资源的第二内容元素。第二内容元素可以具有与第一比特流不同的第二比特流。数据处理系统可以向客户端设备发送包括第二内容元素的后续信息资源。第二内容元素的接收可以使得在客户端设备上执行的内容限制脚本响应于与第一比特流不同的第二比特流来应用基于渲染的限制策略。
在一些实施方式中,数据处理系统可以识别与向客户端设备发送第一内容元素对应的第一时间。在一些实施方式中,数据处理系统可以识别与从客户端设备接收到对第一内容元素的确认响应对应的第二时间。在一些实施方式中,数据处理系统可以确定在第一时间和第二时间之间经过的时间大于预定阈值。
在一些实施方式中,数据处理系统可以识别第一内容元素的第一发送与对第一内容元素的第一确认的第一接收之间的第一经过时间。在一些实施方式中,数据处理系统可以识别第一内容元素的第二发送与对第一内容元素的第二确认的第二接收之间的第二经过时间。第二发送可以在第一发送之后。第二接收可以在第一接收之后。在一些实施方式中,数据处理系统可以确定第二经过时间比第一经过时间小预定阈值。
在一些实施方式中,数据处理系统可以在向客户端设备发送信息资源之后,确定接收到对作为第一内容元素插入到信息资源中的内容的请求的预期时间。在一些实施方式中,数据处理系统可以识别接收到对作为第一内容元素插入到信息资源中的内容的请求的实际时间。在一些实施方式中,数据处理系统可以确定接收到对内容的请求的预期时间和实际时间相差超过预定阈值。
在一些实施方式中,数据处理系统可以在向客户端设备发送信息资源之后,确定接收到对第一内容元素到信息资源中的确认响应的预期时间。在一些实施方式中,数据处理系统可以识别接收到对第一内容元素到信息资源中的确认响应的实际时间。在一些实施方式中,数据处理系统可以确定接收到确认响应的预期时间和实际时间相差超过预定阈值。
在一些实施方式中,数据处理系统可以确定客户端设备没有发送对用于作为第一内容元素插入到信息资源中的内容的请求。在一些实施方式中,数据处理系统可以修改第一内容元素的视觉特性以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,数据处理系统可以修改第一内容元素的文件路径名以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,数据处理系统可以修改第一内容元素的确认响应代码以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,数据处理系统可以将附属代码(appendage code)插入到第一内容元素中以生成第二内容元素。附属代码可以被配置为生成第二比特流以引起从第一比特流到第二比特流的改变。
至少一个方面涉及一种用于部署针对干扰信息资源的完整性的脚本的对策的系统。该系统可以包括在具有一个或多个处理器的数据处理系统上执行的干扰检测器。干扰检测器可以识别先前发送到客户端设备的信息资源上的第一内容元素。第一内容元素可以具有第一比特流。干扰检测器可以确定对信息资源上的第一内容元素的渲染的干扰。该系统可以具有在数据处理系统上执行的内容修改器。响应于确定对信息资源上的第一内容元素的渲染的干扰,内容修改器可以基于第一内容元素生成用于后续信息资源的第二内容元素。第二内容元素可以具有与第一比特流不同的第二比特流。内容修改器可以向客户端设备发送包括第二内容元素的后续信息资源。第二内容元素的接收可以使得在客户端设备上执行的内容限制脚本响应于与第一比特流不同的第二比特流来应用基于渲染的限制策略。
在一些实施方式中,干扰检测器可以识别与向客户端设备发送第一内容元素对应的第一时间。在一些实施方式中,干扰检测器可以识别与从客户端设备接收到对第一内容元素的确认响应对应的第二时间。在一些实施方式中,干扰检测器可以确定在第一时间和第二时间之间经过的时间大于预定阈值。
在一些实施方式中,干扰检测器可以识别第一内容元素的第一发送与对第一内容元素的第一确认的第一接收之间的第一经过时间。在一些实施方式中,干扰检测器可以识别第一内容元素的第二发送与对第一内容元素的第二确认的第二接收之间的第二经过时间。第二发送可以在第一发送之后。第二接收可以在第一接收之后。在一些实施方式中,干涉检测器可以确定第二经过时间比第一经过时间小预定阈值。
在一些实施方式中,干扰检测器可以在向客户端设备发送信息资源之后确定接收到对作为第一内容元素插入到信息资源中的内容的请求的预期时间。在一些实施方式中,干扰检测器可以识别接收到对作为第一内容元素插入到信息资源中的内容的请求的实际时间。在一些实施方式中,干扰检测器可以确定接收到对内容的请求的预期时间和实际时间相差超过预定阈值。
在一些实施方式中,干扰检测器可以在向客户端设备发送信息资源之后确定接收到对第一内容元素到信息资源中的确认响应的预期时间。在一些实施方式中,干扰检测器可以识别接收到对第一内容元素到信息资源中的确认响应的实际时间。在一些实施方式中,干扰检测器可以确定接收到确认响应的预期时间和实际时间相差超过预定阈值。在一些实施方式中,干扰检测器可以确定客户端设备没有发送对用作第一内容元素插入到信息资源中的内容的请求。
在一些实施方式中,内容修改器可以修改第一内容元素的视觉特性以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,内容修改器可以修改第一内容元素的文件路径名以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,内容修改器可以修改第一内容元素的确认响应代码以生成第二内容元素,从而引起从第一比特流到第二比特流的改变。在一些实施方式中,内容修改符可以将附属代码插入到第一内容元素中以生成第二内容元素。附属代码可以被配置为生成第二比特流以引起从第一比特流到第二比特流的改变。
以下详细讨论这些和其他方面以及实施方式。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并提供用于理解所要求保护的方面和实施方式的性质和特点的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入且构成本说明书的一部分。
附图说明
附图没有意图按比例绘制。各个附图中相同的附图标号和名称指示相同的元件。为清楚起见,并非每个组件都可以在每个图中标注。在附图中:
图1是描绘根据说明性实施方式的用于内容的基于散列的动态限制和对其的对策的部署的计算机网络化环境的一种实施方式的框图;
图2是描绘根据说明性实施方式的用于限制插入到信息资源中的内容的系统的框图;
图3是描绘根据说明性实施方式的由用于限制内容的系统许可或限制信息资源的内容元素的流程的框图;
图4是描绘根据说明性实施方式的限制插入到信息资源中的内容的方法的流程图;
图5是描绘根据说明性实施方式的限制插入到信息资源中的内容的方法的流程图;
图6是描绘根据说明性实施方式的用于部署针对干扰信息资源的完整性的脚本的对策的系统的框图;
图7是描绘根据示例性实施方式的由用于部署针对干扰信息资源的完整性的脚本的对策的系统修改信息资源的内容元素的流程的框图;
图8是描绘根据说明性实施方式的针对干扰信息资源的完整性的脚本的对策的方法的流程图;
图9是描绘根据说明性实施方式的针对干扰信息资源的完整性的脚本的对策的方法的流程图;以及
图10是示出根据说明性实施方式的用于可以被采用来实施本文描述和示出的系统和方法的元件的计算机系统的一般架构的框图。
具体实施方式
以下是与内容的基于散列的动态限制以及对其的对策的部署的方法、装置和系统有关的各种概念及其实施方式的更详细描述。以上介绍的并在下面更详细讨论的各种概念可以以多种方式中的任何一种来实施,因为所描述的概念不限于任何特定的实施方式。
为了阅读以下各种实施例的描述的目的,对说明书各章节和它们各自的内容的以下描述可能是有帮助的:
章节A描述了用于内容的基于散列的动态限制和对其的对策的部署的计算机网络化环境。
章节B描述了限制插入信息资源中的内容的系统和方法。
章节C描述了部署针对干扰信息资源的完整性的脚本的对策的系统和方法。
章节D描述了一种计算系统体系结构,其对于实践本文详细描述的系统和方法可以是有用的。
A.用于信息资源上的内容的基于散列的动态限制以及对其的对策的部署的计算
机网络环境
图1是描绘用于信息资源上的内容的基于散列的动态限制以及对其的对策的部署的环境的一种实施方式的框图。系统100包括至少一个数据处理系统110,其经由网络105连接到至少一个内容提供方设备115、至少一个内容发布方设备120、至少一个客户端设备125、至少一个代理设备145和至少一个远程内容限制器设备150。
简要概述,在来自客户端设备125对内容的请求时,数据处理系统110可以经由网络105向客户端设备125提供包括一个或多个内容元素的信息资源。可以从内容发布方设备120检索信息资源并可以从内容提供方设备115获得一个或多个内容元素。可以由应用160处理信息资源和其上的内容元素,以用于在客户端设备125上渲染。接着,远程内容限制器设备150可以使用呈现限制器165来禁用或者在一些实施方式中干扰由数据处理系统110向客户端设备125提供的信息资源上的一些内容元素的显示或渲染。可以向代理设备145和客户端设备125提供呈现限制器165,以在相应的设备上执行呈现限制器165。为了保持信息资源及其上的内容元素的完整性,数据处理系统110可以执行对策脚本以生成内容元素的变型。通过生成使得呈现限制器165重新处理所生成的变型中的每一个的内容元素的变型,对策脚本可能降低执行呈现限制器165的计算设备的性能,因为当重新处理所生成的变型时,呈现限制器165利用了计算设备的计算资源。本文提供网络105、数据处理系统110、内容提供方设备115、内容发布方设备120、客户端设备125、代理设备145、远程内容限制器设备150及其组件的附加细节。
更详细地,数据处理系统110可以包括至少一个处理器和存储器,即处理电路。存储器存储处理器可执行的指令,该指令在由处理器执行时,使得处理器执行本文描述的操作中的一个或多个。处理器可以包括微处理器、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性或任何其他储存或能够向处理器提供程序指令的传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(read-only memory,ROM)、随机存取存储器(random-accessmemory,RAM)、电可擦除ROM(electrically-erasable ROM,EEPROM)、可擦除可编程ROM(erasable-programmable ROM,EPROM)、闪速存储器、光学介质或处理器可从其读取指令的任何其他合适的存储器。该指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统可以包括可以执行各种功能的一个或多个计算设备或服务器。在一些实施方式中,数据处理系统可以包括被配置为托管拍卖的内容放置系统。在一些实施方式中,数据处理系统不包括内容放置系统,而是被配置为经由网络105与内容放置系统通信。
网络105可以包括诸如互联网、局域网、广域网、城域网或其他区域网络、内联网、卫星网络的计算机网络,诸如语音或数据移动电话通信网络的其他计算机网络,以及它们的组合。系统100的数据处理系统110可以经由网络105,例如,与至少一个内容提供方设备115、至少一个内容发布方设备120、至少一个客户端设备125或至少一个远程内容限制器设备150进行通信。网络105可以是在客户端设备125、数据处理系统110和一个或多个内容源(诸如web服务器等)之间中继信息的任何形式的计算机网络。在一些实施方式中,网络105可以包括互联网和/或其他类型的数据网络,诸如局域网(local area network,LAN)、广域网(wide area network,WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络105还可以包括被配置为在网络105内接收和/或发送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105还可以包括任何数量的硬连线和/或无线连接。客户端设备125可以无线地(例如,经由WiFi、蜂窝、无线电等)与硬连线(例如,经由光纤电缆、CAT5电缆等)到网络105中的其他计算设备的收发器进行通信。客户端设备125还可以经由代理设备145(例如,路由器、网络交换机或网关)与网络105的计算设备无线地通信。
内容提供方设备115可以包括由内容提供方实体操作的服务器或其他计算设备,以向内容发布方设备120或数据处理系统110提供内容元素。由内容提供方设备115提供的内容可以包括用于在诸如网站或网页的信息资源上显示的包括主要内容(例如,由内容发布方设备120提供的内容)的第三方内容元素。内容元素也可以被显示在搜索结果网页上。与内容提供方设备115相关联的内容元素可以被显示在除网页之外的信息资源上,诸如作为在智能电话或其他客户端设备125上应用的执行的一部分而显示的内容。内容发布方设备120或数据处理系统110继而可以选择内容提供方设备115的内容元素。数据处理系统110可以运行内容放置过程以基于相应内容元素的各种性能度量来选择内容元素。内容发布方设备120或数据处理系统110可以发送内容提供方计算设备的所选择的内容元素,以用于在客户端设备125处的信息资源上显示。
内容发布方设备120可以包括由内容发布实体操作的服务器或其他计算设备,以经由网络105提供用于显示的主要内容。例如,内容发布方设备120可以由提供用于在网页上显示的主要内容的网页运营商管理。内容发布方设备120还可以经由网络105提供从内容提供方设备115接收的用于显示的第三方内容。主要内容可以包括除了由内容发布方设备120提供的内容之外的内容,并且网页可以包括被配置用于显示由内容发布方设备120从内容提供方设备115接收的内容元素的内容槽(content slot)。例如,内容发布方设备120可以操作公司的网站并且可以提供关于该公司的内容用于在网站的网页上显示。网页可以包括被配置用于显示从内容提供方设备115接收的诸如图像、文本、视频或其任何组合的内容元素的内容槽。在一些实施方式中,内容发布方设备120包括操作搜索引擎网站的搜索引擎执行商的搜索引擎计算设备(例如,服务器)。搜索引擎网页的主要内容(例如,结果或登陆网页)可以包括搜索的结果以及在内容槽中显示的第三方内容元素,诸如来自内容提供方设备115的内容元素。在一些实施方式中,内容发布方设备120可以包括用于服务视频内容的服务器。
内容发布方设备120可以选择从内容提供方设备115接收的一个或多个内容元素以包括在具有主要内容的信息资源中,以经由网络105在客户端设备125上显示。内容发布方设备120可以响应于来自客户端设备125的对内容的请求,向客户端设备125发送从内容提供方设备115接收的内容元素连同主要内容。在一些实施方式中,在发送主要内容之后,内容发布方设备120可以响应于来自客户端设备125的对附加内容的请求,向客户端设备125发送从内容提供方设备115接收的内容元素。在一些实施方式中,内容发布方设备120可以从客户端设备125接收对主要内容的初始请求,并且作为响应,将包括主要内容的信息资源发送到客户端设备125。在一些实施方式中,数据处理系统110可以选择从内容提供方设备115接收的一个或多个内容元素,并选择从内容发布方设备120接收的主要内容(例如,正文、段落、文本、视频或通常可以跨越信息资源的中心的其他元素)。数据处理系统110可以使用来自内容提供方设备115的选择的一个或多个内容元素和来自内容发布方设备120的主要内容来生成信息资源。本文下面描述关于生成信息资源的数据处理系统110的功能的进一步细节。
客户端设备125可以包括被配置为经由网络105或通过代理设备145经由网络105进行通信以显示诸如由内容发布方设备120提供的内容(例如,主要网页内容或其他信息资源)和由内容提供方设备115提供的内容(例如,配置用于在信息资源中显示的内容元素)的数据的计算设备。客户端设备125、内容提供方设备115、内容发布方设备120和远程内容限制器设备150可以包括台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频记录器、电视机的机顶盒、视频游戏机或被配置为经由网络105通信的任何其他计算设备。客户端设备125可以是通信设备,终端用户可以通过该通信设备提交对接收内容的请求。请求可以是对搜索引擎的请求,并且请求可以包括搜索查询。在一些实施方式中,请求可以包括对访问网页的请求。
客户端设备125可以执行应用160。应用160可以包括例如互联网浏览器、移动应用、或能够执行或以其他方式调用由客户端设备125处理的计算机可执行指令(诸如包括在信息资源或包括在信息资源中的内容元素中的计算机可执行指令)的任何其他计算机程序。信息资源和其中包括的内容元素可以对应于脚本、逻辑、标记或指令(例如,超文本标记语言(HyperText Markup Language,HTML)、可扩展超文本标记语言(ExtensibleHyperText Markup Language,XHTML)、可扩展标记语言(Extensible Markup Language,XML)、级联样式表(Cascading Style Sheets,CSS)以及JavaScript、或其任何组合)。应用160可以包括任何数量的组件,诸如文档树生成器、渲染树生成器和显示模块,以处理信息资源和其中包括的内容元素。文档树生成器可以解析信息资源以生成文档对象模型(Document Object Model,DOM)树,其包括以分层(hierarchical)方式布置的信息资源的内容元素。使用DOM树,渲染树生成器可以生成指定信息资源的内容元素的视觉属性或特质的渲染树。显示模块可以基于渲染树将信息资源渲染并显示到客户端设备125的显示器上。
代理设备145可以包括在客户端设备125和网络105之间部署的计算设备。代理设备145可以被配置为经由网络105与一个或多个其他计算设备(诸如数据处理系统110、内容提供方设备115、内容发布方设备120)通信。代理设备145可以是例如路由器、网络交换机、网关、网络节点、或被配置为从客户端设备125接收和转发数据分组到网络105或从网络105接收和转发数据分组到客户端设备125的任何其他计算设备115。
远程内容限制器设备150可以包括由内容过滤实体(例如,脚本拦截器、广告拦截器、互联网服务提供商(Internet Service Provider,ISP)、其他内容提供方等)操作的服务器或其他计算设备,以提供用于在连接到网络105的计算设备上执行的呈现限制器165。在一些实施方式中,远程内容限制器150可以提供呈现限制器165,以用于在代理设备145或客户端设备125处安装和执行。呈现限制器165可以被安装为单独的应用或被安装为对在代理设备145或客户端设备125处执行的应用的扩展。可以在远程内容限制器设备150、代理设备145和客户端设备125处独立地执行呈现限制器165的功能,或者跨远程内容限制器设备150、代理设备145和客户端设备125而相结合地执行呈现限制器165的功能。当被执行时,呈现限制器165可以修改或改变经由网络105提供给客户端设备125的信息资源的内容元素。
客户端设备125、代理设备145和远程内容限制器设备150可以执行呈现限制器165。呈现限制器165可以包括任何数量的模块、组件或数据库,以修改或改变信息资源上的内容元素。呈现限制器165可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代办(agent)、器具或其他逻辑器件,诸如可编程逻辑阵列,其被配置为经由网络105除了与执行呈现限制器165的设备通信之外还与其他计算设备通信。呈现限制器165可以包括或执行至少一个计算机程序或至少一个脚本。呈现限制器165可以包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。在一些实施方式中,呈现限制器165可以是扩展、追加组件(add-on)或安装到在客户端设备125上执行的应用160的扩展。在一些实施方式中,呈现限制器165可以是与应用160接口的单独的独立可执行文件。
内容提供方设备115、内容发布方设备120、客户端设备125和远程内容限制器设备150可以包括处理器和存储器,即处理电路。存储器存储机器指令,该指令在由处理器执行时,使得处理器执行本文描述的操作中的一个或多个。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他储存或传输设备。存储器还可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪速存储器、光学介质或处理器可从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
内容提供方设备115、内容发布方设备120、客户端设备125和远程内容限制器设备150还可以包括一个或多个用户接口设备。通常,用户接口设备是指通过生成感官信息(例如,显示器上的可视化、一个或多个声音等)向用户传达数据和/或将从用户接收到的感官信息转换为电信号的任何电子设备(例如,键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实施方式,一个或多个用户接口设备可以在内容提供方设备115、内容发布方设备120和客户端设备125的外壳内部(例如,内置显示器、麦克风等)或在内容提供方设备115、内容发布方设备120、客户端设备125和远程内容限制器设备150的外壳外部(例如,连接到客户端设备125的监视器、连接到客户端设备125的扬声器等)。例如,内容提供方设备115、内容发布方设备120、客户端设备125和远程内容限制器设备150可以包括电子显示器,其使用经由网络105从一个或多个内容源和/或从数据处理系统110接收的网页数据可视地显示网页。
数据处理系统110可以包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器群(server farm)中的多个服务器。在一些实施方式中,数据处理系统110包括内容放置系统。数据处理系统110可以包括至少一个内容请求模块130、至少一个资源组装器模块135和至少一个数据库140。内容请求模块130和资源组装器模块135各自可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代办、器具或其他逻辑器件,诸如可编程逻辑阵列,其被配置为经由网络105与数据库140通信以及与其他计算设备(例如,内容提供方设备115、内容发布方设备120或客户端设备125)通信。
内容请求模块130、资源组装器模块135、数据库140可以包括或执行至少一个计算机程序或至少一个脚本。内容请求模块130和资源组装器模块135可以是单独的组件、单一组件或数据处理系统110的一部分。内容请求模块130和资源组装器模块135可以包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
数据处理系统110还可以包括一个或多个内容存储库或数据库140。数据库140可以对于数据处理系统110是本地的。在一些实施方式中,数据库140可以对于数据处理系统110是远程的,但是可以经由网络105与数据处理系统110通信。数据库140可以包括信息资源和将被包括在信息资源中的内容元素等,以便服务于客户端设备125。以下详细描述存储在数据库140中的数据的附加细节。
内容请求模块130可以从客户端设备125接收对内容的请求。对内容的请求可以包括对信息资源的请求或对用于信息资源的内容元素的请求。对内容的请求可以包括与客户端设备125对应的设备标识符。对内容的请求可以包括识别在客户端设备125上执行的应用的应用简档。对内容的请求可以包括对于信息资源或内容元素的标识符。例如,对内容的请求可以包括引用特定资源的统一资源定位符(Uniform Resource Locator,URL),诸如网页(例如,“https://www.example.com/homepage.html”)。针对信息资源的URL的主机名可能与针对内容元素的URL的主机名不同。例如,针对信息资源的URL可以是“https://www.example_publisher.com/index.html”,而针对内容元素的URL可以是
“https://www.example_thirdparty.com/content_item_271828.html”。针对对内容元素的请求的URL可以包括与针对信息资源的URL相同的主页。例如,针对信息资源的URL可以是“https://www.example.com/index.html”,而针对内容元素的URL可以是“https://www.example.com/content_item_978.html”。内容请求模块130还可以针对附加数据而解析对内容的请求。
响应于从客户端设备125接收对内容的请求,资源组装器模块135可以基于该请求的地址或标识符来发送信息资源或用于信息资源的内容元素。资源组装器模块135可以基于地址或标识符来识别包括在对内容的请求中的信息资源和内容元素。资源组装器模块135可以访问数据库140以选择由地址或标识符识别的信息资源和内容元素。在一些实施方式中,资源组装器模块135可以向内容提供方设备115或内容发布方设备120发送请求,以访问、检索或以其他方式接收由地址或标识符识别的信息资源或内容元素。
资源组装器模块135可以基于来自内容发布方设备120或内容提供方设备115的重定向将用于信息资源的内容元素的信息资源发送到客户端设备125。内容发布方设备120还可以配置域或地址,使得对访问由内容发布方设备120维护的信息资源的请求被引导到数据处理系统110。内容请求模块130可以接收对检索或访问内容发布方设备120的信息资源的请求。在一些实施方式中,该请求可以包括设备标识符或资源组装器模块135可以用来选择与从其接收到请求的客户端设备的请求相关的内容的其他信息(例如,使用内容放置系统)。资源组装器模块135可以访问内容提供方设备115或代表内容提供方设备115维护内容元素的任何其他服务器或设备。
资源组装器模块135可以代表一个或多个内容发布方设备120和内容提供方设备115将内容发送到客户端设备125。资源组装器模块135可以向客户端设备125发送或转发由地址或标识符识别的信息资源或内容元素。例如,数据处理系统110可以从客户端设备125接收对信息资源或内容元素的请求。该请求可以包括引用内容发布方设备120之一和内容提供方设备115之一的地址。在该示例中,资源组装器模块135可以将对信息资源的请求转发到相应的内容发布方设备120。资源组装器模块135还可以向相应的内容提供方设备115发送对要插入到信息资源中的内容元素的请求。在从相应的内容发布方设备120接收信息资源和从相应的内容提供方设备115接收内容元素时,资源组装器模块135可以将内容文档转发到与原始请求相关联的客户端设备125。
资源组装器模块135可以生成包括一个或多个内容元素的信息资源。在一些实施例中,资源组装器模块135可以修改由内容发布方设备120维护的现有信息资源以插入由内容提供方设备115提供的内容元素。在一些实施方式中,资源组装器模块135可以生成新的信息资源以包括来自内容发布方设备120和内容提供方设备115的内容元素。信息资源的内容元素的子集可以包括来自内容发布方设备120的主要内容。信息资源的内容元素的另一子集可以包括来自内容提供方设备115的第三方内容。主要内容和第三方内容可以包括例如文本内容元素、图像内容元素和视频内容元素等。第三方可以包括嵌入式链接,以重定向客户端设备125来从内容提供方设备115或内容发布方设备120检索与链接的地址对应的内容。主要内容的源地址(例如,URL)最初可以与第三方内容的源地址不同。在一些实施方式中,资源组装器模块135可以将针对主要内容和第三方内容的内容元素的源地址修改为相同的源地址。在一些实施方式中,内容发布方设备120可以执行或托管资源组装器模块135。
接着,在远程内容限制器设备150、代理设备145或客户端设备125处执行的呈现限制器165可以尝试修改或改变信息资源的内容元素。呈现限制器165还可以将附加内容元素插入到信息资源中以模糊识别的内容元素。在一些实施方式中,呈现限制器165可以使得识别的内容元素的呈现被修改,从而使内容元素以与原始呈现格式不同的格式来呈现。数据处理系统110继而可以部署针对呈现限制器165的对策,以维持通过网络105发送的信息资源和内容元素的完整性。
B.限制插入到信息资源中的内容的系统和方法
信息资源可以包括一个或多个内容元素(例如,内联框架、图像和分段等)。内容元素可以定义组成信息资源的视觉内容。例如,信息资源可以包括主要内容(例如,正文文本)和包括图像的内容元素。应用(例如,web浏览器)可以使用这样的内容元素来处理、渲染并在计算设备的显示器上显示信息资源。这些内容元素中的一些可以源自与提供信息资源的服务器不同的服务器。如此,具有这样的内容元素的信息资源可能遭受安全漏洞。例如,代理设备可以截取原来用于信息资源的内容元素,并用其自己的内容元素替代截取的内容元素。这样的内容元素可能包括恶意代码,诸如恶意软件、木马和病毒。另外,由于人机交互(human-computer interaction,HCI),即使没有注入恶意代码,这些内容元素也可能干扰用户阅读或查看信息资源的主要内容的能力。例如,一个内容元素可以具有与信息资源上的所有剩余内容元素不同的颜色,从而使用户从主要内容或其他内容元素分心。
可以使用多种技术禁止内容元素被包含或显示在信息资源上。一种技术可以是使用源地址来识别内容元素来自与信息资源的剩余部分不同的源。然而,如果针对内容元素的源地址与信息资源相同或者如果没有对用于插入到信息资源中的内容元素的单独请求,则该技术可能无法识别这样的内容元素。另一种技术可以是使用图像处理技术来识别内容元素,以检测内容元素和底层信息资源之间的差异。然而,这样的技术可能在计算上很昂贵,导致计算机性能的滞后和降级。
为了解决这些和其他技术挑战,本文提出的系统可以利用散列函数来识别和禁用内容元素。与图像处理算法相比,散列函数可能在计算上较不复杂,并且因此可能占用较少的计算处理能力。执行呈现限制脚本的计算设备可以识别信息资源上的哪些内容元素要禁用。对于每个内容元素,客户端设备可以识别对应的比特流。然后,计算设备可以使用对应的比特流作为用于散列函数的输入参数来计算散列值,以生成元素标识符。
然后,计算设备可以用计算的元素标识符来访问已知受限内容元素的本地或在服务器上的数据库,并且可以基于是否找到元素标识符来应用内容限制策略。如果在数据库中找到元素标识符,则计算设备可以从信息资源中移除相应的内容元素。另一方面,如果未找到元素标识符,则客户端设备可以将图像处理算法应用于内容元素以确定是否从信息资源中移除内容元素。计算设备还可以将元素标识符发送到服务器以确定元素标识符是否在存储在服务器处的受限内容元素的数据库上。一旦接收了,服务器还可以执行图像处理算法。因此,计算设备可以使用具有相对低的处理器和存储器要求的技术来执行内容元素的初始分析。另外,服务器可以被用于执行相对的处理器密集型技术,从而可以提供内容元素的高精度识别,而无需对所有内容元素使用处理器密集型技术,或要在客户端设备处执行的任何高度处理器密集型技术。利用该技术,可以减少对图像处理技术来检测内容元素的依赖。此外,由于计算散列函数比图像处理算法消耗更少的计算能力,所以计算设备和服务器的处理器和存储器可以被释放用于其他功能。
参考图2,图2是描绘用于限制插入到信息资源中的内容的系统200的框图。系统200可以是如图1的背景下的系统100中所描述的应用160和呈现限制器165的详细视图。总的来说,系统200可以包括应用160、呈现限制器165和远程受限内容数据库245。应用160可以在客户端设备125上执行,并且可以包括从数据处理系统110或内容发布方设备120接收的信息资源205。信息资源205可以包括一个或多个内容元素210A-N。呈现限制器165可以独立地或结合地在计算设备(诸如客户端设备125、代理设备145或远程内容限制器设备150)上执行。呈现限制器165可以包括资源解析器215、元素散列器220、内容限制器225、渲染限制器230、内容限制策略数据库235和本地受限内容数据库240。呈现限制器165可以与远程受限内容数据库245通信。
更详细地,资源解析器215可以识别包括在信息资源205中的内容元素210A-N,对该内容元素应用用于修改内容元素210A-N的呈现的内容限制策略。内容限制策略可以被存储在内容限制策略数据库235处并由呈现限制器165维护。内容限制策略可以指定要进一步分析内容元素210A-N的哪些元素类型以及如何修改被识别为受限制的内容元素210A-N。资源解析器215可以与应用160接口以访问信息资源205和信息资源205中包括的内容元素210A-N。
由呈现限制器165应用的内容限制策略可以指定如何修改、改变或禁用识别的内容元素210A-N或包括这样的内容元素210A-N的信息资源205。在下文中描述关于内容元素210A-N和包括内容元素210A-N的信息资源205的修改的细节。内容限制策略可以被指定于内容提供方设备115或内容发布方设备120的特定域。内容限制策略可以被指定于特定客户端设备125。内容限制策略可以被指定特定账户标识符或与一个或多个客户端设备125相关联的用户简档。内容限制策略可以是与一个或多个客户端设备125相关联的用户简档的具体特点信息。内容限制策略可以被指定于在客户端设备125处执行的特定应用160(例如,移动应用、某些web浏览器等)。内容限制策略可以被指定于对在客户端设备125处执行的应用160的任何接口程序(例如,插件、追加组件等)。
根据内容限制策略,资源解析器可以识别包括在信息资源205中的内容元素210A-N的子集以供进一步分析。资源解析器215可以识别包括在信息资源205中的每个内容元素210A-N的元素类型。元素类型可以包括正文、段落、分区、分段、内联框架、图像、画布、小应用程序(applet)、脚本、音频、视频、表格和列表等中的一个。元素类型可以对应于HTML标签(例如,对于内联框架为“<iframe>”)。在一些实施方式中,内容限制策略可以指定要进一步分析的元素类型(例如,内联框架、图像、小应用程序等)。资源解析器215可以识别与如在内容限制策略中指定的、要进一步分析的元素类型匹配的内容元素210A-N的子集。以这种方式,呈现限制器165可以减少将被处理的内容元素210A-N的数量,从而释放计算资源。
为了确定是否要将内容限制策略应用于内容元素210A-N,资源解析器215可以识别与包括在信息资源205中的内容元素210A-N对应的比特流。信息资源205可以对应于二进制序列(例如,字节数组或字节流)。包括在信息资源205中的每个内容元素210A-N可以对应于二进制序列的一部分。在一些实施方式中,资源解析器215可以与应用160接口以访问对应于信息资源205的二进制序列。在一些实施方式中,资源解析器215可以与应用160接口以访问与内容元素210A-N之一对应的二进制序列的一部分。在一些实施方式中,资源解析器215可以与应用160接口以访问与内容元素210A-N的子集对应的二进制序列的一部分,该内容元素210A-N的子集被识别为与如由内容限制策略指定的要进一步分析的元素类型匹配。在一些实施方式中,资源解析器215可以识别内容元素210A-N的比特流的子集部分(例如,比特流中的前N个比特或比特流中的每第五个比特等)。
在资源解析器215已经识别出针对内容元素210A-N的整个比特流的情况下,元素散列器220可以对识别的比特流进行散列以生成与内容元素210A-N对应的元素标识符。在一些实施方式中,元素散列器220可以对识别的比特流使用散列函数以生成与内容元素210A-N对应的元素标识符。散列函数可以包括针对内容元素210A-N识别的比特流的任何组合,诸如加密散列函数(例如,安全散列算法(SHA-1、SHA-2和SHA-3)、消息摘要算法(MD2、MD4、MD5和MD6)、校验和函数等)、循环冗余校验算法、散列表(例如,关联数组)、以及几何散列函数、或任何一对一散列函数等。散列函数可以被配置或选择以最小化散列冲突,使得识别两个不同内容元素210A-N的相同元素标识符的可能性降低。在一些实施方式中,元素散列器220可以对内容元素210A-N的比特流的子集部分进行散列。
在一些实施方式中,元素散列器220使用的散列函数可以在呈现限制器165的所有实例中是共同的(例如,在远程内容限制器设备150、代理设备145和客户端设备125中)。对于相同的内容元素210A-N,在一个计算设备(例如,远程内容限制器设备150、代理设备145、或客户端设备125之一)处的元素散列器220的一个实例可以生成与另一计算设备处的元素散列器220的另一实例相同的元素标识符。以这种方式,元素散列器220可以生成单一元素标识符,以识别通过网络105发送到与其连接的、执行呈现限制器165的计算设备(例如,其他客户端设备125、代理设备145和远程内容限制器设备150)的相同的内容元素210A-N。通过具有针对相同内容元素210A-N的单一元素标识符,执行呈现限制器165的计算设备可以避免运行计算上更加昂贵的算法(例如,图像处理算法)以确定是否将内容限制策略应用于内容元素210A-N。
在一些实施方式中,元素散列器220使用的散列函数可以对于(例如,客户端设备125处的)呈现限制器165的本地实例是唯一的。对于相同的内容元素210A-N,在一个计算设备(例如,远程内容限制器设备150、代理设备145、或客户端设备125之一)处的元素散列器220的一个实例可以生成与由在另一计算设备处执行的元素散列器220的另一实例生成的元素标识符不同的元素标识符。元素散列器220可以生成对于呈现限制器165的本地实例唯一的元素标识符。通过使用对于呈现限制器165的本地实例唯一的散列函数,元素散列器220可以增强数据安全性和加密、以及用户隐私。
在一些实施方式中,元素散列器220使用的散列函数可以考虑与信息资源205或内容元素210A-N对应的二进制序列的任何加密算法。客户端设备125、代理设备145或任何中间设备可以将加密算法应用于与信息资源205或内容元素210A-N对应的二进制序列,从而更改二进制序列。在一些实施方式中,应用于二进制序列的加密算法可以包括有线等效保密(Wired Equivalent Privacy,WEP)和Wi-Fi保护接入(Wi-Fi Protected Access,WPA)、以及其他加密协议。由于加密算法,在一个计算设备处执行的元素散列器220可以生成与由在另一计算设备处执行的元素散列器220生成的元素标识符不同的元素标识符。为了绕过或抵消应用于二进制序列的加密算法的影响,元素散列器220可以使用一对一散列函数来为每个识别的比特流生成元素标识符。以这种方式,尽管由元素散列器220生成的元素标识符对于呈现限制器165的本地实例可以是唯一的,但是由客户端设备125、代理设备145或任何其他中间设备应用的加密算法也可以导致唯一值。如此,由在呈现限制器165的一个实例处的元素散列器220生成的元素标识符可以在其他设备处的呈现限制器165的其他实例中使用。
使用由元素散列器220生成的元素标识符,内容限制器225可以访问本地受限内容数据库240或远程受限内容数据库245以确定是否将内容限制策略应用于内容元素210A-N。本地受限内容数据库240可以通过对于执行元素散列器220的计算设备(诸如客户端设备125或代理设备145)是本地的呈现限制器165的实例来维护。本地受限内容数据库240可以包括存储元素标识符和指定是要限制还是许可对应的元素标识符的许可指示符等的任何数据结构(例如,数组、堆、链表、二叉树、矩阵、表格等)。在一些实施方式中,本地受限内容数据库240可以包括要被许可的元素标识符的第一列表(例如,白名单)和要被限制的元素标识符的第二列表(例如,黑名单)。远程受限内容数据库245可以由另一计算设备维护。在一些实施方式中,远程受限内容数据库245可以由与执行元素散列器220的计算设备不同的呈现限制器165的实例来维护。在一些实施方式中,可以将本地受限内容数据库240存储和维护为代理设备145或远程内容限制器设备150。远程受限内容数据库245可以包括存储元素标识符和指定是要限制还是许可对应的元素标识符的许可指示符的任何数据结构(例如,数组、堆、链表、二叉树、矩阵、表格等)。在一些实施方式中,远程受限内容数据库245可以包括要被许可的元素标识符的第一列表和要被限制的元素标识符的第二列表。在一些实施方式中,呈现限制器165的本地实例可以维护本地受限内容数据库245(例如,黑名单)以存储被指定为要被限制的元素标识符。在一些实施方式中,呈现限制器165的本地实例可以维护单独的本地非受限内容数据库(例如,白名单)以存储被指定为要被许可的元素标识符。在一些实施方式中,呈现限制器165的远程实例可以维护远程受限内容数据库245(例如,黑名单)以存储被指定为要被限制的元素标识符。在一些实施方式中,呈现限制器165的远程实例可以维护单独的远程非受限内容数据库(例如,白名单)以存储被指定为要被许可的元素标识符。
内容限制器225可以最初访问本地受限内容数据库240。内容限制器225可以在本地受限内容数据库240中执行对元素标识符的搜索。在一些实施方式中,内容限制器225可以遍历本地受限内容数据库240以寻找元素标识符。在一些实施方式中,内容限制器225可以使用元素标识符作为对存储在本地受限内容数据库240中的数据结构的索引。
如果内容限制器225在本地受限内容数据库240中找到元素标识符,则内容限制器225可以识别针对元素标识符的许可指示符。内容限制器225可以使用许可指示符来确定是否将内容限制策略应用于与元素标识符对应的内容元素210A-N。
另一方面,如果内容限制器225未在本地受限内容数据库240中找到元素标识符,则内容限制器225可以向远程受限内容数据库245发送对寻找元素标识符的请求。对寻找元素标识符的请求可以包括由元素散列器220生成的元素标识符以及其他数据。远程受限内容数据库245可以被远离呈现限制器165的本地实例的设备维护或与其相关联。在一些实施方式中,在客户端设备125上执行的内容限制器225可以将请求发送到维护远程受限内容数据库245的远程内容限制器设备150或者代理设备145。
响应于从计算设备接收到请求,远程设备(例如,代理设备145或远程内容限制器设备150)可以使用请求中的元素标识符来访问远程受限内容数据库245。远程设备可以在远程受限内容数据库245中执行对元素标识符的搜索。在一些实施方式中,远程设备可以遍历远程受限内容数据库245以寻找元素标识符。在一些实施方式中,远程设备可以使用元素标识符作为对存储在远程受限内容数据库245中的数据结构的索引。
如果远程设备在远程受限内容数据库245中找到元素标识符,则远程设备可以识别针对元素标识符的许可指示符。响应于找到元素标识符,远程设备还可以向内容限制器225发送肯定响应。肯定响应可以指示元素标识符在远程受限内容数据库245上。肯定响应还可以包括如远程受限内容数据库245中指定的许可指示符。内容限制器225可以从与远程受限内容数据库245相关联的远程设备接收肯定响应。内容限制器225可以将从远程设备接收的元素标识符和许可指示符存储到本地受限内容数据库240上。基于许可指示符,内容限制器225可以确定是否将内容限制策略应用于与许可指示符对应的内容元素210A-N。
如果远程设备未在远程受限内容数据库245中找到元素标识符,则远程设备还可以向内容限制器225发送否定响应。否定响应可以指示元素标识符不在远程受限内容数据库245上。内容限制器225可以从与远程受限内容数据库245相关联的远程设备接收否定响应。响应于从远程设备接收到否定响应,内容限制器225可以调用渲染限制器230来确定是否要根据基于渲染的限制扩展将内容限制策略应用于内容元素210A-N。
另外,如果远程设备未在远程受限内容数据库245中找到元素标识符,则远程设备可以根据基于渲染的限制扩展基于内容元素210A-N和信息资源205的渲染属性确定是否要修改内容元素210A-N。可以通过远程设备处的渲染限制器230的实例根据基于渲染的限制扩展来执行对是否要修改内容元素210A-N的确定。远程设备可以访问由应用160接收的内容元素210A-N和信息资源205的渲染属性。在一些实施方式中,远程设备可以向执行应用160的设备发送对渲染属性的请求。远程设备可以随后从该设备接收信息资源205的内容元素210A-N的渲染属性。
通过根据基于渲染的限制扩展分析内容元素210A-N的渲染属性和信息资源205的渲染属性,远程设备可以确定是否将内容限制策略应用于内容元素210A-N。基于渲染的限制扩展可以指定将内容限制策略应用于具有某些渲染属性的内容元素210A-N。通常,根据基于渲染的限制扩展来分析内容元素210A-N的渲染属性和信息资源205的渲染属性可能在计算上比散列函数更复杂。如此,基于渲染的限制扩展可能消耗相对于散列函数的更多计算机资源和处理时间,导致远程设备的性能下降和滞后。为了部分地减轻计算机资源的消耗并在一定程度上减少处理时间,使用散列函数生成元素标识符和对渲染属性的分析可以被分叉(bifurcate)或以其他方式分配在多个设备和呈现限制器165的实例上。
根据基于渲染的限制扩展,远程设备可以将内容元素210A-N的渲染属性与选定的渲染属性进行比较,以确定是否将内容限制策略应用于内容元素210A-N。在一些实施方式中,远程设备可以将信息资源205上的内容元素210A-N的尺寸与预选定的尺寸(例如,468×60像素(全横幅)、160×600像素(宽摩天大楼横幅)和720×300像素(隐性弹出式))进行比较。如果远程设备确定内容元素210A-N的尺寸与预选定的位置之间的匹配,则远程设备可以确定将内容限制策略应用于内容元素210A-N。在一些实施方式中,远程设备可以将信息资源205上的内容元素210A-N的位置与预选定的位置(例如,朝向信息资源205的顶部或沿着其侧面)进行比较。如果远程设备确定内容元素210A-N的位置与选定位置之间的匹配,则远程设备可以确定将内容限制策略应用于内容元素210A-N。在一些实施方式中,远程设备可以识别内容元素210A-N的颜色值(例如,RGB值、字母数字标识符或HTML颜色代码)和信息资源205的颜色值。如果内容元素210A-N的颜色值和信息资源205的颜色值相差预定义的余量,则远程设备可以确定将内容限制策略应用于内容元素210A-N。如果这些都不匹配,则远程设备可以确定不将内容限制策略应用于内容元素210A-N。
远程设备还可以应用任何数量的图像识别算法和图像识别算法的任何组合,以根据基于渲染的限制扩展基于渲染属性确定是否要将内容限制策略应用于内容元素210A-N。内容元素210A-N可以包括图像或者可以包括针对图像的源地址。内容元素210A-N可以包括视频或者可以包括针对视频的源地址。在一些实施方式中,远程设备可以应用图像识别算法来确定内容元素210A-N的图像或视频是否包括受限视觉元素(例如,裸露、暴力、毒品、以及图像或视频中的其他不期望的元素)。图像识别算法可以包括光学字符识别、对象识别、边缘检测、特征检测(例如,仿射特征检测)和模式识别算法等。在一些实施方式中,远程设备可以使用光学字符识别算法从内容元素210A-N的图像中识别字符串。远程设备可以将识别的字符串与预选定的字符串(例如,“点击此处”、“购买”、“销售”、“XXX”和“$”等)进行比较。如果识别的字符串与预选定的字符串匹配,则远程设备可以确定要将内容限制策略应用于内容元素210A-N。否则,远程设备可以确定不将内容限制策略应用于内容元素210A-N。
结合基于对渲染属性的分析确定是否要将内容限制策略应用于内容元素210A-N,远程设备可以将与内容元素210A-N对应的元素标识符添加或插入到远程受限内容数据库245。如果远程设备确定要应用内容限制策略,则远程设备可以添加或插入指定与元素标识符对应的内容元素210A-N要被限制的许可指示符。如果远程设备确定不应用内容限制策略,则远程设备可以将指定与元素标识符对应的内容元素210A-N要被许可的许可指示符添加或插入到远程受限内容数据库245中。随后,远程设备可以将肯定响应发送到内容限制器225。肯定响应可以指示元素标识符在远程受限内容数据库245上。肯定响应还可以包括从远程受限内容数据库245中检索到的许可指示符。
在一些实施方式中,如果内容限制器225未在本地受限内容数据库240中找到元素标识符,则内容限制器225可以调用渲染限制器230。当被调用时,渲染限制器230可以分析内容元素210A-N以根据基于渲染的限制扩展确定是否要将内容限制策略应用于内容元素210A-N。内容限制器225还可以响应于从与远程受限内容数据库245相关联的远程设备接收到针对元素标识符的否定响应来调用渲染限制器230以分析内容元素210A-N。
通过根据基于渲染的限制扩展分析内容元素210A-N的渲染属性和信息资源205的渲染属性,渲染限制器230可以确定是否要将内容限制策略应用于内容元素210A-N。基于渲染的限制扩展可以指定要将内容限制策略应用于具有某些渲染属性的内容元素210A-N。
根据基于渲染的限制扩展,渲染限制器230可以将内容元素210A-N的渲染属性与选定的渲染属性进行比较,以确定是否要将内容限制策略应用于内容元素210A-N。在一些实施方式中,渲染限制器230可以将信息资源205上的内容元素210A-N的尺寸与预选定的尺寸(例如,468×60像素(全横幅)、160×600像素(宽摩天大楼横幅)和720×300像素(隐性弹出式))进行比较。如果渲染限制器230确定内容元素210A-N的尺寸与预选定的位置之间的匹配,则渲染限制器230可以确定要将内容限制策略应用于内容元素210A-N。在一些实施方式中,渲染限制器230可以将信息资源205上的内容元素210A-N的位置与预选定的位置(例如,朝向信息资源205的顶部或沿着其侧面)进行比较。如果渲染限制器230确定内容元素210A-N的位置与选定位置之间的匹配,则渲染限制器230可以确定要将内容限制策略应用于内容元素210A-N。在一些实施方式中,渲染限制器230可以识别内容元素210A-N的颜色值(例如,RGB值、字母数字标识符或HTML颜色代码)和信息资源205的颜色值。如果内容元素210A-N的颜色值和信息资源205的颜色值相差预定义的余量,则渲染限制器230可以确定要将内容限制策略应用于内容元素210A-N。如果这些都不匹配,则渲染限制器230可以确定不要将内容限制策略应用于内容元素210A-N。
渲染限制器230还可以应用任意数量的图像识别算法和图像识别算法的任何组合,以根据基于渲染的限制扩展基于渲染属性确定是否要将内容限制策略应用于内容元素210A-N。内容元素210A-N可以包括图像或者可以包括针对图像的源地址。内容元素210A-N可以包括视频或者可以包括针对视频的源地址。在一些实施方式中,渲染限制器230可以应用图像识别算法来确定内容元素210A-N的图像或视频是否包括受限视觉元素(例如,裸露、暴力、毒品、以及图像或视频中的其他不期望的元素)。图像识别算法可以包括光学字符识别、对象识别、边缘检测、特征检测(例如,仿射特征检测)和模式识别算法等。在一些实施方式中,渲染限制器230可以使用光学字符识别算法从内容元素210A-N的图像中识别字符串。渲染限制器230可以将识别的字符串与预选定的字符串(例如,“点击此处”、“购买”、“销售”、“XXX”和“$”等)进行比较。如果识别的字符串与预选定的字符串匹配,则渲染限制器230可以确定要将内容限制策略应用于内容元素210A-N。否则,渲染限制器230可以确定不要将内容限制策略应用于内容元素210A-N。
结合基于对渲染属性的分析确定是否要将内容限制策略应用于内容元素210A-N,渲染限制器230可以将与内容元素210A-N对应的元素标识符添加或插入到本地受限内容数据库240。如果渲染限制器230确定要应用内容限制策略,则渲染限制器230可以添加或插入指定与元素标识符对应的内容元素210A-N要被限制的许可指示符。如果渲染限制器230确定不应用内容限制策略,则渲染限制器230可以添加或插入指定与元素标识符对应的内容元素210A-N要被许可的许可指示符。渲染限制器230或内容限制器225可以将元素标识符和许可指示符发送到连接到网络的其他计算设备(例如,其他客户端设备125、代理设备145和远程内容限制器设备150)。在一些实施方式中,渲染限制器230或内容限制器225可以经由网络105将元素标识符和许可指示符发送到第二客户端设备,以用于存储在由第二客户端设备维护的本地受限内容数据库处。在一些实施方式中,渲染限制器230或内容限制器225可以将元素标识符和许可指示符发送到代理设备145,以用于存储在由代理设备145维护的受限内容数据库处。在一些实施方式中,渲染限制器230或内容限制器225可以将元素标识符和许可指示符发送到远程内容限制器设备150,以用于存储在远程受限内容数据库245处。通过在连接到网络105的计算设备中共享元素标识符,执行呈现限制器165的计算设备可以避免对相同的内容元素210A-N重复应用计算上复杂的图像处理技术。因此,共享元素标识符可以提高执行呈现限制器165的计算设备的效率,从而释放用于其他功能的处理资源。
如果未在本地受限内容数据库240或远程受限内容数据库245中找到元素标识符,则内容限制器225可以在应用160在内容元素210A-N在信息资源205上的第一包含期间维持内容元素210A-N。内容元素210A-N的第一包含可以与向连接到网络105的执行呈现限制器165的任何设备的内容元素210A-N的第一供应对应。在一些实施方式中,内容限制器225可以在信息资源205的第一包含期间将内容元素210A-N的属性设置或维持为默认值。在内容元素210A-N在信息资源205上的第一包含之后,内容限制器225可以调用渲染限制器230。当被调用时,渲染限制器230可以使用本文描述的功能根据基于渲染的限制扩展分析内容元素210A-N以确定是否要将内容限制策略应用于内容元素210A-N。如果渲染限制器230基于渲染属性确定要将内容限制策略应用于内容元素210A-N,则内容限制器225可以在内容元素210A-N在任何信息资源上的后续包含期间修改内容元素210A-N。以这种方式,可以在第一供应期间在执行应用160的内容限制器225处的信息资源205上呈现和渲染内容元素210A-N。基于对内容元素210A-N和信息资源205的渲染属性的分析,可以在内容元素210A-N的后续修改和向执行应用160的内容限制器225的后续供应中修改内容元素210A-N。
响应于在本地受限内容数据库240或远程受限内容数据库245中找到元素标识符,内容限制器225可以根据内容限制策略修改内容元素210A-N在信息资源205上的呈现。在内容限制策略数据库235处维护的内容限制策略可以指定内容限制器225执行任何数量的动作或动作的任何组合以修改内容元素210A-N的呈现。在一些实施方式中,如由内容限制策略指定的,内容限制器225可以禁用内容元素210A-N。在一些实施方式中,如由内容限制策略指定的,内容限制器225可以从信息资源205中删除或移除内容元素210A-N。在一些实施方式中,内容限制器225可以在信息资源205的标记中识别与内容元素210A-N对应的代码段。内容限制器225可以删除、移除或以其他方式使得与内容元素210A-N对应的代码段无效。在一些实施方式中,如由内容限制策略指定的,内容限制器225可以将内容元素210A-N的可见性属性从开启设置为关闭。将内容元素210A-N的可见性属性从开启设置为关闭可以使得应用160不在信息资源205上渲染、显示或以其他方式呈现内容元素210A-N。在一些实施方式中,如由内容限制策略指定的,内容限制器225可以从内容元素210A-N中移除任何重定向链接。重定向链接的交互或激活可以使得执行应用160的内容限制器225检索附加内容。在一些实施方式中,内容限制器225可以基于与内容元素210A-N对应的代码段来确定内容元素210A-N是否包括重定向链接。
内容限制器225还可以响应于识别本地受限内容数据库240或远程受限内容数据库245上的元素标识符,修改与信息资源205上的内容元素210A-N相关联的数据的发送和接收,如由内容限制策略指定的。在一些实施方式中,内容限制器225可以更改来自执行应用160的计算设备的与内容元素210A-N相关联的数据分组的发送。内容元素210A-N可以包括指定执行应用160的计算设备将确认响应发送到日志服务器的代码段。确认响应可以表示对在执行应用160的计算设备处接收或呈现内容元素210A-N的确认。内容限制器225可以识别用于发送确认响应的代码段。在一些实施方式中,内容限制器225可以修改、移除或删除识别的代码段以禁用确认响应的发送。在一些实施方式中,内容限制器225还可以许可确认响应的发送,并且可以随后修改、移除或删除识别的代码段以禁用确认响应的发送。在一些实施方式中,内容限制器225可以更改来自另一计算设备(例如,数据处理系统110、内容提供方设备115和内容发布方设备120)的与内容元素210A-N相关联的数据分组的接收。在一些实施方式中,内容限制器225可以接收数据分组(例如,用于流视频的分段组块)。然后,内容限制器225可以从由应用160的处理中移除数据分组。
如果通过内容限制器225在本地受限内容数据库240中识别出元素标识符或通过远程设备在远程受限内容数据库245中识别出元素标识符,则内容限制器225可以在信息资源205上添加附加内容元素210A-N,以修改内容元素210A-N的呈现。内容限制器225可以识别内容元素210A-N的位置和尺寸。内容限制器225可以识别包括内容元素210A-N的信息资源205的视觉特性(例如,颜色值)。然后,内容限制器225可以生成具有内容元素210A-N的识别的位置和尺寸以及信息资源205的视觉特性的附加内容元素,以遮挡内容元素210A-N。
现在参考图3,图3是描绘根据说明性实施方式的由用于限制内容的系统200许可或限制信息资源205的内容元素210A-N的流程300的框图。如图3的流程300中所描绘的,信息资源205可以包括第一内容元素210A、第二内容元素210B和第三内容元素210C。信息资源205和每一个内容元素210A-C可以对应于二进制序列或比特流(以十六进制形式描绘)。第一内容元素210A可以对应于第一比特流305A(例如,“xA831”)。第二内容元素210B可以对应于第二比特流305B(例如,“xFC0A”)。第三内容元素210C可以对应于第三比特流305C(例如,“x4C9D”)。
在图2的背景下,元素散列器220可以使用散列函数310来使用比特流305A-N生成与内容元素210A-C之一对应的元素标识符315A-C(也以十六进制形式描绘)。比特流305A-N可能已经由资源解析器215识别和获得。如图3中的流程300所描绘的,元素散列器220可以针对第一比特流305A为第一内容元素210A生成第一元素标识符315A(“xC1A9”)。元素散列器220可以针对第二比特流305B为第二内容元素210B生成第二元素标识符315B(“x8BF2”)。元素散列器220可以针对第三比特流305C为第三内容元素210C生成第三元素标识符315C(“x3C70”)。
在图2的背景下仍然参考图3,内容限制器225可以使用元素标识符315A-C来确定是否要将内容限制策略应用于内容元素210A-C中的任何一个。为此,内容限制器225可以在受限内容数据库(诸如本地受限内容数据库240或远程受限内容数据库245)中搜索元素标识符315A-C。受限内容数据库可以包括数据结构(诸如受限内容表325),用于通过许可指示符排列元素标识符。在存储在受限内容数据库处的受限内容表325上,内容限制器225可以识别第一元素标识符315A、第二元素标识符315B和第三元素标识符315C。对于第一元素标识符315A,内容限制器225可以验证许可指示符指定对应的第一内容元素210A将被限制。相反,对于第二元素标识符315B和第三元素标识符315C,许可指示符指定第二内容元素210B和第三内容元素210C两者都将被许可。
已经在受限内容数据库中找到与第一内容元素210A对应的第一元素标识符315A,内容限制器225可以将内容限制策略应用于第一内容元素210A。如图3中所描绘的,内容限制器225可以从信息资源205中删除第一内容元素210A。内容限制器225还可以同时维持第二内容元素210B和第三内容元素210C。
现在参考图4,图4是描绘根据说明性实施方式的限制插入到信息资源中的内容的方法400的流程图。本文针对方法400描述的功能可以由如图1中所示的客户端设备125、代理设备145或远程内容限制器设备150、如图2中所示的系统200、或者如图10中所示的计算设备、或其任何组合来执行或以其他方式执行。简要概述,具有一个或多个处理器的计算设备可以识别包括在信息资源中的内容元素,对该内容元素应用内容限制策略以用于修改内容元素的呈现(框405)。计算设备可以识别与包括在信息资源中的内容元素对应的比特流(框410)。计算设备可以对识别的比特流进行散列以生成与内容元素对应的元素标识符(框415)。计算设备可以使用元素标识符来访问受限内容数据库(框420)。响应于在受限内容数据库中找到元素标识符,计算设备可以根据内容限制策略修改信息资源上的内容元素的呈现(框425)。
更详细地,具有一个或多个处理器的计算设备可以识别包括在信息资源中的内容元素,对该内容元素应用内容限制策略以用于修改内容元素的呈现(框405)。计算设备可以识别包括在信息资源中的内容元素,对该内容元素应用内容限制策略以用于修改内容元素的呈现。内容限制策略可以被存储在内容限制策略数据库处并由呈现限制器维护。内容限制策略可以指定要进一步分析内容元素的哪些元素类型以及如何修改被识别为受限的内容元素。计算设备可以与应用接口以访问信息资源和包括在信息资源中的内容元素。
根据内容限制策略,资源解析器可以识别包括在信息资源中的内容元素的子集以供进一步分析。计算设备可以识别包括在信息资源中的每个内容元素的元素类型。元素类型可以包括正文、段落、分区、分段、内联框架、图像、画布、小应用程序、脚本、音频、视频、表格和列表等中的一个。元素类型可以对应于HTML标签(例如,对于内联框架为“<iframe>”)。在一些实施方式中,内容限制策略可以指定要进一步分析的元素类型(例如,内联框架、图像、小应用程序等)。如在内容限制策略中指定的,计算设备可以识别与要进一步分析的元素类型匹配的内容元素的子集。以这种方式,呈现限制器可以减少将被处理的内容元素的数量,从而释放计算资源。
计算设备可以识别与包括在信息资源中的内容元素对应的比特流(框410)。为了确定是否要将内容限制策略应用于内容元素,计算设备可以识别与包括在信息资源中的内容元素对应的比特流。信息资源可以对应于二进制序列(例如,字节数组或字节流)。包括在信息资源中的每个内容元素可以对应于二进制序列的一部分。在一些实施方式中,计算设备可以与应用接口以访问与信息资源对应的二进制序列。在一些实施方式中,计算设备可以与应用接口以访问与内容元素之一对应的二进制序列的一部分。在一些实施方式中,计算设备可以与应用接口以访问与被识别为与如由内容限制策略指定的要进一步分析的元素类型匹配的内容元素的子集对应的二进制序列的一部分。在一些实施方式中,计算设备可以识别内容元素的比特流的子集部分(例如,比特流中的前N个比特或比特流中的每第五个比特等)。
计算设备可以对识别的比特流进行散列以生成与内容元素对应的元素标识符(框415)。在计算设备已经识别出比特流的情况下,计算设备可以对识别的比特流进行散列以生成与内容元素对应的元素标识符。在一些实施方式中,计算设备可以在识别的比特流上使用散列函数来生成与内容元素对应的元素标识符。散列函数可以包括针对内容元素识别的比特流的任何组合,诸如加密散列函数(例如,安全散列算法(SHA-1、SHA-2和SHA-3)、消息摘要算法(MD2、MD4、MD5和MD6)、校验和函数等)、循环冗余校验算法、散列表(例如,关联数组)、以及几何散列函数、或任何一对一散列函数等。散列函数可以被配置或选择以最小化散列冲突,使得识别两个不同内容元素的相同元素标识符的可能性降低。在一些实施方式中,计算设备可以对内容元素的比特流的子集部分进行散列。
在一些实施方式中,计算设备使用的散列函数可以在呈现限制器的所有实例中是共同的。对于相同的内容元素,一个计算设备处的计算设备的一个实例可以生成与另一计算设备处的计算设备的另一实例相同的元素标识符。以这种方式,计算设备可以生成单一元素标识符,以识别通过网络发送到连接至其的计算设备的相同的内容元素。
在一些实施方式中,计算设备使用的散列函数对于呈现限制器的本地实例可以是唯一的。对于相同的内容元素,一个计算设备处的计算设备的一个实例可以生成与由另一计算设备处执行的计算设备的另一实例生成的元素标识符不同的元素标识符。计算设备可以生成对于呈现限制器的本地实例唯一的元素标识符。通过使用对于呈现限制器的本地实例唯一的散列函数,计算设备可以增强数据安全性和加密、以及用户隐私。
在一些实施方式中,计算设备使用的散列函数可以考虑与信息资源或内容元素对应的二进制序列的任何加密算法。任何中间设备可以将加密算法应用于与信息资源或内容元素对应的二进制序列,从而更改二进制序列。在一些实施方式中,应用于二进制序列的加密算法可以包括有线等效保密(WEP)和Wi-Fi保护接入(WPA)、以及其他加密协议。由于加密算法,在一个计算设备处执行的计算设备可以生成与由在另一计算设备处执行的计算设备生成的元素标识符不同的元素标识符。为了绕过或抵消应用于二进制序列的加密算法的影响,计算设备可以使用一对一散列函数来为每个识别的比特流生成元素标识符。以这种方式,尽管由计算设备生成的元素标识符对于呈现限制器的本地实例可以是唯一的,但是由中间设备应用的加密算法可以导致唯一值。如此,由在呈现限制器的一个实例处的计算设备生成的元素标识符可以在其他设备处的呈现限制器的其他实例中使用。
计算设备可以使用元素标识符来访问受限内容数据库(框420)。使用由计算设备生成的元素标识符,计算设备可以访问本地受限内容数据库或远程受限内容数据库以确定是否要将内容限制策略应用于内容元素。本地受限内容数据库可以通过呈现限制器的实例来维护,该呈现限制器的实例对于执行计算设备的计算设备是本地的。本地受限内容数据库可以包括存储元素标识符和指定是否要限制或许可对应的元素标识符的许可指示符等的任何数据结构(例如,数组、堆、链表、二叉树、矩阵、表格等)。远程受限内容数据库可以由另一计算设备维护。在一些实施方式中,远程受限内容数据库可以由与执行计算设备的计算设备不同的呈现限制器的实例来维护。在一些实施方式中,可以将本地受限内容数据库存储和维护为远程设备。远程受限内容数据库可以包括存储元素标识符和指定是否要限制或许可对应的元素标识符的许可指示符等的任何数据结构(例如,数组、堆、链表、二叉树、矩阵、表格等)。
计算设备可以最初访问本地受限内容数据库。计算设备可以在本地受限内容数据库中执行对元素标识符的搜索。在一些实施方式中,计算设备可以遍历本地受限内容数据库以寻找元素标识符。在一些实施方式中,计算设备可以使用元素标识符作为对存储在本地受限内容数据库中的数据结构的索引。如果计算设备在本地受限内容数据库中找到元素标识符,则计算设备可以识别针对元素标识符的许可指示符。计算设备可以使用许可指示符来确定是否要将内容限制策略应用于与元素标识符对应的内容元素。
另一方面,如果计算设备未在本地受限内容数据库中找到元素标识符,则计算设备可以向远程受限内容数据库发送对寻找元素标识符的请求。对寻找元素标识符的请求可以包括由计算设备生成的元素标识符以及其他数据。远程受限内容数据库可以被远离呈现限制器的本地实例的设备维护或与其相关联。在一些实施方式中,计算设备可以将请求发送到维护远程受限内容数据库的远程设备。
响应于从计算设备接收到请求,远程设备可以使用请求中的元素标识符来访问远程受限内容数据库。远程设备可以在远程受限内容数据库中执行对元素标识符的搜索。在一些实施方式中,远程设备可以遍历远程受限内容数据库以寻找元素标识符。在一些实施方式中,远程设备可以使用元素标识符作为对存储在远程受限内容数据库中的数据结构的索引。
如果远程设备在远程受限内容数据库中找到元素标识符,则远程设备可以识别针对元素标识符的许可指示符。响应于找到元素标识符,远程设备还可以向计算设备发送肯定响应。肯定响应可以指示元素标识符在远程受限内容数据库上。肯定响应还可以包括如远程受限内容数据库中指定的许可指示符。计算设备可以从与远程受限内容数据库相关联的远程设备接收肯定响应。计算设备可以将从远程设备接收的元素标识符和许可指示符存储到本地受限内容数据库上。基于许可指示符,计算设备可以确定是否要将内容限制策略应用于与许可指示符对应的内容元素。
如果远程设备未在远程受限内容数据库中找到元素标识符,则远程设备还可以向计算设备发送否定响应。否定响应可以指示元素标识符不在远程受限内容数据库上。计算设备可以从与远程受限内容数据库相关联的远程设备接收否定响应。响应于从远程设备接收到否定响应,计算设备可以调用计算设备来确定是否要根据基于渲染的限制扩展将内容限制策略应用于内容元素。
另外,如果远程设备未在远程受限内容数据库中找到元素标识符,则远程设备可以根据基于渲染的限制扩展基于内容元素和信息资源的渲染属性确定是否要修改内容元素。可以通过远程设备处的计算设备的实例根据基于渲染的限制扩展来执行对是否要修改内容元素的确定。远程设备可以访问由应用接收的内容元素和信息资源的渲染属性。在一些实施方式中,远程设备可以向执行应用的设备发送对渲染属性的请求。远程设备可以随后从设备接收信息资源的内容元素的渲染属性。
通过根据基于渲染的限制扩展分析内容元素的渲染属性和信息资源的渲染属性,远程设备可以确定是否要将内容限制策略应用于内容元素。基于渲染的限制扩展可以指定要将内容限制策略应用于具有某些渲染属性的内容元素。通常,根据基于渲染的限制扩展来分析内容元素的渲染属性和信息资源的渲染属性可能在计算上比散列函数更复杂。如此,基于渲染的限制扩展可能相对于散列函数消耗更多计算机资源和处理时间,导致远程设备的性能下降和滞后。为了部分地减轻计算机资源的消耗并在一定程度上减少处理时间,使用散列函数生成元素标识符和对渲染属性的分析可以被分叉或以其他方式分配在多个设备和呈现限制器的实例中。
根据基于渲染的限制扩展,远程设备可以将内容元素的渲染属性与选定的渲染属性进行比较,以确定是否要将内容限制策略应用于内容元素。在一些实施方式中,远程设备可以将信息资源上的内容元素的尺寸与预选定的尺寸进行比较。如果远程设备确定内容元素的尺寸与预选定的位置之间的匹配,则远程设备可以确定要将内容限制策略应用于内容元素。在一些实施方式中,远程设备可以将信息资源上的内容元素的位置与预选定的位置(例如,朝向信息资源的顶部或沿着其侧面)进行比较。如果远程设备确定内容元素的位置与选定位置之间的匹配,则远程设备可以确定要将内容限制策略应用于内容元素。在一些实施方式中,远程设备可以识别内容元素的颜色值(例如,RGB值、字母数字标识符或HTML颜色代码)和信息资源的颜色值。如果内容元素的颜色值和信息资源的颜色值相差预定义的余量,则远程设备可以确定要将内容限制策略应用于内容元素。如果这些都不匹配,则远程设备可以确定不要将内容限制策略应用于内容元素。
远程设备还可以应用任何数量的图像识别算法和图像识别算法的任何组合,以根据基于渲染的限制扩展基于渲染属性确定是否要将内容限制策略应用于内容元素。内容元素可以包括图像或者可以包括针对图像的源地址。内容元素可以包括视频或者可以包括针对视频的源地址。在一些实施方式中,远程设备可以应用图像识别算法来确定内容元素的图像或视频是否包括受限视觉元素。图像识别算法可以包括光学字符识别、对象识别、边缘检测、特征检测(例如,仿射特征检测)和模式识别算法等。在一些实施方式中,远程设备可以使用光学字符识别算法从内容元素的图像中识别字符串。远程设备可以将识别的字符串与预选定的字符串进行比较。如果识别的字符串与预选定的字符串匹配,则远程设备可以确定要将内容限制策略应用于内容元素。否则,远程设备可以确定不要将内容限制策略应用于内容元素。
结合基于对渲染属性的分析确定是否要将内容限制策略应用于内容元素,远程设备可以将与内容元素对应的元素标识符添加或插入到远程受限内容数据库。如果远程设备确定要应用内容限制策略,则远程设备可以添加或插入指定与元素标识符对应的内容元素要被限制的许可指示符。如果远程设备确定不要应用内容限制策略,则远程设备可以添加或插入指定与元素标识符对应的内容元素要被许可的许可指示符。随后,远程设备可以向计算设备发送肯定响应。肯定响应可以指示元素标识符在远程受限内容数据库上。肯定响应还可以包括从远程受限内容数据库中检索到的许可指示符。
在一些实施方式中,如果计算设备未在本地受限内容数据库中找到元素标识符,则计算设备可以调用计算设备。当被调用时,计算设备可以分析内容元素以根据基于渲染的限制扩展确定是否要将内容限制策略应用于内容元素。响应于从与远程受限内容数据库相关联的远程设备接收到对元素标识符的否定响应,计算设备还可以调用计算设备来分析内容元素。
通过根据基于渲染的限制扩展分析内容元素的渲染属性和信息资源的渲染属性,计算设备可以确定是否要将内容限制策略应用于内容元素。基于渲染的限制扩展可以指定要将内容限制策略应用于具有某些渲染属性的内容元素。
根据基于渲染的限制扩展,计算设备可以将内容元素的渲染属性与选定的渲染属性进行比较,以确定是否要将内容限制策略应用于内容元素。在一些实施方式中,计算设备可以将信息资源上的内容元素的尺寸与预选定的尺寸进行比较。如果计算设备确定内容元素的尺寸与预选定的位置之间的匹配,则计算设备可以确定要将内容限制策略应用于内容元素。在一些实施方式中,计算设备可以将信息资源上的内容元素的位置与预选定的位置(例如,朝向信息资源的顶部或沿着其侧面)进行比较。如果计算设备确定内容元素的位置与选定的位置之间的匹配,则计算设备可以确定要将内容限制策略应用于内容元素。在一些实施方式中,计算设备可以识别内容元素的颜色值(例如,RGB值,字母数字标识符或HTML颜色代码)和信息资源的颜色值。如果内容元素的颜色值和信息资源的颜色值相差预定义的余量,则计算设备可以确定要将内容限制策略应用于内容元素。如果这些都不匹配,则计算设备可以确定不要将内容限制策略应用于内容元素。
计算设备还可以应用任何数量的图像识别算法和图像识别算法的任何组合,以根据基于渲染的限制扩展基于渲染属性确定是否要将内容限制策略应用于内容元素。内容元素可以包括图像或者可以包括针对图像的源地址。内容元素可以包括视频或者可以包括针对视频的源地址。在一些实施方式中,计算设备可以应用图像识别算法来确定内容元素的图像或视频是否包括受限视觉元素。图像识别算法可以包括光学字符识别、对象识别、边缘检测、特征检测(例如,仿射特征检测)和模式识别算法等。在一些实施方式中,计算设备可以使用光学字符识别算法从内容元素的图像中识别字符串。计算设备可以将识别的字符串与预选定的字符串进行比较。如果识别的字符串与预选定的字符串匹配,则计算设备可以确定要将内容限制策略应用于内容元素。否则,计算设备可以确定不要将内容限制策略应用于内容元素。
结合基于对渲染属性的分析确定是否要将内容限制策略应用于内容元素,计算设备可以将与内容元素对应的元素标识符添加或插入到本地受限内容数据库。如果计算设备确定要应用内容限制策略,则计算设备可以添加或插入指定与元素标识符对应的内容元素要被限制的许可指示符。如果计算设备确定不要应用内容限制策略,则计算设备可以添加或插入指定与元素标识符对应的内容元素要被许可的许可指示符。
如果未在本地受限内容数据库或远程受限内容数据库中找到元素标识符,则计算设备可以在应用在内容元素在信息资源上的第一包含期间维持内容元素。内容元素的第一包含可以与向连接到网络的执行呈现限制器的任何设备的内容元素的第一供应对应。在一些实施方式中,计算设备可以在信息资源的第一包含期间,将内容元素的属性设置或维持为默认值。在内容元素在信息资源上的第一包含之后,计算设备可以调用计算设备。当被调用时,计算设备使用本文描述的功能根据基于渲染的限制扩展分析内容元素以来确定是否要将内容限制策略应用于内容元素。如果计算设备基于渲染属性确定要将内容限制策略应用于内容元素,则计算设备可以在内容元素在任何信息资源上的后续包含期间修改内容元素。以这种方式,可以在第一供应期间在执行应用的计算设备处的信息资源上呈现和渲染内容元素。基于对内容元素和信息资源的渲染属性的分析,可以在内容元素的后续修改和向执行应用的计算设备的后续供应中修改内容元素。
响应于在受限内容数据库中找到元素标识符,计算设备可以根据内容限制策略修改信息资源上的内容元素的呈现(框425)。响应于在本地受限内容数据库或远程受限内容数据库中找到元素标识符,计算设备可以根据内容限制策略修改信息资源上的内容元素的呈现。在内容限制策略数据库处维护的内容限制策略可以指定计算设备执行任何数量的动作或动作的任何组合以修改内容元素的呈现。在一些实施方式中,如由内容限制策略指定的,计算设备可以禁用内容元素。在一些实施方式中,如由内容限制策略指定的,计算设备可以从信息资源中删除或移除内容元素。在一些实施方式中,计算设备可以在信息资源的标记中识别与内容元素对应的代码段。计算设备可以删除、移除与内容元素对应的代码段或以其他方式使得与内容元素对应的代码段无效。在一些实施方式中,如由内容限制策略指定的,计算设备可以将内容元素的可见性属性从开启设置为关闭。将内容元素的可见性属性从开启设置为关闭可能使得应用不在信息资源上渲染、显示或以其他方式呈现内容元素。在一些实施方式中,如由内容限制策略指定的,计算设备可以从内容元素移除任何重定向链接。重定向链接的交互或激活可以使得执行应用的计算设备检索附加内容。在一些实施方式中,计算设备可以基于与内容元素对应的代码段来确定内容元素是否包括重定向链接。
响应于找到元素标识符,如由内容限制策略指定的,计算设备还可以修改与信息资源上的内容元素相关联的数据的发送和接收。在一些实施方式中,计算设备可以更改来自执行应用的计算设备的与内容元素相关联的数据分组的发送。内容元素可以包括指定执行应用的计算设备向日志服务器发送确认响应的代码段。确认响应可以表示对在执行应用的计算设备处接收或呈现内容元素的确认。计算设备可以识别用于发送确认响应的代码段。在一些实施方式中,计算设备可以修改、移除或删除识别的代码段以禁用确认响应的发送。在一些实施方式中,计算设备还可以许可确认响应的发送,并且可以随后修改、移除或删除识别的代码段以禁用确认响应的发送。在一些实施方式中,计算设备可以更改来自另一计算设备(例如,数据处理系统、内容提供方设备和内容发布方设备)的与内容元素相关联的数据分组的接收。在一些实施方式中,计算设备可以接收数据分组(例如,用于流视频的分段组块)。然后,计算设备可以移除数据分组以免被应用处理。
如果在本地受限内容数据库或远程受限内容数据库中找到元素标识符,则计算设备可以在信息资源上添加附加内容元素以修改内容元素的呈现。计算设备可以识别内容元素的位置和尺寸。计算设备可以识别包括内容元素的信息资源的视觉特性(例如,颜色值)。然后,计算设备可以生成具有内容元素的识别的位置和尺寸以及信息资源的视觉特性的附加内容元素,以遮挡内容元素。
图5是描绘根据说明性实施方式的限制插入到信息资源中的内容的方法500的流程图。本文针对方法500描述的功能可以由如图1中所示的客户端设备125、代理设备145或远程内容限制器设备150、如图2中所示的系统200、或者如图10中所示的计算设备、或其任何组合来执行或以其他方式执行。简要概述,客户端设备可以识别在信息资源上的内容元素(框503)。客户端设备可以确定内容元素是否是受限类型的内容元素(框506)。如果内容元素不是受限类型的内容元素,则客户端设备可以识别信息资源上的下一个内容元素(框569)。如果内容元素是受限类型的内容元素,则客户端设备可以识别与内容元素对应的比特序列(框509)。客户端设备可以提取比特序列的子集以获得针对内容元素的比特流(框512)。客户端设备可以计算比特流的散列以生成元素标识符(框515)。客户端设备可以访问本地受限内容数据库以搜索元素标识符(框518)。客户端设备可以确定元素标识符是否在本地受限内容数据库中(框521)。如果元素标识符不在本地受限内容数据库中,则客户端设备可以向远程设备发送请求(框524)。
远程设备可以从客户端设备接收请求(框527)。远程设备可以访问远程受限内容数据库以搜索元素标识符(框530)。远程设备可以确定元素标识符是否在远程受限内容数据库中(框533)。如果元素标识符在远程受限内容数据库中,则远程设备可以向客户端设备发送指示符(框536)。如果元素标识符不在远程受限内容数据库中,则远程设备可以识别内容元素的渲染属性(框539)。远程设备可以基于识别的渲染属性来确定是否要修改内容元素(框542)。如果被许可,远程设备可以将元素标识符添加到远程受限内容数据库中作为被许可的(框545)。如果被限制,则远程设备可以将元素标识符添加到远程受限内容数据库中作为被限制的(框548)。远程设备可以发送指示符(框551)。
客户端设备可以接收指示符并将元素标识符添加到本地受限内容数据库中(框554)。客户端设备可以确定元素标识符是被选定为被许可还是被限制(框557)。如果被许可,客户端设备可以维持信息资源上的内容元素(框560)。如果被限制,则客户端设备可以修改信息资源上的内容元素(框563)。然后,客户端设备可以识别信息资源上的下一个内容元素(框569)。方法500的功能可以重复任何次数。
C.限制插入信息资源中的内容的系统和方法
作为应用上的插件或作为与在客户端设备或代理设备(例如,路由器)上执行的应用分离的独立程序来操作的内容控制模块可以干扰内容元素插入到信息资源上或内容元素在信息资源上的呈现。这些内容控制模块可以采用各种技术组合来干扰信息资源上的内容元素。一种技术可以是使用源地址来识别内容元素来自与信息资源的剩余部分不同的源。如果针对内容元素的源地址与信息资源的源地址相同,则该技术可能被抵消。另一种技术可以是使用图像处理技术来识别内容元素,以检测内容元素和底层信息资源之间的差异。然而,这些技术可能在计算上很昂贵,导致计算机性能的滞后和降级。又一技术可以是通过将与内容元素对应的比特流的散列值与存储在维护受限散列值列表的内容限制数据库中的散列值进行匹配来识别内容元素。
这些内容控制模块可能引发安全问题。这样的内容控制模块可以在未经认证的情况下改变最初与信息资源一起供给的组成内容元素。此外,这些模块可能使得内容元素和信息资源的行为偏离信息资源被原始编程的方式。例如,内容控制模块可以改变内容元素之一中的链接(例如,超链接),可能使得客户端设备被重定向到恶意网站。而且,从人机交互(HCI)角度来看,对内容元素的这些改变和信息资源的行为的偏离可能干扰用户对信息资源和应用的体验。例如,如果内容控制模块从信息资源中移除内容元素之一,则用户无法查看移除的内容元素或与移除的内容元素交互,从而降低用户对原始编码的信息资源的体验。
在一些实施方式中,内容发布方可以在信息资源中包括指令,该指令可以使得客户端设备经由一个或多个链接请求来自一个或多个内容服务器的内容。这些内容服务器可以与托管内容发布方的内容的主机服务器不同。通过包括指令以请求内容而不是在发送信息资源之前将内容直接插入信息资源,内容发布方可以减少向客户端设备供给信息资源的等待时间(latency)以及减少网络流量。在客户端设备上运行的一些内容控制模块可以通过将到内容服务器的链接修改到其他或未知内容服务器或者通过防止任何请求被发送到任何内容服务器,来干扰客户端设备发送对来自一个或多个内容服务器的内容的请求的能力。作为结果,客户端设备可能无法访问或显示内容发布方期望包括在内容发布方的信息资源中的所有内容项。
为了规避内容控制模块的一些潜在危害,所提出的系统可以利用内容控制模块(例如,如在本文章节B中详述的呈现限制器165)的一些弱点。每个新内容元素可能导致内容控制模块重新计算散列值并使用图像处理算法重新处理内容元素以确定是否限制,导致计算能力的消耗和滞后。这也可能导致针对内容元素的对接收ping的确认的延迟。如果针对内容元素对接收ping的确认被延迟,则服务器可以生成编辑版本并发送内容元素的编辑版本。服务器可以编辑文件名或改变内容元素的视觉属性。因此,与内容元素的编辑版本对应的比特流的散列值可以与先前的散列值不同,从而触发客户端设备处的内容控制模块以重新运行图像处理算法。这可能降低在客户端设备处运行的内容控制模块的性能。通过降低在客户端设备处运行的内容控制模块的性能,可以约束内容控制模块的使用。禁止内容控制模块的使用可以允许内容提供方和内容发布方保持对如何在相应的客户端设备上向用户显示内容的控制。例如,这可以提供用户界面体验的改善的供应,或者可以确保满足关于如何显示内容的要求。
现在参考图6,图6是描绘根据说明性实施方式的用于部署针对干扰信息资源的完整性的脚本的对策的系统600的框图。系统600可以包括系统100的一些或所有设备、组件和模块,诸如网络105、包括内容请求模块130、资源组装器模块135、数据库140的数据处理系统110、内容提供方设备115、内容发布方设备120、客户端设备125、代理设备145和远程内容限制器设备150。
在系统600中,数据处理系统110还可以包括干扰检测器605、内容修改器610和数据库615。干扰检测器605和内容修改器610可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代办、器具或其他逻辑器件,诸如可编程逻辑阵列,其被配置为经由网络105与数据库140或数据库615以及与其他计算设备(例如,内容提供方设备115、内容发布方设备120、或客户端设备125)通信。干扰检测器605和内容修改器610可以包括或执行至少一个计算机程序或至少一个脚本。干扰检测器605和内容修改器610可以是单独的组件、单一组件、或数据处理系统110的一部分。干扰检测器605和内容修改器610可以包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。干扰检测器605和内容修改器610可以在选择和生成内容元素和信息资源时与内容请求模块130和资源组装器模块135接口,以提供给连接到网络105的设备。
数据处理系统110还可以包括一个或多个数据库615,以用于存储内容元素(例如,内容元素210A-N)和信息资源的属性。数据库615可以对于数据处理系统110是本地的。在一些实施方式中,数据库615可以对于数据处理系统110是远程的,但可以经由网络105与数据处理系统110通信。数据库615可以包括信息资源和要被包括在信息资源中的内容元素的属性等,以向客户端设备125供给诸如由内容请求模块130和资源组装器模块135选择和生成的信息资源和内容元素。数据库615可以存储由内容请求模块130和资源组装器模块135或数据处理系统110的任何其他组件生成或修改的信息资源和内容元素。在一些实施方式中,数据库615可以与数据库140相同。
为了保持信息资源的完整性,干扰检测器605可以识别信息资源(例如,信息资源205)上的第一内容元素(例如,内容元素210A-N)。信息资源和第一内容元素可能先前已经被发送或提供给连接到网络105的客户端设备125。信息资源可以对应于二进制序列。第一内容可以对应于第一比特流。在客户端设备125、代理设备145或远程内容限制器设备150上执行的呈现限制器165(或任何其他内容控制模块)可能已经干扰了信息资源上的第一内容元素的呈现或包含。在一些实施方式中,呈现限制器165可能已经将内容限制策略应用于信息资源上的第一内容元素,如在章节B中详细描述的。
在一些实施方式中,干扰检测器605可以识别包括在信息资源中的内容元素的子集以供进一步分析。干扰检测器605针对包括在信息资源中的每个内容元素识别元素类型。元素类型可以包括正文、段落、分区、分段、内联框架、图像、画布、小应用程序、脚本、音频、视频、表格和列表等中的一个。元素类型可以对应于HTML标签(例如,对于内联框架为“<iframe>”)。要进一步分析的元素类型可以包括最有可能由呈现限制器165修改的元素类型(例如,内联框架、音频、视频、图像等)。干扰检测器605可以识别与元素类型匹配的内容元素的子集。以这种方式,干扰检测器605可以将要处理的内容元素的数量减少到最有可能由呈现限制器165修改的内容元素的数量,从而为数据处理系统110释放计算资源。
在一些实施方式中,干扰检测器605可以识别与包括在信息资源中的第一内容元素对应的比特流。信息资源可以对应于二进制序列(例如,字节数组或字节流)。包括在信息资源中的每个内容元素可以对应于二进制序列的一部分。在一些实施方式中,干扰检测器605可以访问与信息资源对应的二进制序列。在一些实施方式中,干扰检测器605可以访问与内容元素之一对应的二进制序列的一部分。在一些实施方式中,干扰检测器605可以访问与被识别为与要进一步分析的元素类型匹配的内容元素的子集对应的二进制序列的一部分。在一些实施方式中,干扰检测器605可以针对信息资源、内容元素和对应的二进制序列访问数据库615。
利用在信息资源上识别的内容元素,干扰检测器605可以确定对信息资源上的第一内容元素的渲染的任何干扰。对第一内容元素的渲染的干扰可以包括客户端设备125上以方式禁用、禁止或以其他方式修改内容元素的显示或呈现。干扰可能是由于在客户端设备125、代理设备145或远程内容限制器设备150上执行的呈现限制器165。干扰检测器605可以采用任何数量的技术或技术的任何组合来确定由呈现限制器165发生的这种干扰。
使用内容元素的发送的时间和任何确认响应的时间,干扰检测器605可以确定对信息资源上的内容元素的渲染的干扰。每个信息资源可以包括用于请求将内容插入信息资源的请求脚本。响应于接收到信息资源,请求脚本可以使得客户端设备125将对内容的请求发送到数据处理系统110。每个内容元素可以包括确认响应脚本。在接收到内容元素时,确认响应脚本可以使得执行应用160的客户端设备125向数据处理系统110或内容提供方设备115发送或传送回确认响应(例如,pingback)。发送内容元素的时间和接收对内容的请求或任何确认响应的时间可以被存储在数据库140或数据库615中。
将内容元素发送到客户端设备125的时间、从客户端设备125接收到对与内容元素相关联的内容的请求的时间、以及从客户端设备125接收到任何确认响应的时间中的任何不规则性可以指示客户端设备125处的呈现限制器165的执行。在客户端设备125上执行呈现限制器165的功能可能导致接收到任何确认响应的时间比没有呈现限制器165的情况更长。干扰检测器605可以在确定内容元素的渲染是否受到干扰时,比较与内容元素和信息资源的发送以及和与内容元素相关联的任何确认响应的接收有关的各种时间。可以实时地或以指定的时间间隔执行比较。在一些实施方式中,第一内容元素的响应可以被绑定到内容发布方设备120,使得下一个信息资源可用,防止恶意客户端渲染器(例如,呈现限制器165)在传送响应之前等待任意时间量。作为结果,使用基于散列的方法的恶意渲染器可能与非基于散列的“强力”方法一样慢和低效,以避免干扰检测器605的检测。
在一些实施方式中,干扰检测器605可以根据没有接收到来自客户端设备125的对内容的请求或者没有接收到对第一内容元素的确认响应,确定对信息资源上的第一内容元素的渲染的干扰的发生。没有接收到来自客户端设备125的对内容的请求或者没有接收到对第一内容元素的确认响应可以指示呈现限制器165更改了其上的第一内容元素或信息资源的行为。为此,对于每个内容元素,干扰检测器605可以访问数据库615以确定信息资源是否被发送或提供给客户端设备125。干扰检测器605可以确定是否从客户端设备125接收到对与第一内容元素相关联的内容的请求。如果从客户端设备125接收到对内容的请求,则干扰检测器605可以分析接收到请求的时间以及其他因素,以确定第一内容元素的干扰。如果未从客户端设备125接收到对内容的请求,则干扰检测器605可以确定在客户端设备上对信息资源上的第一内容元素的渲染的干扰的发生。对于每个内容元素,干扰检测器605还可以访问数据库615以确定是否从客户端设备125接收到与第一内容元素相关联的确认响应。如果从客户端设备125接收到确认响应,则干扰检测器605可以分析确认响应的时间以及其他因素,以确定第一内容元素的干扰。如果未从客户端设备125接收到确认响应,则干扰检测器605可以确定在客户端设备上对信息资源上的第一内容元素的渲染的干扰的发生。
在一些实施方式中,干扰检测器605可以比较在向客户端设备125发送第一内容元素的时间与从客户端设备125接收到对第一内容元素的确认响应的时间之间经过的时间,以确定干扰的发生。干扰检测器605针对发送的时间和接收到确认响应的时间访问数据库140或数据库615。干扰检测器605可以识别向客户端设备125发送第一内容元素的时间。发送第一内容元素的时间可以对应于数据处理系统110或内容提供方设备115向客户端设备125发送或者以其他方式提供第一内容元素的时间。干扰检测器605可以识别接收到确认响应的时间。接收到确认响应的时间可以对应于处理第一内容元素的客户端设备125将确认响应发送回数据处理系统110或内容提供方设备115的时间。干扰检测器605可以计算在发送第一内容元素的时间和接收到确认响应的时间之间经过的时间。干扰检测器605可以将计算的经过的时间与预定阈值(例如,微秒到毫秒范围)进行比较。如果干扰检测器605确定计算的经过的时间大于或等于预定阈值,则干扰检测器605可以确定对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定计算的经过的时间小于预定阈值,则干扰检测器605可以确定没有对信息资源上的第一内容元素的渲染的干扰。
在一些实施方式中,干扰检测器605可以比较在向多个客户端设备125发送第一内容元素的时间和从这些客户端设备接收到确认响应的时间之间经过的平均时间,以确定干扰的发生。干扰检测器605针对每个客户端设备125针对发送的时间和接收到确认响应的时间访问数据库140或数据库615。干扰检测器605可以计算在多个客户端设备125上在发送第一内容元素的时间和接收到确认响应的时间之间经过的平均时间。干扰检测器605可以将经过的平均时间与预定阈值(例如,微秒到毫秒范围)进行比较。如果干扰检测器605确定经过的平均时间大于或等于预定阈值,则干扰检测器605可以确定在多个客户端设备125上存在对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定经过的平均时间小于预定阈值,则干扰检测器605可以确定在多个客户端设备125上没有对信息资源上的第一内容元素的渲染的干扰。
在一些实施方式中,干扰检测器605可以将第一内容元素的第一发送和第二发送之间经过的第一时间与对第一内容元素的确认响应的第一接收和第二接收之间经过的第二时间进行比较。经过的第一时间和经过的第二时间的差异可以指示呈现限制器165可能妨碍将第一内容元素渲染或插入到信息资源上。在第一内容元素的第一接收时,呈现限制器165可能已经使用了基于渲染的限制策略(例如,图像处理技术)来分析第一内容元素以确定是否将内容限制策略应用于该内容元素。随后,呈现限制器165可能已经使用了散列函数来识别第一内容元素是否对应于受限内容数据库(例如,本地受限内容数据库240或远程受限内容数据库245)上的元素标识符。图像处理算法的性能可能比计算散列值消耗更多时间量。
为了识别发送第一内容元素与接收到确认响应的时间之间的间隔的任何差异,干扰检测器605可以识别向客户端设备125发送第一内容元素的第一时间。干扰检测器605可以识别从客户端设备125接收到对第一内容元素的第一确认响应的第一时间。干扰检测器605可以计算在向客户端设备125发送第一内容元素的第一时间与接收到对内容元素的第一确认响应的第一时间之间经过的第一时间。干扰检测器605可以识别向客户端设备125发送第一内容元素的第二时间。干扰检测器605可以识别从客户端设备125接收到对第一内容元素的第二确认响应的第二时间。干扰检测器605可以计算在向客户端设备125发送第一内容元素的第二时间与从客户端设备125接收到对内容元素的第二确认响应的第二时间之间经过的第二时间。在一些实施方式中,可以使用在多个客户端设备125上发送第一内容元素和接收到确认响应的时间来计算经过的第一时间和经过的第二时间。干扰检测器605可以计算经过的第一时间和经过的第二时间之间的差异。干扰检测器605可以将差异与预定阈值进行比较。如果干扰检测器605确定差异大于或等于预定阈值,则干扰检测器605可以确定存在对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定差异小于预定阈值,则干扰检测器605可以确定没有对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,干扰检测器605可以将接收到对第一内容元素的请求的预期时间与接收到对第一内容元素的请求的实际时间进行比较,以确定对第一内容元素的渲染的干扰。在客户端设备125上运行的呈现限制器165可能已经更改了其上的内容元素或信息资源的行为。因此,可以使得客户端设备125在比没有呈现限制器165的情况更晚的时间处接收信息资源之后发送对第一内容元素的请求。为了解释行为的更改,干扰检测器605可以访问数据库615以识别从客户端设备125接收到对用于将第一内容元素插入到信息资源上的内容的请求的实际时间。干扰检测器605还可以识别在向客户端设备125发送信息资源与从客户端设备125接收到对内容的请求之间经过的实际时间。干扰检测器605可以使用任意数量的因素确定或计算从客户端设备125接收到对与内容元素相关联的内容的请求的预期时间。这些因素可以包括网络105的网络带宽、网络105的网络等待时间、客户端设备125的设备类型以及客户端设备125的设备配置参数等。干扰检测器605还可以确定或计算在向客户端设备125发送信息资源与从客户端设备125接收到对内容的请求之间经过的预期时间。干扰检测器605可以比较接收到对内容的请求的预期时间和实际时间。在一些实施方式中,干扰检测器605可以计算接收到对内容的请求的预期时间和实际时间之间的差异。如果干扰检测器605确定差异大于或等于预定阈值,则干扰检测器605可以确定存在对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定差异小于预定阈值,则干扰检测器605可以确定没有对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,干扰检测器605可以将接收到对第一内容元素的确认响应的预期时间与接收到对第一内容元素的确认响应的实际时间进行比较,以确定对第一内容元素的渲染的干扰。在客户端设备125上运行的呈现限制器165可能已经更改了其上的内容元素或信息资源的行为。因此,可以使得客户端设备125在比没有呈现限制器165的情况更晚的时间处接收内容元素之后发送对第一内容元素的确认响应。为了解释行为的更改,干扰检测器605可以访问数据库615以识别从客户端设备125接收到对第一内容元素的确认响应的实际时间。干扰检测器605还可以识别在向客户端设备125发送信息资源与从客户端设备125接收到确认响应之间经过的实际时间。干扰检测器605可以使用任何数量的因素来确定或计算从客户端设备125接收到确认响应的预期时间。这些因素可以包括网络105的网络带宽、网络105的网络等待时间、客户端设备125的设备类型以及客户端设备125的设备配置参数等。干扰检测器605还可以确定或计算在向客户端设备125发送信息资源和从客户端设备125接收到确认响应之间经过的预期时间。干扰检测器605可以比较对第一内容元素的确认响应的预期时间和实际时间。在一些实施方式中,干扰检测器605可以计算接收到对第一内容元素的确认响应的预期时间和实际时间之间的差异。如果干扰检测器605确定差异大于或等于预定阈值,则干扰检测器605可以确定存在对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定差异小于预定阈值,则干扰检测器605可以确定没有对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,干扰检测器605可以识别关于来自客户端设备125的子集的第一内容元素的行为的差异,以确定对信息资源上的第一内容元素的干扰。客户端设备125的第一子集可以执行呈现限制器165或者可能以其他方式在处理其上的信息资源及内容元素时受呈现限制器165影响。另一方面,客户端设备125的第二子集可以不具有在其上执行的呈现限制器165。如此,客户端设备125的第一子集在处理和分析内容元素时可以消耗与客户端设备125的第二子集不同的时间量。为了解释行为的差异,对于每个客户端设备125,干扰检测器605可以识别发送第一内容元素的时间、接收到对内容的请求的时间、以及接收到确认响应的时间。使用识别的值作为参数,干扰检测器605可以应用聚类算法(例如,k-最近邻算法、期望最大化等)来识别客户端设备125的子集。对于每个子集,干扰检测器605可以计算发送第一内容元素的时间、接收到对内容的请求的时间和接收到确认响应的时间的平均值。干扰检测器605可以计算使用聚类算法识别的客户端设备125的子集上的平均值的差异。干扰检测器605可以将差异与预定余量进行比较。如果干扰检测器605确定差异大于或等于预定余量,则干扰检测器605可以确定存在对信息资源上的第一内容元素的渲染的干扰的发生。如果干扰检测器605确定差异小于预定余量,则干扰检测器605可以确定没有对信息上的第一内容元素的渲染的干扰。
响应于检测到对信息资源上的第一内容元素的渲染的干扰,内容修改器610可以基于第一内容元素生成用于后续信息资源的第二内容元素。第二内容元素可以对应于与第一比特流不同的第二比特流。当呈现限制器165计算比特流的散列值以生成针对每个内容元素的元素标识符时,与第一比特流不同的第二比特流可以使得呈现限制器165重新运行基于渲染的限制策略(例如,使用图像处理算法)来分析第二内容元素。重复应用基于渲染的限制策略来确定是否要将内容限制策略应用于具有不同比特流的各种内容元素可能降低执行呈现限制器165的设备的性能。为此,内容修改器610可以根据内容修改策略使用任何数量的技术和技术的任何组合来修改第一内容元素以生成具有与第一比特流不同的第二比特流的第二元素。
由内容修改器610生成的第二内容元素可以在视觉上看起来与第一内容元素有差异地类似,但是传达相同的信息(例如,具有不同背景颜色的相同文本或具有不同边界宽度的相同图像),这导致从第一比特流到第二比特流的改变。在一些实施方式中,内容修改器610可以修改第一内容元素的视觉特性(例如,字体、字体大小、背景颜色、边界宽度、尺寸、信息资源上的位置等)以生成第二内容元素。对视觉特性的修改可能导致从第一比特流到第二比特流的改变。内容修改器610可以识别来自数据库615的第一内容元素的视觉特性。内容修改器610可以根据内容修改策略将第一内容元素的视觉特性设置为与默认值不同的值。内容修改策略可以基于默认值指定要设置视觉特性的哪些值(例如,将背景颜色从浅绿色改变为浅蓝色)。
由内容修改器610生成的第二内容元素可以在视觉上看起来与第一内容元素类似,传达相同的信息但具有不同的功能行为,以引起从第一比特流到第二比特流的改变。在一些实施方式中,内容修改器610可以修改第一内容元素的文件路径名以生成第二内容元素。文件路径名可以对应于第一内容元素的源地址。文件路径名可以包括协议(例如,http、https、ftp等)、主机名(例如,www.example.com)和文件名(例如,/samplescontent.html)。内容修改器610可以从文件路径名中识别协议、主机名和文件名。在一些实施方式中,内容修改器610可以修改主机名和文件名之一以生成第二内容元素。内容修改器610可以用修改后的文件路径名再现或重新生成第一内容元素以创建第二内容元素。在一些实施方式中,内容修改器610可以修改第一内容元素的重定向链接以生成第二内容元素。重定向链接可以包括第一内容元素中包括的源地址,并且可以被配置为使得在客户端设备125上运行的应用160检索与源地址对应的内容。内容修改器610可以识别第一内容元素的重定向链接。内容修改器610可以用修改后的重定向链接再现或重新生成第一内容元素以创建第二内容元素。
由内容修改器610生成的第二内容元素可以对应于与第一内容元素的代码或标记不同的代码或标记,这导致从第一比特流到第二比特流的改变。内容修改器610可以修改与第一内容元素或与第一内容元素相关联的信息资源对应的代码段以生成第二内容元素。代码段可以包括与第一内容元素相关联的一个或多个脚本。内容修改器610可以用对第一内容元素的修改来再现或重新生成代码段以创建第二内容元素。
在一些实施方式中,内容修改器610可以识别来自第一内容元素的代码段的确认响应代码。内容修改器610可以修改来自第一内容元素的代码段的确认响应代码以生成第二内容元素。确认响应代码一旦被客户端设备125接收并由在其上执行的应用160处理,就可以使得客户端设备125向数据处理系统110或内容提供方设备115发送确认响应(例如,pingback)。
在一些实施方式中,内容修改器610可以识别来自信息资源的代码段的内容请求代码。内容修改器610可以修改来自信息资源的代码段的内容请求代码以生成第二内容元素。内容请求代码一旦被客户端设备125接收并由在其上执行的应用160处理,就可以使得客户端设备125向数据处理系统110或内容提供方设备115发送对内容的请求以将内容元素插入到信息资源中。
在一些实施方式中,内容修改器610可以将附属代码添加、插入或附加到用于第一内容元素的代码段中以生成第二内容元素。附属代码可以是非功能代码,其不改变或更改第二内容元素相对于第一内容元素的行为。附属代码可以导致从第一比特流到第二比特流的改变。
为了验证事实上比特流是否已经被更改,内容修改器610可以确定针对第一内容元素的第二比特流是否不同于针对第一内容元素的第一比特流。内容修改器610可以识别与第一内容元素对应的第一比特流。内容修改器610可以识别与第二内容元素对应的第二比特流。内容修改器610可以识别或确定第一比特流和第二比特流之间不同的比特数。内容修改器610可以将不同的比特数与阈值数量进行比较。如果内容修改器610确定不同的比特数大于或等于阈值数量,则内容修改器610可以许可将第二内容元素发送或提供给客户端设备125。如果内容修改器610确定不同的比特数小于阈值数量,则内容修改器610可以限制将第二内容元素发送或提供给客户端设备125。内容修改器610还可以重新运行对第一内容元素的修改以生成另一内容元素。
在一些实施方式中,内容修改器610可以识别在第一比特流和第二比特流之间不同的比特分布。内容修改器610可以将不同的比特分布与预定阈值进行比较。如果内容修改器610确定不同的比特分布大于或等于预定阈值,则内容修改器610可以许可将第二内容元素发送或提供给客户端设备125。如果内容修改器610确定不同的比特分布小于预定阈值,则内容修改器610可以限制向客户端设备125发送或提供第二内容元素。内容修改器610还可以重新运行对第一内容元素的修改以生成另一内容元素。
在生成第二内容元素的情况下,内容修改器610可以将包括第二内容元素的后续信息资源发送到客户端设备125。在一些实施方式中,数据处理系统110可以从客户端设备125接收对信息资源的请求。响应于接收到请求,数据处理系统110可以发送后续信息资源。在一些实施方式中,数据处理系统110可以从客户端设备125接收对用于插入到信息资源中的内容的请求。响应于对内容的请求,内容修改器610可以向客户端设备125发送包括在后续信息资源中的第二内容元素。在第二内容元素对应于与第一比特流不同的第二比特流的情况下,客户端设备125对第二内容元素的接收可以使得在客户端设备125上运行的呈现限制器165应用基于渲染的限制策略。
现在参考图7,图7是描绘根据说明性实施方式的由系统600修改信息资源的内容元素的流程700的框图,系统600用于部署针对干扰信息资源的完整性的脚本的对策。如图7的流程700中所描绘的,信息资源205可以包括第一内容元素210A、第二内容元素210B和第三内容元素210C。第一内容元素210A、第二内容元素210B和第三内容元素210C中的每一个可以对应于二进制序列或比特流(以十六进制形式描绘)。第一内容元素210A可以对应于比特流705(例如,“xA86D”)。
在图6的背景下,呈现限制器165可能已经将内容限制策略应用于第一内容元素210A,从而干扰在客户端设备125处信息资源205上的内容元素210A的渲染。使用本文描述的技术,干扰检测器605可以检测对第一内容元素210A的渲染的干扰。在已经检测到对第一内容元素210A的干扰的情况下,内容修改器610可以修改第一内容元素210A以生成不同版本的内容元素210A’。对内容元素210A的修改可能导致比特流705的改变。与内容元素210A对应的比特流705(“xA86D”)可以被改变为与修改后的内容元素210A’对应的另一比特流705’(“xA863”)。对针对内容元素210A的比特流705的改变可以使得在客户端设备125上运行的呈现限制器165重新运行基于渲染的限制策略(例如,图像处理算法)。这继而可能导致降低客户端设备125和呈现限制器165的性能。
现在参考图8,图8是描绘根据说明性实施方式的针对干扰信息资源的完整性的脚本的对策的方法800的流程图。本文针对方法800描述的功能可以由如图1中所示的系统100、如图6中所示的系统600和如图10中所示的计算设备或其任何组合来执行或以其他方式执行。简要概述,数据处理系统可以识别先前发送到客户端设备的信息资源上的第一内容元素(框805)。第一内容元素可以具有第一比特流。数据处理系统可以确定对信息资源上的第一内容元素的渲染的干扰(框810)。响应于确定对信息资源上的第一内容元素的渲染的干扰,数据处理系统可以基于第一内容元素生成用于后续信息资源的第二内容元素(框815)。第二内容元素可以具有与第一比特流不同的第二比特流。数据处理系统可以向客户端设备发送包括第二内容元素的后续信息资源(框820)。第二内容元素的接收可以使得在客户端设备上执行的内容限制脚本响应于与第一比特流不同的第二比特流来应用基于渲染的限制策略。
更详细地,数据处理系统可以识别先前发送到客户端设备的信息资源上的第一内容元素(框805)。第一内容元素可以具有第一比特流。为了保持信息资源的完整性,数据处理系统可以识别信息资源上的第一内容元素。信息资源和第一内容元素可能先前已经被发送或提供给连接到网络的客户端设备。信息资源可以对应于二进制序列。第一内容元素可以对应于第一比特流。在客户端设备、代理设备或远程内容限制器设备上执行的呈现限制器(或任何其他内容控制模块)可能已经干扰了第一内容元素在信息资源上的呈现或包含。在一些实施方式中,呈现限制器可能已经将内容限制策略应用于信息资源上的第一内容元素,如本文章节B中详述的。
在一些实施方式中,数据处理系统可以识别包括在信息资源中的内容元素的子集以供进一步分析。数据处理系统识别包括在信息资源中的每个内容元素的元素类型。元素类型可以包括正文、段落、分区、分段、内联框架、图像、画布、小应用程序、脚本、音频、视频、表格和列表等中的一个。元素类型可以对应于HTML标签(例如,对于内联框架为“<iframe>”)。要进一步分析的元素类型可以包括最有可能由呈现限制器修改的元素类型(例如,内联框架、音频、视频、图像等)。数据处理系统可以识别与元素类型匹配的内容元素的子集。以这种方式,数据处理系统可以将要处理的内容元素的数量减少到最有可能要由呈现限制器修改的内容元素的数量,从而为数据处理系统释放计算资源。
在一些实施方式中,数据处理系统可以识别与包括在信息资源中的第一内容元素对应的比特流。信息资源可以对应于二进制序列(例如,字节数组或字节流)。包括在信息资源中的每个内容元素可以对应于二进制序列的一部分。在一些实施方式中,数据处理系统可以访问与信息资源对应的二进制序列。在一些实施方式中,数据处理系统可以访问与内容元素之一对应的二进制序列的一部分。在一些实施方式中,数据处理系统可以访问与被识别为与要进一步分析的元素类型匹配的内容元素的子集对应的二进制序列的一部分。在一些实施方式中,数据处理系统可以针对信息资源和内容元素、以及对应的二进制序列访问数据库。
数据处理系统可以确定对信息资源上的第一内容元素的渲染的干扰(框810)。利用在信息资源上识别的内容元素,数据处理系统可以确定对信息资源上的第一内容元素的渲染的干扰。对第一内容元素的渲染的干扰可以包括在客户端设备上以任何方式禁用、禁止或以其他方式修改内容元素的显示或呈现。干扰可能是由于在客户端设备、代理设备或远程内容限制器设备150上执行的呈现限制器。数据处理系统可以采用任何数量的技术或技术的任何组合来确定由呈现限制器发生的这种干扰。
使用发送内容元素的时间和任何确认响应的时间,数据处理系统可以确定对信息资源上的内容元素的渲染的干扰。每个信息资源可以包括用于请求将内容插入到信息资源中的请求脚本。响应于接收到信息资源,请求脚本可以使得客户端设备将对内容的请求发送到数据处理系统。每个内容元素可以包括确认响应脚本。在接收到内容元素时,确认响应脚本可以使得执行应用160的客户端设备向数据处理系统或内容提供方设备发送或传送回确认响应(例如,pingback)。发送内容元素的时间和接收到对内容的请求或任何确认响应的时间可以被存储在数据库中。
向客户端设备发送内容元素的时间、从客户端设备接收到对与内容元素相关联的内容的请求的时间、以及从客户端设备接收到任何确认响应的时间中的任何不规则性可以指示客户端设备处的呈现限制器的执行。在客户端设备上执行呈现限制器的功能可能导致接收到任何确认响应的时间比没有呈现限制器的情况更长。数据处理系统可以在确定内容元素的渲染是否受到干扰时,比较与内容元素和信息资源的发送和与内容元素相关联的任何确认响应的接收有关的各种时间。可以实时地或以指定的时间间隔执行比较。
在一些实施方式中,数据处理系统可以根据没有接收到来自客户端设备的对内容的请求或者没有接收到对第一内容元素的确认响应,确定对信息资源上的第一内容元素的渲染的干扰的发生。没有接收到来自客户端设备的对内容的请求或者对第一内容元素的确认响应可以指示呈现限制器更改了其上的第一内容元素或信息资源的行为。为此,对于每个内容元素,数据处理系统可以访问数据库以确定信息资源是否被发送或提供给客户端设备。数据处理系统可以确定是否从客户端设备接收到对与第一内容元素相关联的内容的请求。如果从客户端设备接收到对内容的请求,则数据处理系统可以分析接收到请求的时间以及其他因素,以确定第一内容元素的干扰。如果未从客户端设备接收到对内容的请求,则数据处理系统可以确定在客户端设备上对信息资源上的第一内容元素的渲染的干扰的发生。对于每个内容元素,数据处理系统还可以访问数据库以确定是否从客户端设备接收到与第一内容元素相关联的确认响应。如果从客户端设备接收到确认响应,则数据处理系统可以分析确认响应的时间以及其他因素,以确定第一内容元素的干扰。如果未从客户端设备接收到确认响应,则数据处理系统可以确定在客户端设备上对信息资源上的第一内容元素的渲染的干扰的发生。
在一些实施方式中,数据处理系统可以比较在向客户端设备发送第一内容元素的时间与从客户端设备接收到对第一内容元素的确认响应的时间之间经过的时间,以确定干扰的发生。数据处理系统针对发送的时间和接收到确认响应的时间访问数据库。数据处理系统可以识别向客户端设备发送第一内容元素的时间。发送第一内容元素的时间可以对应于数据处理系统或内容提供方设备向客户端设备发送或者以其他方式提供第一内容元素的时间。数据处理系统可以识别接收到确认响应的时间。接收到确认响应的时间可以对应于处理第一内容元素的客户端设备将确认响应发送回数据处理系统或内容提供方设备的时间。数据处理系统可以计算在发送第一内容元素的时间和接收到确认响应的时间之间经过的时间。数据处理系统可以将计算的经过的时间与预定阈值(例如,微秒到毫秒范围)进行比较。如果数据处理系统确定计算的经过的时间大于或等于预定阈值,则数据处理系统可以确定出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定计算的经过的时间小于预定阈值,则数据处理系统可以确定没有出现对信息资源上的第一内容元素的渲染的干扰。
在一些实施方式中,数据处理系统可以比较在向多个客户端设备发送第一内容元素的时间和从客户端设备接收到确认响应的时间之间经过的平均时间,以确定干扰的发生。数据处理系统针对每个客户端设备针对发送的时间和接收到确认响应的时间访问数据库。数据处理系统可以计算在多个客户端上的发送第一内容元素的时间和接收到确认响应的时间之间经过的平均时间。数据处理系统可以将经过的平均时间与预定阈值(例如,微秒到毫秒范围)进行比较。如果数据处理系统确定经过的平均时间大于或等于预定阈值,则数据处理系统可以确定在多个客户端设备上出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定经过的平均时间小于预定阈值,则数据处理系统可以确定在多个客户端设备上没有出现对信息资源上的第一内容元素的渲染的干扰。
在一些实施方式中,数据处理系统可以将第一内容元素的第一发送和第二发送之间经过的第一时间与对第一内容元素的确认响应的第一接收和第二接收之间经过的第二时间进行比较。经过的第一时间和经过的第二时间的差异可以指示呈现限制器可能妨碍将第一内容元素渲染或插入到信息资源上。在第一内容元素的第一接收时,呈现限制器可能已经使用了基于渲染的限制策略(例如,图像处理技术)来分析第一内容元素以确定是否要将内容限制策略应用于内容元素。随后,呈现限制器可能已经使用了散列函数来识别第一内容元素是否对应于受限内容数据库上的元素标识符。图像处理算法的性能可能比计算散列值消耗更多时间量。
为了识别发送第一内容元素与接收确认响应的时间之间的间隔的任何差异,数据处理系统可以识别向客户端设备发送第一内容元素的第一时间。数据处理系统可以识别从客户端设备接收到对第一内容元素的第一确认响应的第一时间。数据处理系统可以计算在向客户端设备发送第一内容元素的第一时间与接收到对内容元素的第一确认响应的第一时间之间经过的第一时间。数据处理系统可以识别向客户端设备发送第一内容元素的第二时间。数据处理系统可以识别从客户端设备接收到对第一内容元素的第二确认响应的第二时间。数据处理系统可以计算在向客户端设备发送第一内容元素的第二时间与从客户端设备接收到对内容元素的第二确认响应的第二时间之间经过的第二时间。在一些实施方式中,可以使用在多个客户端设备上的发送第一内容元素和接收到确认响应的时间来计算经过的第一时间和经过的第二时间。数据处理系统可以计算经过的第一时间和经过的第二时间之间的差异。数据处理系统可以将差异与预定阈值进行比较。如果数据处理系统确定差异大于或等于预定阈值,则数据处理系统可以确定出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定差异小于预定阈值,则数据处理系统可以确定没有出现对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,数据处理系统可以将接收到对第一内容元素的请求的预期时间与接收到对第一内容元素的请求的实际时间进行比较,以确定对第一内容元素的渲染的干扰。在客户端设备上运行的呈现限制器可能已经更改了其上的内容元素或信息资源的行为。因此,可以使得客户端设备在比没有呈现限制器的情况更晚的时间处接收信息资源之后发送对第一内容元素的请求。为了解释行为的更改,数据处理系统可以访问数据库以识别从客户端设备接收到对用于将第一内容元素插入到信息资源上的内容的请求的实际时间。数据处理系统还可以识别在向客户端设备发送信息资源与从客户端设备接收到对内容的请求之间经过的实际时间。数据处理系统可以使用任意数量的因素确定或计算从客户端设备接收到对与内容元素相关联的内容的请求的预期时间。这些因素可以包括网络的网络带宽、网络的网络等待时间、客户端设备的设备类型以及客户端设备的设备配置参数等。数据处理系统还可以确定或计算在向客户端设备发送信息资源与从客户端设备接收到对内容的请求之间经过的预期时间。数据处理系统可以比较接收到对内容的请求的预期时间和实际时间。在一些实施方式中,数据处理系统可以计算接收到对内容的请求的预期时间与实际时间之间的差异。如果数据处理系统确定差异大于或等于预定阈值,则数据处理系统可以确定出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定差异小于预定阈值,则数据处理系统可以确定没有出现对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,数据处理系统可以将接收到对第一内容元素的确认响应的预期时间与接收到对第一内容元素的确认响应的实际时间进行比较,以确定对第一内容元素的渲染的干扰。在客户端设备上运行的呈现限制器可能已经更改了其上的内容元素或信息资源的行为。因此,可以使得客户端设备在比没有呈现限制器的情况更晚的时间处接收内容元素之后发送对第一内容元素的确认响应。为了解释行为的更改,数据处理系统可以访问数据库以识别从客户端设备接收到对第一内容元素的确认响应的实际时间。数据处理系统还可以识别在向客户端设备发送信息资源与从客户端设备接收到确认响应之间经过的实际时间。数据处理系统可以使用任何数量的因素来确定或计算从客户端设备接收到确认响应的预期时间。这些因素可以包括网络的网络带宽、网络的网络等待时间、客户端设备的设备类型以及客户端设备的设备配置参数等。数据处理系统还可以确定或计算在向客户端设备发送信息资源和从客户端设备接收到确认响应之间经过的预期时间。数据处理系统可以比较对第一内容元素的确认响应的预期时间和实际时间。在一些实施方式中,数据处理系统可以计算接收到对第一内容元素的确认响应的预期时间与实际时间之间的差异。如果数据处理系统确定差异大于或等于预定阈值,则数据处理系统可以确定出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定差异小于预定阈值,则数据处理系统可以确定没有出现对信息上的第一内容元素的渲染的干扰。
在一些实施方式中,数据处理系统可以识别关于来自客户端设备的子集的第一内容元素的行为的差异,以确定对信息资源上的第一内容元素的干扰。客户端设备的第一子集可以执行呈现限制器或者可能以其他方式在处理其上的信息资源及内容元素时受呈现限制器影响。另一方面,客户端设备的第二子集可以不具有在其上执行的呈现限制器。如此,客户端设备的第一子集在处理和分析内容元素时可以消耗与客户端设备的第二子集不同的时间量。为了解释行为的差异,对于每个客户端设备,数据处理系统可以识别发送第一内容元素的时间、接收到对内容的请求的时间、以及接收到确认响应的时间。使用识别的值作为参数,数据处理系统可以应用聚类算法(例如,k-最近邻算法、期望最大化等)来识别客户端设备的子集。对于每个子集,数据处理系统可以计算发送第一内容元素的时间、接收到对内容的请求的时间和接收到确认响应的时间的平均值。数据处理系统可以计算使用聚类算法识别的客户端设备的子集上的平均值的差异。数据处理系统可以将差异与预定余量进行比较。如果数据处理系统确定差异大于或等于预定余量,则数据处理系统可以确定出现了对信息资源上的第一内容元素的渲染的干扰的发生。如果数据处理系统确定差异小于预定余量,则数据处理系统可以确定没有出现对信息上的第一内容元素的渲染的干扰。
响应于确定对信息资源上的第一内容元素的渲染的干扰,数据处理系统可以基于第一内容元素生成后续信息资源的第二内容元素(框815)。第二内容元素可以具有与第一比特流不同的第二比特流。响应于检测到对信息资源上的第一内容元素的渲染的干扰,数据处理系统可以基于第一内容元素生成用于后续信息资源的第二内容元素。第二内容元素可以对应于与第一比特流不同的第二比特流。当呈现限制器计算比特流的散列值以生成针对每个内容元素的元素标识符时,与第一比特流不同的第二比特流可以使得呈现限制器重新运行基于渲染的限制策略(例如,使用图像处理算法)来分析第二内容元素。重复应用基于渲染的限制策略来确定是否要将内容限制策略应用于具有不同比特流的各种内容元素可能降低执行呈现限制器的设备的性能。为此,数据处理系统可以修改第一内容元素以根据内容修改策略使用任何数量的技术和技术的任何组合来生成具有与第一比特流不同的第二比特流的第二元素。
由数据处理系统生成的第二内容元素可以在视觉上看起来与第一内容元素有差异地类似,但是传达相同的信息(例如,具有不同背景颜色的相同文本或具有不同边界宽度的相同图像),以导致从第一比特流到第二比特流的改变。在一些实施方式中,数据处理系统可以修改第一内容元素的视觉特性(例如,字体、字体大小、背景颜色、边界宽度、尺寸、信息资源上的位置等)以生成第二内容元素。对视觉特性的修改可能导致从第一比特流到第二比特流的改变。数据处理系统可以识别来自数据库的第一内容元素的视觉特性。数据处理系统可以根据内容修改策略将第一内容元素的视觉特性设置为与默认值不同的值。内容修改策略可以基于默认值指定要设置视觉特性的哪些值(例如,将背景颜色从浅绿色改变为浅蓝色)。
由数据处理系统生成的第二内容元素可以在视觉上看起来与第一内容元素类似,传达相同的信息但具有不同的功能行为,以引起从第一比特流到第二比特流的改变。在一些实施方式中,数据处理系统可以修改第一内容元素的文件路径名以生成第二内容元素。文件路径名可以对应于第一内容元素的源地址。文件路径名可以包括协议(例如,http、https、ftp等)、主机名(例如,www.example.com)和文件名(例如,/samplescontent.html)。数据处理系统可以从文件路径名中识别协议、主机名和文件名。在一些实施方式中,数据处理系统可以修改主机名和文件名之一以生成第二内容元素。数据处理系统可以用修改后的文件路径名再现或重新生成第一内容元素以创建第二内容元素。在一些实施方式中,数据处理系统可以修改第一内容元素的重定向链接以生成第二内容元素。重定向链接可以包括第一内容元素中包括的源地址,并且可以被配置为使得在客户端设备上运行的应用160检索与源地址对应的内容。数据处理系统可以识别第一内容元素的重定向链接。数据处理系统可以用修改后的重定向链接再现或重新生成第一内容元素以创建第二内容元素。
由数据处理系统生成的第二内容元素可以对应于与第一内容元素的代码或标记不同的代码或标记,以导致从第一比特流到第二比特流的改变。数据处理系统可以修改与第一内容元素或与第一内容元素相关联的信息资源对应的代码段以生成第二内容元素。代码段可以包括与第一内容元素相关联的一个或多个脚本。数据处理系统可以用对第一内容元素的修改来再现或重新生成代码段以创建第二内容元素。
在一些实施方式中,数据处理系统可以识别来自第一内容元素的代码段的确认响应代码。数据处理系统可以修改来自第一内容元素的代码段的确认响应代码以生成第二内容元素。确认响应代码一旦被客户端设备接收并由在其上执行的应用160处理,就可以使得客户端设备向数据处理系统或内容提供方设备发送确认响应(例如,pingback)。
在一些实施方式中,数据处理系统可以识别来自信息资源的代码段的内容请求代码。数据处理系统可以修改来自信息资源的代码段的内容请求代码以生成第二内容元素。内容请求代码一旦被客户端设备接收并由在其上执行的应用160处理,就可以使得客户端设备向数据处理系统或内容提供方设备发送对内容的请求以将内容元素插入到信息资源中。
在一些实施方式中,数据处理系统可以将附属代码添加、插入或附加到用于第一内容元素的代码段中以生成第二内容元素。附属代码可以是非功能代码,其不改变或更改第二内容元素相对于第一内容元素的行为。附属代码可能导致从第一比特流到第二比特流的改变。
为了验证事实上比特流是否已经被更改,数据处理系统可以确定针对第一内容元素的第二比特流是否不同于针对第一内容元素的第一比特流。数据处理系统可以识别与第一内容元素对应的第一比特流。数据处理系统可以识别与第二内容元素对应的第二比特流。数据处理系统可以识别或确定第一比特流和第二比特流之间不同的比特数。数据处理系统可以将不同的比特数与阈值数量进行比较。如果数据处理系统确定不同的比特数大于或等于阈值数量,则数据处理系统可以许可将第二内容元素发送或提供给客户端设备。如果数据处理系统确定不同的比特数小于阈值数量,则数据处理系统可以限制将第二内容元素发送或提供给客户端设备。数据处理系统还可以重新运行对第一内容元素的修改以生成另一内容元素。
在一些实施方式中,数据处理系统可以识别在第一比特流和第二比特流之间不同的比特分布。数据处理系统可以将不同的比特分布与预定阈值进行比较。如果数据处理系统确定不同的比特分布大于或等于预定阈值,则数据处理系统可以许可将第二内容元素发送或提供给客户端设备。如果数据处理系统确定不同的比特分布小于预定阈值,则数据处理系统可以限制向客户端设备发送或提供第二内容元素。数据处理系统还可以重新运行对第一内容元素的修改以生成另一内容元素。
数据处理系统可以向客户端设备发送包括第二内容元素的后续信息资源(框820)。第二内容元素的接收可能使得在客户端设备上执行的内容限制脚本响应于与第一比特流不同的第二比特流而应用基于渲染的限制策略。在生成第二内容元素的情况下,数据处理系统可以将包括第二内容元素的后续信息资源发送到客户端设备。在一些实施方式中,数据处理系统可以从客户端设备接收对信息资源的请求。响应于接收到请求,数据处理系统可以发送后续信息资源。在一些实施方式中,数据处理系统可以从客户端设备接收对用于插入到信息资源中的内容的请求。响应于对内容的请求,数据处理系统可以向客户端设备发送包括在后续信息资源中的第二内容元素。在第二内容元素对应于与第一比特流不同的第二比特流的情况下,客户端设备对第二内容元素的接收可以使得在客户端设备上执行的呈现限制器应用基于渲染的限制策略。
现在参考图9,图9是描绘根据说明性实施方式的针对干扰信息资源的完整性的脚本的对策的方法900的流程图。本文针对方法900描述的功能可以由如图1中所示的系统100、如图6中所示的系统600、或如图10中所示的计算设备、或其任何组合来执行或以其他方式执行。简要概述,数据处理系统可以识别信息资源上的内容元素(框905)。数据处理系统可以确定是否接收到对内容的请求(框910)。如果接收到对内容的请求,则数据处理系统可以确定是否接收到对内容元素的确认响应(框915)。如果接收到确认响应,则数据处理系统可以识别向客户端设备发送内容元素的时间(框920)。数据处理系统可以识别来自客户端设备的对内容元素的第一确认响应的时间(框925)。数据处理系统可以确定第一确认响应的时间和发送时间之间的差异是否大于阈值(框930)。如果第一确认响应的时间与发送时间之间的差异小于阈值,则数据处理系统可以识别来自客户端设备的对内容元素的第二确认响应的时间(框935)。数据处理系统可以确定在第一确认响应时间和发送时间之间经过的时间是否比在第二响应时间和发送时间之间经过的时间大预定余量(框940)。如果在第一确认响应时间和发送时间之间经过的时间比在第二响应时间和发送时间之间经过的时间大不大于所述预定余量的预定余量,则数据处理系统可以确定没有干扰(框945)。
否则,如果未接收到对内容的请求,未接收到对内容元素的确认响应,第一确认响应时间与发送时间之间的差异大于阈值,或者如果在第一确认响应时间和发送时间之间经过的时间比在第二响应时间和发送时间之间经过的时间大预定余量,则数据处理系统可以确定对内容元素的干扰的发生(框950)。数据处理系统可以……(框950)。数据处理系统可以识别内容元素的属性(框955)。数据处理系统可以根据初始内容元素的识别的属性生成新内容元素(框960)。数据处理系统可以响应于对内容的另一请求而发送新内容元素(框965)。
D.计算系统架构
图10示出了根据一些实施方式的可以被采用来实施本文讨论的计算机系统中的任何一个的说明性计算机系统1000的一般架构(包括数据处理系统110及其组件,诸如内容请求模块130、资源组装器模块135、干扰检测器605、内容修改器610、应用160及其模块、或呈现限制器165及其组件、资源解析器215、元素散列器220、内容限制器225和渲染限制器230)。计算机系统1000可以被用于经由网络105提供信息以用于显示。图10的计算机系统1000包括通信地耦合到存储器1025、一个或多个通信接口1005、以及一个或多个输出设备1010(例如,一个或多个显示单元)和一个或多个输入设备1015的一个或多个处理器1020。处理器1020可以被包括在数据处理系统110或系统110的其他组件,诸如内容请求模块130、资源组装器模块135、干扰检测器605和内容修改器610中。处理器可以被包括在客户端设备125、代理设备145、远程内容限制器设备150或它们的模块,诸如应用160和呈现限制器165及其组件、资源解析器215、元素散列器220、内容限制器225和渲染限制器230中。
在图10的计算机系统1000中,存储器1025可以包括任何计算机可读存储介质,并且可以存储计算机指令(诸如用于实施本文描述的对于各个系统的各种功能的处理器可执行指令),以及与其相关的、由此生成的或经由(一个或多个)通信接口或(一个或多个)输入设备(如果存在)接收的任何数据。再次参考图1的系统110,数据处理系统110可以包括存储器1025,其用于存储与一个或多个内容单元的库存的可用性、一个或多个内容单元的预留等有关的信息。存储器1025可以包括数据库140。图10中所示的(一个或多个)处理器1020可以被用于执行存储在存储器1025中的指令,并且在这样做时,还可以从存储器读取或向存储器写入依据指令的执行处理和或生成的各种信息。
图10中所示的计算机系统1000的处理器1020还可以通信地耦合到(一个或多个)通信接口1005或用于控制(一个或多个)通信接口1005依据指令的执行来发送或接收各种信息。例如,(一个或多个)通信接口1005可以被耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统1000向其他设备(例如,其他计算机系统)发送信息或从其他设备接收信息。尽管未在图1或图6的系统中明确示出,但是一个或多个通信接口促进了系统1000的组件之间的信息流。在一些实施方式中,(一个或多个)通信接口可以被配置为(例如,经由各种硬件组件或软件组件)提供网站,该网站作为计算机系统1000的至少一些方面的访问门户。通信接口1005的示例包括用户界面(例如,网页),用户可以通过该用户界面与计算机系统1000通信。
图10中所示的计算机系统1000的输出设备1010可以被提供以例如允许结合指令的执行来查看或以其他方式感知各种信息。(一个或多个)输入设备1015可以被提供以例如允许用户在指令的执行期间进行手动调整、进行选择、输进数据、或以各种方式中的任何一种与处理器进行交互。本文进一步提供了与可以被用于本文讨论的各种系统的一般计算机系统架构有关的附加信息。
本说明书中描述的主题和操作的实施方式可以以数字电子电路来实施,或者以包括本说明书中公开的结构及其结构等同物的体现在有形介质、固件或硬件上的计算机软件来实施,或者以它们中的一个或多个的组合来实施。本说明书中描述的主题的实施方式可以被实施为编码在计算机存储介质上用于由数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序(即计算机程序指令的一个或多个模块)。程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息以用于发送到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合或被包括在其中。而且,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或被包括在其中。
本文公开的特征可以在智能电视模块(或连网的电视模块、混合电视模块等)上实施,智能电视模块可以包括处理模块,该处理模块被配置为将互联网连接与(例如,经由电缆、卫星、空中传输或其他信号接收的)更多传统电视节目源集成。智能电视模块可以被物理地并入到电视机中,或者可以包括单独的设备,诸如机顶盒、蓝光(Blu-ray)或其他数字媒体播放器、游戏机、酒店电视系统或其他配套设备。智能电视模块可以被配置为允许观看者在网上、在本地有线TV频道上、在卫星TV频道上搜索和查找视频、电影、照片和其他内容或者存储在本地硬盘驱动器上。机顶盒(set-top box,STB)或机顶盒单元(set-top unit,STU)可以包括信息工具设备,该信息工具设备可以包含调谐器并连接到电视机和外部信号源,将信号调谐成然后显示在电视屏幕或其他显示设备上的内容。智能电视模块可以被配置为提供主屏幕或顶级屏幕,其包括用于多个不同应用(诸如web浏览器和多个流媒体服务、连接电缆或卫星媒体源、其他网络“频道”等)的图标。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作,以向用户提供关于可用节目的附加信息,允许用户控制智能电视模块等。在替代实施方式中,特征可以在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持式计算机、平板PC或其他计算设备上实施。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或从其他源接收的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的所有种类的装置、设备和机器,其包括例如可编程处理器、计算机、片上系统,或多个前述的可编程处理器、计算机、片上系统,或其组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。内容请求模块130、资源组装器模块135、干扰检测器605和内容修改器610可以包括或共享一个或多个数据处理装置、计算设备或处理器。应用160、呈现限制器165及其模块、资源解析器215、元素散列器220、内容限制器225和渲染限制器230可以包括或共享一个或多个数据处理装置、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明或过程语言)编写,并且它可以以任何形式(包括作为独立程序或作为模块、组件、子例程、对象或适于在计算环境中使用的其他单元)部署。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单一文件中,或存储在多个协调文件(例如,存储一个或多个模块、子程序、或代码的部分的文件)中。计算机程序可以被部署为在一个计算机上或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适合于计算机程序的执行的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传递到一个或多个大容量存储设备,或两者,以用于存储数据。然而,计算机不需要具有这样的设备。而且,例如,计算机可以被嵌入在另一设备中,该另一设备例如,移动电话、个人数字助理(personal digitalassistant,PDA)、移动音频或视频播放器、游戏机、全球定位系统(Global PositioningSystem,GPS)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,USB)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括:所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备(例如,EPROM、EEPROM和闪速存储器设备);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有显示设备、键盘以及定点设备的计算机上实施,显示设备例如,CRT(cathode ray tube,阴极射线管)、等离子体或LCD(liquid crystal display,液晶显示器)监视器,以用于向用户显示信息,键盘以及定点设备(例如,鼠标或轨迹球),用户可以通过其向计算机提供输入。其他种类的设备也可以被用于提供与用户的交互。例如,提供给用户的反馈可以包括任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入(包括声学、语音或触觉输入)。另外,计算机可以通过向用户所使用的设备传送文档和从用户所使用的设备接收文档来与用户交互,例如,通过响应于从web浏览器接收的请求将网页发送到用户的客户端设备上的web浏览器。
本说明书中描述的主题的实施方式可以在包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过其与本说明书中描述的主题的实施例进行交互)、或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统中实施。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,专设(ad hoc)对等网络)。
诸如系统1000或系统110的计算系统可以包括客户端和服务器。例如,数据处理系统110可以包括一个或多个数据中心或服务器群中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助在各自的计算机上执行并且具有彼此的客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,用于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实施方式细节,但这些不应被解释为对任何发明或对可以要求保护的范围的限制,而是作为被指定于本文描述的系统和方法的特定实施方式的特征的描述。单独的实施方式的背景下在本说明书中描述的某些特征也可以在单一实施方式中以组合实施。相反,在单一实施方式的背景下描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实施。而且,尽管以上特征可以描述为以某些组合起作用并且甚至最初如此声明,但是在一些情况下来自所要求保护的组合的一个或多个特征可以从组合中除去,并且所要求保护的组合可以涉及子组合或子组合的变化。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或按顺序次序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。在一些情况下,权利要求中记载的动作可以以不同的次序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定次序或顺序次序来实现期望的结果。
在某些情况下,多任务和并行处理可能是有利的。而且,以上描述的实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解的是,所描述的程序组件和系统通常可以在单一软件产品中集成在一起或者被封装到多个软件产品中。内容请求模块130、资源组装器模块135、干扰检测器605和内容修改器610可以是数据处理系统110的一部分、单一模块、具有一个或多个处理模块的逻辑器件、一个或多个服务器、或搜索引擎的一部分。另外,应用160、和呈现限制器165的资源解析器215、元素散列器220、内容限制器225、以及渲染限制器230可以包括或可以是客户端设备125、代理设备145和远程内容限制器设备150的一部分、单一模块、或具有一个或多个处理模块的逻辑器件。呈现限制器165的资源解析器215、元素散列器220、内容限制器225和渲染限制器230可以包括或共享一个或多个数据处理装置、计算设备或处理器,并且是客户端设备125、代理设备145和远程内容限制器设备150的一部分、单一模块或具有一个或多个处理模块的逻辑器件。
现在已经描述了一些说明性的实施方式和实现方式,显而易见的是,已经通过示例的方式呈现的前述内容是说明性的而非限制性的。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是那些动作和那些元件可以以其他方式组合以实现相同的目标。仅与一个实施方式相关地讨论的动作、元件和特征没有意图从其他实施方式或实现方式中的类似角色中排除。
本文使用的措辞和术语是出于描述的目的,而不应该被视为限制。“包括”、“包含”、“具有”、“含有”、“涉及”、“特征在于”、“其特征在于”及其变型的使用,意味着涵盖其后列出的项目、其等同物和附加项目,以及组成其后列出的项目的替代实施方式。在一个实施方式中,本文描述的系统和方法包括所描述的元件、动作或组件中的一个、多于一个的每个组合、或所有。
以单数形式提及的对本文的系统和方法的实施方式或元件或动作的任何引用也可以包揽包括多个这些元素的实施方式,并且对于本文中的任何实施方式或元件或动作的以复数的任何引用也可以包揽仅包括单一元素的实施方式。单数或复数形式的引用并没有意图将当前公开的系统或方法、它们的组件、动作或元件限制为单一或复数的配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中动作或元素至少部分地基于任何信息、动作或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式组合,并且对“实施方式”、“一些实施方式”、“替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是相互排除的并且意图指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式中。本文使用的这些术语不一定都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含地或排他地与任何其他实施方式组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述的术语的单一、多于一个和所有中的任何一个。
附图、详细描述或任何权利要求中的技术特征的后面附有参考标记的情况下,包括了参考标记仅为了增加附图、详细描述和权利要求的可理解性的目的。因此,参考标记及其缺失都不会对任何权利要求要素的范围产生任何限制作用。
在不脱离本文描述的系统和方法的特性的情况下,本文描述的系统和方法可以以其他特定形式来体现。尽管本文提供的示例涉及限制插入到信息资源中的内容并部署对其的对策,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且落入权利要求的等同物的含义和范围内的改变涵盖在其中。
Claims (33)
1.一种部署针对脚本的对策的方法,脚本通过计算关于信息资源的内容元素的比特流的散列值来生成每个内容元素的元素标识符以干扰信息资源的完整性,该方法包括:
由具有一个或多个处理器的数据处理系统识别先前发送到客户端设备的信息资源上的第一内容元素,所述第一内容元素具有第一比特流;
由所述数据处理系统确定对所述信息资源上的第一内容元素的渲染的干扰;
响应于确定对所述信息资源上的第一内容元素的渲染的干扰,由所述数据处理系统基于所述第一内容元素生成用于后续信息资源的第二内容元素,所述第二内容元素具有与所述第一比特流不同的第二比特流,其中生成第二内容元素还包括修改第一内容元素的视觉特性以生成第二内容元素,以导致从第一比特流到第二比特流的改变;以及
由所述数据处理系统向所述客户端设备发送包括所述第二内容元素的所述后续信息资源。
2.根据权利要求1所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统识别与向所述客户端设备发送所述第一内容元素对应的第一时间;
由所述数据处理系统识别与从所述客户端设备接收到对所述第一内容元素的确认响应对应的第二时间;以及
由所述数据处理系统确定在所述第一时间和所述第二时间之间经过的时间大于预定阈值。
3.根据权利要求1所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统识别所述第一内容元素的第一发送与对所述第一内容元素的第一确认的第一接收之间的第一经过时间;
由所述数据处理系统识别所述第一内容元素的第二发送与对所述第一内容元素的第二确认的第二接收之间的第二经过时间,所述第二发送在所述第一发送之后,所述第二接收在所述第一接收之后;以及
由所述数据处理系统确定所述第二经过时间比所述第一经过时间小预定阈值。
4.根据权利要求1所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统在向所述客户端设备发送所述信息资源之后,确定接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的预期时间;
由所述数据处理系统识别接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的实际时间;以及
由所述数据处理系统确定接收到对内容的请求的所述预期时间和实际时间相差超过预定阈值。
5.根据权利要求1所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统在向客户端设备发送所述信息资源之后,确定接收到对所述第一内容元素到所述信息资源中的确认响应的预期时间;
由所述数据处理系统识别接收到对所述第一内容元素到所述信息资源中的确认响应的实际时间;以及
由所述数据处理系统确定接收到所述确认响应的所述预期时间和实际时间相差超过预定阈值。
6.根据权利要求1所述的方法,其中,确定对在所述信息资源上的第一内容元素的渲染的干扰还包括:由所述数据处理系统确定所述客户端设备没有发送对用于作为所述第一内容元素插入到所述信息资源中的内容的请求。
7.根据权利要求1所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的视觉特性以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
8.根据权利要求1所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的文件路径名以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
9.根据权利要求1所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的确认响应代码以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
10.根据权利要求1所述的方法,其中,生成所述第二内容元素还包括:将附属代码插入到所述第一内容元素中以生成所述第二内容元素,所述附属代码被配置为生成所述第二比特流以引起从所述第一比特流到所述第二比特流的改变。
11.根据权利要求1所述的方法,其中,生成所述第二内容元素以使得所述第二内容元素的渲染具有与所述第一内容元素的渲染对应的视觉外观。
12.一种计算机系统,包括:
存储器,存储处理器可读指令;以及
一个或多个处理器,被设置为读取和执行存储在所述存储器中的指令;
其中,所述处理器可读指令包括被设置为控制计算机执行根据前述权利要求中任一项所述的方法的指令。
13.一种携带计算机程序的计算机可读介质,所述计算机程序包括计算机可读指令,所述计算机可读指令被配置为使计算机执行根据权利要求1至11中任一项所述的方法。
14.一种部署针对脚本的对策的方法,脚本通过计算关于信息资源的内容元素的比特流的散列值来生成每个内容元素的元素标识符以干扰信息资源的完整性,该方法包括:
由具有一个或多个处理器的数据处理系统识别先前发送到客户端设备的信息资源上的第一内容元素,所述第一内容元素具有第一比特流;
由所述数据处理系统确定对所述信息资源上的第一内容元素的渲染的干扰;
响应于确定对所述信息资源上的第一内容元素的渲染的干扰,由所述数据处理系统基于所述第一内容元素生成用于后续信息资源的第二内容元素,所述第二内容元素具有与所述第一比特流不同的第二比特流,其中生成第二内容元素还包括修改第一内容元素的视觉特性以生成第二内容元素,以导致从第一比特流到第二比特流的改变;以及
由所述数据处理系统向所述客户端设备发送包括所述第二内容元素的所述后续信息资源,所述第二内容元素的接收使得在所述客户端设备上执行的内容限制脚本响应于与所述第一比特流不同的所述第二比特流来应用基于渲染的限制策略。
15.根据权利要求14所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统识别与向所述客户端设备发送所述第一内容元素对应的第一时间;
由所述数据处理系统识别与从所述客户端设备接收到对所述第一内容元素的确认响应对应的第二时间;以及
由所述数据处理系统确定在所述第一时间和第二时间之间经过的时间大于预定阈值。
16.根据权利要求14所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统识别所述第一内容元素的第一发送与对所述第一内容元素的第一确认的第一接收之间的第一经过时间;
由所述数据处理系统识别所述第一内容元素的第二发送与对所述第一内容元素的第二确认的第二接收之间的第二经过时间,所述第二发送在所述第一发送之后,所述第二接收在所述第一接收之后;以及
由所述数据处理系统确定所述第二经过时间比所述第一经过时间小预定阈值。
17.根据权利要求14所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统在向所述客户端设备发送所述信息资源之后,确定接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的预期时间;
由所述数据处理系统识别接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的实际时间;以及
由所述数据处理系统确定接收到对内容的请求的所述预期时间和实际时间相差超过预定阈值。
18.根据权利要求14所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:
由所述数据处理系统在向所述客户端设备发送所述信息资源之后,确定接收到对所述第一内容元素到所述信息资源中的确认响应的预期时间;
由所述数据处理系统识别接收到对所述第一内容元素到所述信息资源中的确认响应的实际时间;以及
由所述数据处理系统确定接收到确认响应的所述预期时间和实际时间相差超过预定阈值。
19.根据权利要求14所述的方法,其中,确定对所述信息资源上的第一内容元素的渲染的干扰还包括:由所述数据处理系统确定所述客户端设备没有发送对用于作为所述第一内容元素插入到所述信息资源中的内容的请求。
20.根据权利要求14所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的视觉特性以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
21.根据权利要求14所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的文件路径名以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
22.根据权利要求14所述的方法,其中,生成所述第二内容元素还包括:修改所述第一内容元素的确认响应代码以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
23.根据权利要求14所述的方法,其中,生成所述第二内容元素还包括:将附属代码插入到所述第一内容元素中以生成所述第二内容元素,所述附属代码被配置为生成所述第二比特流以引起从所述第一比特流到所述第二比特流的改变。
24.一种用于部署针对脚本的对策的系统,脚本通过计算关于信息资源的内容元素的比特流的散列值来生成每个内容元素的元素标识符以干扰信息资源的完整性,该系统包括:
在具有一个或多个处理器的数据处理系统上执行的干扰检测器,被配置为:
识别先前发送到客户端设备的信息资源上的第一内容元素,所述第一内容元素具有第一比特流;以及
确定对所述信息资源上的第一内容元素的渲染的干扰;以及在所述数据处理系统上执行的内容修改器,被配置为:
响应于确定对所述信息资源上的第一内容元素的渲染的干扰,基于所述第一内容元素生成用于后续信息资源的第二内容元素,所述第二内容元素具有与所述第一比特流不同的第二比特流,其中生成第二内容元素还包括修改第一内容元素的视觉特性以生成第二内容元素,以导致从第一比特流到第二比特流的改变;以及
向所述客户端设备发送包括所述第二内容元素的所述后续信息资源,所述第二内容元素的接收使得在所述客户端设备上执行的内容限制脚本响应于与所述第一比特流不同的所述第二比特流来应用基于渲染的限制策略。
25.根据权利要求24所述的系统,其中,所述干扰检测器还被配置为:
识别与向所述客户端设备发送所述第一内容元素对应的第一时间;
识别与从所述客户端设备接收到对所述第一内容元素的确认响应对应的第二时间;以及
确定在所述第一时间和所述第二时间之间经过的时间大于预定阈值。
26.根据权利要求24所述的系统,其中,所述干扰检测器还被配置为:
识别所述第一内容元素的第一发送与对所述第一内容元素的第一确认的第一接收之间的第一经过时间;
识别所述第一内容元素的第二发送与对所述第一内容元素的第二确认的第二接收之间的第二经过时间,所述第二发送在所述第一发送之后,所述第二接收在所述第一接收之后;以及
确定所述第二经过时间比所述第一经过时间小预定阈值。
27.根据权利要求24所述的系统,其中,所述干扰检测器还被配置为:
在向所述客户端设备发送所述信息资源之后确定接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的预期时间;
识别接收到对作为所述第一内容元素插入到所述信息资源中的内容的请求的实际时间;以及
确定接收到对内容的请求的所述预期时间和所述实际时间相差超过预定阈值。
28.根据权利要求24所述的系统,其中,所述干扰检测器还被配置为:
在向所述客户端设备发送所述信息资源之后确定接收到对所述第一内容元素到所述信息资源中的确认响应的预期时间;
识别接收到对所述第一内容元素到所述信息资源中的确认响应的实际时间;以及
确定接收到确认响应的所述预期时间和所述实际时间相差超过预定阈值。
29.根据权利要求24所述的系统,其中,所述干扰检测器还被配置为:确定所述客户端设备没有发送对用作所述第一内容元素插入到所述信息资源中的内容的请求。
30.根据权利要求24所述的系统,其中,所述内容修改器还被配置为:修改所述第一内容元素的视觉特性以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
31.根据权利要求24所述的系统,其中,所述内容修改器还被配置为:修改所述第一内容元素的文件路径名以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
32.根据权利要求24所述的系统,其中,所述内容修改器还被配置为:修改所述第一内容元素的确认响应代码以生成所述第二内容元素,从而引起从所述第一比特流到所述第二比特流的改变。
33.根据权利要求24所述的系统,其中,所述内容修改器还被配置为:将附属代码插入到所述第一内容元素中以生成所述第二内容元素,所述附属代码被配置为生成所述第二比特流以引起从所述第一比特流到所述第二比特流的改变。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662440783P | 2016-12-30 | 2016-12-30 | |
US62/440,783 | 2016-12-30 | ||
PCT/US2017/014785 WO2018125265A1 (en) | 2016-12-30 | 2017-01-24 | Deploying countermeasures to hash-based dynamic restriction of content elements on information resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891421A CN109891421A (zh) | 2019-06-14 |
CN109891421B true CN109891421B (zh) | 2023-12-29 |
Family
ID=58046751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780066650.8A Active CN109891421B (zh) | 2016-12-30 | 2017-01-24 | 部署对信息资源上的内容元素的基于散列的动态限制的对策 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3516541A1 (zh) |
CN (1) | CN109891421B (zh) |
WO (1) | WO2018125265A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11586724B1 (en) * | 2019-10-10 | 2023-02-21 | Authidote LLC | System and methods for authenticating content |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101331495A (zh) * | 2005-12-15 | 2008-12-24 | 国际商业机器公司 | 用于实行信息流策略的引用监控机系统和方法 |
CN103181178A (zh) * | 2010-09-09 | 2013-06-26 | 爱迪德有限责任公司 | 用于向接收设备提供内容的方法和系统 |
CN103180862A (zh) * | 2010-08-25 | 2013-06-26 | 前景公司 | 用于服务器耦合的恶意软件防止的系统和方法 |
CN103186836A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 具有元素关系指示的业务智能控制面板组装系统和方法 |
US9208316B1 (en) * | 2012-02-27 | 2015-12-08 | Amazon Technologies, Inc. | Selective disabling of content portions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650420B2 (en) * | 2001-12-28 | 2010-01-19 | The Directv Group, Inc. | System and method for content filtering |
US8041719B2 (en) * | 2003-05-06 | 2011-10-18 | Symantec Corporation | Personal computing device-based mechanism to detect preselected data |
US7673344B1 (en) * | 2002-09-18 | 2010-03-02 | Symantec Corporation | Mechanism to search information content for preselected data |
GB2422455A (en) * | 2005-01-24 | 2006-07-26 | Hewlett Packard Development Co | Securing the privacy of sensitive information in a data-handling system |
US9178908B2 (en) * | 2013-03-15 | 2015-11-03 | Shape Security, Inc. | Protecting against the introduction of alien content |
US20150254219A1 (en) * | 2014-03-05 | 2015-09-10 | Adincon Networks LTD | Method and system for injecting content into existing computerized data |
-
2017
- 2017-01-24 EP EP17705510.0A patent/EP3516541A1/en active Pending
- 2017-01-24 CN CN201780066650.8A patent/CN109891421B/zh active Active
- 2017-01-24 WO PCT/US2017/014785 patent/WO2018125265A1/en active Search and Examination
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101331495A (zh) * | 2005-12-15 | 2008-12-24 | 国际商业机器公司 | 用于实行信息流策略的引用监控机系统和方法 |
CN103180862A (zh) * | 2010-08-25 | 2013-06-26 | 前景公司 | 用于服务器耦合的恶意软件防止的系统和方法 |
CN103181178A (zh) * | 2010-09-09 | 2013-06-26 | 爱迪德有限责任公司 | 用于向接收设备提供内容的方法和系统 |
CN103186836A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 具有元素关系指示的业务智能控制面板组装系统和方法 |
US9208316B1 (en) * | 2012-02-27 | 2015-12-08 | Amazon Technologies, Inc. | Selective disabling of content portions |
Also Published As
Publication number | Publication date |
---|---|
WO2018125265A1 (en) | 2018-07-05 |
CN109891421A (zh) | 2019-06-14 |
EP3516541A1 (en) | 2019-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907360B2 (en) | Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources | |
CN106095869B (zh) | 广告信息处理方法、用户设备、后台服务器及系统 | |
US11797653B2 (en) | Hash-based dynamic restriction of content on information resources | |
US9152808B1 (en) | Adapting decoy data present in a network | |
US11886546B2 (en) | Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources | |
JP7512465B2 (ja) | コンテンツの擬似パーソナライゼーションのための低エントロピーのブラウジング履歴 | |
US9471533B1 (en) | Defenses against use of tainted cache | |
US20130074160A1 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
CN105812313B (zh) | 恢复会话的方法和服务器、生成会话凭证的方法和装置 | |
US10554682B2 (en) | Detecting and removing injected elements from content interfaces | |
CN109891421B (zh) | 部署对信息资源上的内容元素的基于散列的动态限制的对策 | |
US10102384B2 (en) | Digital content execution control mechanism | |
CN117909603A (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 |