Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invisible Google reCaptcha returns 410 when verifying user's input

We're using invisible reCaptcha and, once in a while, Google's Javascript code makes a request to Google's servers receiving a response status 410, instead of 200.

We don't have control over it as the request is being made by Google's reCaptcha Javascript code.

If the challenge has been presented to the user, the following is an example of what the failing request looks like:

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYB...

And the response is:

HTTP/1.1 410 Gone

<HTML>
<HEAD>
<TITLE>Gone</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Gone</H1>
<H2>Error 410</H2>
</BODY>
</HTML>

It fails about 10% of the time. Below is a "history" of HTTP requests:

Request #1

POST https://www.google.com/recaptcha/api2/reload?k=6LcqZCEU...
v:r20170515161201
reason:fi
bcr:[1943341955,-150...
...

HTTP/1.1 200 OK
content-type: application/json
...

)]}'
["rresp","03AOPBWq_EYBOYkGkn-1S...",null,600,["pmeta",null,null,null,
null,[[["TileSelectionStreetSign",null,3,4,4,null,null,[]
]
,["dress",null,3,4,4,null,null,[]
]
]
,[]
]
]
,"multicaptcha",null,
["bgdata","Ly93d3cuWk5rOHFMZDlvNDZFa..."]
]

The above response looks like invalid JSON but is expected as detailed here

Request #2

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYBOYk...
...

HTTP/1.1 200 OK
content-type: image/jpeg
content-length: 50528
...

<JPEG>

Request #3

POST https://www.google.com/recaptcha/api2/replaceimage?k=6LcqZCEUAA...
v:r20170515161201
c:03AOPBWq_EYBOYkGkn-1SplFL...
ds:[[5,6,9,10,13,14]]

HTTP/1.1 200 OK
content-type: application/json
...

)]}'
["dresp","03AOPBWq-Iyck5GCpx86hk57XSxF-9b4GMaDeujP...",[]
,null,[]
]

Request #4 (the failing one)

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYBOYk...
...

HTTP/1.1 410 Gone
content-type: text/html
...

<HTML>
<HEAD>
<TITLE>Gone</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Gone</H1>
<H2>Error 410</H2>
</BODY>
</HTML>
like image 830
Ati Ranzuglia Avatar asked May 25 '17 02:05

Ati Ranzuglia


People also ask

How do I validate an invisible reCAPTCHA?

Invoking the reCAPTCHA verification programmatically can be achieved by rendering the challenge in a div with an attribute data-size="invisible" and programmatically calling execute. Create a div with data-size="invisible" . Call grecaptcha. execute from a javascript method.

What is Google reCAPTCHA verification failed?

This means the website believes your actions may be those of a bot. Don't worry, it is programmed to be over-cautious for your security. If you see this error there are a few things you can try: Refresh the page and try to complete the task again.


1 Answers

This is basically because the session has expired. When ever you receive an error 410 (i.e. not successful and you still wish to upload the file), you must start a new session. Please have a look at the below link for details : https://www.rfc-editor.org/rfc/rfc7231#section-6.5.9

like image 79
A. A. Sebastian Avatar answered Oct 11 '22 02:10

A. A. Sebastian