WO2018121206A1 - 一种验证码数据处理方法、装置及存储介质 - Google Patents

一种验证码数据处理方法、装置及存储介质 Download PDF

Info

Publication number
WO2018121206A1
WO2018121206A1 PCT/CN2017/114968 CN2017114968W WO2018121206A1 WO 2018121206 A1 WO2018121206 A1 WO 2018121206A1 CN 2017114968 W CN2017114968 W CN 2017114968W WO 2018121206 A1 WO2018121206 A1 WO 2018121206A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
dial
verification
verification code
code data
Prior art date
Application number
PCT/CN2017/114968
Other languages
English (en)
French (fr)
Inventor
陈文斌
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2018121206A1 publication Critical patent/WO2018121206A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation

Definitions

  • the present application relates to the field of information technology (IT), and in particular, to a verification code data processing method, apparatus, and storage medium.
  • IT information technology
  • verification codes With the development of Internet technology, the use of verification codes in modern networks is more and more extensive, and it is an effective means for website service providers to prevent network attacks and ensure user rights.
  • verification codes There are several types of existing verification codes: picture verification code, voice verification code, and intelligence test verification code.
  • the present application proposes a verification code data processing method, which sends a verification code request to a server; receives first verification code data generated by the server in response to the verification code request; and according to the first verification code data, on the page Drawing a dial and displaying a verification prompt; wherein the dial indicates a first parameter, the verification prompt corresponds to a second parameter, and at least one of the first parameter and the second parameter is according to the first verification Determining the code data; the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter; in response to the input verification code operation, determining the current first parameter or The second parameter; wherein the verification prompt indicates the second parameter or obtains the second parameter from the input verification code operation for the verification prompt; in response to submitting a verification code operation, according to the determined Generating the second verification code data by the first parameter or the second parameter, and submitting the second verification code data to the server, so that the service
  • the code number of the first device authentication data and the second verification code The verification process is performed
  • the present application also provides a verification code data processing apparatus, one or more memories; one or more processors; wherein the one or more memories store one or more instruction modules configured by the one Or one or more processor modules; wherein the one or more instruction modules include: a request module, configured to send a verification code request to the server; and a receiving module, configured to receive the server generated in response to the verification code request a first verification code data, a drawing module, configured to draw a dial on the page according to the first verification code data, and display a verification prompt; wherein the dial indicates a first parameter, and the verification prompt corresponds to the second parameter, At least one of the first parameter and the second parameter is determined according to the first verification code data; the second parameter includes an expected value of the first parameter, or the first parameter includes the An expected value of the second parameter; a response module, configured to determine the current first parameter in response to the input verification code operation The second parameter; wherein the verification prompt indicates the second parameter or obtains the second parameter from the input verification code operation for the verification prompt; a submitting module,
  • the present application also proposes a non-transitory computer readable storage medium storing computer readable instructions that cause at least one processor to perform the methods described above.
  • FIG. 1A is a structural diagram of a system according to an example of the present application.
  • 1B is a flowchart of a method for processing verification code data according to an example of the present application
  • Example 2 is a flowchart of a method for processing verification code data according to Example 1 of the present application
  • FIG. 3A is an example of a clock dial as an example of dragging a pointer to a specified value
  • 3B is a flowchart of a method for drawing a dial according to Example 1 of the present application.
  • Example 4 is a flowchart of a method for processing verification code data according to Example 2 of the present application.
  • FIG. 6 is a flowchart of a method for processing verification code data according to Example 3 of the present application.
  • Example 8 is a flowchart of a method for processing verification code data according to Example 4 of the present application.
  • FIG. 9 is an example of a clock dial in the third dial ordering of the example of the present application.
  • FIG. 10 is a structural diagram of a verification code data processing apparatus according to an example of the present application.
  • FIG. 11 is a hardware structural diagram of a verification code data processing device according to an example of the present application.
  • FIG. 12 is a structural diagram of a verification code data processing server according to an example of the present application.
  • FIG. 13 is a structural diagram of hardware of a verification code data processing server according to an example of the present application.
  • the inventor's existing verification code design scheme has the problem that it is easy to crack, the description is too vague, the user experience is greatly reduced, and the user efficiency is affected.
  • the present application proposes a verification code data processing method, which can be applied to a client device.
  • the verification code data processing method uses the dial form to display the verification code data, and can provide various identification methods to effectively prevent the verification code from being cracked. At the same time, it is closer to daily life and greatly improves the user experience.
  • FIG. 1A is a schematic diagram showing the structure of a system to which the verification code data processing method of the present application is applied.
  • the system of the present application includes at least a client 101, a network 102, and a server 103.
  • the client 101 can run on a mobile phone, an iPad, a tablet, An application (APP) or a browser or the like in a terminal device such as a laptop portable computer or a desktop computer.
  • a mobile phone an iPad, a tablet
  • An application APP
  • a browser or the like in a terminal device such as a laptop portable computer or a desktop computer.
  • the network 102 may be a wired network or a wireless network.
  • the client 101 can access the network by wire or wirelessly, and on the core network side, the server 103 accesses the network in a wired manner.
  • the server 103 may be a website or a server of an application that the client 101 logs in, and may provide an application service to the user together with the client 101.
  • the present application proposes a verification code data processing method, which uses a dial to display verification code data. As shown in FIG. 1B, the method includes the following steps:
  • Step 101B Send a verification code request for a user to the server.
  • Step 102B Receive first verification code data generated by the server in response to the verification code request.
  • Step 103B According to the first verification code data, draw a dial on the page and display a verification prompt; wherein the dial indicates a first parameter, the verification prompt corresponds to a second parameter, the first parameter and the first parameter At least one of the second parameters is determined based on the first verification code data; the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter.
  • Step 104B Determine the current first parameter or the second parameter in response to the input verification code operation of the user; wherein the verification prompt indicates a second parameter or the input from the verification prompt The second parameter is obtained in the verification code operation.
  • Step 105B In response to the submitting verification code operation of the user, generating second verification code data according to the determined first parameter or the second parameter, and submitting the second verification code data to the server, And causing the server to perform verification processing according to the first verification code data and the second verification code data, and obtain a verification result.
  • Step 106B Receive and display the verification result from the server.
  • the verification code data processing method may include four verification methods, such as adjusting a first parameter of the dial to a specified value, selecting a dial of the first parameter in a certain range of values, and inputting a second parameter in a designated area of the verification prompt. And sorting the dial according to the first parameter, and the like.
  • four verification methods such as adjusting a first parameter of the dial to a specified value, selecting a dial of the first parameter in a certain range of values, and inputting a second parameter in a designated area of the verification prompt. And sorting the dial according to the first parameter, and the like.
  • the present application includes, but is not limited to, the four different verification forms, examples of the four different verification forms described below, and are not intended to limit the application.
  • the verification code data processing method of the present application is further described below in combination with specific four different verification forms.
  • Method 1 Adjust the first parameter of the dial to the specified value
  • drawing the dial on the page and displaying the verification prompt includes: determining an initial value of the first parameter corresponding to the editable dial to be drawn; determining, according to the first verification code data, the verification prompt The second parameter; drawing the editable dial on the page according to an initial value of the first parameter, and according to the second parameter Counting the verification prompt on the page; wherein the dial indicates the first parameter, the verification prompt prompts the second parameter, and the second parameter indicates the first parameter Expected value.
  • the input verification code operates as an editing operation for the dial, and the determining the current first parameter or the second parameter comprises: in response to the user editing operation on the dial, on the page The dial is updated to adjust the first parameter.
  • the second verification code data is generated according to the first parameter currently indicated by the dial.
  • the dial includes at least one pointer and a dial, the first parameter and the second parameter representing a scale value indicated by the pointer.
  • the scale pointed by the pointer is an initial value of the first parameter, and the pointer is movable.
  • the updating the dial includes: updating a pointing position of the pointer to adjust the pointing position in response to the user moving operation of the pointer The scale value pointed to by the pointer.
  • the second verification code data is generated according to the scale value currently pointed by the pointer.
  • Step 201 The client 101 sends a verification code request to the server 103.
  • the client 101 when the client 101 performs a request operation, such as login, payment, registration, and posting of opinions on the relevant page, the related page requires the user to input a verification code. At this time, the client 101 sends a verification code request to the server 103.
  • the related page may be a submission request page such as a login website page, a payment page, or the like.
  • Step 202 The server 103 generates the first verification code data in response to the verification code request of the client 101.
  • server 103 may generate first verification code data via a random algorithm and save it in a session corresponding to client 101.
  • the server 103 establishes a session for the user to maintain various data generated by the user (also referred to as the client user) during the current access process.
  • the client 101 requests a page (also called a web page) of an application
  • the server 103 will automatically create a Session object, which is unique to the current client user. Sex, has a unique Session ID number.
  • the Session object stores the attributes and configuration information required by the current client user session. In this way, when the client user jumps between different pages of the application, the variables stored in the Session object will not be lost, but will remain in the entire session, and thus can be passed through the Session object. Save the verification code data.
  • the random algorithm for generating the verification code data by the server 103 may be different according to the form of the verification code data. For example, when generating verification code data indicating a time parameter, The server 103 converts 24 hours a day into 1440 minutes, and then randomly selects one or more values from the 0-1440 value range as the first verification code data, and the selected value can be used to represent a certain time of day.
  • the first verification code data may be stored in a session in the server 103 corresponding to the current user of the client 101, and may be saved corresponding to the session ID of the session.
  • Step 203 The client 101 receives the first verification code data generated by the server 103 in response to the verification code request.
  • server 103 transmits the first verification code data to client 101 in the form of an Ajax (Asynchronous Javascript And XML) request.
  • Ajax Asynchronous Javascript And XML
  • Ajax technology is a web development technology for creating interactive web applications, which can make webpages asynchronously update, which means that some parts of webpages can be updated without reloading the entire webpage.
  • Step 204 The client 101 determines an initial value of the first parameter corresponding to the editable dial to be drawn, and generates a second parameter corresponding to the verification prompt according to the first verification code data.
  • the client 101 may set the initial value of the first parameter corresponding to the editable dial to be drawn to an arbitrary value.
  • the initial value of the first parameter may be set to 0, and the initial value of the first parameter may be As a default value, the default value may be carried in the first verification code data, or may be carried in the webpage data provided by the server 103 to the client 101.
  • the client 101 may convert the first verification code data into a second parameter corresponding to the verification prompt. The second parameter is used to indicate the value to which the user drags the above editable dial pointer.
  • the client 101 when the dial to be drawn is a clock, that is, the first verification code data includes a verification code (referred to as a time verification code) representing time, the client 101 generates a format of the number of hours and minutes according to the first verification code data.
  • the second parameter that is, when the client 101 receives the first verification code data including the time verification code as the value "1360", the client 101 converts the value "1360” into the time parameter "22 hours and 40 minutes” and takes it as The second parameter.
  • Step 205 The client 101 draws the editable dial on the page according to the first parameter, and displays the verification prompt on the page according to the second parameter; wherein the dial indicates the a first parameter, the verification prompt prompting the second parameter, the second parameter prompting an expected value of the first parameter.
  • the client 101 draws an editable dial on the page according to the initial value of the first parameter.
  • the editable dial includes a scale and a pointer in addition to the dial background, and the number of editable dials drawn is determined by Receiving the first verification code data determined, that is, the first verification code data generates several values corresponding to the second parameter, and Several editable dials are formed; at the same time, the above verification prompt is displayed on the above page, and the verification prompt includes a second parameter representing the expected value of the first parameter.
  • Figure 3A shows an example of an editable dial and a verification prompt to rotate the pointer to a specified time, taking the clock as an example.
  • the client 101 draws the clock 302 and the clock 303 according to the initial value of the set first parameter, and points the pointer to the corresponding first parameter initial value, wherein the first parameter of the clock 302
  • the initial value is converted to the time format and is 00:01.
  • the first parameter initial value of the clock 303 is converted to the time format and is 01:40.
  • the client 101 generates the second parameter a according to the received first verification code data.
  • a verification prompt 301 "Please rotate the minute hand to adjust the clock time to the specified time point below” is displayed above the clock 302 and the clock 303, under the clock 302
  • the second parameter a "10:25” of the verification prompt 304 is displayed, and the second parameter b “4:18” of the verification prompt 305 is displayed below the clock 303.
  • the client 101 may be set in advance by the accessed page, or may be randomly selected from the dial element library of the above page to complete the dial drawing. Drawing the dial can be done in H5 language or in other languages.
  • FIG. 3B takes the drawing of the Canvas canvas by the Javascript language as an example to realize the drawing of the clock dial, and shows a specific method of drawing the dial.
  • the Canvas canvas mainly realizes drawing the clock dial by calling the relevant function, specifically including The following steps:
  • Step 301A Call the clearRect() function to clear the canvas content.
  • Step 302A The dial is drawn using the arc() function.
  • Step 303A Use the lineTo() function to draw the hour and minute scales.
  • Step 304A Draw the hour, minute and second hands, and use rotate() to set the positions of the hour, minute and second hands.
  • Step 305A Call the setInterval() function to refresh the canvas content every second.
  • Step 206 The client 101 updates the dial on the page to adjust the first parameter in response to a user's editing operation on the dial.
  • the client 101 receives an editing operation performed by the user through an input device such as a mouse or a touch screen according to the above verification prompt, and the editing operation may include clicking/dragging the dial on the touch screen with a mouse or a finger.
  • the pointer or the like in response to the user's above-mentioned editing operation, the client 101 can adjust the pointer parameter of the dial and update the display of the dial in real time, thereby adjusting the first parameter indicated by the dial to the edited value of the user.
  • the user can drag the hour hand, minute hand, second hand, etc. of the clocks 302 and 303 shown in FIG. 3A to adjust the time indicated by the clocks 302 and 303.
  • Step 207 The client 101 generates second verification code data according to the first parameter currently indicated by the dial, and submits the second verification, in response to the submit operation of the user.
  • the certificate data is sent to the server, so that the server performs verification processing according to the first verification code data and the second verification code data and obtains a verification result.
  • the client 101 receives an edit operation by the user to drag the pointer on the dial according to the second parameter indicated by the verification prompt, and converts the current first parameter into the second verification code data, and submits it to the server 103.
  • the clock 101 receives the second parameter “10:25” indicated by the user according to the verification prompt, and drags the clock pointer to change the time pointed by the clock pointer.
  • the above drag operation points the pointer to 10:23, and The first parameter 10:23 currently indicated by the clock is converted to generate second verification code data 623, and sent to the server 103 for verification processing.
  • Step 208 The server 103 performs verification processing according to the first verification code data and the second verification code data, and sends the verification result to the client 101.
  • the server 103 extracts the first verification code data saved in step 202 from the session corresponding to the client 101, and compares it with the second verification code data sent from the client 101. If the verification is successful, if it is inconsistent, the verification is considered to be failed, and the verification result is sent to the client 101.
  • step 207 if the user follows the second parameter "10:25" indicated by the verification prompt, drag the pointer to point to 10:25 (converted to the second verification code data is "625") If the second verification code data 625 received by the server 103 is consistent with the first verification code data 625 saved in the session, the verification is successful; if the user does not follow the second parameter “10:25” indicated by the verification prompt, dragging The pointer does not point to 10:25, for example, points to 10:23 (converted to the second verification code data is "623"), then the second verification code data 623 received by the server 103 and the first saved in the above session If the verification code data 625 is inconsistent, the verification is considered to have failed.
  • Step 209 The client 101 receives and presents the verification result from the server 103.
  • the verification success is displayed on the above page to allow the user to perform the next step; if the verification result accepted by the client 101 is failed, then the above page is A warning is issued indicating that the verification failed and prompting the user to verify again on the page.
  • Method 2 Select the dial with the first parameter in a certain range of values
  • the dial is drawn on the page and the verification prompt is displayed, including: determining, according to the first verification code data, N first parameters corresponding to the N dials to be drawn and second parameters corresponding to the verification prompt, where N is an integer greater than 1; N the dials are drawn on the page and the verification prompt is displayed; wherein the N dials respectively indicate the N first parameters, and the verification prompt indicates The second parameter is described, and the second parameter indicates a desired range of values of the first parameter.
  • the input verification code operates as a selection operation for the N dials, and the determining the current first parameter or the second parameter includes: in response to the selecting operation of the user, Determining a dial selected by the user from the N of the dials, and determining the first parameter corresponding to the selected dial.
  • the second verification code data is generated according to the determined first parameter corresponding to the selected dial.
  • each dial includes at least one pointer and dial
  • the first parameter indicated by each dial represents a scale value indicated by the pointer in the dial.
  • the scale pointed by the pointer of the dial is the first parameter corresponding to the dial.
  • the second verification code data is generated according to the first parameter corresponding to the selected dial.
  • FIG. 4 A specific implementation process is shown in Figure 4. The method includes the following steps:
  • Step 401 The client 101 sends a verification code request to the server 103.
  • Step 402 The server 103 generates the first verification code data in response to the verification code request of the client 101.
  • Step 403 The client 101 receives the first verification code data generated by the server in response to the verification code request.
  • Steps 401 to 403 are the same as steps 201 to 203 shown in FIG. 2, and are not specifically described herein.
  • Step 404 The client 101 generates N first parameters corresponding to the dials to be drawn and second parameters corresponding to the verification prompts according to the first verification code data, where N is an integer greater than 1.
  • the client 101 after receiving the first verification code data, the client 101 converts the first N values in the first verification code data into N first parameters according to a preset convention, and performs the first verification.
  • the N+1th and N+2th values in the code data are converted into two second parameters corresponding to the above verification prompt.
  • the dial to be drawn is a clock, that is, the first verification code data represents time
  • the client 101 converts the first N values in the first verification code data into N numbers of hours and minutes respectively.
  • the client 101 sets the first four "130” and "300” in the first verification code data. ",” “150” and “600” are converted into “2:10", "5:00”, “2:30”, and “10:00", respectively.
  • the four parameters are the first parameters of time, and the first one is The last two "120” and “180” in the verification code data are converted into the second parameters of the two time formats "2:00” and "3:00".
  • the above preset convention is determined by the programmer at the stage of designing the application page.
  • Step 405 The client 101 draws the N dials on the page and displays the verification prompt.
  • the N dials respectively indicate the N first parameters
  • the verification prompt indicates the second parameter.
  • the second parameter indicates a desired range of values of the first parameter.
  • the client 101 respectively draws N dials on the page according to the N first parameters generated in step 404, and causes the N dials to respectively indicate the N first parameters.
  • the verification prompt is displayed on the above page, and the verification prompt includes a second parameter representing the expected range of the first parameter.
  • Figure 5 shows an example of a dial that selects a value in a range of values, taking the clock as an example.
  • the client 101 generates four first parameters according to the first verification code data, namely 00:01, 02:48, 05:47, 01:40 and two second parameters 02:00 and 03:00, according to the above.
  • the four first parameters draw four clock dials 501a, 501b, 501c, 501d on the page, and the four clock dials are respectively pointed to the above four first parameters.
  • the above verification prompt indication 503a second parameter a "02:00” and 503b second parameter b "03:00” the above verification prompt 502 is displayed on the page "select all time between 2 o'clock and 3 o'clock.
  • Lock wherein the above two second parameters "02:00” and "03:00" indicate the expected range of values of the above four first parameters.
  • Step 406 The client 101 determines, in response to the user's selection operation, the dial selected by the user from the N of the dials.
  • the client 101 receives a selection operation performed by the user through the input device such as a mouse or a touch screen according to the verification prompt, and the editing operation may include clicking the dial with a mouse or a touch screen to select the dial, etc., in response to In the above selection operation of the user, the client 101 updates the dial on the above page, and displays the background of the dial selected by the user from the N dials as a shadow.
  • the input device such as a mouse or a touch screen according to the verification prompt
  • the editing operation may include clicking the dial with a mouse or a touch screen to select the dial, etc.
  • the client 101 displays the background of the dial 501b and the dial 501c in the four dials in FIG. 5 as a shadow (504) in response to the user's selection operation, that is, the dial dial 501b and the dial 501c with the background shaded. Indicates that it is selected.
  • Step 407 The client 101 generates second verification code data according to the first parameter indicated by the determined dial, and submits the second verification code data to the server, in response to the submit operation of the user, so that the client 101 The server performs verification processing according to the first verification code data and the second verification code data and obtains a verification result.
  • the client 101 after receiving the submit operation of the user, converts the first parameter value currently indicated by the dial selected by the user into the second verification code data, and submits the second verification code data to the server 103.
  • Check processing Taking the clock dial as an example, the client 101 receives the second parameter indicated by the user according to the verification prompt, clicks the selection operation on the dial, and converts the first parameter indicated by the dial selected by the current user into the second verification code data, and submits Server 103.
  • the client 101 receives the second parameters 2:00 and 3:00 indicated by the user according to the verification prompt, clicks the selection operation of the dial 501b and the dial 501c, and then the first parameter 02: 48 currently indicated by the dial 501b. And the first parameter 05:47 currently indicated by the dial 501c is converted into the second verification code data "168" and "347", and sent to the server 103 for calibration. Inspection processing.
  • Step 408 The server 103 performs verification processing according to the first verification code data and the second verification code data, and sends the verification result to the client 101.
  • the server 103 generates the expected verification code data according to the first verification code data and the verification prompt stored in the Session corresponding to the client 101 in step 402, and saves the expected verification code data into the Session.
  • the server 103 receives the second verification code data submitted by the client 101, the expected verification code data is extracted from the session and compared with the second verification code data submitted by the client 101. If they are consistent, then The verification is considered successful. If it is inconsistent, the verification is considered to be failed, and finally the verification result is sent to the client 101.
  • the dial 501b pointing to the first parameter is 02:48 and pointing to the first A dial 501c having a parameter of 05:47, since the first parameter 05:47 pointed by the dial 501c is not between the 2nd and 3rd points of the second parameter, the verification fails.
  • Step 409 The client 101 receives and presents the verification result from the server 103.
  • Step 409 is the same as step 209 shown in FIG. 2 and will not be described in detail herein.
  • Method 3 Enter the first parameter of the dial in the specified area of the verification prompt
  • drawing the dial on the page and displaying the verification prompt includes: generating a first parameter corresponding to the dial to be drawn according to the first verification code data; drawing the dial on the page and displaying a verification prompt; Wherein the dial indicates the first parameter.
  • the input verification code is operated as an input operation for the verification prompt, and the determining the current first parameter or the second parameter comprises: receiving the user inputting in a preset area of the verification prompt And the parameter is used as the second parameter and is displayed; wherein the first parameter indicates a desired value of the second parameter.
  • the second verification code data is generated according to the second parameter.
  • the dial includes at least one pointer and a dial, the first parameter indicated by the dial representing a scale value indicated by the pointer in the dial. Wherein, when the dial is drawn, the scale pointed by the pointer of the dial is the first parameter corresponding to the dial.
  • Step 601 The client 101 sends a verification code request to the server 103.
  • Step 602 The server 103 generates the first verification code data in response to the verification code request of the client 101.
  • Step 603 The client 101 receives the first verification code data generated by the server in response to the verification code request.
  • Steps 601 to 603 are the same as steps 201 to 203 shown in FIG. 2, and are not specifically described herein.
  • Step 604 The client 101 generates a first parameter corresponding to the dial to be drawn according to the first verification code data.
  • the client 101 after receiving the first verification code data, the client 101 converts the first verification code data into a first parameter corresponding to the dial to be drawn.
  • the dial to be drawn is a clock, that is, the first verification code data represents time
  • the client 101 generates a first parameter in the format of hours and minutes according to the first verification code data, that is, when the client 101 receives
  • the client 101 converts 1360 into the first parameter of 22 hours and 40 minutes.
  • Step 605 The client 101 draws the dial on the page and displays a verification prompt; wherein the dial indicates the first parameter.
  • the client 101 draws a dial on the page according to the first parameter, and the dial includes a scale and a pointer in addition to the dial background, and the number of dials drawn is determined by the received first verification code data, that is, The first verification code data includes several values pointing to the first parameter, and several dials are drawn; and the verification prompt is displayed on the above page, and the verification prompt includes a common area input dial value of the preset area.
  • Figure 7 shows an example of the input dial display value using the clock as an example.
  • the client 101 draws the dial 701 on the page according to the first parameter 09:01, and causes the dial 701 to indicate the first parameter 09:01; meanwhile, the verification prompt 702 is displayed on the page, wherein the verification prompt 702 includes the pre- A zone 703 is provided for the user to enter the dial value.
  • Step 606 The client 101 displays a second parameter input by the user in a preset area of the verification prompt in response to a user input operation of the verification prompt; wherein the first parameter indicates the second parameter The expected value of the parameter.
  • the client 101 receives an input operation of the preset area of the verification prompt by the user through an input device such as a keyboard, a mouse, or a touch screen according to the verification prompt.
  • an input device such as a keyboard, a mouse, or a touch screen according to the verification prompt.
  • the client 101 is in the above manner.
  • the preset area of the verification prompt on the page displays the second parameter input by the user, wherein the first parameter indicated by the dial is the expected input value of the second parameter to be input in the preset area of the verification prompt.
  • Step 607 The client 101 generates second verification code data according to the second parameter in response to the submit operation of the user, and submits the second verification code data to the server, so that the server according to the The first verification code data and the second verification code data are subjected to verification processing and a verification result is obtained.
  • the client 101 converts the second parameter input by the user in the verification prompt designation area into the second verification code data, and submits the second verification code data to the server 103 for calibration. Inspection processing.
  • the client 101 receives the second parameter input by the user in the verification prompt preset area 703 as 09:01, and the second parameter is "09:01" is converted into the second verification code data "541" and sent to the server 103 for verification processing.
  • Step 608 The server 103 performs verification processing according to the first verification code data and the second verification code data, and sends the verification result to the client 101.
  • Step 609 The client 101 receives and presents the verification result from the server 103.
  • Steps 608 - 609 are the same as steps 208 - 209 shown in FIG. 2 and will not be described in detail herein.
  • Method 4 Sort the dial according to the first parameter
  • drawing the dial on the page and displaying the verification prompt includes: generating N first parameters corresponding to the N movable dials to be drawn and second parameters corresponding to the verification prompt according to the first verification code data
  • N is an integer greater than 1
  • N movable discs are sequentially drawn on the page in an initial arrangement and the verification prompt is displayed; wherein the N dials respectively indicate the N a first parameter, the verification prompt indicating the second parameter, the second parameter indicating a desired arrangement of the N first parameters.
  • the input verification code operates as a movement operation on the dial
  • the determining the current first parameter or the second parameter includes: responding to the user for any one of the N dials Or any of the mobile operations, updating the arrangement of the N dials.
  • the second verification code data is generated according to the current arrangement manner of the N dials and the first parameter indicated by each of the dials.
  • each dial includes at least one pointer and dial
  • the first parameter indicated by each dial represents a scale value indicated by the pointer in the dial.
  • the scale pointed by the pointer of the dial is the first parameter corresponding to the dial.
  • the second verification code data is generated according to the first parameter corresponding to the selected dial.
  • Step 801 The client 101 sends a verification code request to the server 103.
  • Step 802 The server 103 generates the first verification code data in response to the verification code request of the client 101.
  • Step 803 The client 101 receives the first verification code data generated by the server in response to the verification code request.
  • Step 804 The client generates N first parameters corresponding to the dials to be drawn and second parameters corresponding to the verification prompts according to the first verification code data, where N is an integer greater than 1.
  • Steps 801 to 804 are the same as steps 401 to 404 shown in FIG. 4, and are not specifically described herein.
  • Step 805 The client 101 sequentially draws N movable dials in the initial arrangement order on the page and displays the verification prompt; wherein the N movable dials The N first parameters are respectively indicated, the verification prompt indicates the second parameter, and the second parameter indicates a desired arrangement manner of the N first parameters.
  • the client 101 sequentially draws N dials in the initial arrangement order on the page according to the N and first parameters generated in step 804, and causes the N movable dials to respectively indicate the N first parameter.
  • the verification prompt is displayed on the above page, and the verification prompt indicates a second parameter representing the desired arrangement of the N first parameters, such as ascending or descending.
  • the foregoing arrangement manner may be agreed in advance by the accessed page, or may be generated by the first verification code data, for example, 0 represents descending order, and 1 represents ascending order.
  • Figure 9 shows an example of dial sorting using a clock as an example.
  • the client 101 generates, according to the first verification code data, four first parameters: 01:40, 02:03, 09:24, 01:46 and a second parameter 1 (assumed to be in ascending order according to the convention), according to the above
  • the four first parameters draw four clock dials 901a, 901b, 901c, and 901d on the page, and the four clock dials are respectively pointed to the above four first parameters.
  • the above verification prompt indicates 903 the second parameter (ascending order), and displays the above verification prompt 902 "Please drag the clock so that the time is arranged in ascending order from left to right" on the page, wherein the second parameter 1 (ascending order) The desired ordering of the above four first parameters is indicated.
  • Step 806 The client 101 updates the order of arrangement of the N dials in response to the user's moving operation for any one or any of the N dials.
  • the client 101 receives a mobile operation performed by the user through the input device such as a mouse or a touch screen according to the verification prompt, and the client 101 updates the N on the page in response to the user's moving operation.
  • the input device such as a mouse or a touch screen according to the verification prompt
  • Step 807 The client 101 generates second verification code data according to the current arrangement order of the N dials and the first parameter of the respective indications, and submits the second verification, in response to the submit operation of the user.
  • the code data is sent to the server, so that the server performs verification processing according to the first verification code data and the second verification code data and obtains a verification result.
  • the client 101 after receiving the submit operation of the user, sequentially generates the second verification code data according to the current arrangement order, and submits the second verification code data to the server 103. Perform verification processing.
  • Step 808 The server 103 performs verification processing according to the first verification code data and the second verification code data, and sends the verification result to the client 101.
  • the server 103 generates the expected verification code data according to the first verification code data and the verification prompt stored in the Session corresponding to the client 101 in step 802, and saves the expected verification code data into the above session.
  • the client 101 receives the ascending order indicated by the user according to the verification prompt, and should The above-mentioned four dials 901a, 901b, 901c, and 901d, in accordance with the first parameter indicated by the instruction and the ascending order of the verification prompt indication, when the server 103 generates the expected verification code data, the first four of the above-mentioned four dials should be respectively indicated.
  • the parameters are sorted to 01:40, 01:46, 02:03, 09:24 and converted into expected verification code data 100, 106, 123, 564.
  • the server 103 When the server 103 receives the second verification code data submitted by the client 101, the expected verification code data is extracted from the session and compared with the second verification code data submitted by the client 101. If they are consistent, then The verification is considered successful. If it is inconsistent, the verification is considered to be failed, and finally the verification result is sent to the client 101.
  • Step 809 The client 101 receives and presents the verification result from the server 103.
  • Step 809 is the same as step 409 shown in FIG. 4 and will not be described in detail herein.
  • the above technical solution adopts the dial to display the verification code data, and provides various verification methods to effectively prevent the verification code data from being cracked; at the same time, displaying the verification code data on the dial is closer to the daily life of the user and improving the user experience.
  • it can greatly reduce the signaling interaction generated by the blind request server generated by the blind request server due to the difficulty of distinguishing or difficult to understand the verification code 2, saving network and hardware resources, and improving efficiency.
  • the present application further provides a verification code data processing apparatus and a server, wherein the verification code data processing apparatus can be installed on the client 101.
  • the verification code data processing apparatus described above may be implemented by the block diagram shown in FIG. 10, including: one or more memories; one or more processors; wherein the one or more memories are stored One or more instruction modules configured to be executed by the one or more processors; wherein the one or more instruction modules include: a request module 1001, a receiving module 1002, a rendering module 1003, a response module 1004, and a submission module 1005 and display module 1006.
  • each module functions as follows:
  • the requesting module 1001 is configured to issue a verification code request to the server.
  • the receiving module 1002 is configured to receive first verification code data generated by the server in response to the verification code request.
  • the drawing module 1003 is configured to draw a dial on the page according to the first verification code data and display a verification prompt; wherein the dial indicates a first parameter, the verification prompt corresponds to a second parameter, and the first parameter At least one of the second parameters is determined according to the first verification code data; the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter;
  • the response module 1004 is configured to determine the current first parameter or the second parameter in response to the input verification code operation of the user; wherein the verification prompt indicates a second parameter or from a location for the verification prompt Obtaining a second parameter in the input verification code operation;
  • the submitting module 1005 is configured to generate, according to the submitted verification code operation of the user, second verification code data according to the determined first parameter or the second parameter, and submit the second verification code data to the a server, so that the server performs verification processing according to the first verification code data and the second verification code data and obtains a verification result.
  • the presentation module 1006 is configured to receive and present the verification result from the server.
  • the drawing module 1003 may determine an initial value of the first parameter corresponding to the editable dial to be drawn; and determine the second parameter corresponding to the verification prompt according to the first verification code data; Drawing the editable dial on the page according to an initial value of the first parameter, and displaying the verification prompt on the page according to the second parameter; wherein the dial indicates the first A parameter, the verification prompt prompting the second parameter, the second parameter indicating an expected value of the first parameter.
  • the input verification code operates as an editing operation for the dial, and the response module 1004 updates the dial on the page to adjust the first in response to the user's editing operation on the dial.
  • the submitting module 1005 generates second verification code data according to the first parameter currently indicated by the dial.
  • the drawing module 1003 may determine, according to the first verification code data, N first parameters corresponding to the N to be drawn and a second parameter corresponding to the verification prompt, where N is an integer greater than 1. Drawing N the dials on the page and displaying the verification prompts; wherein the N dials respectively indicate the N first parameters, and the verification prompt indicates the second parameters, The second parameter indicates a desired range of values for the first parameter.
  • the input verification code operates as a selection operation for the N dials
  • the response module 1004 determines, in response to the selection operation of the user, the dial selected by the user from the N dials. And determining the first parameter corresponding to the selected dial.
  • the submitting module 1005 generates the second verification code data according to the determined first parameter corresponding to the selected dial.
  • the drawing module 1003 may generate a first parameter corresponding to the dial to be drawn according to the first verification code data; draw the dial on the page and display a verification prompt; wherein the dial indicates The first parameter.
  • the input verification code operates as an input operation for the verification prompt
  • the response module 1004 receives a parameter input by the user in a preset area of the verification prompt, and uses the input parameter as the The second parameter is displayed; wherein the first parameter indicates a desired value of the second parameter.
  • the submitting module 1005 generates second verification code data according to the second parameter.
  • the drawing module 1003 may generate, according to the first verification code data, N first parameters corresponding to the N movable dials to be drawn and a second parameter corresponding to the verification prompt, where N is greater than 1 Integer; press the initial on the page The initial arrangement sequentially draws the N movable dials and displays the verification prompts; wherein the N dials respectively indicate the N first parameters, and the verification prompt indicates the second parameter, The second parameter indicates a desired arrangement of the N first parameters.
  • the input verification code operates as a movement operation for the dial
  • the response module 1004 in response to the user moving operations on any one or any of the N of the dials, updating N locations Describe how the dials are arranged.
  • the submitting module 1005 generates second verification code data according to the current arrangement manner of the N dials and the first parameter indicated by the respective labels.
  • the verification code data processing device described above can be executed in any computing device for verification code data processing and loaded in the memory of the computing device.
  • the computing device may include, in addition to the respective modules in the foregoing control device, a memory 1101, a processor 1103, a bus 1102, and a port 1104.
  • the processor 1103 and the memory 1101 are interconnected by a bus 1102.
  • the processor 1103 can receive and transmit data through the port 1104 to effect network communication and/or local communication.
  • Each of the above modules 1001 to 1006 may be a machine executable instruction module stored in the memory 1101.
  • the processor 1103 can realize the functions of the above-described modules 1001 to 1006 by executing the machine executable instructions included in the modules 1001 to 1006 in the memory 1101.
  • the memory 1101 described above will store one or more programs and be configured to be executed by one or more processors 1103.
  • the one or more programs described above may include the following instruction modules:
  • the requesting module 1001 is configured to issue a verification code request to the server.
  • the receiving module 1002 is configured to receive first verification code data generated by the server in response to the verification code request.
  • the drawing module 1003 is configured to draw a dial on the page according to the first verification code data and display a verification prompt; wherein the dial indicates a first parameter, the verification prompt corresponds to a second parameter, and the first parameter At least one of the second parameters is determined according to the first verification code data; the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter;
  • the response module 1004 is configured to determine the current first parameter or the second parameter in response to the input verification code operation; wherein the verification prompt indicates the second parameter or from the input verification for the verification prompt Obtaining a second parameter in the code operation;
  • the submitting module 1005 is configured to generate second verification code data according to the determined first parameter or the second parameter, and submit the second verification code data to the server, in response to submitting the verification code operation, so that The server performs verification processing according to the first verification code data and the second verification code data, and obtains a verification result;
  • the presentation module 1006 is configured to receive and present the verification result from the server.
  • the verification code data processing server may be implemented by the block diagram shown in FIG. 12, including: one or more memories; one or more processors; wherein the one or more memories are stored
  • One or more instruction modules are configured to be executed by the one or more processors; wherein the one or more instruction modules include: a verification code generation module 1201, a verification code transmission module 1202, and a verification code processing module 1203.
  • each module functions as follows:
  • the verification code generating module 1201 is configured to generate the first verification code data of the user and save it in response to the verification code request for a user from the client.
  • the verification code sending module 1202 is configured to send the first verification code data to the client, so that the client draws a dial on the page according to the first verification code data and displays a verification prompt; wherein the dial Determining a first parameter, the verification prompt corresponds to a second parameter, the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter; and may also be used for sending verification The result is to the client.
  • the verification code processing module 1203 is configured to receive second verification code data for the user from the client, where the second verification code data is used by the client according to the currently determined first parameter or the Generating a second parameter; querying the first verification code data of the user; performing verification processing by comparing the first verification code data and the second verification code data, and obtaining a verification result.
  • the devices and modules in the various examples of the present application may be integrated into one processing unit, or each module may exist physically separately, or two or more devices or modules may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • FIG. 13 is a diagram showing the hardware structure of a verification code data processing server according to an example of the present invention.
  • the above server may include a memory 1301, a processor 1303, a bus 1302, and a port 1304.
  • the processor 1303 and the memory 1301 are interconnected by a bus 1302.
  • the processor 1303 can receive and transmit data through the port 1304 to effect network communication and/or local communication.
  • Each of the above modules 1201 to 1203 may be a machine executable instruction module stored in the memory 1301.
  • the processor 1303 can realize the functions of the above-described modules 1201 to 1203 by executing the machine executable instructions included in the modules 1201 to 1203 in the memory 1301.
  • the aforementioned memory 1301 will store one or more programs and be configured to be executed by one or more processors 1303.
  • the one or more programs described above may include the following instruction modules:
  • the verification code generation module 1201 is configured to generate and save the first verification code data in response to the verification code request from the client.
  • the verification code sending module 1202 is configured to send the first verification code data to the client, so that the client draws a dial on the page according to the first verification code data and displays a verification prompt; wherein the dial Determining a first parameter, the verification prompt corresponds to a second parameter, the second parameter includes an expected value of the first parameter, or the first parameter includes an expected value of the second parameter; and may also be used for sending verification The result is to the client.
  • the verification code processing module 1203 is configured to receive second verification code data from the client, where the second verification code data is used by the client according to the currently determined first parameter or the second parameter. Generating; querying the first verification code data of the user; performing verification processing by comparing the first verification code data and the second verification code data, and obtaining a verification result.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or the like.
  • an embodiment of the present invention further provides a storage medium, wherein a data processing program is stored, and the data processing program is used to execute any one of the foregoing methods of the embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种验证码数据处理方法,包括:向服务器发出验证码请求;接收服务器响应于验证码请求而生成的第一验证码数据;根据第一验证码数据,在页面上绘制表盘并展示验证提示;其中,表盘指示了第一参数,验证提示对应第二参数;响应于输入验证码操作,确定当前的第一参数或者第二参数;响应于提交验证码操作,根据所确定的第一参数或者第二参数生成第二验证码数据,并提交第二验证码数据给服务器,以使服务器根据第一验证码数据和第二验证码数据进行验证处理并得到验证结果;及从服务器接收并展示验证结果。本申请还提供了一种相应的装置。

Description

一种验证码数据处理方法、装置及存储介质
本申请要求于2016年12月26日提交中国专利局、申请号为201611217234.7、发明名称为“一种验证码数据处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息技术(IT)领域,尤其涉及一种验证码数据处理方法、装置及存储介质。
背景
随着互联网技术的发展,验证码在现代网络中的使用越来越广泛,是网站服务提供方用来防范网络攻击,保证用户权益的有效手段。现有的验证码主要有几下几种:图片验证码、语音验证码、智力测验验证码。
但是,对于图片验证码和语音验证码来说,使用OCR技术(光学字符识别技术)和语音识别技术可以很容易破解。智力测验验证码相对来说比较难攻击,但是很多网站提供的验证码有的用户很难分辨清楚,有的描述太过模糊,用户难以理解,大大降低了用户的体验,影响了效率。
技术内容
本申请提出了一种验证码数据处理方法,向服务器发出验证码请求;接收所述服务器响应于所述验证码请求而生成的第一验证码数据;根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;响应于输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示所述第二参数或者从对于所述验证提示的所述输入验证码操作中获得所述第二参数;响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数 据进行验证处理并得到验证结果;及从所述服务器接收并展示所述验证结果。
本申请还提出了一种验证码数据处理装置,一个或一个以上存储器;一个或一个以上处理器;其中,所述一个或一个以上存储器存储有一个或者一个以上指令模块,经配置由所述一个或者一个以上处理器执行;其中,所述一个或者一个以上指令模块包括:请求模块,用于向服务器发出验证码请求;接收模块,用于接收所述服务器响应于所述验证码请求而生成的第一验证码数据;绘制模块,用于根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;响应模块,用于响应于输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示所述第二参数或者从对于所述验证提示的所述输入验证码操作中获得所述第二参数;提交模块,用于响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果;及展示模块,用于从所述服务器接收并展示所述验证结果。
本申请还提出了一种非易失性计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行以上所述的方法。
附图简要说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请一实例的系统结构图;
图1B为本申请一实例的验证码数据处理方法的流程图;
图2为本申请实例一的验证码数据处理方法的流程图;
图3A为本申请实例一拖动指针到指定数值中以时钟表盘举例的示例;
图3B为本申请实例一的绘制表盘的方法流程图;
图4为本申请实例二的验证码数据处理方法的流程图;
图5为本申请实例二选择显示数值在某段数值范围的表盘中以时钟表盘举例的示例;
图6为本申请实例三的验证码数据处理方法的流程图;
图7为本申请实例三输入表盘显示数值中以时钟表盘举例的示例;
图8为本申请实例四的验证码数据处理方法的流程图;
图9为本申请实例三表盘排序中以时钟表盘举例的示例;
图10为本申请一实例的验证码数据处理装置结构图;
图11为本申请一实例的验证码数据处理设备硬件结构图。
图12为本申请一实例的验证码数据处理服务器结构图;及
图13为本申请一实例的验证码数据处理服务器硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
在实现本发明的过程中,发明人现有的验证码设计方案存在容易破解以、描述太过模糊、大大降低用户体验,影响用户效率的问题。有鉴于此,本申请提出了一种验证码数据处理方法,该方法可应用于客户端设备中。这种验证码数据处理方法采用表盘形式来展示验证码数据,可以提供多种识别方式,有效防止验证码被破解,同时,比较贴近日常生活,大幅度提高了用户体验。
图1A示出了本申请的验证码数据处理方法所适用的系统结构示意图。如图1所示,本申请的系统至少包括:客户端101、网络102以及服务器103。
在本申请中,上述客户端101可以运行在手机、iPad、平板电脑、 膝上型便携计算机和台式计算机等终端设备中的应用(APP)或者浏览器等。
上述网络102可以是有线网络,也可以是无线网络。例如,如图1所示,客户端101可以通过有线也可以通过无线的方式接入网络,而核心网一侧,服务器103以有线的方式接入网络。
上述服务器103可以是客户端101登录的网站或者应用程序的服务器,可以和客户端101一起为用户提供应用服务。
基于上述系统结构,本申请提出了一种验证码数据处理方法,该方法采用表盘来展示验证码数据。如图1B所示,该方法包括了以下步骤:
步骤101B:向服务器发出针对一用户的验证码请求。
步骤102B:接收所述服务器响应于所述验证码请求而生成的第一验证码数据。
步骤103B:根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值。
步骤104B:响应于所述用户的输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示第二参数或者从对于所述验证提示的所述输入验证码操作中获得第二参数。
步骤105B:响应于所述用户的提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。
步骤106B:从所述服务器接收并展示所述验证结果。
具体的,上述验证码数据处理方法,可以包括四种验证方式,比如调整表盘的第一参数到指定数值、选择第一参数在某段数值范围的表盘、在验证提示的指定区域输入第二参数以及根据第一参数进行表盘排序等。需要注意的是,本申请包括但不限于这四种不同验证形式,下述的四种不同验证形式的实例,不用于限制本申请。下面结合具体四种不同的验证形式,进一步描述本申请的验证码数据处理方法。
方式一:调整表盘的第一参数到指定数值
在一些实例中,在页面上绘制表盘并展示验证提示,包括:确定待绘制的可编辑的表盘对应的所述第一参数的初始值;根据所述第一验证码数据确定所述验证提示对应的所述第二参数;根据所述第一参数的初始值在所述页面上绘制所述可编辑的表盘,并根据所述第二参 数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数指示了所述第一参数的期望值。所述输入验证码操作为对于所述表盘的编辑操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于所述用户对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数。其中,根据所述表盘当前指示的所述第一参数生成第二验证码数据。
在一些实例中,所述表盘包括至少一个指针和刻度盘,所述第一参数和所述第二参数代表所述指针所指的刻度值。其中,根据所述第一参数的初始值绘制的所述可编辑的表盘中,指针所指向的刻度值为所述第一参数的初始值,并且所述指针为可移动的。其中,对于所述表盘的编辑操作为对于所述指针的移动操作,所述更新所述表盘包括:响应于所述用户对于所述指针的移动操作,更新所述指针的指向位置以调整所述指针所指的刻度值。其中,根据所述指针当前指向的刻度值生成所述第二验证码数据。
一个具体的实现流程如图2所示,该方法包括如下步骤:
步骤201:客户端101向服务器103发出验证码请求。
通常情况下,当客户端101用户在相关页面执行登录、付款、注册和发表观点等提交请求操作时,上述相关页面需要用户输入验证码,此时,客户端101会向服务器103发出验证码请求。这里,上述相关页面可以是登录网站页面、付款页面等提交请求页面。
步骤202:服务器103响应于客户端101的验证码请求生成第一验证码数据。
在一些实例中,服务器103可通过随机算法生成第一验证码数据,并将其保存在与客户端101对应的会话(Session)中。一般情况下,用户使用客户端101访问服务器103提供的页面时,服务器103会为该用户建立一个Session,来维护该用户(也称为客户端用户)在本次访问过程中产生的各种数据。当客户端101请求一应用程序的页面(也称网页)时,如果服务器103还没有为当前客户端用户建立Session,则服务器103将自动创建一个Session对象,该Session对象针对当前客户端用户具有唯一性,拥有一个唯一的Session ID号。该Session对象存储当前客户端用户会话所需的属性及配置信息。这样,当上述客户端用户在上述应用程序的不同页面之间跳转时,存储在该Session对象中的变量将不会丢失,而是在整个会话中一直存在下去,进而可以通过此Session对象来保存验证码数据。
本步骤中,根据验证码数据的形式不同,服务器103生成验证码数据的随机算法也可不同。例如,生成指示时间参数的验证码数据时, 服务器103会将一天24小时换算为1440分钟,然后从0-1440数值范围中随机选取一个或多个数值作为第一验证码数据,所选取的一个数值可以用来表征一天中的某一个时刻。此第一验证码数据可以保存在服务器103中与客户端101的当前用户对应的Session中,并可以与该Session的Session ID对应保存。
步骤203:客户端101接收服务器103响应于所述验证码请求而生成的第一验证码数据。
在一些实例中,服务器103以Ajax(Asynchronous Javascript And XML)请求的形式将第一验证码数据发送给客户端101。这样,客户端101在接收到上述第一验证码数据后不需要重新加载整个网页页面来展示验证码数据,而只需要更新验证码显示区域即可。
其中,Ajax技术是一种创建交互式网页应用的网页开发技术,可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
步骤204:客户端101确定待绘制的可编辑的表盘对应的第一参数的初始值,根据上述第一验证码数据生成验证提示对应的第二参数。
在一些实例中,客户端101可以将上述待绘制的可编辑表盘对应的第一参数的初始值设为任意值,比如可以设置第一参数的初始值为0,此第一参数的初始值可以为一个默认数值,此默认数值可以携带在第一验证码数据中,也可以携带在服务器103提供给客户端101的网页数据中。在接收到上述第一验证码数据后,客户端101可将上述第一验证码数据转化为验证提示对应的第二参数。其中第二参数用来指示用户将上述可编辑表盘指针拖动到的数值。例如,当上述待绘制的表盘为时钟,即第一验证码数据包含代表时间的验证码(简称时间验证码)时,客户端101根据第一验证码数据生成格式为小时数和分钟数的第二参数,即假设当客户端101接收到包含时间验证码的第一验证码数据为数值“1360”时,客户端101将数值“1360”换算为时间参数“22小时40分钟”并将其作为第二参数。
步骤205:客户端101根据所述第一参数在页面上绘制所述可编辑的表盘,并根据所述第二参数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数提示了所述第一参数的期望值。
在一些实例中,客户端101根据所述第一参数的初始值在页面上绘制可编辑的表盘,上述可编辑表盘除了表盘背景外,还包括刻度和指针,绘制的可编辑的表盘个数由接收到的上述第一验证码数据决定,即,上述第一验证码数据生成几个对应于第二参数的数值,就绘 制几个可编辑表盘;同时在上述页面上显示上述验证提示,该验证提示包括代表上述第一参数期望值的第二参数。
图3A以时钟为例,给出了一个可编辑表盘以及转动指针到指定时间的验证提示的实例。客户端101接收到第一验证码数据后,根据所设的第一参数的初始值,绘制时钟302和时钟303,并分别将指针指向相应第一参数初始值,其中,时钟302的第一参数初始值换算为时间格式后为00:01,时钟303的第一参数初始值换算为时间格式后为01:40;同时,客户端101根据接收到的第一验证码数据,生成第二参数a“10:25”和第二参数b“4:18”,并在时钟302和时钟303的上方显示出验证提示301“请转动分针,将时钟时间调整到下方指定时间点”,在时钟302下方显示验证提示304的第二参数a“10:25”,在时钟303的下方显示验证提示305的第二参数b“4:18”。
更进一步的,上述表盘的背景、颜色和表盘形状等样式,客户端101可以由访问的页面提前设定,也可从上述页面的表盘元素库中随机选择,来完成表盘绘制。绘制表盘的可以采用H5语言设计,也可由其他语言完成。
关于绘制表盘的方法,图3B以通过Javascript语言绘制Canvas画布来实现绘制时钟表盘为例,示出了绘制表盘的具体方法,该方法中Canvas画布主要通过调用相关函数来实现绘制时钟表盘,具体包括以下步骤:
步骤301A:调用clearRect()函数清除画布内容。
步骤302A:使用arc()函数绘制表盘。
步骤303A:使用lineTo()函数绘制小时刻度和分钟刻度。
步骤304A:绘制时针、分针和秒针,使用rotate()设置时针、分针和秒针的位置。
步骤305A:调用setInterval()函数,每秒刷新画布内容。
步骤206:客户端101响应于用户对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数。
在一些实例中,客户端101接收用户通过鼠标或触摸屏等输入设备按照上述验证提示,对上述可编辑表盘进行的编辑操作,上述编辑操作可以包括用鼠标或者手指在触摸屏上的点击/拖动表盘的指针等等,响应于用户的上述编辑操作,客户端101可以调整表盘的指针参数并实时更新表盘的显示,进而能将表盘所指示的第一参数调整到用户编辑后的数值。比如:用户可以拖动图3A所示时钟302和303的时针、分针、秒针等,进而调整时钟302和303指示的时间。
步骤207:客户端101响应于所述用户的提交操作,根据所述表盘当前指示的所述第一参数生成第二验证码数据,并提交所述第二验 证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。
在一些实例中,客户端101接收用户提交的按照验证提示指示的第二参数在表盘上拖动指针的编辑操作,并将当前的第一参数转换为第二验证码数据,并提交服务器103。时钟表盘举例,客户端101接收用户按照验证提示指示的第二参数“10:25”,拖动时钟指针以改变时钟指针指向的时间的操作,比如上述拖动操作使指针指向10:23,并将时钟当前指示的第一参数10:23换算生成第二验证码数据623,发送给服务器103进行校验处理。
步骤208:服务器103根据上述第一验证码数据和上述第二验证码数据进行验证处理并将验证结果发送给客户端101。
在一些实例中,服务器103从与客户端101对应的Session中提取出步骤202保存的上述第一验证码数据,将其和从客户端101发送的上述第二验证码数据进行对比,如果一致,则认为验证成功,如果不一致,则认为验证失败,并把验证结果发送给客户端101。
以时钟表盘为例,在步骤207中,如果用户按照验证提示指示的第二参数“10:25”,拖动指针使其指向10点25分(转化为第二验证码数据为“625”),则服务器103接收到的第二验证码数据625和上述Session中保存的第一验证码数据625一致,则认为验证成功;如果用户没有遵循验证提示指示的第二参数“10:25”,拖动指针没有使其指向10点25分,比如指向10点23分(转化为第二验证码数据为“623”),则服务器103接收到的第二验证码数据623与上述Session中保存的第一验证码数据625不一致,则认为验证失败。步骤209:客户端101从服务器103接收并展示所述验证结果。
在一些实例中,如果客户端101接受的验证结果为成功时,则在上述页面上显示验证成功,以允许用户进行下步操作;如果客户端101接受的验证结果为失败时,则在上述页面上发出警告,显示验证失败,并在页面上提示用户再次验证。
方式二:选择第一参数在某段数值范围的表盘
在一些实例中,在页面上绘制表盘并展示验证提示,包括:根据所述第一验证码数据确定N个待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上绘制N个所述表盘并展示所述验证提示;其中,所述N个表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围。其中,所述输入验证码操作为对于N个所述表盘的选择操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于所述用户的所述选择操作,确 定所述用户从N个所述表盘中选择的表盘,并确定所选择的所述表盘对应的所述第一参数。其中,根据所确定的所选择的表盘对应的所述第一参数生成所述第二验证码数据。
在一些实例中,每一表盘包括至少一个指针和刻度盘,每一表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值。其中,绘制每一所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数。其中,根据所选择的所述表盘对应的所述第一参数生成所述第二验证码数据。
一个具体的实现流程如图4所示,该方法包括如下步骤:
步骤401:客户端101向服务器103发出验证码请求。
步骤402:服务器103响应于客户端101的验证码请求生成第一验证码数据。
步骤403:客户端101接收所述服务器响应于所述验证码请求而生成的第一验证码数据。
步骤401-步骤403和图2所示的步骤201-步骤203相同,在此不再具体说明。
步骤404:客户端101根据所述第一验证码数据生成N个与待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数。
在一些实例中,客户端101在接收到上述第一验证码数据后,按照预设约定,将上述第一验证码数据中的前N个数值转化为N个第一参数,将上述第一验证码数据中的第N+1和第N+2个数值转化为与上述验证提示对应的2个第二参数。例如,当上述待绘制的表盘为时钟,即第一验证码数据代表时间时,客户端101将第一验证码数据中的前N个数值分别转化为N个格式为小时数和分钟数的第一参数并将上述第一验证码数据中的第N+1和第N+2个数值转化为格式为小时数和分钟数的第二参数,即假设当客户端101接收到代表时间的第一验证码数据为“130”、“300”、“150”、“600”、“120”、“180”时,客户端101将上述第一验证码数据中的前4个“130”、“300”、“150”和“600”分别转化为“2:10”、“5:00”、“2:30”和“10:00”4个格式为时间的第一参数,并将上述第一验证码数据中的最后2个“120”和“180”转化为“2:00”和“3:00”2个时间格式的第二参数。
其中,上述预设约定为编程人员在设计应用程序页面阶段确定。
步骤405:客户端101在页面上绘制N个所述表盘并展示所述验证提示;其中,所述N个表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围.
在一些实例中,客户端101根据步骤404中生成的上述N个第一参数,在页面上分别绘制N个表盘,并使上述N个表盘分别指示上述N个第一参数。同时在上述页面上显示上述验证提示,该验证提示中包含了代表上述第一参数期望值范围的第二参数。
图5以时钟为例,给出了一个选择显示数值在某段数值范围的表盘的实例。客户端101根据上述第一验证码数据,生成四个第一参数分别为00:01、02:48、05:47、01:40以及两个第二参数02:00和03:00,根据上述四个第一参数在页面上绘制了4个时钟表盘501a、501b、501c、501d,并使上述四个时钟表盘分别指向上述4个第一参数。同时,将上述验证提示指示503a第二参数a“02:00”和503b第二参数b“03:00”,在页面上展示上述验证提示502“选出所有时间在2点到3点之间的时钟”,其中上述两个第二参数“02:00”和“03:00”指示了上述四个第一参数的期望取值范围。
步骤406:客户端101响应于用户的选择操作,确定所述用户从N个所述表盘中选择的表盘。
在一些实例中,客户端101接收用户通过鼠标或触摸屏等输入设备根据上述验证提示,对上述表盘进行的选择操作,上述编辑操作可以包括用鼠标或者触摸屏点击表盘以选择该表盘等等,响应于用户的上述选择操作,客户端101在上述页面上对上述表盘更新,将用户从上述N个表盘中选择的表盘,背景显示为阴影。
以图5为例,客户端101响应于用户的选择操作,将图5中的4个表盘中的表盘501b和表盘501c背景显示为阴影(504),即背景为阴影的表盘表盘501b和表盘501c表示被选中。
步骤407:客户端101响应于所述用户的提交操作,根据所确定的表盘指示的所述第一参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。
在一些实例中,客户端101接收到用户的提交操作后,将上述被用户选择的表盘当前指示的第一参数值转换为第二验证码数据,并提交上述第二验证码数据到服务器103进行校验处理。以时钟表盘为例,客户端101接收用户按照验证提示指示的第二参数,在表盘上点击的选择操作,并将当前用户选择的表盘指示的第一参数转换为第二验证码数据,并提交服务器103。
以图5为例,客户端101接收用户按照验证提示指示的第二参数2:00和3:00,点击表盘501b和表盘501c的选择操作,然后将表盘501b当前指示的第一参数02:48和表盘501c当前指示的第一参数05:47转化为第二验证码数据“168”和“347”,并发送给服务器103进行校 验处理。
步骤408:服务器103根据上述第一验证码数据和上述第二验证码数据进行验证处理并将验证结果发送给客户端101。
在一些实例中,服务器103根据步骤402中保存在与客户端101对应的Session中的第一验证码数据和验证提示,生成预期验证码数据,并将上述预期验证码数据保存到上述Session中。当服务器103接收到客户端101提交的第二验证码数据时,从上述Session中提取上述预期验证码数据,并将其与客户端101提交的第二验证码数据进行比对,如果一致,则认为校验成功,如果不一致,则认为校验失败,最后将校验结果发送给客户端101。
以图5所示的时钟表盘为例,如果用户没有遵循验证提示“选出所有时间在2点到3点之间的时钟”,选择了指向第一参数为02:48的表盘501b和指向第一参数为05:47的表盘501c,由于表盘501c指向的第一参数05:47不在第二参数2点到3点的之间,所以验证失败。
步骤409:客户端101从服务器103接收并展示所述验证结果。
步骤409与图2中示出的步骤209相同,在此不再详细说明。
方式三:在验证提示的指定区域输入表盘的第一参数
在一些实例中,在页面上绘制表盘并展示验证提示,包括:根据所述第一验证码数据生成待绘制的表盘对应的第一参数;在所述页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数。其中,所述输入验证码操作为对于所述验证提示的输入操作,所述确定当前的所述第一参数或者所述第二参数包括:接收所述用户在所述验证提示的预设区域输入的参数,将所输入的参数作为所述第二参数并展示;其中,所述第一参数指示了所述第二参数的期望取值。其中,根据所述第二参数生成第二验证码数据。
在一些实例中,所述表盘包括至少一个指针和刻度盘,所述表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值。其中,绘制所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数。
一个具体的实现流程如图6所示,该方法包括如下步骤:
步骤601:客户端101向服务器103发出验证码请求。
步骤602:服务器103响应于客户端101的验证码请求生成第一验证码数据。
步骤603:客户端101接收所述服务器响应于所述验证码请求而生成的第一验证码数据。
步骤601-步骤603和图2所示的步骤201-步骤203相同,在此不再具体说明。
步骤604:客户端101根据所述第一验证码数据生成待绘制的表盘对应的第一参数。
在一些实例中,客户端101在接收到上述第一验证码数据后,将上述第一验证码数据转化为与待绘制表盘对应的第一参数。例如,当上述待绘制的表盘为时钟,即第一验证码数据代表时间时,客户端101根据第一验证码数据生成格式为小时数和分钟数的第一参数,即假设当客户端101接收到代表时间的第一验证码数据为“1360”时,客户端101将1360换算为22小时40分钟的第一参数。
步骤605:客户端101在页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数。
在一些实例中,客户端101根据上述第一参数在页面上绘制表盘,上述表盘除了表盘背景外,还包括刻度和指针,绘制的表盘个数由接收到的上述第一验证码数据决定,即,上述第一验证码数据中包含几个指向第一参数的数值,就绘制几个表盘;同时在上述页面上展示上述验证提示,该验证提示包括预设区域共用户输入表盘数值。
图7以时钟为例,给出了一个输入表盘显示数值的实例。客户端101根据上述第一参数09:01在页面上绘制了表盘701,并使上述表盘701指示上述第一参数09:01;同时,在上述页面展示验证提示702,其中上述验证提示702包括预设区域703供用户输入表盘数值。
步骤606:客户端101响应于用户对于所述验证提示的输入操作,在所述验证提示的预设区域展示所述用户输入的第二参数;其中,所述第一参数指示了所述第二参数的期望取值。
在一些实例中,客户端101接收用户通过键盘、鼠标以及触摸屏等输入设备根据上述验证提示,对上述验证提示的预设区域进行的输入操作,响应于用户的上述输入操作,客户端101在上述页面上验证提示的预设区域展示用户输入的第二参数,其中,上述表盘指示的第一参数为在上述验证提示的预设区域待输入的第二参数的期望输入值。
步骤607:客户端101响应于所述用户的提交操作,根据所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。在一些实例中,客户端101接收到用户的提交操作后,将用户在上述验证提示指定区域输入的第二参数转换为第二验证码数据,并提交上述第二验证码数据到服务器103进行校验处理。
以图7示出的时钟表盘为例,假设客户端101接收用户在上述验证提示预设区域703输入的第二参数为09点01分,将上述第二参数 “09:01”转化为第二验证码数据“541”发送给服务器103进行校验处理。
步骤608:服务器103根据上述第一验证码数据和上述第二验证码数据进行验证处理并将验证结果发送给客户端101。
步骤609:客户端101从服务器103接收并展示所述验证结果。
步骤608-步骤609与图2中示出的步骤208-步骤209相同,在此不再详细说明。
方式四:根据第一参数进行表盘排序
在一些实例中,在页面上绘制表盘并展示验证提示,包括:根据所述第一验证码数据生成N个待绘制的可移动表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上按初始的排列方式依次绘制N个可移动的所述表盘并展示所述验证提示;其中,所述N个表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式。其中,所述输入验证码操作为对于所述表盘的移动操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于所述用户对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列方式。其中,根据N个所述表盘当前的排列方式及其各自指示的所述第一参数,生成第二验证码数据。
在一些实例中,每一表盘包括至少一个指针和刻度盘,每一表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值。其中,绘制每一所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数。其中,根据所选择的所述表盘对应的所述第一参数生成所述第二验证码数据。
一个具体的实现流程如图8所示,该方法包括如下步骤:
步骤801:客户端101向服务器103发出验证码请求。
步骤802:服务器103响应于客户端101的验证码请求生成第一验证码数据。
步骤803:客户端101接收所述服务器响应于所述验证码请求而生成的第一验证码数据。
步骤804:上述客户端根据所述第一验证码数据生成N个与待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数。
步骤801-步骤804和图4所示的步骤401-步骤404相同,在此不再具体说明。
步骤805:客户端101在页面上按初始的排列顺序依次绘制N个可移动的所述表盘并展示所述验证提示;其中,所述N个可移动表盘 分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式。
在一些实例中,客户端101根据步骤804中生成的N个与第一参数,在页面上按照初始的排列顺序依次绘制N个表盘,并使上述N个可移动表盘分别指示上述N个第一参数。同时在上述页面上展示上述验证提示,该验证提示中指示了代表上述N个第一参数期望排列方式的第二参数,比如升序或降序。
其中,上述排列方式可以由访问的页面提前约定,也可由上述第一验证码数据生成,比如,0代表降序,1代表升序。
图9以时钟为例,给出了一个表盘排序的实例。客户端101根据上述第一验证码数据,生成四个第一参数分别为01:40、02:03、09:24、01:46以及一个第二参数1(假设按照约定代表升序),根据上述四个第一参数在页面上绘制了4个时钟表盘901a、901b、901c、901d,并使上述四个时钟表盘分别指向上述4个第一参数。同时,将上述验证提示指示903第二参数(升序),并在页面上展示上述验证提示902“请拖动时钟,使时间从左至右呈升序排列”,其中上述第二参数1(升序)指示了上述四个第一参数的期望排序方式。
步骤806:客户端101响应于用户对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列顺序。
在一些实例中,客户端101接收用户通过鼠标或触摸屏等输入设备根据上述验证提示,对上述可移动表盘进行的移动操作,响应于用户的上述移动操作,客户端101在上述页面上更新上述N个表盘的排列顺序。
步骤807:客户端101响应于所述用户的提交操作,根据N个所述表盘当前的排列顺序及其各自指示的所述第一参数,生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。
在一些实例中,客户端101接收到用户的提交操作后,将上述N个表盘指示的第一参数按照当前排列顺序,依次生成第二验证码数据,并提交上述第二验证码数据到服务器103进行校验处理。
步骤808:服务器103根据上述第一验证码数据和上述第二验证码数据进行验证处理并将验证结果发送给客户端101。
在一些实例中,服务器103根据步骤802中保存在与客户端101对应的Session中的第一验证码数据和验证提示,生成预期验证码数据,并将上述预期验证码数据保存到上述Session中。以图9中示出的时钟表盘为例,客户端101接收用户按照验证提示指示的升序,应 将上述四个表盘901a、901b、901c、901d,按照其指示的第一参数和验证提示指示的升序排列方式,服务器103生成预期验证码数据时,应首先将上述四个表盘分别指示的第一参数排序为01:40、01:46、02:03、09:24,并将其转化为预期验证码数据100、106、123、564。
当服务器103接收到客户端101提交的第二验证码数据时,从上述Session中提取上述预期验证码数据,并将其与客户端101提交的第二验证码数据进行比对,如果一致,则认为校验成功,如果不一致,则认为校验失败,最后将校验结果发送给客户端101。
步骤809:客户端101从服务器103接收并展示所述验证结果。
步骤809与图4中示出的步骤409相同,在此不再详细说明。
以上技术方案采用了以表盘来展示验证码数据,并且提供了多种验证方式,有效的防止验证码数据被破解;同时以表盘来展示验证码数据一方面更加贴近用户日常生活,提高用户体验,另一方面还可以大大减少用户因难分辨或难理解验证码二带来的盲目请求服务器生成新的验证码数据换而产生的信令交互,节约网络以及硬件资源,提高了效率。
基于以上各实例,本申请还提供了一种验证码数据处理装置和服务器,其中上述验证码数据处理装置可以安装在客户端101上。
在本申请的一些实例中,上述验证码数据处理装置可由图10所示的结构图实现,包括:一个或一个以上存储器;一个或一个以上处理器;其中,所述一个或一个以上存储器存储有一个或者一个以上指令模块,经配置由所述一个或者一个以上处理器执行;其中,所述一个或者一个以上指令模块包括:请求模块1001、接收模块1002、绘制模块1003、响应模块1004、提交模块1005和展示模块1006。
在一些实例中,各模块功能如下:
请求模块1001用于向服务器发出验证码请求。
接收模块1002用于接收服务器响应与上述验证码请求而生成的第一验证码数据。
绘制模块1003用于根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;
响应模块1004用于响应于所述用户的输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示第二参数或者从对于所述验证提示的所述输入验证码操作中获得第二参数;
提交模块1005用于响应于所述用户的提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果。
展示模块1006用于从所述服务器接收并展示所述验证结果。
在一些实例中,上述绘制模块1003可以确定待绘制的可编辑的表盘对应的所述第一参数的初始值;根据所述第一验证码数据确定所述验证提示对应的所述第二参数;根据所述第一参数的初始值在所述页面上绘制所述可编辑的表盘,并根据所述第二参数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数指示了所述第一参数的期望值。其中,所述输入验证码操作为对于所述表盘的编辑操作,所述响应模块1004,响应于所述用户对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数。其中,所述提交模块1005,根据所述表盘当前指示的所述第一参数生成第二验证码数据。
在一些实例中,上述绘制模块1003可以根据所述第一验证码数据确定N个待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上绘制N个所述表盘并展示所述验证提示;其中,所述N个表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围。其中,所述输入验证码操作为对于N个所述表盘的选择操作,所述响应模块1004,响应于所述用户的所述选择操作,确定所述用户从N个所述表盘中选择的表盘,并确定所选择的所述表盘对应的所述第一参数。其中,所述提交模块1005,根据所确定的所选择的表盘对应的所述第一参数生成所述第二验证码数据。
在一些实例中,上述绘制模块1003可以根据所述第一验证码数据生成待绘制的表盘对应的第一参数;在所述页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数。其中,所述输入验证码操作为对于所述验证提示的输入操作,所述响应模块1004,接收所述用户在所述验证提示的预设区域输入的参数,将所输入的参数作为所述第二参数并展示;其中,所述第一参数指示了所述第二参数的期望取值。其中,所述提交模块1005,根据所述第二参数生成第二验证码数据。
在一些实例中,上述绘制模块1003可以根据所述第一验证码数据生成N个待绘制的可移动表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上按初 始的排列方式依次绘制N个可移动的所述表盘并展示所述验证提示;其中,所述N个表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式。其中,所述输入验证码操作为对于所述表盘的移动操作,所述响应模块1004,响应于所述用户对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列方式。其中,所述提交模块1005,根据N个所述表盘当前的排列方式及其各自指示的所述第一参数,生成第二验证码数据。
在一实施例中,上述的验证码数据处理装置可运行在任一用于验证码数据处理的计算设备中,并加载在该计算设备的存储器中。如图11所示,该计算设备除了包括上述控制装置中的各个模块,还可包括:存储器1101、处理器1103、总线1102、端口1104。处理器1103和存储器1101通过总线1102互联。处理器1103可通过端口1104接收和发送数据以实现网络通信和/或本地通信。上述各模块1001~1006可以是存储器1101中存储的机器可执行指令模块。处理器1103通过执行存储器1101中各模块1001~1006中包含的机器可执行指令,进而能够实现上述各模块1001~1006的功能。
具体而言,在本申请中的一些实例中,上述存储器1101将存储有一个或者一个以上程序,且经配置由一个或者一个以上处理器1103执行。
上述一个或者一个以上程序可以包括如下指令模块:
请求模块1001用于向服务器发出验证码请求。
接收模块1002用于接收服务器响应与上述验证码请求而生成的第一验证码数据。
绘制模块1003用于根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;
响应模块1004用于响应于的输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示第二参数或者从对于所述验证提示的所述输入验证码操作中获得第二参数;
提交模块1005用于响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果;
展示模块1006用于从所述服务器接收并展示所述验证结果。
在本申请的一些实例中,上述验证码数据处理服务器可由图12所示的结构图实现,包括:一个或一个以上存储器;一个或一个以上处理器;其中,所述一个或一个以上存储器存储有一个或者一个以上指令模块,经配置由所述一个或者一个以上处理器执行;其中,所述一个或者一个以上指令模块包括:验证码生成模块1201、验证码发送模块1202、验证码处理模块1203。
在一些实例中,各模块功能如下:
验证码生成模块1201用于响应于来自客户端的针对一用户的验证码请求,生成所述用户的第一验证码数据并保存。
验证码发送模块1202用于发送所述第一验证码数据至所述客户端,以使所述客户端根据所述第一验证码数据在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;还可以用于发送验证结果至所述客户端。
验证码处理模块1203用于接收来自所述客户端的针对所述用户的第二验证码数据;其中,所述第二验证码数据由所述客户端根据当前确定的所述第一参数或者所述第二参数而生成;查询得到所述用户的所述第一验证码数据;通过比对所述第一验证码数据和所述第二验证码数据来完成验证处理,并得到验证结果。
上述各个模块实现各种功能的具体方法及原理在前文均有描述,这里不再赘述。
另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图13显示了本发明的实例所述的验证码数据处理服务器的硬件结构示意图。上述服务器可包括:存储器1301、处理器1303、总线1302、端口1304。处理器1303和存储器1301通过总线1302互联。处理器1303可通过端口1304接收和发送数据以实现网络通信和/或本地通信。上述各模块1201~1203可以是存储器1301中存储的机器可执行指令模块。处理器1303通过执行存储器1301中各模块1201~1203中包含的机器可执行指令,进而能够实现上述各模块1201~1203的功能。
具体而言,在本申请中的一些实例中,上述存储器1301将存储有一个或者一个以上程序,且经配置由一个或者一个以上处理器1303执行。
上述一个或者一个以上程序可以包括如下指令模块:
验证码生成模块1201用于响应于来自客户端的验证码请求,生成第一验证码数据并保存。
验证码发送模块1202用于发送所述第一验证码数据至所述客户端,以使所述客户端根据所述第一验证码数据在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;还可以用于发送验证结果至所述客户端。
验证码处理模块1203用于接收来自所述客户端的针对第二验证码数据;其中,所述第二验证码数据由所述客户端根据当前确定的所述第一参数或者所述第二参数而生成;查询得到所述用户的所述第一验证码数据;通过比对所述第一验证码数据和所述第二验证码数据来完成验证处理,并得到验证结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
因此,本发明实施例还提供了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明实施例上述方法的任何一种实施例
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (22)

  1. 一种验证码数据处理方法,所述方法包括:
    向服务器发出验证码请求;
    接收所述服务器响应于所述验证码请求而生成的第一验证码数据;
    根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;
    响应于输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示所述第二参数或者从对于所述验证提示的所述输入验证码操作中获得所述第二参数;
    响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果;及
    从所述服务器接收并展示所述验证结果。
  2. 根据权利要求1所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    确定待绘制的可编辑的表盘对应的所述第一参数的初始值;
    根据所述第一验证码数据确定所述验证提示对应的所述第二参数;
    根据所述第一参数的初始值在所述页面上绘制所述可编辑的表盘,并根据所述第二参数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数指示了所述第一参数的期望值;
    其中,所述输入验证码操作为对于所述表盘的编辑操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数;
    其中,根据所述表盘当前指示的所述第一参数生成第二验证码数据。
  3. 根据权利要求2所述的方法,其中,所述表盘包括至少一个指针和刻度盘,所述第一参数和所述第二参数代表所述指针所指的刻度值;
    其中,根据所述第一参数的初始值绘制的所述可编辑的表盘中, 指针所指向的刻度值为所述第一参数的初始值,并且所述指针为可移动的;
    其中,对于所述表盘的编辑操作为对于所述指针的移动操作,所述更新所述表盘包括:响应于对于所述指针的移动操作,更新所述指针的指向位置以调整所述指针所指的刻度值;
    其中,根据所述指针当前指向的刻度值生成所述第二验证码数据。
  4. 根据权利要求1所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据确定N个待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;
    在所述页面上绘制N个所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围;
    其中,所述输入验证码操作为对于N个所述表盘的选择操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于所述选择操作,确定从N个所述表盘中选择的表盘,并确定所选择的所述表盘对应的所述第一参数;
    其中,根据所确定的所选择的表盘对应的所述第一参数生成所述第二验证码数据。
  5. 根据权利要求1所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据生成待绘制的表盘对应的第一参数;
    在所述页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数;
    其中,所述输入验证码操作为对于所述验证提示的输入操作,所述确定当前的所述第一参数或者所述第二参数包括:接收在所述验证提示的预设区域输入的参数,将所输入的参数作为所述第二参数并展示;其中,所述第一参数指示了所述第二参数的期望取值;
    其中,根据所述第二参数生成第二验证码数据。
  6. 根据权利要求5所述的方法,其中,所述表盘包括至少一个指针和刻度盘,所述表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值;
    其中,绘制所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数。
  7. 根据权利要求1所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据生成N个待绘制的可移动表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;
    在所述页面上按初始的排列方式依次绘制N个可移动的所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式;
    其中,所述输入验证码操作为对于所述表盘的移动操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列方式;
    其中,根据N个所述表盘当前的排列方式及其各自指示的所述第一参数,生成第二验证码数据。
  8. 根据权利要求4或7所述的方法,其中,每一表盘包括至少一个指针和刻度盘,每一表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值;
    其中,绘制每一所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数;
    其中,根据所选择的所述表盘对应的所述第一参数生成所述第二验证码数据。
  9. 一种验证码数据处理方法,适用于终端设备中的客户端来执行,所述终端设备包括存储器和处理器,所述存储器存储有所述处理器可执行的指令,所述处理器通过执行所述指令来实现所述方法,所述方法包括:
    向服务器发出验证码请求;
    接收所述服务器响应于所述验证码请求而生成的第一验证码数据;
    根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;
    响应于输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示所述第二参数或者从对于所述验证提示的所述输入验证码操作中获得所述第二参数;
    响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数 据进行验证处理并得到验证结果;及
    从所述服务器接收并展示所述验证结果。
  10. 根据权利要求9所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    确定待绘制的可编辑的表盘对应的所述第一参数的初始值;
    根据所述第一验证码数据确定所述验证提示对应的所述第二参数;
    根据所述第一参数的初始值在所述页面上绘制所述可编辑的表盘,并根据所述第二参数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数指示了所述第一参数的期望值;
    其中,所述输入验证码操作为对于所述表盘的编辑操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数;
    其中,根据所述表盘当前指示的所述第一参数生成第二验证码数据。
  11. 根据权利要求10所述的方法,其中,所述表盘包括至少一个指针和刻度盘,所述第一参数和所述第二参数代表所述指针所指的刻度值;
    其中,根据所述第一参数的初始值绘制的所述可编辑的表盘中,指针所指向的刻度值为所述第一参数的初始值,并且所述指针为可移动的;
    其中,对于所述表盘的编辑操作为对于所述指针的移动操作,所述更新所述表盘包括:响应于对于所述指针的移动操作,更新所述指针的指向位置以调整所述指针所指的刻度值;
    其中,根据所述指针当前指向的刻度值生成所述第二验证码数据。
  12. 根据权利要求9所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据确定N个待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;
    在所述页面上绘制N个所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围;
    其中,所述输入验证码操作为对于N个所述表盘的选择操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于所述选择操作,确定从N个所述表盘中选择的表盘,并确定所选择的所述表盘 对应的所述第一参数;
    其中,根据所确定的所选择的表盘对应的所述第一参数生成所述第二验证码数据。
  13. 根据权利要求9所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据生成待绘制的表盘对应的第一参数;
    在所述页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数;
    其中,所述输入验证码操作为对于所述验证提示的输入操作,所述确定当前的所述第一参数或者所述第二参数包括:接收在所述验证提示的预设区域输入的参数,将所输入的参数作为所述第二参数并展示;其中,所述第一参数指示了所述第二参数的期望取值;
    其中,根据所述第二参数生成第二验证码数据。
  14. 根据权利要求13所述的方法,其中,所述表盘包括至少一个指针和刻度盘,所述表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值;
    其中,绘制所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数。
  15. 根据权利要求9所述的方法,其中,所述在页面上绘制表盘并展示验证提示,包括:
    根据所述第一验证码数据生成N个待绘制的可移动表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;
    在所述页面上按初始的排列方式依次绘制N个可移动的所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式;
    其中,所述输入验证码操作为对于所述表盘的移动操作,所述确定当前的所述第一参数或者所述第二参数包括:响应于对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列方式;
    其中,根据N个所述表盘当前的排列方式及其各自指示的所述第一参数,生成第二验证码数据。
  16. 根据权利要求12或15所述的方法,其中,每一表盘包括至少一个指针和刻度盘,每一表盘指示的所述第一参数代表该表盘中所述指针所指的刻度值;
    其中,绘制每一所述表盘时,该表盘的所述指针所指向的刻度值为该表盘对应的所述第一参数;
    其中,根据所选择的所述表盘对应的所述第一参数生成所述第二验证码数据。
  17. 一种验证码数据处理装置,其中所述装置包括:
    一个或一个以上存储器;
    一个或一个以上处理器;其中,
    所述一个或一个以上存储器存储有一个或者一个以上指令模块,经配置由所述一个或者一个以上处理器执行;其中,
    所述一个或者一个以上指令模块包括:
    请求模块,用于向服务器发出验证码请求;
    接收模块,用于接收所述服务器响应于所述验证码请求而生成的第一验证码数据;
    绘制模块,用于根据所述第一验证码数据,在页面上绘制表盘并展示验证提示;其中,所述表盘指示了第一参数,所述验证提示对应第二参数,所述第一参数和所述第二参数中的至少一种根据所述第一验证码数据而确定;所述第二参数包括所述第一参数的期望值,或者所述第一参数包括所述第二参数的期望值;
    响应模块,用于响应于输入验证码操作,确定当前的所述第一参数或者所述第二参数;其中,所述验证提示指示所述第二参数或者从对于所述验证提示的所述输入验证码操作中获得所述第二参数;
    提交模块,用于响应于提交验证码操作,根据所确定的所述第一参数或者所述第二参数生成第二验证码数据,并提交所述第二验证码数据给所述服务器,以使所述服务器根据所述第一验证码数据和所述第二验证码数据进行验证处理并得到验证结果;及
    展示模块,用于从所述服务器接收并展示所述验证结果。
  18. 根据权利要求17所述的装置,其中,所述绘制模块,确定待绘制的可编辑的表盘对应的所述第一参数的初始值;根据所述第一验证码数据确定所述验证提示对应的所述第二参数;根据所述第一参数的初始值在所述页面上绘制所述可编辑的表盘,并根据所述第二参数在所述页面上展示所述验证提示;其中,所述表盘指示了所述第一参数,所述验证提示提示了所述第二参数,所述第二参数指示了所述第一参数的期望值;
    其中,所述输入验证码操作为对于所述表盘的编辑操作,所述响应模块,响应于对于所述表盘的编辑操作,在所述页面上更新所述表盘以调整所述第一参数;
    其中,所述提交模块,根据所述表盘当前指示的所述第一参数生成第二验证码数据。
  19. 根据权利要求17所述的装置,其中,所述绘制模块,根据 所述第一验证码数据确定N个待绘制的表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上绘制N个所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述第一参数的期望取值范围;
    其中,所述输入验证码操作为对于N个所述表盘的选择操作,所述响应模块,响应于所述选择操作,确定从N个所述表盘中选择的表盘,并确定所选择的所述表盘对应的所述第一参数;
    其中,所述提交模块,根据所确定的所选择的表盘对应的所述第一参数生成所述第二验证码数据。
  20. 根据权利要求17所述的装置,其中,所述绘制模块,根据所述第一验证码数据生成待绘制的表盘对应的第一参数;在所述页面上绘制所述表盘并展示验证提示;其中,所述表盘指示了所述第一参数;
    其中,所述输入验证码操作为对于所述验证提示的输入操作,所述响应模块,接收在所述验证提示的预设区域输入的参数,将所输入的参数作为所述第二参数并展示;其中,所述第一参数指示了所述第二参数的期望取值;
    其中,所述提交模块,根据所述第二参数生成第二验证码数据。
  21. 根据权利要求17所述的装置,其中,所述绘制模块,根据所述第一验证码数据生成N个待绘制的可移动表盘分别对应的N个第一参数以及验证提示对应的第二参数,其中,N为大于1的整数;在所述页面上按初始的排列方式依次绘制N个可移动的所述表盘并展示所述验证提示;其中,N个所述表盘分别指示所述N个第一参数,所述验证提示指示了所述第二参数,所述第二参数指示了所述N个第一参数的期望排列方式;
    其中,所述输入验证码操作为对于所述表盘的移动操作,所述响应模块,响应于对于N个所述表盘中任一者或任几者的移动操作,更新N个所述表盘的排列方式;
    其中,所述提交模块,根据N个所述表盘当前的排列方式及其各自指示的所述第一参数,生成第二验证码数据。
  22. 一种非易失性计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1-15任一项所述的方法。
PCT/CN2017/114968 2016-12-26 2017-12-07 一种验证码数据处理方法、装置及存储介质 WO2018121206A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611217234.7A CN108243154B (zh) 2016-12-26 2016-12-26 一种验证码数据处理方法及装置
CN201611217234.7 2016-12-26

Publications (1)

Publication Number Publication Date
WO2018121206A1 true WO2018121206A1 (zh) 2018-07-05

Family

ID=62705061

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/114968 WO2018121206A1 (zh) 2016-12-26 2017-12-07 一种验证码数据处理方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN108243154B (zh)
WO (1) WO2018121206A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271762A (zh) * 2018-08-03 2019-01-25 平安科技(深圳)有限公司 基于滑块验证码的用户认证方法及装置
CN112667989A (zh) * 2021-01-06 2021-04-16 拉扎斯网络科技(上海)有限公司 验证信息的验证和生成方法及装置,存储介质和电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358088A (zh) * 2017-06-27 2017-11-17 北京亩田新农网络科技有限公司 基于时钟的验证方法和系统
CN110084030B (zh) * 2019-03-14 2021-04-27 咪咕文化科技有限公司 基于图片验证码的验证方法、装置及计算机可读存储介质
CN110990822B (zh) * 2019-11-29 2022-05-13 咪咕文化科技有限公司 验证码生成与验证方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428163A (zh) * 2012-05-15 2013-12-04 上海博路信息技术有限公司 一种基于图像内容的验证码
CN103488934A (zh) * 2013-09-24 2014-01-01 刘雪英 一种验证码输入方法、装置及系统
WO2015102510A1 (en) * 2013-12-30 2015-07-09 Limited Liability Company Mail.Ru Systems and methods for determining whether user is human
CN104796428A (zh) * 2015-04-30 2015-07-22 中国联合网络通信集团有限公司 一种动态验证方法、客户端、服务器和系统
CN105978905A (zh) * 2016-07-03 2016-09-28 韦建峰 一种关键词验证方法和生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428163A (zh) * 2012-05-15 2013-12-04 上海博路信息技术有限公司 一种基于图像内容的验证码
CN103488934A (zh) * 2013-09-24 2014-01-01 刘雪英 一种验证码输入方法、装置及系统
WO2015102510A1 (en) * 2013-12-30 2015-07-09 Limited Liability Company Mail.Ru Systems and methods for determining whether user is human
CN104796428A (zh) * 2015-04-30 2015-07-22 中国联合网络通信集团有限公司 一种动态验证方法、客户端、服务器和系统
CN105978905A (zh) * 2016-07-03 2016-09-28 韦建峰 一种关键词验证方法和生成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271762A (zh) * 2018-08-03 2019-01-25 平安科技(深圳)有限公司 基于滑块验证码的用户认证方法及装置
CN109271762B (zh) * 2018-08-03 2023-04-07 平安科技(深圳)有限公司 基于滑块验证码的用户认证方法及装置
CN112667989A (zh) * 2021-01-06 2021-04-16 拉扎斯网络科技(上海)有限公司 验证信息的验证和生成方法及装置,存储介质和电子设备

Also Published As

Publication number Publication date
CN108243154B (zh) 2019-12-13
CN108243154A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
WO2018121206A1 (zh) 一种验证码数据处理方法、装置及存储介质
US10535071B2 (en) Using semantic processing for customer support
CN109661675B (zh) 使用用于客户支持的语义处理
US9239705B2 (en) Method and apparatus for customized software development kit (SDK) generation
US10853108B2 (en) Method and apparatus for code virtualization and remote process call generation
JP2023520420A (ja) チャットボットのために不均衡なトレーニングデータを取り扱うためのバッチング技術
US11553048B2 (en) Method and apparatus, computer device and medium
US20200057550A1 (en) Method and apparatus for generating customized visualization component
US10474329B2 (en) Selective generation and display of interfaces of a website or program
US11875166B2 (en) User interface modality switching for transaction management
CN109101309B (zh) 用于更新用户界面方法和装置
CN107590110B (zh) 文本显示方法及装置
CN110519155B (zh) 信息处理方法及系统
US11531814B2 (en) Method and device for generating modified statement
CN114296737A (zh) 业务代码生成方法、装置、设备及存储介质
US9934257B2 (en) System and method for recursive metadata layers on big data sets
JP2014038396A (ja) 入力欄への入力支援方法及び入力支援プログラム
JP2022166176A (ja) 情報認証方法、装置、機器及び媒体
CN113342450A (zh) 页面处理的方法、装置、电子设备及计算机可读介质
US11900110B2 (en) Increasing user interaction with deep learning agent
CN112560462B (zh) 事件抽取服务的生成方法、装置、服务器以及介质
US20230004924A1 (en) Computerized systems and methods for electronic document preparation
US20150339751A1 (en) Dynamic pricing model
CN116883549A (zh) 一种动画效果的生成方法和装置
CN115373659A (zh) 业务系统构建方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17889414

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17889414

Country of ref document: EP

Kind code of ref document: A1