Verification method and device, equipment and medium
By receiving client requests on the server and executing preset algorithm verification with a time longer than the target time, the problem of server data being quickly crawled is solved, and data security is improved and crawling costs are increased.
Patent Information
- Application Number
- CN202411434673.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-14
- Publication Date
- 2025-01-07
AI Technical Summary
In the communication process between the client and the server, it is difficult to effectively prevent the server data from being quickly crawled, resulting in data leakage.
By receiving client requests on the server and returning verification parameters based on preset verification conditions, the client is required to execute a preset algorithm with an execution time greater than the target duration, compare the consistency of the client's execution result with the results saved by the server, and determine the client's account Whether the end passes verification, thereby increasing the cost of data crawling and avoiding rapid crawling.
Effectively ensure the security of server data, improve data crawling costs, reduce the speed of server data leakage, and enhance data protection.
Smart Images

Figure CN119276584A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a verification method, device, equipment and medium. Background Art
[0002] At present, in the communication process between the client and the server, in order to prevent the data on the server from being crawled, token verification, User-Agent interception, IP (Internet Protocol) blacklist, serial number blocking and other methods or some common rules are usually used for verification. Only after passing the verification can normal interaction with the server be carried out, but these methods may be quickly cracked, resulting in data leakage on the server.
[0003] Therefore, how to ensure the security of server-side data and prevent the server-side data from being quickly crawled is an urgent problem to be solved. Summary of the invention
[0004] In view of this, the purpose of this application is to provide a verification method, device, equipment and medium, which can ensure the security of server data and prevent the server data from being quickly crawled. The specific scheme is as follows:
[0005] In a first aspect, the present application discloses a verification method, which is applied to a server, comprising:
[0006] Receive the request sent by the client;
[0007] When the request satisfies a preset verification condition, a verification parameter is returned to the client, so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is longer than a target time;
[0008] receiving the first execution result, and comparing the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter;
[0009] If the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0010] Optionally, the request carries identification information corresponding to the client, and the method further includes:
[0011] If the request is the first request corresponding to the identification information in any preset period, it is determined that the request satisfies the preset verification condition.
[0012] Optionally, the request further carries tag information, and the method further includes:
[0013] If the request is not the first request corresponding to the identification information in any preset period;
[0014] Determine whether the marking information is consistent with the historical marking information stored locally, wherein the historical marking information is the marking information carried in the first request that has passed verification;
[0015] If the marking information is inconsistent with the historical marking information stored locally, it is determined that the request meets the preset verification condition.
[0016] Optionally, the marking information includes the IP information and / or vehicle identification code of the client.
[0017] Optionally, also include:
[0018] If the request is not the first request corresponding to the identification information in any preset period, determining whether the cumulative number of requests reaches a preset number threshold, and if the cumulative number of requests reaches the preset number threshold, determining that the request satisfies the preset verification condition;
[0019] The cumulative number of requests is the cumulative number of requests from the first request carrying the identification information to the current request in any preset period.
[0020] Optionally, returning verification parameters to the client includes:
[0021] Randomly select a set of parameters from a plurality of sets of parameters corresponding to the identification information in a preset database as verification parameters;
[0022] The verification parameter is returned to the client.
[0023] Optionally, also include:
[0024] Acquire update information of the preset database, wherein the update information is information uploaded at a fixed time;
[0025] Based on the update information, multiple groups of parameters corresponding to each identification information in the preset database are updated.
[0026] In a second aspect, the present application discloses a verification device, which is applied to a server, comprising:
[0027] A request receiving module, used for receiving a request sent by a client;
[0028] A parameter returning module, configured to return a verification parameter to the client when the request satisfies a preset verification condition, so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is longer than a target time;
[0029] A result receiving module, used for receiving the first execution result;
[0030] A result comparison module is used to compare the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter; if the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0031] In a third aspect, the present application discloses an electronic device, including a memory and a processor, wherein:
[0032] The memory is used to store the computer program;
[0033] The processor is used to execute the computer program to implement the aforementioned verification method.
[0034] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program, wherein the computer program implements the aforementioned verification method when executed by a processor.
[0035] From the above scheme, it can be seen that this application provides a verification method, which is applied to the server, including:
[0036] Receive the request sent by the client;
[0037] When the request satisfies a preset verification condition, a verification parameter is returned to the client, so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is longer than a target time;
[0038] receiving the first execution result, and comparing the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter;
[0039] If the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0040] It can be seen that the beneficial effects of the present application are: when the client's request meets the preset verification conditions, verification parameters are returned to the client, and the request verification is performed by comparing the execution results obtained by the client executing the preset algorithm based on the verification parameters with the execution results obtained by executing the preset algorithm based on the verification parameters saved by the server. Through such a verification method, the security of the server data can be guaranteed. Since the preset algorithm is an algorithm with an execution time longer than the target time, the preset algorithm can be used to increase the data crawling cost and avoid the server data being crawled quickly.
[0041] Correspondingly, a verification device, equipment and readable storage medium provided by the present application also have the above-mentioned technical effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0043] Figure 1 A flow chart of a verification method provided in an embodiment of the present application;
[0044] Figure 2 A schematic diagram of the structure of a verification device provided in an embodiment of the present application;
[0045] Figure 3 A structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0046] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0047] See also Figure 1 As shown, the embodiment of the present application discloses a verification method, which is applied to the server, including:
[0048] Step S11: receiving a request sent by the client.
[0049] The client can be understood as an electronic device that installs an application, and the server can be understood as a backend server corresponding to the application, which can be a physical server or a cloud server. For example, the application can be a vehicle diagnostic software, and the client can diagnose the device.
[0050] Step S12: When the request meets the preset verification conditions, the verification parameters are returned to the client so that the client executes a preset algorithm based on the verification parameters to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is greater than the target time.
[0051] In this embodiment, the request may carry the identification information corresponding to the client, for example, the identification information may be the SN (Serial Number, product serial number) of the diagnostic device. The method further includes: if the request is the first request corresponding to the identification information in any preset period, then the request is determined to meet the preset verification condition. That is, the request carrying the identification information for the first time. Among them, the preset period can be set according to demand, for example, one day, 12 hours, etc. If the preset period is one day, the first request carrying any identification information every day meets the preset verification condition and needs to be verified. In this embodiment, a preset table can be maintained, which stores identification information. When a request sent by a client is received, the identification information carried in the request is parsed. If the identification information does not exist in the preset table, the request is determined to be the first request. If the first request passes the verification, the identification information carried by the request and the tag information corresponding to the identification information are stored in the preset table. It can be understood that the tag information is the information carried in the request.
[0052] Furthermore, if the request is not the first request corresponding to the identification information in any preset period, this embodiment can determine whether the tag information is consistent with the historical tag information stored locally, wherein the historical tag information is the tag information carried in the first request that has passed verification; if the tag information is inconsistent with the historical tag information stored locally, it is determined that the request meets the preset verification condition. Wherein, the tag information includes but is not limited to the IP information and / or vehicle identification code of the client. If the tag information contains multiple pieces of information, if any one of the information is inconsistent, it is determined that the tag information is inconsistent with the historical tag information stored locally, and if multiple pieces of information are consistent, it is determined that the tag information is consistent with the historical tag information stored locally. This embodiment can compare the tag information carried in the request with the historical tag information stored in a preset table.
[0053] In addition, if the request is not the first request corresponding to the identification information in any preset period, it is determined whether the cumulative number of requests reaches the preset number threshold. If the cumulative number of requests reaches the preset number threshold, it is determined that the request meets the preset verification condition; wherein the cumulative number of requests is the cumulative number of requests from the first request carrying the identification information in any preset period to the current request. For example, after 200 requests, re-verification is required.
[0054] Furthermore, the verification parameters can be understood as the input parameters of the preset algorithm. By passing the verification parameters into the preset algorithm for execution, the execution result can be obtained. The preset algorithm is an algorithm developed by a developer and has an execution time longer than the target time, which can be pre-set in the client, for example, in the vehicle diagnostic software. The target time can be understood as the development requirement of the preset algorithm, and the algorithm takes longer than the target time from the beginning to the end of execution. In this way, even if the preset algorithm is leaked, the crawler still needs to consume more time and computing power costs, reducing the speed of server data leakage.
[0055] In an optional implementation, the verification parameter may include a first parameter and a second parameter, and the preset algorithm may be a second parameter round loop, in each round loop, a preset operation is performed based on the first parameter and the second parameter, and the operation result is assigned to the target variable, when the loop ends, the current target variable is used as the execution result, wherein the preset operation may include: res = (res * a) % p; res = (res + 7) % p; wherein res is the target variable, a is the first parameter, and p is the second parameter. The execution logic of the preset algorithm may be as follows:
[0056] long long fermatTest(long long a, long long p) {
[0057] long long res = 1;
[0058] for (long long i = 0; i < p - 1; ++i) {
[0059] res = (res * a) % p;
[0060] res = (res + 7) % p;
[0061] }
[0062] return res;
[0063] }
[0064] long long a = 2;
[0065] long long p = 9223372036;
[0066] In this embodiment, the code that requires high computing power and long time to calculate to get the result can be added to the vehicle diagnostic software. The parameters a and p are passed in, and the execution result is finally obtained. The values of a and p can be controlled to control the amount of calculation. Because the crawler will simulate the information of normal customers to crawl data, the current information can be uploaded to the server in the first request of the same serial number every day. The information can include the following related information that the crawler cannot forge: client IP, serial number, current diagnosis model VIN (Vehicle Identification Number), the server sends the values of a and q in the database bound to the serial number, and requires the return of the calculation result before the serial number is allowed to make subsequent requests. After verification, if the following rules are triggered, high computing power verification will be required again: change IP, change vehicle VIN code, cumulative requests after verification reach a specified number (such as 200 times), and force all users to re-verify after zero o'clock every day (that is, the first request of each day must be verified). All normal requests need to carry information such as IP and VIN to verify whether high computing power verification is required again. In this way, the crawler can consume huge computing power to significantly increase the opponent's crawler costs and reduce the speed of server data leakage.
[0067] In this embodiment, a set of parameters can be randomly selected from the multiple sets of parameters corresponding to the identification information in the preset database as verification parameters; and the verification parameters are returned to the client. Each set of parameters may include one or more parameters. In this way, multiple sets of parameters and the execution results corresponding to the multiple sets of parameters can be predetermined, avoiding verification consuming a large amount of computing power on the server.
[0068] In another optional implementation, parameters corresponding to the identification information may be randomly generated to further improve security.
[0069] Step S13: receiving the first execution result, and comparing the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter.
[0070] In this embodiment, the second execution result may be pre-stored in the preset database, that is, the identification information, the plurality of groups of parameters, and the execution result are stored correspondingly.
[0071] In an optional implementation, update information of the preset database may be obtained, wherein the update information is information uploaded at a fixed time; and multiple groups of parameters corresponding to each identification information in the preset database may be updated based on the update information. Accordingly, the second execution result may also be updated. It is understandable that regularly updating the parameters and the second execution result stored in the server further improves the security of the data.
[0072] It is understandable that developers can use the developer terminal to calculate tens of thousands of sets of a and q values corresponding to each serial number and store them in the server database. For example, MySQL can create the following table to store the serial number and the corresponding a, q, and res values:
[0073] CREATE TABLE IF NOT EXISTS FermatResults (
[0074] id INT AUTO_INCREMENT PRIMARY KEY,
[0075] serial_number VARCHAR(255) NOT NULL,--serial number
[0076] a BIGINT NOT NULL,--the value of a
[0077] q BIGINT NOT NULL,--the value of q
[0078] res BIGINT NOT NULL—corresponding result );
[0080] In addition, the values of a, q, and res can be calculated by the developer terminal regularly and uploaded to the server for replacement, thereby reducing the server computing cost. In order to avoid affecting normal customer use, the a and q values can guarantee that the conventional processor will calculate the amount in about one minute. It is generally acceptable for the customer to enter the software for the first time in a day to perform server verification calculation for one minute. When the client requests the server, the server will randomly obtain a pair of a and q values corresponding to the serial number and send it down, and then wait for the verification result of the client before unlocking subsequent requests. In this way, normal customers can normally request diagnostic software server data after one minute of normal calculation. However, because the crawler needs to crawl information, the vehicle model VIN code may be changed each time the crawler requests, which will frequently trigger the high computing power verification of the server, and then frequently consume the crawler's computing power, greatly slowing down the crawler efficiency. In the past, a normal crawler request may be completed in milliseconds. Through the solution of this application, the basic crawler can control the delay of replacing high-computing power equipment within 10 seconds. It takes a lot of time to crawl the full amount of data of the diagnostic software, and the current software products are updated and iterated quickly. Even if the crawler obtains the corresponding data of the software product through a lot of time and computing power costs, the software product data has been updated and iterated.
[0081] Step S14: If the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0082] In this embodiment, if the first execution result is consistent with the second execution result, it is determined that the client has passed the verification, and the subsequent request of the client is responded to. For example, data is returned, and there is no need to verify the request of the client before the preset verification condition is met again. If the first execution result is inconsistent with the second execution result, it is determined that the client has not passed the verification, and the subsequent request of the client to the server, such as a read data request, a write data request, etc., is not processed.
[0083] It can be seen that the embodiment of the present application returns verification parameters to the client when the client's request meets the preset verification conditions, and performs request verification by comparing the execution result obtained by the client executing the preset algorithm based on the verification parameters with the execution result obtained by executing the preset algorithm based on the verification parameters saved by the server. Through such a verification method, the security of the server data can be guaranteed. Since the preset algorithm is an algorithm with an execution time longer than the target time, the preset algorithm can be used to increase the data crawling cost and prevent the server data from being crawled quickly.
[0084] See also Figure 2 As shown, the embodiment of the present application discloses a verification device, which is applied to a server, including:
[0085] The request receiving module 11 is used to receive a request sent by a client.
[0086] The parameter return module 12 is used to return the verification parameters to the client when the request meets the preset verification conditions, so that the client executes the preset algorithm based on the verification parameters to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is greater than the target time.
[0087] The result receiving module 13 is used to receive the first execution result.
[0088] The result comparison module 14 is used to compare the first execution result with the second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is the result obtained by executing the preset algorithm based on the verification parameter; if the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0089] It can be seen that the embodiment of the present application returns verification parameters to the client when the client's request meets the preset verification conditions, and performs request verification by comparing the execution result obtained by the client executing the preset algorithm based on the verification parameters with the execution result obtained by executing the preset algorithm based on the verification parameters saved by the server. Through such a verification method, the security of the server data can be guaranteed. Since the preset algorithm is an algorithm with an execution time longer than the target time, the preset algorithm can be used to increase the data crawling cost and prevent the server data from being crawled quickly.
[0090] Furthermore, in an embodiment of the present application, the request may carry identification information corresponding to the client.
[0091] The device may further include a condition judgment module, which is used to:
[0092] If the request is the first request corresponding to the identification information in any preset period, it is determined that the request satisfies the preset verification condition.
[0093] Furthermore, the request may also carry tag information, and the condition judgment module is further used to:
[0094] If the request is not the first request corresponding to the identification information in any preset period;
[0095] Determine whether the marking information is consistent with the historical marking information stored locally, wherein the historical marking information is the marking information carried in the first request that has passed verification;
[0096] If the marking information is inconsistent with the historical marking information stored locally, it is determined that the request meets the preset verification condition.
[0097] In a specific implementation, the tag information may include the IP information and / or vehicle identification code of the client.
[0098] Furthermore, the condition judgment module is also used for:
[0099] If the request is not the first request corresponding to the identification information in any preset period, determining whether the cumulative number of requests reaches a preset number threshold, and if the cumulative number of requests reaches the preset number threshold, determining that the request satisfies the preset verification condition;
[0100] The cumulative number of requests is the cumulative number of requests from the first request carrying the identification information to the current request in any preset period.
[0101] Furthermore, the parameter returning module 12 is specifically used to: randomly select a group of parameters from a plurality of groups of parameters corresponding to the identification information in a preset database as verification parameters; and return the verification parameters to the client.
[0102] In an optional embodiment, the device may further include:
[0103] An update information acquisition module, used to acquire update information of the preset database, wherein the update information is information uploaded at a fixed time;
[0104] A parameter updating module is used to update multiple groups of parameters corresponding to each identification information in the preset database based on the update information.
[0105] See also Figure 3 As shown, the embodiment of the present application discloses an electronic device 20, including a processor 21 and a memory 22; wherein the memory 22 is used to store a computer program; and the processor 21 is used to execute the computer program to implement the following steps:
[0106] Receive a request sent by a client; when the request meets a preset verification condition, return a verification parameter to the client so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is greater than a target time; receive the first execution result, and compare the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter; if the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
[0107] It can be seen that the embodiment of the present application returns verification parameters to the client when the client's request meets the preset verification conditions, and performs request verification by comparing the execution result obtained by the client executing the preset algorithm based on the verification parameters with the execution result obtained by executing the preset algorithm based on the verification parameters saved by the server. Through such a verification method, the security of the server data can be guaranteed. Since the preset algorithm is an algorithm with an execution time longer than the target time, the preset algorithm can be used to increase the data crawling cost and prevent the server data from being crawled quickly.
[0108] In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be specifically implemented: if the request is the first request corresponding to the identification information in any preset period, it is determined that the request meets the preset verification condition; the request carries the identification information corresponding to the client.
[0109] In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be specifically implemented: if the request is not the first request corresponding to the identification information in any preset period; determine whether the tag information is consistent with the historical tag information stored locally, wherein the historical tag information is the tag information carried in the first request that has passed verification; if the tag information is inconsistent with the historical tag information stored locally, determine that the request meets the preset verification condition; the request also carries tag information; the tag information includes the IP information of the client and / or the vehicle identification code.
[0110] In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be specifically implemented: if the request is not the first request corresponding to the identification information in any preset period, then it is determined whether the cumulative number of requests reaches the preset number threshold; if the cumulative number of requests reaches the preset number threshold, then it is determined that the request satisfies the preset verification condition; wherein, the cumulative number of requests is the cumulative number of requests from the first request carrying the identification information in any preset period to the current request.
[0111] In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be specifically implemented: randomly selecting a set of parameters from multiple sets of parameters corresponding to the identification information in a preset database as verification parameters; and returning the verification parameters to the client.
[0112] In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be specifically implemented: obtaining update information of the preset database, wherein the update information is information uploaded at a fixed time; and updating multiple groups of parameters corresponding to each identification information in the preset database based on the update information.
[0113] Furthermore, the memory 22 as a carrier for storing resources may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the storage method may be temporary storage or permanent storage.
[0114] In addition, the electronic device 20 also includes a power supply 23, a communication interface 24, an input / output interface 25 and a communication bus 26; wherein the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and an external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input / output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0115] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium for storing a computer program, wherein the computer program implements the verification method disclosed in the aforementioned embodiment when executed by a processor.
[0116] For the specific process of the above verification method, please refer to the corresponding content disclosed in the above embodiments, which will not be repeated here.
[0117] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0118] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0119] The above is a detailed introduction to a verification method, device, equipment and medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A verification method, characterized in that: Applied to the server, including: Receive the request sent by the client; When the request satisfies a preset verification condition, a verification parameter is returned to the client, so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is longer than a target time; receiving the first execution result, and comparing the first execution result with a pre-stored second execution result corresponding to the verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter; If the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
2. The verification method according to claim 1, characterized in that: The request carries identification information corresponding to the client, and the method further includes: If the request is the first request corresponding to the identification information in any preset period, it is determined that the request satisfies the preset verification condition.
3. The verification method according to claim 2, characterized in that: The request also carries tag information, and the method further includes: If the request is not the first request corresponding to the identification information in any preset period; Determine whether the marking information is consistent with the historical marking information stored locally, wherein the historical marking information is the marking information carried in the first request that has passed verification; If the marking information is inconsistent with the historical marking information stored locally, it is determined that the request meets the preset verification condition.
4. The verification method according to claim 3, characterized in that: The marking information includes the IP information and / or vehicle identification code of the client.
5. The verification method according to claim 2, characterized in that: Also includes: If the request is not the first request corresponding to the identification information in any preset period, determining whether the cumulative number of requests reaches a preset number threshold, and if the cumulative number of requests reaches the preset number threshold, determining that the request satisfies the preset verification condition; The cumulative number of requests is the cumulative number of requests from the first request carrying the identification information to the current request in any preset period.
6. The verification method according to claim 2, characterized in that: The returning the verification parameter to the client comprises: Randomly select a set of parameters from a plurality of sets of parameters corresponding to the identification information in a preset database as verification parameters; The verification parameter is returned to the client.
7. The verification method according to claim 6, characterized in that: Also includes: Acquire update information of the preset database, wherein the update information is information uploaded at a fixed time; Based on the update information, multiple groups of parameters corresponding to each identification information in the preset database are updated.
8. A verification device, characterized in that: Applied to the server, including: A request receiving module, used for receiving a request sent by a client; A parameter returning module, configured to return a verification parameter to the client when the request satisfies a preset verification condition, so that the client executes a preset algorithm based on the verification parameter to obtain a first execution result, wherein the preset algorithm is an algorithm whose execution time is longer than a target time; A result receiving module, used for receiving the first execution result; A result comparison module is used to compare the first execution result with a second execution result corresponding to the pre-stored verification parameter, wherein the second execution result is a result obtained by executing the preset algorithm based on the verification parameter; if the first execution result is consistent with the second execution result, it is determined that the client has passed the verification.
9. An electronic device, characterized in that: comprising a memory and a processor, wherein: The memory is used to store the computer program; The processor is used to execute the computer program to implement the verification method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the verification method according to any one of claims 1 to 7 is implemented.