Man-machine verification method and device, medium and program product
By using graphic stacking and preset statistical rules in human-computer verification to generate the numbers to be verified, the problem that the existing technology is easily cracked is solved, and effective prevention of network crawler access is achieved.
Patent Information
- Application Number
- CN202510208411.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-25
- Publication Date
- 2025-06-13
AI Technical Summary
The existing human-machine verification technology is easily cracked by machine learning algorithms, resulting in the inability to effectively prevent access by network crawlers.
By generating a verification interface, the user executes a graphic stacking instruction in the graphic operation area, forms a graphic stacking result, and generates the digit to be verified according to preset statistical rules, and determines whether the access event has passed the verification.
It increases the difficulty of human-computer verification, effectively distinguishing whether the user is a robot, thereby preventing access by network crawlers.
Smart Images

Figure CN120145362A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of human-machine verification, and more particularly, to a human-machine verification method, device, medium, and program product. Background Art
[0002] When a user accesses a website, in order to protect the security of data, an enterprise will verify the identity of the visitor to determine whether the visitor is a robot, so as to prevent web crawlers.
[0003] Currently, common verification methods mainly use slider verification, text (or graphic) selection verification, etc. Although these methods can prevent robot access to a certain extent, with the continuous upgrade of machine learning algorithms, these traditional verification schemes are easily cracked, resulting in the theft of website data and losing the meaning of verification. Therefore, there is an urgent need for a human-machine verification scheme that can effectively prevent automated crawlers. Summary of the Invention
[0004] The purpose of the embodiments of this application is to provide a human-machine verification method, device, medium, and program product that can effectively prevent access by web crawlers.
[0005] In a first aspect, the embodiments of this application provide a human-machine verification method, including:
[0006] Determine that the current access event meets the preset verification conditions, generate a verification interface and display it; wherein, the verification interface includes prompt information and a graphic operation area, and the prompt information includes the currently generated random number;
[0007] Based on the set of graphic stacking instructions executed by the user in the graphic operation area, form a corresponding graphic stacking result;
[0008] Generate a number to be verified based on the graphic stacking result according to the preset statistical rules;
[0009] Determine whether the current access event passes the verification based on the consistency between the number to be verified and the random number.
[0010] In the embodiments of this application, by stacking graphics and generating a number to be verified according to the preset statistical rules as the basis for human-machine verification, it is possible to effectively distinguish whether the user is a robot, thereby preventing access by web crawlers.
[0011] In some possible embodiments, the forming a corresponding graphic stacking result based on the set of graphic stacking instructions executed by the user in the graphic operation area includes:
[0012] Real-time obtain the set of graphic stacking instructions executed by the user in the graphic operation area;
[0013] For each graphic stacking instruction in the graphic stacking instruction set, based on the graphic placement positions specified by the respective graphic stacking instructions, stack a square in each vertical column corresponding to each graphic placement position in the graphic operation area to form a graphic stacking result corresponding to the graphic stacking instruction set.
[0014] In the embodiments of the present application, by stacking the squares in a preset vertical column area for graphic stacking, the convenience of the human-machine verification process can be further improved.
[0015] In some possible embodiments, generating the number to be verified based on the graphic stacking result according to a preset statistical rule includes:
[0016] Statistically count the number of groove units formed between the vertical columns based on the graphic stacking result, and use the number of groove units as the number to be verified.
[0017] In the embodiments of the present application, by statistically counting the number of groove units formed between the vertical columns as the number to be verified, the difficulty of crawler cracking can be effectively increased, thereby effectively preventing access by web crawlers.
[0018] In some possible embodiments, statistically counting the number of groove units formed between the vertical columns based on the graphic stacking result includes:
[0019] Generate a one-dimensional array based on the graphic stacking result; the one-dimensional array is used to represent the number of squares stacked in each vertical column in the graphic operation area;
[0020] Determine the number of groove units formed between the vertical columns based on the one-dimensional array.
[0021] In the embodiments of the present application, by generating a one-dimensional array of the graphic stacking result to determine the number of groove units formed between the vertical columns, the efficiency of statistically counting the number to be verified can be further improved.
[0022] In some possible embodiments, before generating the number to be verified based on the graphic stacking result according to a preset statistical rule, it further includes:
[0023] Real-time statistically count the number of squares included in the graphic stacking result;
[0024] If the number of squares exceeds a preset square number threshold, it is determined that the current access event verification fails;
[0025] Wherein, the square number threshold is determined based on the currently generated random number.
[0026] In the embodiments of the present application, by determining the upper limit of the number of stacked blocks according to the randomly generated number this time and triggering a verification failure event when the moving graphics exceed the limit, the convenience of the human-machine verification process can be further improved.
[0027] In some possible embodiments, forming the corresponding graphic stacking result based on the set of graphic stacking instructions executed by the user in the graphic operation area further includes:
[0028] Real-time identify the groove units formed between the vertical columns in the graphic stacking result, and respectively perform identification display on each of the groove units based on a preset graphic style.
[0029] In the embodiments of the present application, by real-time identifying the groove units formed between the vertical columns and performing identification display according to the preset style, the convenience of the human-machine verification process can be further improved.
[0030] In some possible embodiments, the area range of the graphic operation area is determined based on the randomly generated number currently generated.
[0031] In the embodiments of the present application, by determining the area range of the graphic operation area according to the randomly generated number this time, the flexibility of the human-machine verification process can be further improved.
[0032] In a second aspect, embodiments of the present application provide a human-machine verification device, including:
[0033] An interface generation module, configured to determine that the current access event meets the preset verification conditions, generate a verification interface and display it; wherein, the verification interface includes prompt information and a graphic operation area, and the prompt information includes the randomly generated number currently generated;
[0034] A graphic stacking module, configured to form a corresponding graphic stacking result based on the set of graphic stacking instructions executed by the user in the graphic operation area;
[0035] A number statistics module, configured to generate a number to be verified based on the graphic stacking result according to a preset statistical rule;
[0036] A number verification module, configured to determine whether the current access event passes the verification based on the consistency between the number to be verified and the randomly generated number.
[0037] In a third aspect, embodiments of the present application provide an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the program, the method described in any embodiment of the first aspect can be implemented.
[0038] Fourthly, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, the method described in any embodiment of the first aspect can be implemented.
[0039] Fifthly, an embodiment of the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the method described in any embodiment of the first aspect can be implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.
[0041] Figure 1 It is a schematic flowchart of a human-machine verification method provided by an embodiment of the present application;
[0042] Figure 2 It is a schematic diagram of text click verification in the prior art;
[0043] Figure 3 It is a schematic diagram of graphic click verification in the prior art;
[0044] Figure 4 It is one of the schematic diagrams of the human-machine verification interface provided by an embodiment of the present application;
[0045] Figure 5 It is another schematic diagram of the human-machine verification interface provided by an embodiment of the present application;
[0046] Figure 6 It is yet another schematic diagram of the human-machine verification interface provided by an embodiment of the present application;
[0047] Figure 7 It is still another schematic diagram of the human-machine verification interface provided by an embodiment of the present application;
[0048] Figure 8 It is a schematic structural diagram of a human-machine verification device provided by an embodiment of the present application;
[0049] Figure 9 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0050] The following will describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application.
[0051] It should be noted that similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of the present application, terms such as "first", "second", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0052] It should be noted that the prior art usually adopts verification schemes such as slider verification and graphic point selection. For example, Figure 2 as shown, the system randomly generates pictures and corresponding prompt messages. By prompting the user to click on the text in the picture in sequence, if the click order and position are both correct, the verification is successful; or for another example, Figure 3 as shown, the system randomly generates pictures and corresponding prompt messages. By using text to prompt the user about the pattern to be clicked, if the click order and position are both correct, the verification is successful.
[0053] However, the above prior art needs to maintain different picture resources, resulting in a relatively high maintenance cost; and it is very easy for machine vision to learn the knowledge represented by the prompt messages. Then, by identifying the text or position information in the random pictures, an automated tool can be used to simulate the actions of manually clicking on the text or pattern to successfully pass the verification process.
[0054] In view of the problems existing in the above prior art, the embodiments of the present application provide a human-machine verification method. By constructing the verification result in the way of stacking moving graphics and counting the numbers to be verified according to preset rules as the basis for human-machine verification, the difficulty of cracking the verification scheme is effectively increased, thereby effectively preventing the access of web crawlers.
[0055] As Figure 1 shown, the embodiments of the present application provide a human-machine verification method, which may include the steps of:
[0056] S1. Determine that the current access event meets the preset verification conditions, generate a verification interface and display it; wherein, the verification interface includes prompt messages and a graphic operation area, and the prompt messages include the currently generated random numbers;
[0057] Specifically, first, it is determined whether the current access behavior meets the preset verification conditions. If it meets, the verification process of the solution of this application is triggered. Exemplarily, it can be divided according to the data security level of the website or web page. For web pages with a high security level, it is set that access can only be achieved by successfully passing the human-machine verification, that is, when accessing a web page with a higher security level, it is defaulted to meet the preset verification conditions. Exemplarily, when it is recognized that the current access event is not opened manually but automatically, it is determined to meet the preset verification conditions. For example, when it is detected in the JavaScript environment of a web site that the website is opened by automated testing tools such as Selenium and Playwright, it is determined that the current access event meets the preset verification conditions.
[0058] It should be noted that when it is determined that the current access event meets the preset verification conditions, a verification interface is generated and displayed. Specifically, first, a random number is generated, and the range of the random number can be set. For example, in order to set an appropriate difficulty for the verification process, the random number can be limited to be between 4 and 10. Then, based on the random number as a variable, combined with a preset prompt template, prompt information is assembled, such as "Currently, 6 parts of water need to be connected".
[0059] In addition, the verification interface also includes a graphic operation area, and the graphic operation area includes graphic units that can be dragged by the user. Based on this, the user can perform graphic operations in this area to construct the corresponding graphic result to be verified according to the prompt information.
[0060] S2. Based on the set of graphic stacking instructions executed by the user in the graphic operation area, form the corresponding graphic stacking result;
[0061] Specifically, the user can move the graphics in the graphic operation area by clicking, dragging, and releasing the mouse, so as to move the graphics to the desired position and stack them. Through a series of stacking operations, the corresponding graphic stacking result is finally formed.
[0062] S3. Generate the number to be verified based on the graphic stacking result according to the preset statistical rules;
[0063] It should be noted that step S3 can be in response to the user's verification result submission instruction, and use the graphic when the user initiates the submission instruction as the graphic stacking result.
[0064] Specifically, according to the finally formed graphic stacking result submitted by the user, the number to be verified corresponding to the graphic stacking result can be statistically calculated according to the preset rules. Exemplarily, the number of unit graphics in the graphic stacking result can be counted as the number to be verified.
[0065] S4. Determine whether the current access event passes the verification based on the consistency between the number to be verified and the random number.
[0066] Specifically, if it is determined that the number to be verified is the same as the random number, it is determined that the verification is successfully passed; otherwise, it is determined that the verification fails.
[0067] It should be noted that the process of determining the verification result can usually be executed by the server. Exemplarily, when the front-end web page environment detects that a current access event requires human-machine verification, a verification request is sent to the server; the server generates a token (the token is used to identify the user account currently undergoing verification) and a random number and returns them to the front-end; the front-end generates a verification interface based on the random number and a prompt template and displays it; after the user operates on the graph and submits the graph stacking result, the front-end can send the graph stacking result or the number to be verified, together with the token, random number, etc., to the server; finally, the server determines whether the verification is passed based on this information.
[0068] In the embodiment of the present application, the number to be verified is generated by stacking graphs in a preset statistical rule, as the basis for human-machine verification. Compared with the human-machine verification method that directly prompts the click order, this solution increases the difficulty of machine learning to crack the verification method, thereby being able to effectively distinguish whether the user is a robot, and further preventing the access of web crawlers.
[0069] In some possible embodiments, step S2, forming a corresponding graph stacking result based on the graph stacking instruction set executed by the user in the graph operation area, may include:
[0070] S201. Obtain in real time the graph stacking instruction set executed by the user in the graph operation area;
[0071] S202. For each graph stacking instruction in the graph stacking instruction set, stack a square in the corresponding vertical column in the graph operation area based on the graph placement positions specified by the respective graph stacking instructions, so as to form a graph stacking result corresponding to the graph stacking instruction set.
[0072] It should be noted that by obtaining in real time the graph stacking instruction set executed by the user in the graph operation area, a corresponding graph stacking result can be generated in real time. Specifically, each graph stacking instruction represents an operation of the user moving a graph unit (in this example, a square) each time. For example, when the user drags the graph unit to a specific position and releases the mouse button, it is regarded as a graph stacking instruction. According to the position where the user releases the mouse button, it can be determined where the user wants to place the graph unit this time, and based on this position, the graph unit can be stacked into the corresponding vertical column.
[0073] Exemplarily, the graphic unit is a square with a length of 10, and the graphic operation area is divided into vertical columns with abscissas of [0, 10], [10, 20], [20, 30], etc.; when the abscissa of the position of a graphic stacking instruction is between [10, 20], a square is stacked in the vertical column of [10, 20]. If the abscissa of the position of another graphic stacking instruction is also between [10, 20], another square is stacked above the first square, and so on, until the user clicks the submit operation to form the final graphic stacking result.
[0074] In some possible embodiments, step S3, generating the number to be verified according to a preset statistical rule based on the graphic stacking result, may include:
[0075] S301. Statistically count the number of groove units formed between each vertical column based on the graphic stacking result, and use the number of groove units as the number to be verified.
[0076] Exemplarily, the prompt message on the verification interface may be "Currently, x cubic units of water need to be received", where x refers to the random number generated in this verification process, such as 6. It should be noted that in order to avoid the verification process being too complex or too simple, the generation range of the random number can be set according to requirements, such as 4 to 10.
[0077] Based on this, the user can stack the squares to form a groove for holding water, and make the unit of water that the groove can hold reach the same quantity as the random number, then the verification can be successfully passed.
[0078] Specifically, after the user submits the verification result, according to the finally formed graphic stacking result, the number of groove units formed between each vertical column therein can be statistically counted as the number to be verified. Exemplarily, there are 2 squares in the graphic stacking result, 1 square is stacked in the first vertical column, and 1 square is stacked in the third vertical column, then it is regarded as forming a groove unit (as shown in, the dashed part is the groove unit). It should be noted that based on the principle that the water storage capacity of a wooden barrel depends on the shortest plank on the barrel wall, when the number of squares stacked in two vertical columns is inconsistent, the groove unit between the two is counted based on the vertical column with the smaller number of squares; for example, when 2 squares are stacked in the first vertical column and 3 squares are stacked in the third vertical column, it is regarded as forming 2 groove units. Figures 4 to 7 shown, the dashed part is the groove unit). It should be noted that based on the principle that the water storage capacity of a wooden barrel depends on the shortest plank on the barrel wall, when the number of squares stacked in two vertical columns is inconsistent, the groove unit between the two is counted based on the vertical column with the smaller number of squares; for example, when 2 squares are stacked in the first vertical column and 3 squares are stacked in the third vertical column, it is regarded as forming 2 groove units.
[0079] It should be noted that for the same random number, the graphic stacking results that meet the verification conditions are not unique, and as long as the number to be verified corresponding to the graphic stacking result is equal to the random number, the verification can be successfully passed.
[0080] Exemplarily, if the random number generated by the current verification process is 6, that is, water from 6 parties needs to be received currently, the graphical stacking results that meet the verification conditions may include, but are not limited to, the following situations: 1. Stack 1, 3, 4, and 2 blocks respectively in the 1st, 3rd, 5th, and 7th vertical columns, as shown in Figure 4 ; 2. Stack 3 blocks respectively in the 1st and 4th vertical columns, as shown in Figure 5 .
[0081] In some possible embodiments, in step S301, based on the graphical stacking results, counting the number of groove units formed between each vertical column may include:
[0082] S3011. Generate a one-dimensional array based on the graphical stacking results; the one-dimensional array is used to represent the number of blocks stacked in each vertical column in the graphical operation area;
[0083] S3012. Determine the number of groove units formed between each vertical column based on the one-dimensional array.
[0084] It should be noted that for the graphical stacking results submitted by the user, they can be converted into the form of a one-dimensional array according to the graphical stacking results, and the number of groove units formed between each vertical column can be counted according to the one-dimensional array.
[0085] Exemplarily, for the Figure 4 shown graphical stacking results, since there are 1, 3, 4, and 2 blocks stacked respectively in the 1st, 3rd, 5th, and 7th vertical columns, and there are no stacked blocks between these vertical columns, this graphical stacking result can be converted into a one-dimensional array of [1, 0, 3, 0, 4, 0, 2]. Similarly, the Figure 5 shown graphical stacking results can be converted into a one-dimensional array of [3, 0, 0, 3], Figure 6 shown graphical stacking results can be converted into a one-dimensional array of [2, 1, 3, 0, 4, 0, 4], Figure 7 shown graphical stacking results can be converted into a one-dimensional array of [1, 0, 3, 0, 4].
[0086] Based on this, by determining the number of groove units formed between each vertical column in the way of generating a one-dimensional array from the graphical stacking results, the efficiency of counting the numbers to be verified can be further improved.
[0087] In some possible embodiments, before step S3, it may further include:
[0088] Real-time count the number of blocks included in the graphical stacking results;
[0089] If the number of blocks exceeds the preset block number threshold, it is determined that the current access event verification fails;
[0090] Among them, the block quantity threshold is determined based on the currently generated random number.
[0091] It should be noted that a block quantity threshold can be determined according to the currently generated random number as the upper limit of the number of blocks for the user to operate and stack.
[0092] Specifically, by counting in real time the number of blocks stacked during the user verification operation, when the number of blocks exceeds the block quantity threshold, it is determined that the current access event verification fails. When the verification fails, the verification process can be reset, for example, a random number is regenerated and the blocks in the graphic operation area are cleared, and at this time the user can re - perform another verification process.
[0093] Based on this, in the case where the user cannot quickly complete the graphic stacking to meet the verification conditions, by triggering verification failure and resetting the verification process, the convenience of the human - machine verification process can be further improved.
[0094] In some possible embodiments, step S2, forming a corresponding graphic stacking result based on the graphic stacking instruction set executed by the user in the graphic operation area, may further include:
[0095] S211. Identify in real time the groove units formed between the vertical columns in the graphic stacking result, and respectively identify and display each groove unit based on a preset graphic style.
[0096] It should be noted that in order to further improve the convenience of the verification process, during the user's operation of the graphic, the groove units formed between the vertical columns in the graphic stacking result can be identified in real time, and these groove units are respectively identified and displayed in a preset graphic style.
[0097] Exemplarily, in the case where 2 blocks have been stacked in the first vertical column, when the user stacks a block into the third vertical column, it can be identified in real time that a groove unit capable of holding water is formed between the first vertical column and the third vertical column. At this time, the groove unit is identified and displayed according to the preset graphic style, for example, the groove unit is displayed in a color different from the background color of the graphic operation area and different from the color of the block unit (such as blue).
[0098] Based on this, the user can, while performing the graphic stacking operation, conveniently view the number of groove units that have been formed currently, so as to complete the graphic stacking operation and submit the verification faster.
[0099] In some possible embodiments, the area range of the graphic operation area is determined based on the currently generated random number.
[0100] It should be noted that when generating the verification interface each time, the area range of the graphic operation area can be determined according to the random number generated this time.
[0101] Exemplarily, the area range of the graphic operation area corresponding to the random number can be determined based on the correspondence between the preset random number and the area range. For example, when the random number is 6, the corresponding graphic operation area is a 6×6 area range (the unit is the number of graphic units, that is, a maximum of 6 rows and 6 columns of graphic units can be stacked).
[0102] In addition, the area range of the graphic operation area can also be determined based on a preset formula. For example, if x is the currently generated random number, the area range of the graphic operation area is defined as (x+1) 2 .
[0103] Based on this, by determining the area range of the corresponding graphic operation area according to different random numbers each time, the flexibility of the human-machine verification process can be further improved, which is conducive to improving the convenience of the human-machine verification process.
[0104] Please refer to Figure 8 , Figure 8 The following is a block diagram showing the composition of the human-machine verification device provided by some embodiments of the present application. It should be understood that the human-machine verification device is similar to the above Figure 1 Corresponding to the method embodiment, it is able to execute each step involved in the above method embodiment. The specific functions of the human-machine verification device can refer to the description above. To avoid repetition, the detailed description is appropriately omitted here.
[0105] Figure 8 The human-machine verification device includes at least one software function module that can be stored in a memory in the form of software or firmware or fixed in the human-machine verification device, and the human-machine verification device includes:
[0106] The interface generation module 810 is used to determine whether the current access event meets the preset verification conditions, generate a verification interface and display it; wherein the verification interface includes prompt information and a graphic operation area, and the prompt information includes the currently generated random number;
[0107] A graphics stacking module 820, configured to generate a corresponding graphics stacking result based on a graphics stacking instruction set executed by a user in a graphics operation area;
[0108] A digital statistics module 830, used to generate a number to be verified based on the graphic stacking result according to a preset statistical rule;
[0109] The digital verification module 840 is used to determine whether the current access event passes the verification based on the consistency between the number to be verified and the random number.
[0110] It can be understood that the above device embodiments correspond to the method embodiments of the present invention. A human-machine verification device provided by the embodiments of the present invention can implement the human-machine verification method provided by any of the method embodiments of the present invention.
[0111] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the above-described device can refer to the corresponding process in the foregoing method, and will not be elaborated herein.
[0112] As Figure 9 shown, some embodiments of the present application provide an electronic device 900, which includes: a memory 910, a processor 920, and a computer program stored on the memory 910 and executable on the processor 920. Among them, when the processor 920 reads the program from the memory 910 through the bus 930 and executes the program, it can implement the method of any embodiment included in the above human-machine verification method.
[0113] The processor 920 can process digital signals and can include various computing structures. For example, a complex instruction set computer structure, a reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, the processor 920 can be a microprocessor.
[0114] The memory 910 can be used to store instructions executed by the processor 920 or data related to the execution of the instructions. These instructions and / or data can include code for implementing some or all of the functions of one or more modules described in the embodiments of the present application. The processor 920 of the embodiments of the present disclosure can be used to execute the instructions in the memory 910 to implement the method shown above. The memory 910 includes dynamic random access memory, static random access memory, flash memory, optical memory, or other memories well known to those skilled in the art.
[0115] Some embodiments of the present application further provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is run by a processor, it executes the method described in the method embodiments.
[0116] Some embodiments of the present application further provide a computer program product, which, when running on a computer, causes the computer to execute the method described in the method embodiments.
[0117] It should be noted that the embodiments in this specification are all described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the embodiments can be referred to each other. For device embodiments, since they are basically similar to method embodiments, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiments.
[0118] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of devices, methods, and computer program products according to multiple embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the part of the module, program segment, or code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0119] In addition, in each embodiment of the present application, the various functional modules may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.
[0120] If the described function is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.
[0121] The above are only embodiments of the present application and are not intended to limit the protection scope of the present application. For those skilled in the art, various modifications and changes can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application. It should be noted that similar reference numerals and letters indicate similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.
[0122] As described above, this is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, and all of them should be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claimed rights.
[0123] It should be noted that in this text, relative terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising a..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.
Claims
1. A human-machine verification method, characterized in that: include: Determine whether the current access event meets the preset verification conditions, generate and display a verification interface; wherein the verification interface includes prompt information and a graphic operation area, and the prompt information includes a currently generated random number; Based on the graphic stacking instruction set executed by the user in the graphic operation area, forming a corresponding graphic stacking result; Generate a number to be verified based on the graphic stacking result according to a preset statistical rule; Determine whether the current access event passes verification based on the consistency between the number to be verified and the random number.
2. The human-machine authentication method according to claim 1, characterized in that: The forming of a corresponding graphic stacking result based on a graphic stacking instruction set executed by a user in the graphic operation area includes: Acquire in real time a set of graphics stacking instructions executed by a user in the graphics operation area; For each graphics stacking instruction in the graphics stacking instruction set, based on the graphics placement position specified by each of the graphics stacking instructions, a block is stacked in a vertical column corresponding to each of the graphics placement positions in the graphics operation area to form a graphics stacking result corresponding to the graphics stacking instruction set.
3. The human-machine authentication method according to claim 2, characterized in that: The step of generating a number to be verified based on the graphic stacking result according to a preset statistical rule includes: The number of groove units formed between each vertical column is counted based on the graphic stacking result, and the number of groove units is used as the number to be verified.
4. The human-machine authentication method according to claim 3, characterized in that: The counting of the number of groove units formed between the vertical columns based on the graphic stacking result includes: Generate a one-dimensional array based on the graphic stacking result; the one-dimensional array is used to represent the number of blocks stacked in each vertical column in the graphic operation area; The number of groove units formed between each vertical column is determined based on the one-dimensional array.
5. The human-machine authentication method according to claim 2, characterized in that: Before generating the number to be verified based on the graphic stacking result according to the preset statistical rule, the method further includes: Real-time counting of the number of blocks included in the graphic stacking result; If the number of blocks exceeds a preset block number threshold, it is determined that the verification of the current access event fails; The block quantity threshold is determined based on the currently generated random number.
6. The human-machine authentication method according to claim 2, characterized in that: The forming of a corresponding graphic stacking result based on a graphic stacking instruction set executed by a user in the graphic operation area further includes: The groove units formed between the vertical columns in the graphic stacking result are identified in real time, and the groove units are marked and displayed respectively based on a preset graphic style.
7. The human-machine authentication method according to any one of claims 1 to 6, characterized in that: The area range of the graphic operation area is determined based on the currently generated random number.
8. An electronic device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the human-machine authentication method according to any one of claims 1 to 7 can be implemented when the processor executes the program.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the human-machine authentication method according to any one of claims 1 to 7 is executed.
10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the human-machine authentication method according to any one of claims 1 to 7 is implemented.