Disclosure of Invention
In view of the above, the present invention provides a method and an apparatus for automatically distinguishing computer program input from human input, which can increase the difficulty of computer program simulation and learning through the overlapping application of a short message verification code and an identification code, so that the computer and human can be distinguished more conveniently and accurately, and thus, the method and the apparatus are more practical.
In order to achieve the first object, the present invention provides a method for automatically distinguishing computer program input from human input, comprising:
the method for automatically distinguishing the computer program input from the human input comprises the following steps:
generating a verification code according to the trigger;
sending the verification code to a user;
acquiring a verification code input by a user and an identification code corresponding to the verification code input by the user;
acquiring the verification code sent to a user and an identification code corresponding to the verification code sent to the user;
simultaneously comparing the verification code input by the user with the verification code corresponding to the verification code input by the user, and comparing the verification code sent to the user with the identification code corresponding to the verification code sent to the user:
in the interval range between the acquisition of the verification code and the acquisition of the verification code again, when the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming that the user inputting the verification code is a human, and the input of the verification code is effective input;
and in the interval range between the acquisition of the verification code and the re-acquisition of the verification code, when the verification code input by the user and the verification code corresponding to the verification code input by the user are different from at least one part of the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming that the user inputting the verification code is a calculation and program, and the input of the verification code is invalid.
The method for automatically distinguishing the computer program input from the human input provided by the invention can be further realized by adopting the following technical measures.
Preferably, in the process of confirming that the user inputting the verification code is the computer program and the input of the verification code is invalid, the verification code input by the user and the verification code corresponding to the verification code input by the user are allowed to be compared at the same time, and the times of sending the verification code to the user and the identification code corresponding to the verification code sent to the user are less than or equal to 5 times.
Preferably, in the process of acquiring the verification code input by the user and the identification code corresponding to the verification code input by the user, the verification code and the identification code are input according to a preset sequence.
Preferably, the predetermined sequence of the verification code and the identification code is selected from: the verification code is firstly carried out and then the identification code is carried out, the identification code is firstly carried out and then the verification code, and the verification code and the identification code are mixed in sequence.
Preferably, the identification code is a count-down second of the time between the current acquisition of the verification code and the next acquisition of the verification code.
Preferably, the countdown seconds of the time interval between the acquisition of the verification code this time and the acquisition of the verification code again is the countdown seconds corresponding to the time when the user starts inputting the verification code or the identification code corresponding to the verification code input by the user.
Preferably, the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code are countdown seconds corresponding to the time when the user finishes inputting the verification code.
Preferably, the countdown seconds of the time interval between the current acquisition of the verification code and the re-acquisition of the verification code are countdown seconds corresponding to the time when the user starts inputting the identification code.
Preferably, when the verification code input by the user is automatically input by the computer program, the countdown seconds of the interval between the verification code acquisition and the verification code re-acquisition is selected from the countdown seconds corresponding to the end time of the automatic input of the verification code by the computer program or the countdown seconds corresponding to the time when the user starts inputting the identification code.
Preferably, when the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, if the total time consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code acquisition and the verification code re-acquisition, the user inputting the verification code is determined to be non-self operation.
Preferably, when the user inputting the verification code is a non-self operation, if the input of the verification code can be replaced by others through authorization, the input of the verification code is confirmed to be a valid input; if the input of the verification code does not allow the input of the verification code by another person through authorization, the input of the verification code is confirmed as an invalid input.
Preferably, if the input of the verification code can be replaced by another person through authorization, the method further includes the step of acquiring user personal authorization information on which the verification code information is received, before the step of confirming that the input of the verification code is valid input.
In order to achieve the second object, the present invention provides a device for automatically distinguishing computer program input from human input, comprising:
the present invention provides an apparatus for automatically distinguishing computer program input from human input, comprising:
the verification code generation module is used for generating a verification code according to triggering;
the verification code pushing module is used for sending the verification code generated by the verification code generating module to a corresponding user;
the verification code and identification code acquisition module is used for acquiring a verification code input by a user and an identification code corresponding to the verification code input by the user, and acquiring the verification code sent to the user and an identification code corresponding to the verification code sent to the user;
a comparison module, configured to simultaneously compare the verification code input by the user with the verification code corresponding to the verification code input by the user, and the verification code sent to the user and the identification code corresponding to the verification code sent to the user:
in the interval range between the acquisition of the verification code and the acquisition of the verification code again, when the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming that the user inputting the verification code is a human, and the input of the verification code is effective input;
and in the interval range between the acquisition of the verification code and the re-acquisition of the verification code, when the verification code input by the user and the verification code corresponding to the verification code input by the user are different from at least one part of the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming that the user inputting the verification code is a calculation and program, and the input of the verification code is invalid.
The device for automatically distinguishing the computer program input from the human input provided by the invention can be further realized by adopting the following technical measures.
Preferably, the means for automatically distinguishing between computer program input and human input further comprises:
and the counting module is used for calculating the times of allowing the verification code input by the user and the verification code corresponding to the verification code input by the user to be simultaneously compared and the verification code sent to the user and the identification code corresponding to the verification code sent to the user in the process of confirming that the user inputting the verification code is the computer program and the input of the verification code is invalid input.
Preferably, the means for automatically distinguishing between computer program input and human input further comprises:
and the stopwatch module is used for counting down the counted down seconds of the time between the acquisition of the verification code and the acquisition of the verification code again.
Preferably, the stopwatch is stopped when the user starts inputting a verification code or an identification code corresponding to the verification code input by the user, and the identification code is counted in seconds counted down by the stopwatch at this time.
Preferably, the stopwatch countdown is stopped at the time when the user inputs the verification code, and the identification code is the number of seconds counted down by the stopwatch at this time.
Preferably, the stopwatch stops counting down when the user starts inputting the identification code, and the identification code is counted in seconds counted down by the stopwatch.
Preferably, when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user starts inputting the verification code every time interval or the user inputs the identification code corresponding to the verification code input by the user every time interval, the stopwatch records the countdown seconds every time, and the countdown seconds recorded every time are used as the identification code to be input.
Preferably, when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, and when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user inputs the verification code at intervals at the end of each time, the stopwatch records one countdown seconds, and the countdown seconds recorded each time are used as the identification code to be input.
Preferably, when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, and when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user inputs the time for starting to input the identification code at intervals, the stopwatch records the countdown seconds once, and the countdown seconds recorded each time are used as the identification code to be input.
Preferably, when the verification code input by the user is automatically input by the computer program, the apparatus for automatically distinguishing the computer program input from the human input further comprises:
and the countdown second acquisition module is used for acquiring the countdown seconds of the interval between the acquisition of the verification code and the re-acquisition of the verification code, and is selected from countdown seconds corresponding to the end time of automatically inputting the verification code by a computer program or countdown seconds corresponding to the time when the user starts inputting the identification code and used as the identification code to automatically finish the input of the identification code.
Preferably, the means for automatically distinguishing between computer program input and human input further comprises:
and the timing module is used for confirming that the user inputting the verification code is non-self operation when the total consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code acquisition and the verification code re-acquisition.
Preferably, when the input of the authentication code can be substituted by others as input by authorization, the apparatus for automatically distinguishing the computer program input from the human input further comprises:
the judging module is used for confirming whether the input of the verification code is valid or not according to whether the verification code can pass the authorization and is input by other people instead:
if the input of the verification code can be replaced by others as input through authorization, the input of the verification code is confirmed to be valid input; if the input of the verification code does not allow the input of the verification code by another person through authorization, the input of the verification code is confirmed as an invalid input.
Preferably, the means for automatically distinguishing between computer program input and human input further comprises:
and the authorization information acquisition module is used for pushing an authorization information dialog box to the user receiving the verification code information and acquiring the authorization information of the user receiving the verification code information according to the result of the authorization information dialog box.
The method and the device for automatically distinguishing the computer program input from the human input provided by the invention are used for comparing the verification code input by the user, simultaneously comparing the identification code corresponding to the verification code input by the user, which is equivalent to simultaneously identifying the verification code and the identification code, in this case, because the computer program is required to distinguish two events, namely the verification code and the identification code, simultaneously in the same event, the input difficulty of the computer program is increased, even though the computer program still can be continuously learned and simulated, the capability is provided, the corresponding capability is higher than that of a method for distinguishing the computer program input from the human input only by identifying the verification code, therefore, in this case, the situation that at least part of the computer program input with relatively low capability is mistakenly identified as the human input can be avoided, particularly, some identification codes are randomly changed, or only under the condition that the recognizable identification code is identified through the subjective initiative of human beings, the corresponding capability of the computer program is required to be higher, and the probability of false identification is lower.
Detailed Description
The invention provides a method for automatically distinguishing computer program input and human input for solving the problems in the prior art, which can increase the difficulty of computer program simulation and learning by overlapping application of a short message verification code and an identification code, thereby being capable of distinguishing a computer and a human more conveniently and more suitable for practical use.
To further illustrate the technical means and effects of the present invention adopted to achieve the predetermined objects, the following detailed description of the method for automatically distinguishing computer program input from human input, its specific implementation, structure, features and effects will be provided in conjunction with the accompanying drawings and the preferred embodiments. In the following description, different "one embodiment" or "an embodiment" refers to not necessarily the same embodiment. Furthermore, the features, structures, or characteristics of one or more embodiments may be combined in any suitable manner.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, with the specific understanding that: both a and B may be included, a may be present alone, or B may be present alone, and any of the three cases can be provided.
Referring to fig. 1, a method for automatically distinguishing computer program input from human input according to an embodiment of the present invention includes the following steps:
step S1: generating a verification code according to the trigger;
step S2: sending the verification code to the user;
step S3: acquiring a verification code input by a user and an identification code corresponding to the verification code input by the user;
step S4: acquiring a verification code sent to a user and an identification code corresponding to the verification code sent to the user;
step S5: simultaneously comparing the verification code input by the user with the verification code corresponding to the verification code input by the user, and comparing the verification code sent to the user with the identification code corresponding to the verification code sent to the user:
in the interval range between the acquisition of the verification code and the acquisition of the verification code again, when the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, the user who inputs the verification code is determined to be a human, and the input of the verification code is determined to be effective input;
and in the interval range between the acquisition of the verification code and the re-acquisition of the verification code, when at least one part of the verification code input by the user and the verification code corresponding to the verification code input by the user is different from at least one part of the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming the user inputting the verification code as a calculation and program, and confirming the input of the verification code as invalid input.
The method for automatically distinguishing computer program input from human input provided by the embodiment of the invention needs to compare the identification code corresponding to the verification code input by the user while comparing the verification code input by the user, which is equivalent to simultaneously identifying the verification code and the identification code, in this case, because the computer program needs to distinguish two events, namely the verification code and the identification code, simultaneously in the same event, the input difficulty of the computer program is increased, even if the computer program still can be continuously learned and simulated, the capability is provided, the corresponding capability is higher than that of the method for distinguishing computer program input from human input only by identifying the verification code, therefore, in this case, the situation that at least a part of computer program input with relatively low capability is mistakenly identified as human input can be avoided, especially, some identification codes are randomly changed, or only under the condition that the recognizable identification code is identified through the subjective initiative of human beings, the corresponding capability of the computer program is required to be higher, and the probability of false identification is lower.
And in the process of confirming that the user inputting the verification code is the computer program and the input of the verification code is invalid, allowing the verification code input by the user and the verification code corresponding to the verification code input by the user to be compared simultaneously, and ensuring that the times of the verification code sent to the user and the identification code corresponding to the verification code sent to the user are less than or equal to 5 times. Under the condition, the method and the device for automatically distinguishing the computer program input from the human input, provided by the embodiment of the invention, can tolerate the error rate of less than 5 times, and can avoid that the human input is mistakenly recognized as the computer program input due to only one input error; the computer program input can be prevented from being mistakenly recognized as human input by colliding to obtain a correct verification code and an identification code corresponding to the verification code sent to the user under the condition of infinite attempts.
In the process of acquiring the verification code input by the user and the identification code corresponding to the verification code input by the user, the verification code and the identification code are input according to a preset sequence. In this case, since the verification code and the identification code are input according to the preset sequence, the difficulty of inputting the computer program can be increased, thereby reducing or avoiding the input sequence of the verification code and the identification code learned by the computer program, and performing bionic input through the computer program.
In this embodiment, the predetermined sequence of the verification code and the identification code is selected from: the verification code is firstly carried out and then the identification code is carried out, the identification code is firstly carried out and then the verification code, and the verification code and the identification code are mixed in sequence. Wherein, the degree of difficulty of the mode computer program study of identifying code after identifying code or identifying code before identifying code is lower relatively, and under the condition that the order of identifying code and identifying code is mingled with, if the computer program needs to realize bionic input through studying, its degree of difficulty will be greater than the input mode of identifying code after identifying code or identifying code before identifying code far away.
The identification code is the countdown seconds of the time interval between the acquisition of the verification code and the acquisition of the verification code again. In this case, since the randomness of the countdown seconds of the time interval between the current acquisition of the verification code and the next acquisition of the verification code is large and closely related to the user trigger input, the user input speed and the like, the difficulty of the computer program for realizing the bionic input through learning can be further increased, and in this case, the method for distinguishing the computer program input from the human input can be simpler.
Specifically, the method for counting down the seconds of the identification code, which is the time between the current acquisition of the verification code and the next acquisition of the verification code, mainly includes the following three methods:
the first mode is as follows: the countdown seconds of the interval between the acquisition of the verification code and the re-acquisition of the verification code are the countdown seconds corresponding to the moment when the user starts to input the verification code or the identification code corresponding to the verification code input by the user. For example, when the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts to input the first character of the verification code is 50s, the identification code corresponding to the verification code input by the user at this time is 50 or 50s, wherein when the identification code corresponding to the verification code input by the user is 50, the difficulty of inputting by the computer program through learning is smaller than when the identification code corresponding to the verification code input by the user is 50s, because 50 is a simple number input, and 50s is a mixed number and letter input, the latter requires a stronger learning ability of the computer program.
The second mode is as follows: the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code are the countdown seconds corresponding to the time when the user finishes inputting the verification code. For example, when the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts to input the last character of the verification code is 30s, the identification code corresponding to the verification code input by the user is 30 or 30s at this time, wherein when the identification code corresponding to the verification code input by the user is 30, the difficulty of inputting by the computer program through learning is smaller than that when the identification code corresponding to the verification code input by the user is 30s, because 30 is a simple number input, and 30s is a mixed input of numbers and letters, the latter requires a stronger learning ability of the computer program.
The third mode is as follows: the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code are the countdown seconds corresponding to the time when the user starts inputting the identification code. For example, when the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts inputting the first character of the identification code are 20s, the identification code corresponding to the verification code input by the user is 20 or 20s at this time, wherein when the identification code corresponding to the verification code input by the user is 20, the difficulty of inputting by the computer program through learning is smaller than when the identification code corresponding to the verification code input by the user is 20s, because 20 is a simple number input, and 20s is a mixed number and letter input, the latter requires a stronger learning ability of the computer program.
When the verification code input by the user is automatically input through the computer program, the countdown seconds of the interval between the current verification code acquisition and the next verification code acquisition are selected from countdown seconds corresponding to the end time of the automatic verification code input by the computer program or countdown seconds corresponding to the time when the user starts inputting the identification code. The verification code can be automatically acquired by a user mobile phone and input into the computer program which is being applied by the user, for example, when the user logs in the internet bank and inputs the verification code into the corresponding position of the internet bank system, the internet bank system can automatically input the verification code which is sent to the user mobile phone by the internet bank system into the corresponding position of the internet bank by automatically acquiring the verification code acquired by the user mobile phone, so that the time consumption of manually inputting the verification code into the internet bank system by the user is reduced, and errors which are possibly generated when the user manually inputs the verification code into the internet bank system are reduced. In this case, in order to avoid that the verification code and the identification code are all inputted by the computer program and it is difficult to recognize the computer program input and the human input, the identification code must be inputted by hand.
When the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, if the total time consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code acquisition and the verification code re-acquisition, the user inputting the verification code is determined to be non-self operation. In this case, there may be a special case where the user a sends the verification code obtained on the mobile phone to the user b, and then the user b inputs the verification code transferred from the user a to the application program, because in this process, the user b contacts the user a and requests the user a to send the received short message containing the verification code to the user b, and the user b actually executes the step of sending the short message containing the verification code to the user a, more time needs to be consumed, and therefore, it is possible to roughly identify whether the user who received the short message containing the verification code operates himself by calculating whether the total consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code obtained this time and the verification code obtained again. Specifically, the content is as follows:
when the user inputting the verification code is not self-operated, if the input of the verification code can be replaced by others through authorization, the input of the verification code is confirmed to be valid; if the input of the verification code does not allow the input of the verification code by another person through authorization, the input of the verification code is confirmed as an invalid input. In this case, the program that the user is applying can confirm whether the input of the authentication code by the non-self operation is the valid input or the invalid input according to whether the user is authorized. If the input of the verification code can be replaced by others through authorization, before the step of confirming that the input of the verification code is valid input, the method further comprises the step of acquiring user self authorization information of the verification code information. In this case, whether the user has authorized the user who has input the authentication code can be known from the manner of acquiring the user personal authorization information from which the authentication code information has been received. At this time, it can be known whether the user receiving the verification code authorizes the user inputting the verification code or not through the short message, sending the popup to the user and according to the information whether the user selects authorization or not in the popup, pushing the system information to the user and according to the information whether the user selects authorization or not in the system information.
Referring to fig. 2, an apparatus for automatically distinguishing computer program input from human input according to a second embodiment of the present invention includes:
the verification code generation module is used for generating a verification code according to triggering;
the verification code pushing module is used for sending the verification code generated by the verification code generating module to a corresponding user;
the verification code and identification code acquisition module is used for acquiring a verification code input by a user and an identification code corresponding to the verification code input by the user, and acquiring the verification code sent to the user and an identification code corresponding to the verification code sent to the user;
the comparison module is used for simultaneously comparing the verification code input by the user with the verification code corresponding to the verification code input by the user, and the verification code sent to the user and the identification code corresponding to the verification code sent to the user:
in the interval range between the acquisition of the verification code and the acquisition of the verification code again, when the verification code input by the user and the verification code corresponding to the verification code input by the user are completely the same as the verification code sent to the user and the identification code corresponding to the verification code sent to the user, the user who inputs the verification code is determined to be a human, and the input of the verification code is determined to be effective input;
and in the interval range between the acquisition of the verification code and the re-acquisition of the verification code, when at least one part of the verification code input by the user and the verification code corresponding to the verification code input by the user is different from at least one part of the verification code sent to the user and the identification code corresponding to the verification code sent to the user, confirming the user inputting the verification code as a calculation and program, and confirming the input of the verification code as invalid input.
The apparatus for automatically distinguishing computer program input from human input according to the second embodiment of the present invention, while comparing the verification code input by the user, needs to compare the identification code corresponding to the verification code input by the user, which is equivalent to simultaneously identifying the verification code and the identification code, in this case, since the computer program needs to distinguish two events, namely the verification code and the identification code, simultaneously in the same event, the input difficulty of the computer program is increased, even though the computer program can still be continuously learned and simulated, the capability is provided, and the corresponding capability is higher than the method of distinguishing computer program input from human input only by identifying the verification code, therefore, in this case, it is able to prevent at least a part of computer program input with relatively low capability from being mistakenly identified as human input, especially when some identification codes are randomly changed, or only under the condition that the recognizable identification code is identified through the subjective initiative of human beings, the corresponding capability of the computer program is required to be higher, and the probability of false identification is lower.
Wherein the means for automatically distinguishing between computer program input and human input further comprises: and the counting module is used for calculating the times of allowing the verification code input by the user and the verification code corresponding to the verification code input by the user to be simultaneously compared and the verification code sent to the user and the identification code corresponding to the verification code sent to the user in the process of confirming that the user inputting the verification code is the computer program and the input of the verification code is invalid input.
In this embodiment, in the process of confirming that the user inputting the verification code is the computer program and the input of the verification code is the invalid input, the verification code input by the user and the verification code corresponding to the verification code input by the user are allowed to be compared at the same time, and the times of the verification code sent to the user and the identification code corresponding to the verification code sent to the user are less than or equal to 5 times. Under the condition, the method and the device for automatically distinguishing the computer program input from the human input, provided by the embodiment of the invention, can tolerate the error rate of less than 5 times, and can avoid that the human input is mistakenly recognized as the computer program input due to only one input error; the computer program input can be prevented from being mistakenly recognized as human input by colliding to obtain a correct verification code and an identification code corresponding to the verification code sent to the user under the condition of infinite attempts.
Wherein the means for automatically distinguishing between computer program input and human input further comprises: and the stopwatch module is used for counting down the counted down seconds of the time between the acquisition of the verification code and the acquisition of the verification code again. In this case, since the randomness of the countdown seconds of the time interval between the current acquisition of the verification code and the next acquisition of the verification code is large and closely related to the user trigger input, the user input speed and the like, the difficulty of the computer program for realizing the bionic input through learning can be further increased, and in this case, the method for distinguishing the computer program input from the human input can be simpler.
In this embodiment, when the user starts inputting the verification code or the identification code corresponding to the verification code input by the user, the countdown of the stopwatch is stopped, and the count of seconds counted down by the stopwatch at this time is used as the identification code. For example, when the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts to input the first character of the verification code is 50s, the identification code corresponding to the verification code input by the user at this time is 50 or 50s, wherein when the identification code corresponding to the verification code input by the user is 50, the difficulty of inputting by the computer program through learning is smaller than when the identification code corresponding to the verification code input by the user is 50s, because 50 is a simple number input, and 50s is a mixed input of numbers and letters, the latter requires a stronger learning ability of the computer program.
When the user inputs the verification code, the countdown of the stopwatch is stopped, and the countdown seconds of the stopwatch at the moment are used as the identification code. For example, when the countdown seconds of the interval between the acquisition of the verification code this time and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts to input the last character of the verification code is 30s, the identification code corresponding to the verification code input by the user at this time is 30 or 30s, wherein when the identification code corresponding to the verification code input by the user is 30, the difficulty of inputting by the computer program through learning is smaller than that when the identification code corresponding to the verification code input by the user is 30s, because 30 is a simple number input, and 30s is a mixed number and letter input, the latter requires a stronger learning ability of the computer program.
When the user starts inputting the identification code, the countdown of the stopwatch is stopped, and the countdown seconds of the stopwatch at the moment are taken as the identification code. For example, when the countdown seconds of the interval between the current acquisition of the verification code and the re-acquisition of the verification code is 60s in total, and when the countdown seconds when the user starts inputting the first character of the identification code are 20s, the identification code corresponding to the verification code input by the user is 20 or 20s at this time, wherein when the identification code corresponding to the verification code input by the user is 20, the difficulty of inputting by the computer program through learning is smaller than when the identification code corresponding to the verification code input by the user is 20s, because 20 is a simple number input, and 20s is a mixed number and letter input, the latter requires a stronger learning ability of the computer program.
When the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user starts to input the verification code at intervals each time or the user inputs the identification code corresponding to the verification code input by the user at intervals each time, the stopwatch records the count-down seconds for one time, and the count-down seconds recorded each time are used as the identification code to be input. In this case, if the start time when the user inputs a is 58s, the start time when the user inputs B is 50s, the start time when the user inputs C is 40s, and the start time when the user starts inputting D is 30s when the verification code is ABCD, in the case of an input method in which the verification code and the identification code are mixed, the content to be input is a58B50C40D30 or a58sB50sC40sD30s, and thus it is seen that the difficulty in identifying and inputting is large, and therefore, the difficulty in distinguishing the computer program input from the human input can be reduced.
When the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, and when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user inputs the time when the verification code is ended every time at intervals, the stopwatch records the countdown seconds once, and the countdown seconds recorded every time are used as the identification code to be input. In this case, if the verification code is ABCD, when the end time of the user when inputting a is 50s, when the end time of the user when inputting B is 45s, when the end time of the user when inputting C is 40s, and when the end time of the user when starting inputting D is 35s, in the case of an input mode in which the verification code and the identification code are mixed, the content to be input is a50B45C40D35 or a50sB45sC40sD35s, and thus it is seen that the difficulty in identifying and inputting is large, and therefore, the difficulty in distinguishing the computer program input from the human input can be reduced.
When the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, and when the preset sequence of the verification code and the identification code is the sequence of the verification code and the identification code, the user inputs the time for starting to input the identification code at intervals every time, the stopwatch records the countdown seconds every time, and the countdown seconds recorded every time are used as the identification code to be input. In this case, if the verification code is ABCD, when the time when the user starts inputting the first identification code is 50s, when the time when the user starts inputting the second identification code is 45s, when the time when the user starts inputting the third identification code is 40s, and when the time when the user starts inputting the fourth identification code is 35s, in the case of an input mode in which the verification code and the identification codes are mixed, the content to be input is a50B45C40D35 or a50sB45sC40sD35s, and thus it can be seen that the difficulty in identifying and inputting is large, and therefore, the difficulty in distinguishing the computer program input from the human input can be reduced.
Wherein, when the verification code inputted by the user is automatically inputted through the computer program, the apparatus for automatically distinguishing the input of the computer program from the input of the human further comprises: and the countdown second acquisition module is used for acquiring the countdown seconds of the interval between the acquisition of the verification code and the re-acquisition of the verification code, and is selected from countdown seconds corresponding to the end time of automatically inputting the verification code by a computer program or countdown seconds corresponding to the time when the user starts inputting the identification code and used as the identification code to automatically finish the input of the identification code.
In this case, the count-down seconds, that is, the corresponding identification code can be obtained by the count-down seconds obtaining module, and since the identification code must be manually input, at this time, the count-down seconds need to be recorded and displayed to the user, so that the user can manually input the identification code according to the recorded and displayed result.
Wherein the means for automatically distinguishing between computer program input and human input further comprises:
and the timing module is used for confirming that the user inputting the verification code is non-self operation when the total consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code acquisition and the verification code re-acquisition. In this case, there may be a special case where the user a sends the verification code obtained on the mobile phone to the user b, and then the user b inputs the verification code transferred from the user a to the application program, because in this process, the user b contacts the user a and requests the user a to send the received short message containing the verification code to the user b, and the user b actually executes the step of sending the short message containing the verification code to the user a, more time needs to be consumed, and therefore, it is possible to roughly identify whether the user who received the short message containing the verification code operates himself by calculating whether the total consumption of the verification code input by the user and the identification code corresponding to the verification code input by the user exceeds the interval range between the verification code obtained this time and the verification code obtained again. Specifically, the method comprises the following steps:
the apparatus for automatically distinguishing computer program input from human input when the input of the verification code can be replaced by others by authorization further comprises:
the judging module is used for confirming whether the input of the verification code is valid input or not according to whether the verification code can pass the authorization and is input by other people instead:
if the input of the verification code can be replaced by others as input through authorization, the input of the verification code is confirmed to be valid input; if the input of the verification code does not allow the input of the verification code by another person through authorization, the input of the verification code is confirmed as an invalid input.
In this case, the program that the user is applying can confirm whether the input of the authentication code by the non-self operation is the valid input or the invalid input according to whether the user is authorized. If the input of the verification code can be replaced by others through authorization, before the step of confirming that the input of the verification code is valid, the system further comprises an authorization information acquisition module which is used for pushing an authorization information dialog box to the user who receives the verification code information and acquiring the authorization information of the user who receives the verification code information according to the result of the authorization information dialog box. In this case, whether the user has authorized the user who has input the authentication code can be known from the manner of acquiring the user personal authorization information from which the authentication code information has been received. At this time, it can be known whether the user receiving the verification code authorizes the user inputting the verification code or not through the short message, sending the popup to the user and according to the information whether the user selects authorization or not in the popup, pushing the system information to the user and according to the information whether the user selects authorization or not in the system information.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.