Client side human user indicator
Abstract
A system and method for preventing web scraping which includes receiving a request between a web client and a web server for the web client to receive web content. A client side language script is injected into a response to be sent to the requesting web client, wherein the client side language script contains an event listener to detect a keystroke and/or a mouse movement at the web client. Information is collected from the client side language script relating to whether the keystroke and/or the mouse movement were detected. The web client is selectively allowed to access the web server to receive the web content based on the collected information.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for preventing web scraping attacks implemented by a network traffic management system comprising one or more network traffic management computing devices, client devices, or server devices, the method comprising:
inserting a script into a response to a request received from one of the client devices, wherein the request is associated with a session and the script comprises an event listener configured to detect human activity at the one of the client devices; receiving another request associated with the session from the one of the client devices and determining when the another request comprises a predetermined value indicating that human activity was detected at the one of the client devices by the script; and providing the one of the client devices access to web content corresponding to the another request, when the determining indicates that the another request comprises the predetermined value set by the script.
2 . The method of claim 1 , further comprising:
determining when the one of the client devices is capable of executing JavaScript code based on a challenge answer included in the request; inserting the script into the response, when the determining indicates that the one of the client devices is capable of executing JavaScript code; and dropping a connection with the one of the client devices corresponding to the request, when the determining indicates that the one of the client devices is not capable of executing JavaScript code.
3 . The method of claim 1 , further comprising assigning a unique identifier to the session and sending the unique identifier to the one of the client devices with the response, wherein the another request comprises a cookie comprising the unique identifier and the predetermined value comprises a flag value set in the cookie.
4 . The method of claim 1 , further comprising inserting a hidden link into the response prior to sending the response to the one of the client devices, wherein the script is further configured to determine when the hidden link is selected and set the predetermined value, when the determining indicates that the hidden link is selected.
5 . The method of claim 1 , further comprising:
storing a message key as associated with the session and sending another response to the one of the client devices that includes the web content and the script, when the determining indicates that the another request comprises the predetermined value set by the script; determining when one or more subsequent requests received from the one of the client devices comprise the predetermined value set by the script; determining when the message key associated with the session is stored, when the determining indicates that the one or more subsequent requests do not comprise the predetermined value set by the script; and providing the one of the client devices access to additional web content corresponding to the one or more subsequent requests, when the determining indicates that the message key associated with the session is stored.
6 . A network traffic management computing device, comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to:
insert a script into a response to a request received from one of the client devices, wherein the request is associated with a session and the script comprises an event listener configured to detect human activity at the one of the client devices; receive another request associated with the session from the one of the client devices and determining when the another request comprises a predetermined value indicating that human activity was detected at the one of the client devices by the script; and provide the one of the client devices access to web content corresponding to the another request, when the determining indicates that the another request comprises the predetermined value set by the script.
7 . The network traffic management computing device of claim 6 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to:
determine when the one of the client devices is capable of executing JavaScript code based on a challenge answer included in the request; insert the script into the response, when the determining indicates that the one of the client devices is capable of executing JavaScript code; and drop a connection with the one of the client devices corresponding to the request, when the determining indicates that the one of the client devices is not capable of executing JavaScript code.
8 . The network traffic management computing device of claim 6 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to assign a unique identifier to the session and send the unique identifier to the one of the client devices with the response, wherein the another request comprises a cookie comprising the unique identifier and the predetermined value comprises a flag value set in the cookie.
9 . The network traffic management computing device of claim 6 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to insert a hidden link into the response prior to sending the response to the one of the client devices, wherein the script is further configured to determine when the hidden link is selected and set the predetermined value, when the determining indicates that the hidden link is selected.
10 . The network traffic management computing device of claim 6 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to:
store a message key as associated with the session and send another response to the one of the client devices that includes the web content and the script, when the determining indicates that the another request comprises the predetermined value set by the script; determine when one or more subsequent requests received from the one of the client devices comprise the predetermined value set by the script; determine when the message key associated with the session is stored, when the determining indicates that the one or more subsequent requests do not comprise the predetermined value set by the script; and provide the one of the client devices access to additional web content corresponding to the one or more subsequent requests, when the determining indicates that the message key associated with the session is stored.
11 . A non-transitory computer readable medium having stored thereon instructions for preventing web scraping attacks comprising executable code which when executed by one or more processors, causes the one or more processors to:
insert a script into a response to a request received from one of the client devices, wherein the request is associated with a session and the script comprises an event listener configured to detect human activity at the one of the client devices; receive another request associated with the session from the one of the client devices and determining when the another request comprises a predetermined value indicating that human activity was detected at the one of the client devices by the script; and provide the one of the client devices access to web content corresponding to the another request, when the determining indicates that the another request comprises the predetermined value set by the script.
12 . The non-transitory computer readable medium of claim 11 , wherein the executable code when executed by the one or more processors further causes the one or more processors to:
determine when the one of the client devices is capable of executing JavaScript code based on a challenge answer included in the request; insert the script into the response, when the determining indicates that the one of the client devices is capable of executing JavaScript code; and drop a connection with the one of the client devices corresponding to the request, when the determining indicates that the one of the client devices is not capable of executing JavaScript code.
13 . The non-transitory computer readable medium of claim 11 , wherein the executable code when executed by the one or more processors further causes the one or more processors to assign a unique identifier to the session and send the unique identifier to the one of the client devices with the response, wherein the another request comprises a cookie comprising the unique identifier and the predetermined value comprises a flag value set in the cookie.
14 . The non-transitory computer readable medium of claim 11 , wherein the executable code when executed by the one or more processors further causes the one or more processors to insert a hidden link into the response prior to sending the response to the one of the client devices, wherein the script is further configured to determine when the hidden link is selected and set the predetermined value, when the determining indicates that the hidden link is selected.
15 . The non-transitory computer readable medium of claim 11 , wherein the executable code when executed by the one or more processors further causes the one or more processors to:
store a message key as associated with the session and send another response to the one of the client devices that includes the web content and the script, when the determining indicates that the another request comprises the predetermined value set by the script; determine when one or more subsequent requests received from the one of the client devices comprise the predetermined value set by the script; determine when the message key associated with the session is stored, when the determining indicates that the one or more subsequent requests do not comprise the predetermined value set by the script; and provide the one of the client devices access to additional web content corresponding to the one or more subsequent requests, when the determining indicates that the message key associated with the session is stored.
16 . A network traffic management system, comprising one or more traffic management devices, client devices, or server devices, the network traffic management system comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to:
insert a script into a response to a request received from one of the client devices, wherein the request is associated with a session and the script comprises an event listener configured to detect human activity at the one of the client devices; receive another request associated with the session from the one of the client devices and determining when the another request comprises a predetermined value indicating that human activity was detected at the one of the client devices by the script; and provide the one of the client devices access to web content corresponding to the another request, when the determining indicates that the another request comprises the predetermined value set by the script.
17 . The network traffic management system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to:
determine when the one of the client devices is capable of executing JavaScript code based on a challenge answer included in the request; insert the script into the response, when the determining indicates that the one of the client devices is capable of executing JavaScript code; and drop a connection with the one of the client devices corresponding to the request, when the determining indicates that the one of the client devices is not capable of executing JavaScript code.
18 . The network traffic management system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to assign a unique identifier to the session and send the unique identifier to the one of the client devices with the response, wherein the another request comprises a cookie comprising the unique identifier and the predetermined value comprises a flag value set in the cookie.
19 . The network traffic management system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to insert a hidden link into the response prior to sending the response to the one of the client devices, wherein the script is further configured to determine when the hidden link is selected and set the predetermined value, when the determining indicates that the hidden link is selected.
20 . The network traffic management system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to:
store a message key as associated with the session and send another response to the one of the client devices that includes the web content and the script, when the determining indicates that the another request comprises the predetermined value set by the script; determine when one or more subsequent requests received from the one of the client devices comprise the predetermined value set by the script; determine when the message key associated with the session is stored, when the determining indicates that the one or more subsequent requests do not comprise the predetermined value set by the script; and provide the one of the client devices access to additional web content corresponding to the one or more subsequent requests, when the determining indicates that the message key associated with the session is stored.Join the waitlist — get patent alerts
Track US2017034210A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.