US2017034210A1PendingUtilityA1

Client side human user indicator

Assignee: F5 NETWORKS INCPriority: Jun 30, 2010Filed: May 5, 2016Published: Feb 2, 2017
Est. expiryJun 30, 2030(~3.9 yrs left)· nominal 20-yr term from priority
H04L 63/1416H04L 63/0209H04L 67/42H04L 67/02H04L 63/1483H04L 67/535H04L 67/01H04L 63/1441H04L 63/10H04L 2463/144
43
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.