Generating custom markup content to deter robots
First Claim
Patent Images
1. A system comprising:
- an electronic data store; and
a computing system comprising one or more hardware computing devices, said computing system in communication with the electronic data store, and configured to at least;
receive a first markup resource comprising a first input element, wherein the first input element comprises a first identifier associated with the first input element, and wherein the first input element is positioned before a second element within the first markup resource according to an initial order of elements in the first markup resource;
generate a first replacement identifier associated with the first identifier;
store, in the electronic data store, an association between the first identifier associated with the first input element and the first replacement identifier;
generate a first custom markup resource, wherein generating the first custom markup resource comprises;
replacing the first identifier associated with the first input element in the first markup resource with the first replacement identifier;
determining a modified order of elements, wherein the first input element is positioned after the second element according to the determined modified order;
generating Cascading Style Sheets (CSS) instructions associated with the first input element based at least in part on the initial order and the determined modified order;
modifying a position of the first input element within the first custom markup resource based at least in part on the determined modified order; and
inserting the generated CSS instructions into the first custom markup resource;
transmit the first custom markup resource to a second computing device, wherein presentation of the first custom markup resource by the second computing device excludes presentation of the first replacement identifier in the first custom markup resource, and wherein presentation of the first custom markup resource by the second computing device causes display of the first input element and the second element according to the initial order of elements based at least in part on the generated CSS instructions;
receive, from the second computing device, response data comprising the first replacement identifier and a corresponding entry entered by a user of the second computing device;
determine that the entry corresponds to the first input element based at least in part on the association between the first identifier associated with the first input element and the first replacement identifier;
modify the response data by replacing the first replacement identifier in the response data with the first identifier associated with the first input element; and
transmit the modified response data for processing of the entry entered by the user.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for determining customized markup content to deter malicious attackers and/or to decrease electronic submissions from robots. In some embodiments, markup content may be randomized with unique identifiers, reordering of markup elements, and/or insertion of hidden markup elements. The modifications to markup content may have no impact on human usability of the markup content. However, the customized markup content may render the content unusable by a programmed, automated attacker that cannot parse and/or recognize the content. Thus, automated attackers are deterred from using markup content, while human users remain unaffected.
20 Citations
19 Claims
-
1. A system comprising:
-
an electronic data store; and a computing system comprising one or more hardware computing devices, said computing system in communication with the electronic data store, and configured to at least; receive a first markup resource comprising a first input element, wherein the first input element comprises a first identifier associated with the first input element, and wherein the first input element is positioned before a second element within the first markup resource according to an initial order of elements in the first markup resource; generate a first replacement identifier associated with the first identifier; store, in the electronic data store, an association between the first identifier associated with the first input element and the first replacement identifier; generate a first custom markup resource, wherein generating the first custom markup resource comprises; replacing the first identifier associated with the first input element in the first markup resource with the first replacement identifier; determining a modified order of elements, wherein the first input element is positioned after the second element according to the determined modified order; generating Cascading Style Sheets (CSS) instructions associated with the first input element based at least in part on the initial order and the determined modified order; modifying a position of the first input element within the first custom markup resource based at least in part on the determined modified order; and inserting the generated CSS instructions into the first custom markup resource; transmit the first custom markup resource to a second computing device, wherein presentation of the first custom markup resource by the second computing device excludes presentation of the first replacement identifier in the first custom markup resource, and wherein presentation of the first custom markup resource by the second computing device causes display of the first input element and the second element according to the initial order of elements based at least in part on the generated CSS instructions; receive, from the second computing device, response data comprising the first replacement identifier and a corresponding entry entered by a user of the second computing device; determine that the entry corresponds to the first input element based at least in part on the association between the first identifier associated with the first input element and the first replacement identifier; modify the response data by replacing the first replacement identifier in the response data with the first identifier associated with the first input element; and transmit the modified response data for processing of the entry entered by the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method comprising:
-
receiving a first request, wherein the first request includes at least one of;
a user agent field, a browser name, or an IP address;detecting, in the first request, indicia that a second computing device is associated with a non-human submitter; receiving a first markup resource comprising a first input element, wherein the first input element comprises a first identifier associated with the first input element, and wherein the first input element is positioned before a second element within the first markup resource according to an initial order of elements in the first markup resource; in response to the first request, generating a first custom markup resource based at least in part on detecting the indicia that the second computing device is associated with the non-human submitter, wherein generating the first custom markup resource comprises; replacing, in the first markup resource, the first identifier associated with the first input element with a first replacement identifier; determining a modified order of elements, wherein the first input element is positioned after the second element according to the determined modified order; modifying a position of the first input element in the first custom markup resource based at least in part on the determined modified order; and inserting styling instructions into the first custom markup resource, wherein the styling instructions configure display of the first input element and the second element according to the initial order of elements; storing an association between the first identifier associated with the first input element and the first replacement identifier; transmitting the first custom markup resource to the second computing device, wherein presentation of the first custom markup resource excludes presentation of the first replacement identifier; receiving response data comprising the first replacement identifier and a corresponding entry value; determining that the entry value corresponds to the first input element based at least in part on the association between the first identifier associated with the first input element and the first replacement identifier; and generating output based at least in part on the entry value and determining that the entry value corresponds to the first input element. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-readable, non-transitory storage medium storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:
-
receiving a first request, wherein the first request includes at least one of;
a user agent field, a browser name, or an IP address;detecting, in the first request, indicia that a second computing device is associated with a non-human submitter; receiving a first markup resource comprising a first input element, wherein the first input element comprises a first identifier associated with the first input element, and wherein the first input element is positioned before a second element within the first markup resource according to an initial order of elements in the first markup resource; generating a first custom markup resource based at least in part on detecting the indicia that the second computing device is associated with the non-human submitter, wherein generating the first custom markup resource comprises; replacing, in the first markup resource, the first identifier associated with the first input element with a first replacement identifier; determining a modified order of elements, wherein the first input element is positioned after the second element according to the determined modified order; modifying a position of the first input element in the first custom markup resource based at least in part on the determined modified order; and inserting styling instructions into the first custom markup resource, wherein the styling instructions configure display of the first input element and the second element according to the initial order of elements; storing an association between the first identifier associated with the first input element and the first replacement identifier; transmitting the custom markup resource to the second computing device, wherein presentation of the first custom markup resource excludes presentation of the first replacement identifier; receiving response data comprising the first replacement identifier and a corresponding entry value; determining that the entry value corresponds to the first input element based at least in part on the association between the first identifier associated with the first input element and the first replacement identifier; and generating output based at least in part on the entry value and determining that the entry value corresponds to the first input element. - View Dependent Claims (16, 17, 18, 19)
-
Specification