Frequently Asked Question
Web
For Slide captcha, the sliding piece doesn’t get aligned when using slide captcha in IE browser?
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.
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.
- The captcha does not initialize in advance in the client. The GeeTest captcha requires to be initialized after when the webpage is loaded.
- 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
.
How frequent is gt.js updated?
The gt.js is part of SDK and will not be udpated very often. However, the newer version of gt.js is backward-compatible.
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 :
- Lengthen the webpage;
- Insert the following code into your webpage.
html,body { width: 100%; height: 100%; }
The error that the ARC library cannot be linked is reported when using Xcode 14.3 to run project of which the minimum version is below 9.0
The reason is that Xcode 14.3 removed ARC-related libraries, and iOS 9.0 and above systems have built-in ARC libraries, so there are two solutions:
- Optionally set the project target minimum version to 9.0 or above
- Copy the ARC library in the Xcode version below 14.3 to the corresponding path of the Xcode 14.3 version
Rejected when publishing your Android App too Google Play due to not supporting 64-bit architecture
- Confirm that the APP has completed 64-bit support
- Remove the file liblbs.so under jnilibs
- Remove X5 initialization code accessed in the application
Server
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
- 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. - Multiple submission. The API which initiates the secondary verification is only available for one time.
- The
challenge
is inconsistent. Please ensure the consistency ofchallenge
during the whole verification process. - Check if
gt
andkey
in the code are correct in SDK. Please check if the parameters have been passed correctly. - Please provide
challenge
to our service team. They could help you to check the log.
What is Bypass Mode?
The bypass 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. GeeTest offers the interface independent from the main logic monitoring the service availability. The details can be found in server’s API reference.
How to simulate and test the bypass mode?
To test the bypass mode, please follow the steps below:
- Change
GEETEST_ID
ingeetest_config
to an invalid one, e.g.123456789
; - Change the listener interface
BYPASS_URL
ingeetest_config
to an invalid URL address, e.g.http://www.google.com
; - Modify hosts file on server and direct the interface to an invalid IP, e.g.
127.0.0.1 bypass.geetest.com
; - Contact us to provide the correct ID on which you perform the above steps and we will make it return fail status.
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
- Check if
gt_id
is correct. Thegt_id
should be a string with 32 characters. - Check if the URL is correct.
- Ping the
api.geetest.com
to check if it’s availability.
Frequently asked questions about network
How to enable HTTPS?
Add a parameter in the initGeetest
,https:true
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
- Web
- Android (to view the demo, please download the Android SDK
- iOS (to view the demo, please download the iOS SDK)
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
Cookie of GeeTest captcha
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.