Frequently Asked Question


For Slide captcha, the sliding piece doesn’t get aligned when using slide captcha in IE browser?

  1. It could be the style that affects the display of Slide captcha. The IE browser uses DOM rendering, which might result in insufficient width for captcha and start a newline.

  2. Or check the box-sizing: border-box. Please check whether there is global style override, and change the box-sizing to border-box.

The captcha display behaves abnormally in HTML5

The initial scale is required to be 1. This aims to solve the display adaptation problem of different mobile phones.

Failed to set the width of the captcha button in custom mode

The minimum width for Slide captcha is 278px. The minimum width for Click, Nine, Phrase, Icon captcha is 210px. Please do not exceed the limit.

Is the width and height of the captcha button modifiable?

The width is modifiable and it can be any standard css3 format. Notice that the minimum width is 260px. The height is not modifiable.

The loading speed of the captcha is slow in the browser.

  1. The captcha does not initialize in advance in the client. The GeeTest captcha requires to be initialized after when the webpage is loaded.
  2. If you enable the console of IE browser, the webpage will load relatively slow.

Verification in front-end failed, error “drag too much” is reported in console

It is resulted from multiple initializations. captcha initialization only needs to be performed once.

Front-end reports error ‘old challenge’

The challenge is generated when the SDK registers in GeeTest cloud server. It is only valid for 10 minutes. After 10 minutes, the challenge will be invalid.
The ‘old challenge’ indicates that challenge has been used for multiple times. To solve it, please add a timestamp after the register.

Mobile apps

The Click, Nine, Phrase, Icon captcha misplace in HTML5 with iOS devices

The elements are misplaced because iOS triggers the soft keyboard and push the page up. The input box cannot restore after losing focus, which leads to the change of the clientY of the page.
The following are solutions :

  1. Lengthen the webpage;
  2. Insert the following code into your webpage. html,body { width: 100%; height: 100%; }

Google was rejected because it needed to support the 64-bit version

  1. Confirm that the APP has completed 64-bit support
  2. Remove the file under jnilibs
  3. Remove X5 initialization code accessed in the application


Configure API1 & API2

During the integration, please configure the API1 and API2 in client, which is used to send requests to server. Please refer the explanation in server SDK for details.

Secondary verification failure

  1. SDK internal logic errors. Please check: a) whether session is stored and read successfully, b) whether the code could successfully process to the module which sends a request to GeeTest server, c) check the return value of GeeTest server.
  2. Multiple submission. The API which initiates the secondary verification is only available for one time.
  3. The challenge is inconsistent. Please ensure the consistency of challenge during the whole verification process.
  4. Check if gt and key in the code are correct in SDK. Please check if the parameters have been passed correctly.
  5. Please provide challenge to our service team. They could help you to check the log.

How to check if the failback mode has successfully integrated in the local environment?

The failback mode is an emergency mode to minimize the possible influence to end users when the servers of the website cannot connect to GeeTest cloud server. The available status (gt_server_status) of the GeeTest cloud server is stored in session of API1 and passed to client in success. The client can decide if it’s needed to start the process of failback mode according to success. The API2 can get gt_server_status from session. According to the gt_server_status , API2 will decide to get the verification result from local or GeeTest cloud server.

How to simulate the failback mode?

To simulate the failback mode, please fill in an incorrect string (e.g. 123456789) for the captcha ID. Then, it will enter the Failback mode.

How to know if the captcha module has been loaded successfully?

You can listen to the onReady event. If the onReady is executed, the captcha module has been loaded successfully and you can use the verify to display the GeeTest captcha.

Why the server always responds 403 to the get requests of API1?

Please check the following to find the problem

  1. Check if gt_id is correct. The gt_id should be a string with 32 characters.
  2. Check if the URL is correct.
  3. Ping the to check if it’s availability.

Frequently asked questions about network

How to enable HTTPS?

Add a parameter in the initGeetest,

If the http changes to httpclient, can I use post for API1 and API2 requests?

No, please use the get for the API1 , and post for the API2 .

About GeeTest captcha

GeeTest captcha in different platform

Could a set of captcha ID and Key be used in both web, iOS and Android?

Currently, there is no limitation for it. However, it is recommended to use an ID and key set in only one context or only one platform. It will be easier for troubleshooting and have special security policies for that ID and key set

GeeTest only has 2 cookies on the end-user side. All these cookies do not involve in any local information of users.

GeeTestUser: When client sents a request for GeeTest resource, GeeTest server will generate an identifier for it, which is related to the request ID. It’s used to record whether the user has requested the GeeTest static resource.

GeeTestAjaxUser: A identifier generated by GeeTest server when the user interacts with GeeTest. The identifier to record whether the user has sent an ajax request to GeeTest.