CN114127715A - 验证网页视图内的内容和交互 - Google Patents

验证网页视图内的内容和交互 Download PDF

Info

Publication number
CN114127715A
CN114127715A CN202080011804.5A CN202080011804A CN114127715A CN 114127715 A CN114127715 A CN 114127715A CN 202080011804 A CN202080011804 A CN 202080011804A CN 114127715 A CN114127715 A CN 114127715A
Authority
CN
China
Prior art keywords
content
web page
content provider
page view
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080011804.5A
Other languages
English (en)
Inventor
D.B.特纳
A.M.帕克
Z.洛贝尔-弗里德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN114127715A publication Critical patent/CN114127715A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及用于验证提供用于在网页视图内显示的内容以及与这样的内容的交互的方法、系统和包括被编码在计算机存储介质上的计算机程序的装置。方法可以包括在客户端设备上启动的应用的一部分中执行的网页视图内提供包括数字组件的第一内容页,以及由在网页视图内执行的脚本检测交互信号的集合。在检测到交互信号的集合之后,可以经由通信桥将信号从网页视图传送到驻留在本机层内的软件库。软件库将交互信号的集合发送给第一内容提供者,第一内容提供者可以确定交互信号是否指示实际人类用户的交互而不是自动交互。然后,软件库启动由数字组件链接到的第二内容页。

Description

验证网页视图内的内容和交互
背景技术
本公开通常涉及数据处理和验证提供用于在本机(naive)应用中执行的网页视图(webview)内显示的内容,以及与网页视图内的内容的交互。
客户端设备可以显示由一个或多个内容提供者提供的数字网页内容,例如在商业网页浏览器内或通过本机应用(商业网页浏览器除外)执行网页视图。如在本公开中所使用的,网页视图可以包括被包含在本机应用内的浏览器引擎,该浏览器引擎可以(1)呈现网页,(2)读取、编译和/或执行脚本和/或网页代码(诸如JavaScript、层叠样式表(cascadingstyle sheet,CSS)、可扩展标记语言(extensible markup language,XML)等)以生成图形用户界面,和/或(3)启用与服务器(例如,内容提供者、内容平台等)的通信。
发明内容
一般而言,本说明书中描述的主题的一个创新方面可以体现在包括以下的操作的方法中:在客户端设备上启动的应用的一部分中执行的网页视图内,提供包括数字组件的第一内容页;由在网页视图内执行的脚本,检测表示与数字组件的一个或多个交互的交互信号的集合;经由应用的本机层和网页视图之间的通信桥,将交互信号的集合从网页视图传送到驻留在本机层内的软件库;由软件库将交互信号的集合发送给第一内容提供者,以评估交互信号的集合是否指示由客户端设备的人类用户与数字组件的交互而不是自动交互;以及响应于与数字组件的所述一个或多个交互,并由软件库启动由数字组件链接到的并由第一内容提供者提供的第二内容页。这方面的其他实施例包括相应的方法、装置和计算机程序,被配置为执行这些方法的动作、被编码在计算机存储设备上。
这些和其他实施例可任选地各自包括以下特征中的一个或多个。
方法还可以包括由在网页视图内执行的脚本生成对数字内容的请求,其中,请求包括由本机层分配给网页视图的用于网页视图的唯一标识符并且其中数字内容的请求包括通加密环境可信度数据和唯一标识符而生成的加密的数据集;向第二内容提供者提供对数字内容的请求,其中,第二内容提供者不同于第一内容提供者;响应于向第二内容提供者提供对数字内容的请求,从第二内容提供者接收包括数字组件和唯一标识符的数据;验证从内容提供者接收到的数据包括唯一标识符;响应于验证从内容提供者接收到的数据包括唯一标识符,在网页视图内提供数字组件。
方法可以包括经由通信桥由脚本向软件库发送对环境可信度数据的请求,其中,环境可信度数据包括关于本机应用和客户端设备的数据,用于评估本机应用和客户端设备的可信度;以及经由通信桥从软件库接收环境可信度数据。
方法可以包括响应于指示人类用户的交互的交互信号的评估而执行启动第二内容页,其中,启动第二内容页包括启动网页浏览器应用并访问网页浏览器应用内的第二内容页的统一资源定位符(uniform resource locator,URL)。
方法可以包括由软件库确定网页视图的唯一标识符与从内容提供者接收到的数据中包括的唯一标识符相匹配。
方法可以包括向第一内容提供者提供交互信号的集合,还包括向第一内容提供者提供环境可信度数据,其包括将表示交互信号的集合和环境可信度数据的数据附加到由第一内容提供者提供的并且由数字组件链接到的第二内容页的统一资源定位符(URL)。
可以实现本说明书中描述的主题的特定实施例以实现以下一个或多个优点。例如,本说明书中描述的技术使得内容提供者能够验证与提供用于在网页视图内显示的数字组件(例如,数字媒体项、数字广告或链接到其他内容页)的交互是否是由实际人类用户进行的交互,而不是自动交互(例如,可能由于软件缺陷/漏洞而错误生成的交互和/或被恶意代码/实体伪造为由人类用户生成的交互)。网页视图在本机应用内被实现为容器类,并且通常无法访问在底层(underlying)本机应用的本机层中运行的资源。因此,网页视图无法访问本机层的交互验证资源,因此,无法利用这些资源验证与使用现有系统在网页视图内显示的与数字组件的交互。相比之下,本说明书中描述的技术实现了本机层和网页视图之间的软件桥(例如,JavaScript桥),使本机层的交互验证资源能够被利用来帮助验证与网页视图内的数字组件的交互。
本说明书中描述的技术还可以防止在网页视图内执行恶意代码或其他不需要的/未请求的代码。由于网页视图是作为本机应用中的容器类实现的,因此应用的本机层通常无法控制在网页视图内接收和显示的内容。结果,网页视图可接收到恶意代码和/或内容,这些恶意代码和/或内容可能危害网页视图(和/或网页视图与本机层之间的交互)、底层本机应用和/或客户端设备。例如,如果网页视图从一个内容提供者请求内容,但却从发送请求的内容提供者以外的实体(例如,恶意实体)接收内容/代码,则可能发生这种情况。为了解决这些问题,本说明书中描述的技术利用驻留在应用的本机层中的软件资源来验证向其发送请求的内容提供者是否是从其接收内容的相同内容提供者。
本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。通过说明书、附图和权利要求书,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是内容页和数字组件被分发(distributed)并提供用于在客户端设备上显示的示例环境100的框图。
图2是示出了图1的组件在验证与网页视图内提供的与数字组件的交互是否是由实际人类用户进行的交互的所执行的操作的框图。
图3是示出了图1的组件在验证网页视图内提供的用于显示的数字组件是否由预期的内容提供者提供时执行的操作的框图。
图4是验证与网页视图内提供的与数字组件的交互是否是由实际人类用户进行的交互的示例过程的流程图。
图5是可用于执行所述操作的示例计算机系统的框图。
具体实施方式
本公开通常涉及验证在本机应用中执行的网页视图内提供用于显示的内容以及与网页视图内的内容的交互。
内容提供者可能想要验证与显示在应用的网页视图内的数字组件的交互是由客户端设备的实际人类用户执行的交互,而不是人类交互的一些伪造指示。本说明书中描述的技术概述如下,并在本公开中详细描述,通过在网页视图内执行脚本来检测与数字组件的交互信号,并使用网页视图和应用的本机层之间的通信桥将交互信号从网页视图传输到驻留在应用的本机层中的软件库,来启用这种交互验证。在从网页视图接收到交互信号之后,本机层中的软件库将交互信号(和/或附加环境可信度数据(如本说明书中进一步描述的))发送给内容提供者,其进而可以评估交互信号是否指示由客户端设备的实际人类用户进行的交互(与例如由于软件缺陷/漏洞和/或恶意代码/实体伪造而错误地生成的自动交互相反)。
如在本说明书中所使用的,通信桥是连接本机应用的本机层与本机应用的网页视图的软件桥,并且能够在网页视图和本机层之间进行通信和数据传输。在一些实现中,通信桥可以实现为JavaScript桥。在一些实现中,JavaScript桥是由客户端设备的操作系统(operating system,OS)实现的。这样的OS的示例可包括Android或iOS。例如,JavaScript桥可以使用由OS提供的应用编程接口(application programming interface,API)来实现。
除了验证网页视图内的交互之外,下面总结并在本说明书中描述的技术还验证提供用于在网页视图内显示的内容确实是由请求这样的内容的内容提供者提供的。此验证尝试防止网页视图接收不需要的和/或恶意代码,这反过来又可以防止网页视图、本机应用和/或客户端设备受到危害。为了启用这样的内容验证,应用的本机层中的软件库为网页视图分配唯一标识符,并将该唯一标识符连同环境可信度数据(如本公开中进一步描述的)一起提供给网页视图。在一些实现中,软件库可以在传输到应用的网页视图之前对唯一标识符和环境可信度数据加密。在这样的实现中,网页视图向内容提供者提供这个加密的唯一标识符和环境可信度数据以及内容请求。
在接收到内容请求时,内容提供者可以解密加密的唯一标识符和环境可信度以提取唯一标识符。然后,内容提供者可以将唯一标识符与数据(例如,数字组件)一起包括在发送到网页视图的消息中。在数字组件被提供以在网页视图内显示之前,网页视图将接收到的唯一标识符(经由通信桥)发送到软件库,软件库验证接收到的唯一标识符是否与分配给网页视图的唯一标识符相同。如果接收到的唯一标识符与分配给网页视图的唯一标识符相同,则软件库可以确定接收到的数字组件可以被提供以在网页视图内显示,并指示网页视图提供数字组件以供显示。另一方面,如果接收到的唯一标识符与分配给网页视图的唯一标识符不同,则软件库确定接收到的数字组件不能被提供以在网页视图内显示,并指示网页视图不显示该数字组件。
下面参考图1-图4进一步描述这些特征和附加特征。
图1是内容页和数字组件被分发并被提供用于在客户端设备上显示的示例环境100的框图。示例环境100包括网络104。网络104可以包括局域网(LAN)、广域网(WAN)、因特网或其组合。网络104还可以包括任何类型的有线和/或无线网络、卫星网络、有线网络、Wi-Fi网络、移动通信网络(例如,3G、4G等)或其任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(internet protocol,IP)、传输控制协议(transmission control protocol,TCP)、用户数据报协议(user datagram protocol,UDP)或其他类型的协议。网络104还可以包括促进网络通信和/或形成网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器或其组合。网络104连接客户端设备102、内容提供者106。示例环境100可以包括许多不同的内容平台106、内容提供者108和客户端设备102。
内容平台106是能够分发内容的计算平台(诸如,如参考图5所述的数据处理装置)。示例内容平台106包括搜索引擎、社交媒体平台、新平台、数据聚合器平台或其他内容共享平台。每个内容平台106可由内容平台服务提供者操作。
内容平台106可以发布并提供其自己的内容。例如,内容平台106可以是新闻平台,其发布自己的新闻文章。内容平台106还可以呈现由一个或多个不属于内容平台106的内容提供者108提供的内容。在上述示例中,新闻平台还可以呈现由一个或多个内容提供者108提供的第三方内容。作为另一示例,内容平台106可以是数据聚合器平台,其不发布其自己的任何内容,而是聚合和呈现由不同内容提供者108提供的第三方内容。
如在本说明书中所使用的,内容提供者108可以是数据处理装置(如参考图5所述),并且可以包括服务器、存储库、或者其他存储设备,其存储由一个或多个实体生成和/或发布的内容并且响应于来自这些实体的内容请求而向内容平台106和/或客户端设备102提供内容。
客户端设备102是能够通过网络104请求和接收内容的电子设备。示例客户端设备102包括个人计算机、移动通信设备、数字助理设备以及能够通过网络104发送和接收数据的其他设备。
示例客户端设备102A通常包括操作系统112,其主要负责管理诸如设备储存器114的设备硬件和诸如应用的软件资源。客户端设备102A通常包括诸如网页浏览器116的应用,以便于通过网络104发送或接收数据并在客户端设备102上呈现内容页,但是,在客户端设备102上执行的本机应用118(除网页浏览器之外)也可以例如使用在这些本机应用内执行的网页视图来促进通过网络104发送或接收数据并在客户端设备上呈现内容页。
在一些实现中,在客户端设备102上执行的应用118包括本机层,本机层可以是为在客户端设备102上执行而编译的可执行对象(例如,为客户端设备102A的软件和硬件环境,诸如操作系统、处理器、芯片组等而编译)。在一些实现中,本机层122还可以包括软件库123。如在整个说明书中所使用的,软件库123可以包括在底层本机应用的本机层中运行的计算机可执行资源,其能够执行一个或多个操作。例如,并且如贯穿本说明书所述,软件库123可以启用和/或协助验证网页视图内提供的内容和/或与网页视图内提供的内容的交互。
在一些实现中,应用118还可以被配置为包括网页视图126。如在本说明书中所使用的,网页视图可以读取、编译和/或执行网页代码和/或技术,诸如JavaScript、层叠样式表(CSS)、可扩展标记语言(XML)等,以生成图形用户界面,与网页服务器通信,并执行其他网页客户端功能。在一些实现中,应用的网页视图加载脚本以及内容提供者提供的内容页。例如,脚本127可以是与内容页一起加载并且在应用118的网页视图126内执行的JavaScript代码。
网页视图126可以与内容提供者通信以从内容提供者请求内容页,并且在接收到这样的内容时,网页视图可以提供该内容以供显示。客户端设备102A的用户可以与在网页视图内的接收到的内容页上提供的一个或多个数字组件进行交互。
如上所述,在传统系统中,网页视图内提供的内容以及与这些内容的交互不能被验证。相比之下,下面的图2和图3的描述能对网页视图内提供的内容进行验证,并验证与这些内容的交互。
图2是示出了图1的组件在验证与网页视图内提供的与数字组件的交互是否是由实际人类用户进行的交互的所执行的操作的框图200。
如图2所示,客户端设备102A(例如,智能手机)访问第一内容页202,该第一内容页202由内容提供者提供并呈现以在本机应用118的网页视图126内显示,第一内容页202可以是由新闻聚合器平台提供的内容页,该新闻聚合器平台包括由不同内容提供者108提供的新闻文章。另一个示例,第一内容页202可以是由社交媒体平台提供的内容页,该社交媒体平台呈现由一个或多个内容提供者108提供的媒体项。如图2所示,第一内容页202还可以包括数字组件204,该数字组件204被链接到可以由相同内容提供者或不同内容提供者提供的第二内容页。如在本说明书中所使用的,数字组件是数字内容或数字信息的离散单元,诸如,例如视频片段、音频片段、多媒体片段、图像、文本、统一资源定位符(URL)或其他内容单元。
图2进一步示出了在本机应用118中发生的操作/交互,特别是,示出在本机层122和网页视图126之间发生的操作/交互。本机层122是为在客户端设备102A上执行而编译的可执行对象,并且基于客户端设备102A的软件和硬件环境,诸如操作系统、处理器、芯片组等。网页视图126可以读取,编译和/或执行网页代码和/或技术,诸如JavaScript、层叠样式表(CSS)、可扩展标记语言(XML)等,以生成图形用户界面、与网页服务器通信以及执行其他网页客户端功能。如上所述,网页视图在本机应用中实现为容器类,并且不能直接访问在底层本机应用的本机层中运行的资源。因此,为了让网页视图访问本机层中的这些资源,需要在网页视图和本机层之间建立一个通信桥(如上所述,并在本说明书中进一步详细说明)。
在一些实现中,网页视图126加载脚本以及由内容提供者提供的内容页。网页视图进一步呈现客户端设备102A上的内容页,并且使得客户端设备102A的用户能够与被包括在内容页中的数字组件交互。
用户可以与数字组件204交互(例如,按他/她的手指和/或客户端设备102A的触摸屏上的触针(stylus)206)。响应于此交互,网页视图可以启动由数字组件204链接到的第二内容页。在某些情况下,记录的与数字组件204的交互可能已经错误地生成(例如,由于应用和/或网页视图中的软件缺陷或漏洞),或者可能已经由应用内执行的恶意代码生成(例如,由恶意实体为伪造与数字组件的交互而注入的代码)。
为了能够验证与网页视图内的数字组件204的交互是否由客户端设备102A的实际人类用户执行,由在网页视图内执行的脚本检测由与数字组件的交互生成的交互信号的集合。由脚本检测到的这样的交互信号的示例可以包括其中交互被检测到的位置的坐标(例如,触摸屏上的接触点)和接触被执行的时间量。例如,如果客户端设备102A的用户使用触针206以与数字组件204交互,则脚本可以检测交互信号,该交互信号可以包括触针206进行接触的位置的坐标和进行接触的时间量。
在检测到交互信号的集合之后,在网页视图126中执行的脚本127经由通信桥将交互信号的集合210发送到应用的本机层中的软件库。例如,在通过在网页视图126中执行的脚本127检测到交互信号的集合210之后,脚本127经由通信桥120将交互信号组发送到本机层122中的软件库123。
在一些实现中,本机层122中的软件库123被配置为单独地或与客户端设备102A的操作系统一起操作,以收集关于客户端设备102A和/或本机应用118的软件和硬件环境的信号。信号被收集的示例包括但不限于客户端设备上运行的操作系统版本、客户端设备上使用的芯片组、本机应用的标识符、本机应用的版本、本机应用是否从官方应用商店下载、客户端设备的类型、客户端设备的型号、设备是否已被根(root)和/或越狱的证据、客户端设备的操作系统上次更新的时间、本机应用118是否在仿真器上运行等。这些信号还可以包括关于客户端设备102A中负责在客户端设备102A上执行应用118的其他硬件和/或软件资源的细节。这些信号被统称为环境可信度数据212,可由内容提供者用于确定客户端设备102的可信度。
在一些实现中,在从网页视图126接收到交互信号的集合之后,软件库123将交互信号的集合210单独地或与环境可信度数据212组合地发送给内容提供者108。在一些实现中,软件库将表示交互信号的集合的数据和环境可信度数据附加到由内容提供者108提供并且由数字组件204链接到的第二内容页的统一资源定位符(URL)。
在一些实现中,软件库可以启动单独的网页浏览器应用(例如,应用116)并访问在上段中引用的URL。通过导航到此URL,软件库123向内容提供者108提供(并且内容提供者108接收)交互信号的集合和环境可信度数据。或者,URL可以在网页视图126内被启动。
基于接收到的交互信号210和/或环境可信度数据212(例如,被包括在用于访问由内容提供者108提供的第二内容页的URL中),内容提供者108可以验证与网页视图内的数字组件204的交互是否由客户端设备102A的实际人类用户进行。
内容提供者108可以实现例如机器学习模型、基于规则的引擎,或者其他适当技术,其处理交互信号210和/或环境可信度数据212的集合,以确定在网页视图126上执行的交互是否由客户端设备102A的实际人类用户生成的。在内容提供者108包括基于规则的引擎的实现中,该引擎可以使用一组规则来分析交互信号和/或环境可信度数据,以确定网页视图内的交互是否是由实际人类用户进行的交互。或者,在内容提供者108包括机器学习模型(例如,监督或无监督的学习模型)的实现中,该模型接受环境可信度数据和/或交互信号作为输入并输出确定(例如,二进制确定,或可能性评估),以确定网页视图内的交互是否由实际的人类用户执行。例如,机器学习模型可以是使用多个客户端设备的训练数据训练的监督模型,该训练数据包括每个这样的设备的交互信号和环境可信度数据以及已知的,关于各个设备的网页视图内的交互是否由实际人类用户进行的相应确定。
基于关于与网页视图内的数字组件的交互是否是由实际人类用户进行的交互的确定,内容提供者108可以采取至少以下动作。如果内容提供者108确定交互不是由实际人类用户进行的,则内容提供者108可以拒绝对由数字组件204链接到的第二内容页的访问。这可以通过避免将内容传送到可能受到危害的设备来节省内容提供者处的资源,诸如服务器处理能力和网络带宽。在一个或多个客户端设备上发起拒绝服务、DoS攻击的情况下,这可能是一个显著的节省,并且甚至可以防止内容提供者被来自一个或多个客户端设备102A的恶意请求淹没。另一方面,如果内容提供者108确定交互是由实际人类用户进行的,则内容提供者108可以允许访问由数字组件204链接到的第二内容页。在一些实现中,如果内容提供者108确定交互不是由实际人类用户进行的,不过内容提供者108可以允许访问由数字组件204链接到的第二内容页,但是可以记录关于发起交互的客户端设备102A和/或应用118的细节,以防止或限制随后向该设备/应用传送内容,如前所述,可以通过避免将内容传送到潜在受损的客户端设备102A来节省内容提供者处的资源。
或者,代替内容提供者108验证网页视图内的交互是否是由实际人类用户的交互,这种验证可以由软件库123执行。例如,本机应用可被配置为包括用于确定在网页视图上执行的交互是否由客户端设备的实际人类用户生成的某些框架(如参考前段中的内容提供者108所述)。在这样的实现中,如果软件库123确定交互不是由实际人类用户进行的,则软件库123可以拒绝启动单独的浏览器应用(例如,应用116)和/或防止访问由该应用116内的数字组件204链接到的第二内容页。这可以节省资源,诸如处理能力、存储器使用、网络使用和潜在受损的客户端设备102A的电池功率。另一方面,如果软件库123确定交互是由实际人类用户进行的,则软件库123可以启动应用116并导航到(例如,通过访问URL)应用116内的第二内容页。
总之,以上描述描述了如何通过客户端设备的实际人类用户验证与网页视图内的数字组件的交互。下面对图3的描述解释了如何验证提供用于在网页视图内显示的数字组件是由预期的内容提供者(即,向其发送内容请求的内容提供者)提供的。
图3是示出了图1的组件在验证网页视图内提供的用于显示的数字组件是否由预期的内容提供者提供时执行的操作的框图300。
如图2所示,图3示出了发生在本机应用118内的操作/交互,并且特别地,示出了发生在本机层122和网页视图126之间的操作/交互(这两者已经在上面参考图1和图2进行了描述)。
当启动网页视图126时,网页视图126(或者,在网页视图126内执行的脚本327)从内容提供者108请求数字内容(使用请求316)。在一些实现中,由在网页视图内执行的脚本生成的对数字内容的请求(也简单地称为“对内容的请求”)是包括报头和有效负载数据的打包(packetized)数据请求。内容页的请求可以包括指定特征的事件数据,例如,从其请求数字组件的内容提供者的名称(或网络位置)和请求设备(例如,客户端设备102)的名称(或网络位置)。在一些实现中,指定事件特征的事件数据可以包括数字组件的位置。例如,对由在应用118的网页视图126中执行的脚本327生成的内容的请求可以包括数字组件的URL或其他资源标识符。
在一些实现中,脚本327可以包括内容请求、分配给网页视图的唯一标识符(UID)和环境可信度数据。在这样的实现中,脚本首先经由通信桥120向驻留在本机层122中的软件库123发送对环境可信度数据的请求。该请求可包括网页视图的UID 314,其可由软件库123使用以验证对环境可信度数据的请求实际上来自网页视图126(例如,通过将存储在本机层122中的网页视图126的UID与接收到的UID进行比较)。在执行这样的验证时,软件库123生成如参考图2所述的环境可信度数据,并经由通信桥120将该环境可信度数据提供给网页视图。
在一些实现中,软件库123对加密数据集中的环境可信度数据和网页视图UID进行加密,并将该数据集包括在软件库123提供给网页视图126的响应312中。使用例如非对称加密算法,软件库可生成加密的数据集。作为这样的加密的一部分,软件库使用内容提供者108的公钥生成加密的数据集。
脚本327随后包括该加密的数据集以及对内容的请求316。尽管在图中未示出,但是对数字内容的请求316通过网络104被发送到内容提供者108。
在接收到内容的请求316时,内容提供者108可以解密加密的数据集(例如,如果非对称加密被使用,则使用内容提供者的私钥)以获得未加密的唯一标识符314a和事件可信度数据。内容提供者108使用包括数字组件304(或用于数字组件304的资源标识符,例如,URL)以及解密的唯一标识符314a的数据生成响应318。尽管在图3中未示出,但是响应318通过网络104被发送到在客户端设备102A上执行的应用118的网页视图126中的脚本127。
在接收到响应318之后,脚本327经由通信桥120将响应318中包括的唯一标识符(UID)314a提供给软件库123。软件库123将UID 314a与存储在本机层122中的网页视图126的UID 314进行比较。如果UID基于该比较/评估匹配,则软件库123确定数字组件实际上是从预期内容提供者108(即,内容请求316被发送到的内容提供者108)接收的。另一方面,如果UID基于该评估不匹配,则软件库123确定所接收的数字组件是由除预期内容提供者108(即,内容请求316被发送到的内容提供者108)以外的实体提供的。软件库生成评估结果315,其包括数字组件是否实际从预期内容提供者108接收的指示,并将评估结果315提供给脚本327。
基于评估结果,脚本327可以被配置为提供或防止显示响应318中提供的数字组件。例如,脚本327可以被配置为不在网页视图126中显示响应318中接收到的数字组件,如果评估结果315指示在响应318中接收的数字组件没有从预期内容提供者108接收(即,如果响应318中的UID 314a与网页视图126的UID 314不同)。这将节省诸如处理能力、存储器使用和客户端设备102A的电池功率的资源。另一方面,如果评估结果315指示在响应318中接收到的数字组件是从预期内容提供者108接收的,则脚本327可以被配置为在网页视图126内呈现响应318中提供的数字组件(即,如果响应318中的UID 314a与网页视图126的UID314相同,如前段所述)。
图4是用于验证与网页视图内提供的数字组件的交互是否是由实际人类用户进行的交互的示例过程400的流程图。下面将过程400的操作描述为由图1、2和3中描述和描绘的系统的组件执行。下面将过程400的操作描述为仅用于说明目的。过程400的操作可以由任何适当的设备或系统(例如,任何适当的数据处理装置)来执行。过程400的操作也可以实现为存储在非暂时性计算机可读介质上的指令。指令的执行使得一个或多个数据处理装置执行过程400的操作。
在客户端设备上启动的本机应用中执行的网页视图内提供包括数字组件的第一内容页(410)。在一些实现中,如上文参考图2所述,客户端设备102A(例如,智能手机)访问提供用于在网页视图126内显示的第一内容页202(由第一内容提供者108提供)。第一内容页202还包括链接到第二内容页的数字组件204,其可由第一内容提供者、或第二内容提供者提供(例如,除第一内容提供者以外的任何其他内容提供者)。
在网页视图内执行的脚本检测表示与数字组件的一个或多个交互的交互信号的集合(420)。在一些实现中,在客户端设备102A上执行的应用118的网页视图126加载脚本127以及由内容提供者108提供的内容页202。在一些实例中,网页视图可以记录与数字组件204的交互。为了能够验证与网页视图内的数字组件204的交互是否由客户端设备的实际人类用户执行(与例如由于软件缺陷/漏洞和/或由于执行某些恶意代码而触发的交互相反),在网页视图内执行的脚本基于检测到的与数字组件的交互来检测交互信号的集合(如参考图2进一步描述的)。
经由应用的本机层和网页视图之间的通信桥,将交互信号的集合从网页视图传送到驻留在本机层内的软件库中(430)。在一些实现中,在检测到交互信号的集合之后,在网页视图126中执行的脚本127经由通信桥120将交互信号的集合发送到应用118的本机层122中的软件库123。
软件库将交互信号的集合发送给第一内容提供者以进行评估(440)。在一些实现中,在从应用的网页视图(经由通信桥)接收到交互信号的集合之后,应用的本机层中的软件库将交互信号的集合发送给内容提供者以进行验证。例如,软件库123在从脚本127接收到交互信号210的集合后,将交互信号210的集合发送给内容提供者108。
在一些实现中,除了发送交互信号的集合之外,软件库123还收集环境可信度数据并将其发送给内容提供者108(如参考图2和图3进一步描述的)。如上文参考图2所述,在一些实现中,内容提供者可以使用交互信号和/或事件可信度数据来评估/验证与网页视图内的数字组件的交互是否由客户端设备的实际人类用户生成。
由软件库启动由数字组件链接到的第二内容页(450)。在一些实现中,软件库123将表示交互信号的集合和环境可信度数据的数据附加到由第一内容提供者提供并且由数字组件链接到的第二内容页的统一资源定位符(URL)。然后,软件库123启动网页浏览器应用(与本机应用不同),并访问该网页浏览器应用内的第二页的该URL。
图5是可用于执行上述操作的示例计算机系统500的框图。系统500包括处理器510、存储器520、存储设备530和输入/输出设备540。组件510、520、530和540中的每一个可以例如使用系统总线550互连。处理器510能够处理用于在系统500内执行的指令。在一些实现中,处理器510是单线程处理器。在另一个实现中,处理器510是多线程处理器。处理器510能够处理存储在存储器520或存储设备530上的指令。
存储器520存储系统500内的信息。在一个实现中,存储器520是计算机可读介质。在一些实现中,存储器520是易失性存储器单元。在另一个实现中,存储器520是非易失性存储器单元。
存储设备530能够为系统500提供大容量存储。在一些实现中,存储设备530是计算机可读介质。在各种不同的实现中,存储设备530可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备或一些其他大容量存储设备。
输入/输出设备540为系统500提供输入/输出操作。在一些实现中,输入/输出设备540可以包括一个或多个网络接口设备(例如,以太网卡)、串行通信设备(例如,RS-232端口)、和/或无线接口设备(例如,802.11卡)。在另一个实现中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到外围设备560(例如,键盘、打印机和显示设备)的驱动器设备。然而,也可以使用其它实现,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管在图5中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现可以在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构和它们的结构等同,或它们中的一个或多个的组合。
本说明书中描述的主题和操作的实施例可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构和它们的结构等同,或它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即一个或多个计算机程序指令模块,被编码在计算机存储媒体(或介质)上以供数据处理装置执行或控制其操作。或者,另外,可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上对程序指令进行编码,所述人工生成的传播信号被生成以对信息编码以发送到适当的接收设备以由数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或其中一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是或被包括在一个或多个单独的物理组件或媒体(例如,多张CD、磁盘或其他存储设备)中。
本说明书中描述的操作可以实现为数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理装置”包括用于处理数据的各种设备、装置和机器,例如包括可编程处理器、计算机、片上系统、或前述的多个或组合。该装置可包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或者一个或多个的组合。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网页服务、分布式计算和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,也可以用任何形式部署,包括作为独立程序或模块、组件、子例程、对象,或其他适合在计算环境中使用的单元。计算机程序可以但不必与文件系统中的文件相对应。程序可以被存储在保存其他程序或数据的文件部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所述程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台计算机上执行,也可以部署在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器执行,通过对输入数据进行操作并生成输出来执行一个或多个计算机程序以执行动作。所述过程和逻辑流还可以由专用逻辑电路执行,并且所述装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是根据指令执行动作的处理器和存储指令和数据的一个或多个存储器。通常,计算机还将包括或操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据,或两者兼有。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等。适于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器设备,例如EPROM、EEPROM和存储器设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM光盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指针设备(例如,鼠标或轨迹球)(用户可以通过它向计算机提供输入)的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户交互;例如,通过响应于从网页浏览器接收的请求而将网页页面发送到用户的客户端设备上的网页浏览器。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,一种客户端计算机,具有图形用户界面或网页浏览器,用户可通过其与本公开所述主题的实现交互)或一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信(例如,通信网络)的任何形式或媒介互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、内部网络(例如,因特网)和对等网络(例如,自组(ad hoc)对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自的计算机上运行的计算机程序以及彼此具有客户端-服务器关系而产生的。在一些实施例中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以从服务器处的客户端设备被接收。
尽管本说明书包含许多具体实施细节,但这些不应被解释为对任何公开或可能要求保护的内容的范围的限制,而是对特定公开的特定实施例的特定特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相比之下,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以某些组合起作用并且甚至最初被要求这样做,但是在某些情况下可以从所要求的组合中切除来自所要求的组合的一个或多个特征,并且所要求的组合可以被定向到子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或序列顺序执行此类操作,或者要求执行所有图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者打包成多个软件产品。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在某些情况下,权利要求中所述的动作可以以不同的顺序执行,并且仍然可以获得期望的结果。此外,附图中描述的过程不一定需要所示的特定顺序或序列顺序来实现期望的结果。在一些实现中,多任务和并行处理可能是有利的。

Claims (20)

1.一种计算机实现的方法,包括:
在客户端设备上启动的应用的一部分中执行的网页视图内,提供包括数字组件的第一内容页;
由在网页视图内执行的脚本,检测表示与数字组件的一个或多个交互的交互信号的集合;
经由应用的本机层和网页视图之间的通信桥,将交互信号的集合从网页视图传送到驻留在本机层内的软件库;
由软件库将交互信号的集合发送给第一内容提供者,以评估交互信号的集合是否指示由客户端设备的人类用户与数字组件的交互而不是自动交互;以及
响应于与数字组件的所述一个或多个交互,由软件库启动由数字组件链接到的并且由第一内容提供者提供的第二内容页。
2.根据权利要求1所述的计算机实现的方法,其中,在网页视图内提供数字组件包括:
由在网页视图内执行的脚本生成对数字内容的请求,其中,请求包括由本机层分配给网页视图的用于网页视图的唯一标识符;
向第二内容提供者提供对数字内容的请求,其中,第二内容提供者不同于第一内容提供者;
响应于向第二内容提供者提供对数字内容的请求,从第二内容提供者接收包括数字组件和唯一标识符的数据;
验证从内容提供者接收到的数据包括唯一标识符;
响应于验证从内容提供者接收到的数据包括唯一标识符,在网页视图内提供数字组件。
3.根据权利要求1或2所述的计算机实现的方法,其中,启动第二内容页是响应于交互信号指示人类用户的交互的评估被执行的。
4.根据权利要求2或3所述的计算机实现的方法,还包括:
经由通信桥由脚本向软件库发送对环境可信度数据的请求,其中,环境可信度数据包括关于本机应用和客户端设备的数据,用于评估本机应用和客户端设备的可信度;以及
经由通信桥从软件库接收环境可信度数据。
5.根据权利要求2至4中任一权利要求所述的计算机实现的方法,其中,验证从内容提供者接收到的数据包括唯一标识符:
由软件库确定网页视图的唯一标识符与从内容提供者接收到的数据中包括的唯一标识符相匹配。
6.根据权利要求4或5所述的计算机实现的方法,其中,对数字内容的请求包括通过加密环境可信度数据和唯一标识符生成的加密的数据集。
7.根据权利要求4至6中任一权利要求所述的计算机实现的方法,其中,向第一内容提供者提供交互信号的集合还包括向第一内容提供者提供环境可信度数据。
8.根据权利要求7所述的计算机实现的方法,其中,向第一内容提供者提供交互信号的集合和环境可信度数据包括将表示交互信号的集合和环境可信度数据的数据附加到由第一内容提供者提供的并且由数字组件链接到的第二内容页的统一资源定位符(URL)。
9.根据任一前述权利要求所述的计算机实现的方法,其中,启动第二内容页包括启动网页浏览器应用并且在网页浏览器应用内访问第二内容页的URL。
10.一种系统,包括:
在客户端设备上启动的应用的一部分中执行的网页视图内,提供包括数字组件的第一内容页;
由在网页视图内执行的脚本,检测表示与数字组件的一个或多个交互的交互信号的集合;
经由应用的本机层和网页视图之间的通信桥,将交互信号的集合从网页视图传送到驻留在本机层内的软件库;
由软件库将交互信号的集合发送给第一内容提供者,以评估交互信号的集合是否指示由客户端设备的人类用户与数字组件的交互而不是自动交互;以及
响应于与数字组件的所述一个或多个交互,由软件库启动由数字组件链接到的并且由第一内容提供者提供的第二内容页。
11.根据权利要求10所述的系统,其中,在网页视图内提供数字组件包括:
由在网页视图内执行的脚本生成对数字内容的请求,其中,请求包括由本机层分配给网页视图的用于网页视图的唯一标识符;
向第二内容提供者提供对数字内容的请求,其中,第二内容提供者不同于第一内容提供者;
响应于向第二内容提供者提供对数字内容的请求,从第二内容提供者接收包括数字组件和唯一标识符的数据;
验证从内容提供者接收到的数据包括唯一标识符;
响应于验证从内容提供者接收到的数据包括唯一标识符,在网页视图内提供数字组件。
12.根据权利要求10或11所述的系统,其中,启动第二内容页是响应于交互信号指示人类用户的交互的评估被执行的。
13.根据权利要求11或12所述的系统,还包括:
经由通信桥由脚本向软件库发送对环境可信度数据的请求,其中,环境可信度数据包括关于本机应用和客户端设备的数据,用于评估本机应用和客户端设备的可信度;以及
经由通信桥从软件库接收环境可信度数据。
14.根据权利要求11至13中任一权利要求所述的系统,其中,验证从内容提供者接收到的数据包括唯一标识符:
由软件库确定网页视图的唯一标识符与从内容提供者接收到的数据中包括的唯一标识符相匹配。
15.根据权利要求13或14所述的系统,其中,对数字内容的请求包括通过加密环境可信度数据和唯一标识符生成的加密的数据集。
16.根据权利要求13至15中任一权利要求所述的系统,其中,向第一内容提供者提供交互信号的集合还包括向第一内容提供者提供环境可信度数据。
17.根据权利要求16所述的系统,其中,向第一内容提供者提供交互信号的集合和环境可信度数据包括将表示交互信号的集合和环境可信度数据的数据附加到由第一内容提供者提供的并且由数字组件链接到的第二内容页的统一资源定位符(URL)。
18.根据任一前述权利要求所述的系统,其中,启动第二内容页包括启动网页浏览器应用并且在网页浏览器应用内访问第二内容页的URL。
19.一种存储指令的非暂时性计算机可读介质,当指令被一个或多个数据处理装置执行时,使得所述一个或多个数据处理装置执行操作,包括:
在客户端设备上启动的应用的一部分中执行的网页视图内,提供包括数字组件的第一内容页;
由在网页视图内执行的脚本,检测表示与数字组件的一个或多个交互的交互信号的集合;
经由应用的本机层和网页视图之间的通信桥,将交互信号的集合从网页视图传送到驻留在本机层内的软件库;
由软件库将交互信号的集合发送给第一内容提供者,以评估交互信号的集合是否指示由客户端设备的人类用户与数字组件的交互而不是自动交互;以及
响应于与数字组件的所述一个或多个交互,由软件库启动由数字组件链接到的并且由第一内容提供者提供的第二内容页。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,在网页视图内提供数字组件包括:
由在网页视图内执行的脚本生成对数字内容的请求,其中,请求包括由本机层分配给网页视图的用于网页视图的唯一标识符;
向第二内容提供者提供对数字内容的请求,其中,第二内容提供者不同于第一内容提供者;
响应于向第二内容提供者提供对数字内容的请求,从第二内容提供者接收包括数字组件和唯一标识符的数据;
验证从内容提供者接收到的数据包括唯一标识符;
响应于验证从内容提供者接收到的数据包括唯一标识符,在网页视图内提供数字组件。
CN202080011804.5A 2020-06-24 2020-06-24 验证网页视图内的内容和交互 Pending CN114127715A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/039329 WO2021262159A1 (en) 2020-06-24 2020-06-24 Verifying content and interactions within webviews

Publications (1)

Publication Number Publication Date
CN114127715A true CN114127715A (zh) 2022-03-01

Family

ID=71728874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080011804.5A Pending CN114127715A (zh) 2020-06-24 2020-06-24 验证网页视图内的内容和交互

Country Status (6)

Country Link
US (1) US20230124545A1 (zh)
EP (1) EP3956787A1 (zh)
JP (2) JP7277593B2 (zh)
KR (1) KR20220000899A (zh)
CN (1) CN114127715A (zh)
WO (1) WO2021262159A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147456A1 (en) 2006-12-19 2008-06-19 Andrei Zary Broder Methods of detecting and avoiding fraudulent internet-based advertisement viewings
JP4459250B2 (ja) 2007-04-20 2010-04-28 富士通株式会社 送信方法、画像送信システム、送信装置及びプログラム
US8751628B2 (en) * 2009-05-05 2014-06-10 Suboti, Llc System and method for processing user interface events
US9582598B2 (en) * 2011-07-05 2017-02-28 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
US9313213B2 (en) * 2012-10-18 2016-04-12 White Ops, Inc. System and method for detecting classes of automated browser agents
US11003748B2 (en) * 2015-12-28 2021-05-11 Unbotify Ltd. Utilizing behavioral features to identify bot
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application

Also Published As

Publication number Publication date
KR20220000899A (ko) 2022-01-04
EP3956787A1 (en) 2022-02-23
JP2022541084A (ja) 2022-09-22
WO2021262159A1 (en) 2021-12-30
JP2023120183A (ja) 2023-08-29
JP7277593B2 (ja) 2023-05-19
US20230124545A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
KR102429406B1 (ko) 콘텐츠 플랫폼에서 사용자 상호작용 확인
CN113015974B (zh) 针对隐私保护的可验证同意
US11882327B2 (en) Verifying display of third party content at a client device
US11949688B2 (en) Securing browser cookies
KR102608325B1 (ko) 클라이언트 장치에서 통신의 무결성 보호
CN111406257A (zh) 用于认证的参数化的应用安装和启动的系统和方法
US20230124545A1 (en) Verifying content and interactions within webviews
JP7135210B2 (ja) プライバシー保持アプリケーションおよびデバイスエラー検出
US20240187420A1 (en) Securing browser cookies
KR102672181B1 (ko) 프라이버시 보호 애플리케이션 및 장치 오류 검출
CN115087978B (zh) 用于欺诈检测的跨域频率滤波器
US20240143797A1 (en) Automated revocation system for leaked access credentials
CN116348874A (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