Systems and methods for distinguishing among human users and software robots
First Claim
1. A system, comprising:
- at least one computer; and
at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer, cause the at least one computer to perform;
receiving, via at least one network, a first communication from a device different from the at least one computer;
identifying, from the first communication, a request to access a web resource;
generating a webpage comprising;
location information representing a challenge text, the location information identifying a plurality of webpage locations at which to display a plurality of graphical elements having a different visual appearance from a background of the webpage in order to display a visual representation of the challenge text, the location information comprising coordinates for at least some of the plurality of webpage locations; and
software code that, when executed by an Internet browser, causes the Internet browser, when rendering the webpage, to display the visual representation of the challenge text at least in part by displaying the plurality of graphical elements at the plurality of webpage locations, wherein the plurality of graphical elements comprises HTML elements and/or OpenGL elements;
transmitting, via the at least one network, the webpage to the device;
receiving, via the at least one network, a second communication from the device;
identifying, from the second communication, a response text; and
providing the device with access to the web resource when a number of errors between the challenge text and the response text is less than a threshold number of errors.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for distinguishing between a human user and a software robot. The technique includes: receiving a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; transmitting software code and location information to the device, wherein the location information specifies a plurality of locations encoding a visual representation of a challenge text, and wherein the software code, when executed by an Internet browser, causes a plurality of graphical elements to be displayed at the plurality of locations in a webpage so that the webpage displays the challenge text; receiving a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource based on a comparison between the challenge text and the response text.
125 Citations
25 Claims
-
1. A system, comprising:
-
at least one computer; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer, cause the at least one computer to perform; receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a webpage comprising; location information representing a challenge text, the location information identifying a plurality of webpage locations at which to display a plurality of graphical elements having a different visual appearance from a background of the webpage in order to display a visual representation of the challenge text, the location information comprising coordinates for at least some of the plurality of webpage locations; and software code that, when executed by an Internet browser, causes the Internet browser, when rendering the webpage, to display the visual representation of the challenge text at least in part by displaying the plurality of graphical elements at the plurality of webpage locations, wherein the plurality of graphical elements comprises HTML elements and/or OpenGL elements; transmitting, via the at least one network, the webpage to the device; receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource when a number of errors between the challenge text and the response text is less than a threshold number of errors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, performed by at least one computer, the method comprising:
-
receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a webpage comprising; location information representing a challenge text, the location information identifying a plurality of webpage locations at which to display a plurality of graphical elements having a different visual appearance from a background of the webpage in order to display a visual representation of the challenge text, the location information comprising coordinates for at least some of the plurality of webpage locations; and software code that, when executed by an Internet browser, causes the Internet browser, when rendering the webpage, to display the visual representation of the challenge text at least in part by displaying the plurality of graphical elements at the plurality of webpage locations, wherein the plurality of graphical elements comprises HTML elements and/or OpenGL elements; transmitting, via the at least one network, the webpage to the device; receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource when a number of errors between the challenge text and the response text is less than a threshold number of errors. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer, cause the at least one computer to perform:
-
receiving, via at least one network, a first communication from a device different from the at least one computer; identifying, from the first communication, a request to access a web resource; generating a webpage comprising; location information representing a challenge text, the location information identifying a plurality of webpage locations at which to display a plurality of graphical elements having a different visual appearance from a background of the webpage in order to display a visual representation of the challenge text, the location information comprising coordinates for at least some of the plurality of webpage locations; and software code that, when executed by an Internet browser, causes the Internet browser, when rendering the webpage, to display the visual representation of the challenge text at least in part by displaying the plurality of graphical elements at the plurality of webpage locations, wherein the plurality of graphical elements comprises HTML elements and/or OpenGL elements; transmitting, via the at least one network, the webpage to the device receiving, via the at least one network, a second communication from the device; identifying, from the second communication, a response text; and providing the device with access to the web resource when a number of errors between the challenge text and the response text is less than a threshold number of errors. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification