CN108712408B - Anti-cheating method and device for user behavior verification - Google Patents

Anti-cheating method and device for user behavior verification Download PDF

Info

Publication number
CN108712408B
CN108712408B CN201810432546.2A CN201810432546A CN108712408B CN 108712408 B CN108712408 B CN 108712408B CN 201810432546 A CN201810432546 A CN 201810432546A CN 108712408 B CN108712408 B CN 108712408B
Authority
CN
China
Prior art keywords
code
prize
information
verification
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810432546.2A
Other languages
Chinese (zh)
Other versions
CN108712408A (en
Inventor
杜英豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810432546.2A priority Critical patent/CN108712408B/en
Publication of CN108712408A publication Critical patent/CN108712408A/en
Application granted granted Critical
Publication of CN108712408B publication Critical patent/CN108712408B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Pinball Game Machines (AREA)

Abstract

The invention provides an anti-cheating method and device for user behavior verification. The method comprises the following steps: receiving user behavior information uploaded by a client; analyzing the user behavior information to generate reward information of the user, wherein when an analysis result meets a preset reward receiving condition, a first reward receiving code is generated and added into the reward information, and meanwhile, related information of the first reward receiving code is stored in an effective reward receiving code set of a server; transmitting the reward information to the client; receiving prize drawing verification information uploaded by the client, and extracting a prize drawing code from the prize drawing verification information uploaded by the client as a second prize drawing code; verifying the validity of a second prize winning code extracted from the prize winning verification information according to a valid prize winning code set stored by the server to obtain a verification result; and sending the verification result to the client. Therefore, the award receiving verification information from the non-client side is not effective, the cheating cost is increased, and the cheating is reduced.

Description

Anti-cheating method and device for user behavior verification
Technical Field
The invention relates to the technical field of internet application, in particular to an anti-cheating method and device for user behavior verification.
Background
In the internet industry, user number and activity frequency are the core fate of a product. To encourage user registration and increase user stickiness, many products create user rewards to encourage user use. For example, new users are encouraged to download by setting up new users red bonuses, successive login rewards, etc., and old users continue to log in. Especially in the mobile internet, some application programs (APP) are often set with relatively high value rewards in the promotion stage.
For the user, the reward can be received when the user behavior (downloading, logging in, etc.) meets certain verification conditions (for example, software is downloaded, or login conditions, online time, etc.) are met. However, some cheating behaviors of abnormal users often occur under the driving of the benefit of the reward. Even a way of disguising user behavior arises by large-scale cheating using automated cheating software in pursuit of rewards or malicious competition. If the cheating behavior cannot be identified and prevented, property loss is brought to the product publisher, and meanwhile influence on the product publisher or the third-party organization to count the user behavior is also possible.
In view of the fact that the promotion mode based on the rewards is popularized in a large scale with the popularization of the mobile internet in the recent time, no special research is provided in the prior art and no relevant targeted solution exists for the cheating problem of user behavior verification in prize drawing.
Disclosure of Invention
The invention aims to solve at least one of the technical problems in the related technology to a certain extent, and provides an anti-cheating method and device for user behavior verification so as to prevent cheating in the prize claiming process.
To achieve the above object, an embodiment of the first aspect of the present invention provides an anti-cheating method for server-side user behavior verification, which includes: receiving user behavior information uploaded by a client; analyzing according to the received user behavior information, and generating reward information of the user according to an analysis result, wherein when the analysis result meets a preset reward receiving condition, a first reward receiving code is generated, the first reward receiving code is added into the reward information, and relevant information of the first reward receiving code is stored in an effective reward receiving code set of a server; transmitting the reward information to the client; receiving prize drawing verification information uploaded by the client, and extracting a prize drawing code from the prize drawing verification information uploaded by the client as a second prize drawing code; verifying the validity of a second prize winning code extracted from the prize winning verification information according to a valid prize winning code set stored by the server to obtain a verification result; and sending the verification result to the client.
In some embodiments, the receiving the user behavior information uploaded by the client includes: receiving a user name and user login time information uploaded by a client; the analyzing according to the received user behavior information comprises: analyzing according to the currently received user behavior information and the cumulatively received user behavior information to obtain login time distribution and/or login duration distribution of the user; when the analysis result satisfies the preset prize winning condition, a first prize winning code is generated, including: and when the login time distribution of the user meets a preset condition and/or the login duration distribution meets the preset condition, generating a first prize winning code.
In some embodiments, the receiving the user behavior information uploaded by the client includes: receiving a user name and prize winning request information uploaded by a client; the analyzing according to the received user behavior information comprises: judging whether the user meets the reward condition corresponding to the reward receiving request; when the analysis result satisfies the preset prize winning condition, a first prize winning code is generated, including: and when the user meets the reward condition corresponding to the reward receiving request, generating a first reward receiving code.
In some embodiments, the bonus information further includes a verification code that is a 4-8 bit string or a picture verification code that contains a 4-8 bit string for identification.
In some embodiments, the first claim code generated each time a preset claim condition is satisfied is different, and the first claim code is an encrypted code.
In some embodiments, the generating the first winning code comprises: acquiring a user key of a current user; acquiring a timestamp of the corresponding first prize winning code according to the generation time of the first prize winning code, and encrypting the timestamp by using the user key to generate an encryption result; and carrying out first coding on the encryption result to obtain a first prize winning code.
In some embodiments, the generating the first winning code further comprises: when a plurality of prize receiving codes need to be generated in the minimum unit time corresponding to the time stamp, an identification bit is further set for the time stamp, the identification bit represents a generation sequence number of the prize receiving codes in the unit time, and the time stamp with the identification bit is encrypted by the user secret key to obtain an encryption result.
In some embodiments, storing information related to the first winning code to the set of valid winning codes of the server comprises: storing a timestamp of the first prize winning code to an effective prize winning code set of the server; the verifying the validity of the second prize winning code extracted from the prize winning verification information includes: decoding the second verification code according to the inverse operation of the first code to obtain a decoding result;
decrypting the decoding result according to the user secret key of the current user to obtain a decryption result; comparing the decryption result with the time stamps of all first prize winning codes in the effective prize winning code set; and when the time stamp of the first prize drawing code matched with the decryption result exists, judging that the second prize drawing code corresponding to the decryption result is matched with the first prize drawing code corresponding to the time stamp, and judging that the second prize drawing code is valid according to the verification result.
In some embodiments, the verifying the validity of the second prize winning code extracted from the prize winning verification information includes: and comparing the second prize drawing code with all the first prize drawing codes in the effective prize drawing code set stored by the server, and when the first prize drawing codes matched with the second prize drawing codes exist, verifying that the second prize drawing codes are effective.
In some embodiments, when the second winning code is validated, the first winning code and the related information thereof matching the second winning code are deleted from the valid winning code set.
In some embodiments, storing information related to the first winning code to the set of valid winning codes of the server further comprises: storing the generation time and the validity period of the first verification code in a valid prize winning code set of the server; the verification of the second prize winning code extracted from the prize winning verification information further comprises: when a first prize winning code matched with a second prize winning code exists, comparing the verification time of the second prize winning code with the generation time of the matched first verification code, judging whether the verification time of the second prize winning code is in the valid period of the matched prize winning code, and if the verification time of the second prize winning code is in the valid period, verifying that the result is that the second prize winning code is valid; otherwise, the second prize winning code is invalid.
In some embodiments, storing information related to the first winning code to the set of valid winning codes of the server further comprises: storing the related information of the first prize drawing code according to the generation sequence of the first prize drawing code; the verification of the second prize winning code extracted from the prize winning verification information further comprises: comparing the second prize drawing code with the related information of the first prize drawing code with the first prize drawing code in the first sequence in the effective prize drawing code set, and when the second prize drawing code is matched with the first prize drawing code with the first sequence, the verification result is that the second prize drawing code is effective; otherwise, the verification result is that the second prize winning code is invalid.
There is also provided, in accordance with an embodiment of the first aspect of the present invention, an anti-cheating method for client-side user behavior verification, including: uploading user behavior information to a server; receiving reward information fed back by a server, wherein the reward information is generated according to an analysis result of user behavior information, and when the analysis result meets a preset reward receiving condition, the reward receiving information comprises a first reward receiving code; extracting a first prize drawing code from the reward information and generating prize drawing verification information, wherein the prize drawing verification information comprises the first prize drawing code; sending award drawing verification information to a server; and receiving a verification result fed back by the server, wherein the verification result is generated by the server according to the prize drawing verification information.
In some embodiments, the user behavior information comprises: user name and user login time information, or user name and prize winning request information.
In some embodiments, the received server-fed reward information further comprises a verification code which is a 4-8 bit character string or a picture verification code containing a 4-8 bit character string for identification; the prize drawing verification information comprises the first prize drawing code and a verification code.
By using the anti-cheating method for user behavior verification, the client and the server interact in the user prize drawing process, the server generates a unique dynamic prize drawing code based on the user behavior and sends the dynamic prize drawing code to the client in the prize drawing preparation stage, and the client feeds the prize drawing code back to the server for verification in the prize drawing execution process, so that the effectiveness of the prize drawing behavior is judged. Therefore, the method can effectively identify the prize drawing request from the non-client side, so that the traditional cheating modes such as counterfeiting or interception of the retransmitted prize drawing request and the like cannot be realized, the cheating cost is increased, and the cheating behavior is favorably stopped.
The embodiment of the second aspect of the present invention provides an anti-cheating device for user behavior verification on a server side, which includes:
the first information receiving module is used for receiving the user behavior information uploaded by the client;
the reward information generation module is used for analyzing according to the received user behavior information and generating reward information of the user according to an analysis result, wherein when the analysis result meets a preset reward receiving condition, a first reward receiving code is generated, the first reward receiving code is added into the reward information, and the related information of the first reward receiving code is stored in an effective reward receiving code set of the server;
the prize winning code storage module is used for storing an effective prize winning code set;
the first information sending module is used for sending the reward information to the client;
the second information receiving module is used for receiving the prize drawing verification information uploaded by the client and extracting a prize drawing code from the prize drawing verification information uploaded by the client as a second prize drawing code;
the prize drawing code verification module is used for verifying the validity of a second prize drawing code extracted from the prize drawing verification information according to an effective prize drawing code set stored by the server to obtain a verification result;
and the second information sending module is used for sending the verification result to the client.
In some embodiments, the reward information generation module comprises: the prize receiving condition judging unit is used for judging whether the current user meets the corresponding preset prize receiving condition or not according to the user behavior information; the prize drawing code generating unit is used for generating a prize drawing code when the current user meets the corresponding prize drawing condition; and the reward information generating unit is used for generating reward information according to the judgment result of the reward receiving condition judging unit and the reward receiving code generated by the reward receiving code generating unit.
In some embodiments, the prize winning code generating unit generates the prize winning code including: acquiring a user key of a current user; acquiring a timestamp of the corresponding first prize winning code according to the generation time of the first prize winning code, and encrypting the timestamp by using the user key to generate an encryption result; and carrying out first coding on the encryption result of the time stamp to obtain a first prize winning code.
In some embodiments, the reward information generation module storing information related to the first winning code to a set of valid winning codes of a server comprises: storing a timestamp of the first prize winning code to an effective prize winning code set of the server; the verification of the validity of the second prize winning code extracted from the prize winning verification information by the prize winning code verification module comprises the following steps: decoding the second verification code according to the inverse operation of the first code to obtain a decoding result; decrypting the decoding result according to the user secret key of the current user to obtain a decryption result; comparing the decryption result with the time stamps of all first prize winning codes in the effective prize winning code set; and when the time stamp of the first prize drawing code matched with the decryption result exists, judging that the second prize drawing code corresponding to the decryption result is matched with the first prize drawing code corresponding to the time stamp, and judging that the second prize drawing code is valid according to the verification result.
The embodiment of the second aspect of the present invention provides an anti-cheating device for user behavior verification on the client side, which includes:
the third information sending module is used for uploading user behavior information to the server;
the third information receiving module is used for receiving reward information fed back by the server, the reward information is generated according to an analysis result of the user behavior information, and when the analysis result meets a preset reward receiving condition, the reward receiving information comprises a first reward receiving code;
the information processing module is used for extracting a first prize drawing code from the reward information and generating prize drawing verification information comprising the first prize drawing code;
the fourth information sending module is used for sending the prize drawing verification information to the server;
and the fourth information receiving module is used for receiving a verification result fed back by the server, and the verification result is generated by the server according to the prize drawing verification information.
According to the device, the anti-cheating method for verifying the user behaviors is used, interaction between the client and the server is carried out in the user prize drawing process, a unique dynamic prize drawing code is generated by the server based on the user behaviors and is sent to the client in the prize drawing preparation stage, the client feeds the prize drawing code back to the server for verification in the prize drawing execution process, and the effectiveness of the prize drawing behavior is judged. Therefore, the method can effectively identify the prize drawing request from the non-client side, so that the traditional cheating modes such as counterfeiting or interception of the retransmitted prize drawing request and the like cannot be realized, the cheating cost is increased, and the cheating behavior is favorably stopped.
A third embodiment of the present invention provides a non-transitory computer-readable storage medium, on which a computer program is stored, which when executed by a processor, implements the anti-cheating method for server-side user behavior verification according to the first aspect of the present invention.
The third aspect of the present invention provides a non-transitory computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the anti-cheating method for client-side user behavior verification according to the first aspect of the present invention.
A fourth aspect of the present invention provides a computer program product, wherein instructions in the computer program product, when executed by a processor, implement the anti-cheating method for client-side user behavior verification according to the first aspect of the present invention.
In an embodiment of a fifth aspect of the present invention, there is provided a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor executes the computer program to implement the anti-cheating method for verifying user behavior on a server side according to the first aspect of the present invention.
The fifth aspect of the present invention provides a computer device, which is characterized by comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the anti-cheating method for client-side user behavior verification according to the first aspect of the present invention.
The non-transitory computer-readable storage medium, the computer program product and the computer device according to the third to fifth aspects of the present invention have similar advantageous effects to the methods and apparatuses according to the first and second aspects of the present invention, and thus, will not be described herein again.
Drawings
The foregoing and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a schematic flow chart diagram of an anti-cheating method for server-side user behavior verification according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a first prize winning code generating method according to an embodiment of the present invention;
FIG. 3 is a flow chart of a second prize winning code verification method according to one embodiment of the present invention;
FIG. 4 is a flow chart of a second prize winning code verification method according to another embodiment of the present invention;
FIG. 5 is a flow chart of a second prize winning code verification method according to another embodiment of the present invention;
FIG. 6 is a flowchart illustrating an anti-cheating method of client-side user behavior verification, according to an embodiment of the present invention;
FIG. 7 is a block diagram of an anti-cheating device for server-side user behavior verification, according to an embodiment of the present invention;
FIG. 8 is a block diagram of an anti-cheating device for server-side user behavior verification, according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of the interaction process of the server side and the client side of the anti-cheating method for user behavior verification according to an embodiment of the present invention; and
fig. 10 is a schematic structural diagram of a computer apparatus according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
At present, in most internet application programs, only user identity authentication is generally performed in the interaction between a server and a client, and the cheating of violent cracking of a user account is prevented. For example, when logging in, a dynamic picture verification code is provided, and a user inputs the dynamic picture verification code after performing visual identification to perform verification operation, so that violent cracking of an account number and a password is avoided. However, once the user logs in, there is a lack of security measures for subsequent interactive processes. To promote application capture, many applications (e.g., PC clients and mobile client APPs) provide rewards based on user behavior, such as user login rewards, consecutive login days rewards, online duration rewards, timed red envelope snatching, second kill on clicks on merchandise, etc., to encourage user installation and use. The cheating is realized by the reward, various ways for impersonating and multi-collar reward are developed under the drive of benefits, and new cheating ways are continuously created. For example, the application is repeated by intercepting the prize receiving request information sent by the user to the server, and performing reverse cracking and mass copying.
How to judge whether the user behavior is really happening or not and whether the user behavior information received by the server side is generated by the actual user operation at the client side are one of the keys for preventing cheating. One of the main objects of the present invention is to provide an anti-cheating means for user behavior verification. Corresponding rewards can be obtained by ensuring the real operation of the real user, and the cheating behavior can be effectively identified. The main idea is that before and during the prize drawing process, the user behavior is authenticated by the background interaction of the application client and the server side and the prize drawing code provided by the server side, so as to prevent cheating.
The invention aims at the anti-cheating of the user behavior, and can be used for the distribution process of the substance reward and other scenes. In this application, "reward" is to be understood in a broad sense and includes not only delivery of direct benefits such as red envelope, card, cash, real object, etc., but also composition of valid statistics, identification of specific actions by the user, etc. For example, a task of an APP requires a user to perform several operations. When the user performs these actions, the user may also be considered as a reward by assuming that the task is completed.
The following describes in detail embodiments of the present invention with reference to the drawings. The method of the invention respectively executes corresponding operations at the client side and the server side.
Fig. 1 is a flowchart illustrating an anti-cheating method for server-side user behavior verification according to an embodiment of the present invention. Referring to fig. 1, the anti-cheating method of user behavior verification may include steps S100 to S600.
In step S100, user behavior information uploaded by the client is received.
There may be a prize drawing condition based on various different forms of user behavior, and there may also be various different trigger conditions for drawing a prize. For example, the user's login behavior, the number of consecutive login days satisfying a preset condition, the online duration satisfying a preset condition, and the like may be used as the prize winning trigger condition, and the server may automatically determine whether the trigger condition is satisfied. Or, the user may also specify a specific "prize winning" button clicked by the user as a trigger condition, and start the prize winning process according to the click behavior of the user. The user behavior information uploaded by the client can also have different forms aiming at different trigger forms.
For example, the receiving of the user behavior information uploaded by the client may include: and receiving the user name and the user login time information uploaded by the client. Or receiving the user name and the prize drawing request information uploaded by the client and the like.
In step S200, analyzing according to the received user behavior information, and generating bonus information of the user according to an analysis result, wherein when the analysis result meets a preset bonus winning condition, a first bonus winning code is generated, the first bonus winning code is added to the bonus information, and information related to the first bonus winning code is stored in an effective bonus winning code set of the server.
For example, in the first scenario, the server determines the prize winning condition according to the user login information and starts the prize winning process. The user behavior information uploaded by the receiving client can comprise a user name and user login time information. At this time, the analyzing according to the received user behavior information may include: analyzing according to the currently received user behavior information and the cumulatively received user behavior information to obtain login time distribution and/or login duration distribution of the user; and when the login time distribution of the user meets a preset condition and/or the login duration distribution meets the preset condition, generating a first prize winning code. And when the preset condition is not met, feeding back no information or feeding back information with unsatisfied prize drawing conditions to the client. In other words, the award information may be empty or include information that the award condition is not satisfied.
In the second scenario, a prize drawing process is started according to a prize drawing request of a user. At this time, the receiving the user behavior information uploaded by the client includes: and receiving the user name and the prize drawing request information uploaded by the client. The analyzing according to the received user behavior information comprises: and judging whether the user meets the reward condition corresponding to the reward receiving request. And when the user meets the reward condition corresponding to the reward receiving request, generating a first reward receiving code. And similarly, when the preset condition is not met, the information that the prize drawing condition is not met is not fed back or fed back to the client. In other words, the award information may be empty or include information that the award condition is not satisfied.
When the reward information is fed back, in order to further enhance the security, when the reward receiving condition is met, the reward information can also comprise a verification code. So as to realize that the prize can be won only after the verification code is input by the user at the client. The authentication code may take the general form in the related art at present, such as a 4-8 bit character string or a picture authentication code containing a 4-8 bit character string for identification.
In order to achieve a better anti-cheating effect, the first prize drawing code can be set to be dynamically generated in a one-code-at-a-time mode. That is, the first winning prize code generated each time the winning prize condition is satisfied is different. In addition, in order to prevent cheaters from intercepting the prize-receiving codes and then forging the prize-receiving codes through a reverse cracking generation mechanism for obtaining the prize-receiving codes, the prize-receiving codes are selected in a form which is difficult to crack in structure. Such as various encryption codes. In other words, a dynamic non-repeating encrypted string may be used as the first winning code. The encryption key may be set separately for each user account (ID). Also, the encrypted "seed" string may be selected with time-dependent variables to facilitate prize winning code validation in subsequent steps. And the encrypted result is encoded to facilitate network transmission.
The effective prize drawing code set stored by the server can be identified according to different users, so that when the user prize drawing is verified, verification is carried out only according to the effective prize drawing code set corresponding to the current user identification, and the verification speed can be increased.
Referring to fig. 2, fig. 2 is a flowchart illustrating a first prize winning code generating method according to an embodiment of the present invention. A specific prize winning code generation method is provided, which includes steps S221 to S223.
In step S221, a user key of the current user is obtained. For example, a combination of the account number of the current user and a predefined string may be used as the user key. In this way, the user key can be stored in the server, and can also be generated directly and quickly while obtaining the user account, so that the time for searching the key is saved.
In step S222, a timestamp of the corresponding first winning code is obtained according to the generation time of the first winning code, and the timestamp is encrypted by the user key to generate an encrypted result. The encryption can use various existing encryption algorithms, and the invention does not make special requirements.
In some embodiments, in order to prevent a malicious user from reverse cracking according to the client, the prize winning code does not perform any decoding operation at the client. Therefore, a symmetric encryption algorithm, such as a CRC (Cyclic Redundancy Check), may be used.
A timestamp (timestamp) is a time representation and is a variable having a unique correspondence with a specific time point. Different accuracies can be taken, e.g. to seconds, milliseconds, etc. For example, the timestamp of the current time may be defined as the total number of seconds from greenwich mean time 1970, 01, 00 hours, 00 minutes, 00 seconds, to the current time. For example, time 2017/12/4 corresponds to a time stamp of 1512352800 at 10:00: 00.
The time stamp of the prize drawing code generation time is used as the encrypted 'seed' parameter, so that the prize drawing code generation time is convenient to obtain, and on the other hand, due to the uniqueness of the prize drawing code generation time, the probability of the repeated prize drawing codes of different time stamps after encryption is almost 0. Moreover, if the time efficiency is set for the prize drawing operation, the valid period of the prize drawing code can be calculated conveniently by using the time stamp.
In step S223, the first coding is performed on the encrypted result to obtain a first prize winning code. The first encoding may be performed to further increase the difficulty of decryption and/or to facilitate network transmission. For example, the first encoding may employ base64 encoding.
Base64 is one of the most common encoding methods for transmitting 8-Bit byte codes on a network, is a method for representing binary data based on 64 printable characters, and can be used for transmitting long identification information in an HTTP environment.
In some scenarios, a user may request a prize draw many times within 1 second, possibly in a short time by a large number of prize draws, such as a red envelope robbing or a second killing activity. If the time stamp is chosen to be accurate to seconds, then simply using the time stamp will not distinguish between more than one request within 1 second, which may correspond to the same first winning code. Therefore, when a plurality of prize receiving codes need to be generated within the minimum unit time corresponding to the timestamp, an identification bit can be further set for the timestamp, the identification bit represents the generation sequence number of the prize receiving codes within the unit time, and the timestamp with the identification bit is encrypted by the user secret key to obtain an encryption result. And, another advantage is that when the prize drawing code returned by the client is verified, the verification according to the sending sequence can be realized. Therefore, for cheating behaviors such as a large number of retransmissions after malicious interception or plug-in retransmissions used by a user, the sequence of the provided prize receiving codes cannot be matched with the generation sequence of the prize receiving codes of the server with a high probability, so that the cheating behaviors can be identified.
For example, a winning code and a time stamp according to an embodiment of the present invention are shown in table 1.
TABLE 1
User' s Serial number Prize-winning number Time stamp
User 1 1 1FDSFSLDFLJ12312123LKJFD 1512352861
User 1 2 ASDLJSDKLF12FASD0U23423 1512352861
User 1 3 F3F48HF892FWDKJHWF222KS 1512352862
User 2 1 WEOIURWSOIU23KJ234KJ9F 1512352811
User 2 2 IUYWE982HKJSFSDOI203HS 1512352821
User 2 3 1231KHSDFOI23H93KJNERW 1512352832
…… …… …… ……
In step S300, the bonus information is sent to the client. The prize winning information can be directionally sent to the client terminal which the current user meeting the prize winning condition logs in. In order to increase the difficulty of interception and prevent illegal interception, the reward information with the first prize winning code can also be transmitted to the client terminal through a relatively secure network transmission channel (for example, through an encryption protocol such as SSL).
In step S400, the prize drawing verification information uploaded by the client is received, and a prize drawing code is extracted from the prize drawing verification information uploaded by the client as a second prize drawing code. For normal users, the extracted second winning code should be the same as the sent first winning code, since the client may be set to send the received first winning code back to the server again.
In the case of cheating, the prize drawing verification information received by the server may not be directly sent by the client, but is disguised information constructed by a cheater, so that the extracted second prize drawing code may be different from the first verification code sent by the server, and thus the validity of the second verification code needs to be determined.
In step S500, the validity of the second prize winning code extracted from the prize winning verification information is verified according to the valid prize winning code set stored in the server, so as to obtain a verification result. One of the most basic verification ideas is: and comparing the second prize drawing code with all the first prize drawing codes in the effective prize drawing code set stored by the server, and when the first prize drawing codes matched with the second prize drawing codes exist, verifying that the second prize drawing codes are effective.
There may be further different specific verification modes for the specific coding form of the first winning code. Fig. 3 is a flowchart illustrating a second prize winning code verification method according to another embodiment of the present invention, and this embodiment is directed to the verification of the second prize winning code when the first prize winning code is constructed by the method described with reference to fig. 2 in step S200. In this embodiment, when storing the information related to the first winning code to the valid winning code set of the server, the method may include: and storing the time stamp of the first prize winning code to the effective prize winning code set of the server. The verifying the validity of the second prize winning code extracted from the prize winning verification information includes steps S511 to S514.
In step S511, the second verification code is decoded according to the inverse operation of the first code, and a decoding result is obtained.
In step S512, the decoding result is decrypted according to the user key of the current user, so as to obtain a decryption result.
In step S513, the decryption result is compared with the time stamps of all the first winning codes in the valid winning code set.
In step S514, when the time stamp of the first winning code matching the decryption result exists, it is determined that the second winning code corresponding to the decryption result matches the first winning code corresponding to the time stamp, and the verification result indicates that the second winning code is valid.
In some embodiments, the anti-cheating performance can be further enhanced by setting timeliness for the prize drawing code or instantly deleting the verified prize drawing code (corresponding to the situation of the drawn prize), and the like.
Fig. 4 is a flowchart illustrating a second prize winning code verification method according to another embodiment of the present invention. Wherein the authentication process includes steps S521 to S525.
In step S521, the second winning code is compared with all the first winning codes in the set of valid winning codes stored by the server. The comparison may be made directly by the encoded string of the winning code or indirectly by the "seed parameter" (e.g., timestamp) after decoding the secret. When the winning codes are longer or more in number, such as the encoding scheme described with reference to the embodiment of fig. 2, it may be more efficient to compare the "seed parameters" (e.g., time stamps).
In step S522, it is determined whether there is a first winning code matching the second winning code, if yes, step S523 is performed, otherwise, step S525 is performed.
In step S523, the second winning code is determined to be valid.
In step S524, the first prize winning code and the related information thereof matching the second prize winning code are deleted from the set of valid prize winning codes. Once the corresponding effective second prize winning codes appear, the prize winning is successful, which means that the matched first prize winning codes are invalid, and the deletion from the effective prize winning code set can improve the subsequent comparison execution efficiency and further prevent the invalid prize winning codes from being reused.
In step S525, it is determined that the second winning code is invalid.
In some embodiments, an expiration date may be set for the winning code. And storing the generation time and the validity period of the first verification code in a valid prize winning code set of the server. The verification of the second prize winning code extracted from the prize winning verification information further comprises a failure verification process. Referring to fig. 5, fig. 5 is a flowchart illustrating a second prize winning code verification method according to another embodiment of the present invention. The second prize winning code verification method of the present embodiment may include steps S531 to S536.
In step S531, the second winning code is compared with all the first winning codes in the set of valid winning codes stored by the server.
In step S532, it is determined whether there is a first winning code matching the second winning code, if yes, step S533 is performed, otherwise, step S536 is performed.
In step S533, when there is a first winning code matching the second winning code, the verification time of the second winning code is further compared with the generation time of the matching first verification code.
In step S534, it is determined whether the verification time of the second winning code is within the validity period of the matched winning code, if so, step S535 is executed, otherwise, step S536 is executed.
In step S535, it is determined that the verification result is that the second winning code is valid.
In step S536, it is determined that the verification result is that the second winning code is invalid.
In some embodiments, to further enhance security, only the second winning code returned in the order of generation of the first winning code may be considered valid. At this time, the storing the information related to the first winning code to the valid winning code set of the server further includes: and storing the related information of the first prize drawing codes according to the generation sequence of the first prize drawing codes. The verification of the second prize winning code extracted from the prize winning verification information further comprises: comparing the second prize drawing code with the related information of the first prize drawing code with the first prize drawing code in the first sequence in the effective prize drawing code set, and when the second prize drawing code is matched with the first prize drawing code with the first sequence, the verification result is that the second prize drawing code is effective; otherwise, the verification result is that the second prize winning code is invalid.
In step S600, the verification result is transmitted to the client. When the verification result is that the second prize drawing code is invalid, prompt information such as the condition that prize drawing is not met can be sent to the client. When the verification result is that the second prize drawing code is valid, prompt information such as successful prize drawing and the like can be sent to the client. Rewards may also be issued to the user account at the same time.
Fig. 6 is a flowchart illustrating an anti-cheating method for client-side user behavior verification according to an embodiment of the present invention. The client-side anti-cheating method includes steps S100 'to S500'.
In step S100', user behavior information is uploaded to the server. According to different scenarios, the user behavior information may include a user name and user login time information, or include a user name and prize drawing request information, and the like. Specifically, refer to the description of step S100 in conjunction with fig. 1, and no repeated description is given.
In step S200', receiving bonus information fed back by the server, wherein the bonus information is generated according to the analysis result of the user behavior information. And when the analysis result meets the preset prize drawing condition, the prize drawing information comprises a first prize drawing code. The specific structure of the first winning code can be seen from the description of step S200 in fig. 2 in conjunction with fig. 1.
In some embodiments, the received server-fed reward information may include a validation code in addition to the first winning code. The verification code is a 4-8 bit character string or a picture verification code containing a 4-8 bit character string for identification.
In step S300', a first prize drawing code is extracted from the prize information, and prize drawing verification information is generated.
The prize drawing verification information can be generated automatically after the client receives the prize information of the server, or generated according to the specific operation behavior of the user. For example, the user clicks the "receive prize" button, and then generates the verification information of the receive prize.
Generally, the information of the server is not easily obtained, and a cheater often creates a cheating method by analyzing the client, so that the first prize winning code is not processed at the client. The prize winning verification information directly comprises the first prize winning code.
In step S400', prize drawing verification information is transmitted to the server.
And in step S500', receiving a verification result fed back by the server, wherein the verification result is generated by the server according to the prize drawing verification information. The process of verification can be seen in the description of step S500 in conjunction with fig. 1 and 3-5.
By using the anti-cheating method for user behavior verification, the client and the server interact in the user prize drawing process, the server generates a unique dynamic prize drawing code based on the user behavior and sends the dynamic prize drawing code to the client in the prize drawing preparation stage, and the client feeds the prize drawing code back to the server for verification in the prize drawing execution process, so that the effectiveness of the prize drawing behavior is judged. Therefore, the method can effectively identify the prize drawing request from the non-client side, so that the traditional cheating modes such as counterfeiting or interception of the retransmitted prize drawing request and the like cannot be realized, the cheating cost is increased, and the cheating behavior is favorably stopped.
In order to implement the method in the above-described embodiment of the first aspect, an embodiment of the second aspect of the present invention proposes an anti-cheating means for user behavior verification on the server side and the client side, respectively. It should be noted that the foregoing explanation of the method embodiment of the present invention also applies to the apparatus embodiment of the present invention, and all details will not be repeated in the apparatus embodiment in order to avoid redundancy. Where not exhausted, a person skilled in the art will refer to the above description relating to embodiments of the method of the invention in connection with fig. 1 to 6.
Fig. 7 is a block diagram of an anti-cheating device for server-side user behavior verification according to an embodiment of the present invention. The anti-cheating device 100 for verifying the server user behavior comprises: the system comprises a first information receiving module 110, a reward information generating module 120, a prize receiving code storage module 130, a first information sending module 140, a second information receiving module 150, a prize receiving code verification module 160 and a second information sending module 170.
The first information receiving module 110 is configured to receive user behavior information uploaded by a client. The specific implementation form can be referred to the description of step S100 in conjunction with fig. 1.
The reward information generation module 120 is configured to analyze the received user behavior information and generate reward information of the user according to an analysis result, wherein when the analysis result meets a preset reward receiving condition, a first reward receiving code is generated, the first reward receiving code is added to the reward information, and information related to the first reward receiving code is stored in an effective reward receiving code set of the server. The specific implementation form can be seen from the description of step S200 in conjunction with fig. 1 and fig. 2.
Specifically, the reward information generation module may include: the system comprises a prize receiving condition judging unit, a prize receiving code generating unit and a reward information generating unit.
And the prize drawing condition judging unit is used for judging whether the current user meets the corresponding preset prize drawing condition or not according to the user behavior information. And the prize drawing code generating unit is used for generating a prize drawing code when whether the current user meets the corresponding prize drawing condition. The reward information generating unit is used for generating reward information according to the judgment result of the reward receiving condition judging unit and the reward receiving code generated by the reward receiving code generating unit.
In some embodiments, the prize winning code generating unit generates the prize winning code including: acquiring a user key of a current user; acquiring a timestamp of the corresponding first prize winning code according to the generation time of the first prize winning code, and encrypting the timestamp by using the user key to generate an encryption result; and carrying out first coding on the encryption result of the time stamp to obtain a first prize winning code.
Accordingly, the step of storing the information related to the first prize winning code in the effective prize winning code set of the server by the prize information generation module comprises the following steps: and storing the time stamp of the first prize winning code to the effective prize winning code set of the server.
The verification of the validity of the second prize winning code extracted from the prize winning verification information by the prize winning code verification module may include: decoding the second verification code according to the inverse operation of the first code to obtain a decoding result; decrypting the decoding result according to the user secret key of the current user to obtain a decryption result; comparing the decryption result with the time stamps of all first prize winning codes in the effective prize winning code set; and when the time stamp of the first prize drawing code matched with the decryption result exists, judging that the second prize drawing code corresponding to the decryption result is matched with the first prize drawing code corresponding to the time stamp, and judging that the second prize drawing code is valid according to the verification result.
The prize winning code storage module 130 is used for storing the valid prize winning code set.
The first information sending module 140 is used for sending the reward information to the client. The specific implementation form can be referred to the description of step S300 in conjunction with fig. 1.
The second information receiving module 150 is configured to receive the prize-receiving verification information uploaded by the client, and extract a prize-receiving code from the prize-receiving verification information uploaded by the client as a second prize-receiving code. The specific implementation form can be referred to the description of step S400 in conjunction with fig. 1.
And the prize winning code verification module 160 is configured to verify the validity of the second prize winning code extracted from the prize winning verification information according to the valid prize winning code set stored by the server, so as to obtain a verification result. The specific implementation form can be seen in the description of step S500 in conjunction with fig. 1 and fig. 3-5.
And a second information sending module 170, configured to send the verification result to the client. The specific implementation form can be referred to the description of step S600 in conjunction with fig. 1.
Fig. 8 is a block diagram of an anti-cheating device for server-side user behavior verification according to an embodiment of the present invention. The client-side anti-cheating device 200 for user behavior verification includes a third information sending module 210, a third information receiving module 220, an information processing module 230, a fourth information sending module 240, and a fourth information receiving module 250.
The third information sending module 210 is configured to upload user behavior information to the server.
The third information receiving module 220 is configured to receive reward information fed back by the server, where the reward information is generated according to an analysis result of the user behavior information, and when the analysis result meets a preset reward receiving condition, the reward receiving information includes a first reward receiving code.
The information processing module 230 is configured to extract a first prize winning code from the bonus information and generate prize winning verification information including the first prize winning code.
The fourth information sending module 240 is configured to send the prize winning verification information to the server.
The fourth information receiving module 250 is configured to receive a verification result fed back by the server, where the verification result is generated by the server according to the prize drawing verification information.
Reference may be made to the description of the method embodiments with regard to specific implementation forms of the respective modules.
By using the anti-cheating device for user behavior verification, the client and the server interact in the user prize drawing process, a unique dynamic prize drawing code is generated by the server based on the user behavior and is sent to the client in the prize drawing preparation stage, and the client feeds the prize drawing code back to the server for verification in the prize drawing execution process, so that the effectiveness of the prize drawing behavior is judged. Therefore, the method can effectively identify the prize drawing request from the non-client side, so that the traditional cheating modes such as counterfeiting or interception of the retransmitted prize drawing request and the like cannot be realized, the cheating cost is increased, and the cheating behavior is favorably stopped.
Fig. 9 is a schematic diagram of the interaction process of the server side and the client side of the anti-cheating method for user behavior verification according to the embodiment of the present invention.
In the preparation stage before the prize winning, the client uploads the user behavior information to the server, and the server analyzes according to the user information (including the user behavior information uploaded by the client and the accumulated user behavior record) to judge whether the user meets a specific prize winning condition. And when the user meets the prize winning condition, a prize winning code is generated and stored in the server (the prize winning code generated by the server side is named as a first prize winning code). And then the server returns the prize winning code to the client.
In the prize drawing process, the client submits prize drawing verification information to the server, and the prize drawing verification information comprises the received first prize drawing code. And after receiving the prize drawing verification information, the server performs prize drawing verification. And extracting the prize drawing code from the prize drawing verification information of the client (the extracted prize drawing code is named as a second prize drawing code), and comparing the second prize drawing code with the stored first prize drawing code to verify the validity of the second prize drawing code. And generating an award receiving result according to the validity of the second award receiving code. And finally, returning the result of winning the prize to the client. And finishing the prize winning process.
An embodiment of the third aspect of the invention provides a non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements an anti-cheating method of user behavior verification on a server side according to the invention.
Embodiments of the third aspect of the present invention also provide another non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the client-side anti-cheating method of user behavior verification of the present invention.
Generally, computer instructions for carrying out the methods of the present invention may be carried using any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. By non-transitory computer readable medium can be included any computer readable medium except for the signal itself, which is temporarily propagating.
A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
An embodiment of a fourth aspect of the present invention provides a computer program product, wherein instructions of the computer program product, when executed by a processor, implement the anti-cheating method for client-side user behavior verification according to an embodiment of the first aspect of the present invention.
Embodiments of the fourth aspect of the present invention further provide a computer program product, where instructions of the computer program product, when executed by a processor, implement the anti-cheating method for user behavior verification on a server side according to embodiments of the first aspect of the present invention.
In an embodiment of a fifth aspect of the present invention, there is provided a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor executes the computer program to implement the anti-cheating method for server-side user behavior verification according to the first aspect of the present invention.
The fifth aspect of the present invention provides another computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor executes the computer program to implement the anti-cheating method for client-side user behavior verification according to the first aspect of the present invention.
The non-transitory computer-readable storage medium, the computer program product and the computer device according to the third to fifth aspects of the present invention may be implemented with reference to the content specifically described in the embodiments according to the first aspect of the present invention, and have similar advantageous effects to the method according to the first aspect of the present invention, and will not be described herein again.
FIG. 10 illustrates a block diagram of an exemplary computer device suitable for use to implement embodiments of the present application. The computer device 12 shown in fig. 10 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present application.
As shown in FIG. 10, computer device 12 may be implemented in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. These architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, to name a few.
Computer device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 28 may include computer system readable media in the form of volatile Memory, such as Random Access Memory (RAM) 30 and/or cache Memory 32. Computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer-readable storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown, but commonly referred to as a "hard drive"). Although not shown in FIG. 10, a disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a Compact disk Read Only Memory (CD-ROM), a Digital versatile disk Read Only Memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the application.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally perform the functions and/or methodologies of the embodiments described herein.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with the computer system/server 12, and/or with any devices (e.g., network card, modem, etc.) that enable the computer system/server 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public Network such as the Internet) via Network adapter 20. As shown, network adapter 20 communicates with the other modules of computer device 12 via bus 18. It is noted that although not shown, other hardware and/or software modules may be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing, for example, implementing the methods mentioned in the foregoing embodiments, by executing programs stored in the system memory 28.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing steps of a custom logic function or process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention. The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. If implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
Although embodiments of the present invention have been shown and described above, it should be understood that the above embodiments are illustrative and not to be construed as limiting the present invention, and that changes, modifications, substitutions and alterations can be made in the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (21)

1. An anti-cheating method for user behavior verification is characterized by comprising the following steps:
receiving user behavior information uploaded by a client;
analyzing according to the received user behavior information, and generating reward information of the user according to an analysis result, wherein when the analysis result meets a preset reward receiving condition, a first reward receiving code is generated, the first reward receiving code is added into the reward information, and relevant information of the first reward receiving code is stored in an effective reward receiving code set of a server; wherein the generating of the first prize winning code comprises: acquiring a user key of a current user; acquiring a timestamp of the corresponding first prize winning code according to the generation time of the first prize winning code, and encrypting the timestamp by using the user key to generate an encryption result; carrying out first coding on the encryption result to obtain a first prize drawing code; when a plurality of prize receiving codes need to be generated in the minimum unit time corresponding to the timestamp, an identification bit is further set for the timestamp, the identification bit represents a generation sequence number of the prize receiving codes in the unit time, and the timestamp with the identification bit is encrypted by the user secret key to obtain an encryption result;
transmitting the reward information to the client;
receiving prize drawing verification information uploaded by the client, and extracting a prize drawing code from the prize drawing verification information uploaded by the client as a second prize drawing code;
verifying the validity of a second prize winning code extracted from the prize winning verification information according to a valid prize winning code set stored by the server to obtain a verification result;
and sending the verification result to the client.
2. The anti-cheating method of user behavior verification according to claim 1,
the receiving of the user behavior information uploaded by the client comprises: receiving a user name and user login time information uploaded by a client;
the analyzing according to the received user behavior information comprises: analyzing according to the currently received user behavior information and the cumulatively received user behavior information to obtain login time distribution and/or login duration distribution of the user;
when the analysis result satisfies the preset prize winning condition, a first prize winning code is generated, including: and when the login time distribution of the user meets a preset condition and/or the login duration distribution meets the preset condition, generating a first prize winning code.
3. The anti-cheating method of user behavior verification according to claim 1,
the receiving of the user behavior information uploaded by the client comprises: receiving a user name and prize winning request information uploaded by a client;
the analyzing according to the received user behavior information comprises: judging whether the user meets the reward condition corresponding to the reward receiving request;
when the analysis result satisfies the preset prize winning condition, a first prize winning code is generated, including: and when the user meets the reward condition corresponding to the reward receiving request, generating a first reward receiving code.
4. The anti-cheating method in accordance with claim 1, wherein the reward information further comprises a verification code, wherein the verification code is a 4-8 bit string or a picture verification code comprising a 4-8 bit string for identification.
5. The anti-cheating method of user behavior verification according to claim 1, wherein a first prize winning code generated each time a preset prize winning condition is satisfied is different, and the first prize winning code is an encrypted code.
6. The anti-cheating method of user behavior verification according to claim 5,
the step of storing the relevant information of the first winning code to the effective winning code set of the server comprises the following steps: storing a timestamp of the first prize winning code to an effective prize winning code set of the server;
the verifying the validity of the second prize winning code extracted from the prize winning verification information includes:
decoding the second verification code according to the inverse operation of the first code to obtain a decoding result;
decrypting the decoding result according to the user secret key of the current user to obtain a decryption result;
comparing the decryption result with the time stamps of all first prize winning codes in the effective prize winning code set;
and when the time stamp of the first prize drawing code matched with the decryption result exists, judging that the second prize drawing code corresponding to the decryption result is matched with the first prize drawing code corresponding to the time stamp, and judging that the second prize drawing code is valid according to the verification result.
7. The anti-cheating method of user behavior verification according to claim 1, wherein verifying the validity of the second prize winning code extracted from the prize winning verification information comprises:
and comparing the second prize drawing code with all the first prize drawing codes in the effective prize drawing code set stored by the server, and when the first prize drawing codes matched with the second prize drawing codes exist, verifying that the second prize drawing codes are effective.
8. The anti-cheating method according to claim 6 or 7, wherein when a second winning code is validated, a first winning code matching the second winning code and its related information are deleted from the set of valid winning codes.
9. Anti-cheating method of user behavior verification according to claim 6 or 7,
storing information related to the first winning code to the set of valid winning codes of the server further comprises: storing the generation time and the validity period of the first verification code in a valid prize winning code set of the server;
the verification of the second prize winning code extracted from the prize winning verification information further comprises: when a first prize winning code matched with a second prize winning code exists, comparing the verification time of the second prize winning code with the generation time of the matched first prize winning code, judging whether the verification time of the second prize winning code is in the valid period of the matched prize winning code, and if the verification time of the second prize winning code is in the valid period, verifying that the result is that the second prize winning code is valid; otherwise, the second prize winning code is invalid.
10. Anti-cheating method of user behavior verification according to claim 6 or 7,
storing information related to the first winning code to the set of valid winning codes of the server further comprises: storing the related information of the first prize drawing code according to the generation sequence of the first prize drawing code;
the verification of the second prize winning code extracted from the prize winning verification information further comprises: comparing the second prize drawing code with the related information of the first prize drawing code with the first prize drawing code in the first sequence in the effective prize drawing code set, and when the second prize drawing code is matched with the first prize drawing code with the first sequence, the verification result is that the second prize drawing code is effective; otherwise, the verification result is that the second prize winning code is invalid.
11. An anti-cheating method for user behavior verification is characterized by comprising the following steps:
uploading user behavior information to a server;
receiving reward information fed back by a server, wherein the reward information is generated according to an analysis result of user behavior information, and when the analysis result meets a preset reward receiving condition, the reward receiving information comprises a first reward receiving code; the first prize receiving code is generated by the server acquiring a user key of a current user, acquiring a timestamp of the corresponding first prize receiving code according to the generation time of the first prize receiving code, encrypting the timestamp by using the user key to generate an encryption result, and performing first coding on the encryption result; when a plurality of prize receiving codes need to be generated in the minimum unit time corresponding to the timestamp, an identification bit is further set for the timestamp, the identification bit represents a generation sequence number of the prize receiving codes in the unit time, and the timestamp with the identification bit is encrypted by the user secret key to obtain an encryption result;
extracting a first prize drawing code from the reward information and generating prize drawing verification information, wherein the prize drawing verification information comprises the first prize drawing code;
sending award drawing verification information to a server;
and receiving a verification result fed back by the server, wherein the verification result is generated by the server according to the prize drawing verification information.
12. The anti-cheating method based on user behavior verification of claim 11, wherein the user behavior information comprises: user name and user login time information, or user name and prize winning request information.
13. The anti-cheating method of user behavior verification according to claim 11,
the received reward information fed back by the server further comprises a verification code, wherein the verification code is a 4-8 bit character string or a picture verification code containing the 4-8 bit character string for identification;
the prize drawing verification information comprises the first prize drawing code and a verification code.
14. An anti-cheating device for user behavior verification, comprising:
the first information receiving module is used for receiving the user behavior information uploaded by the client;
the reward information generation module is used for analyzing according to the received user behavior information and generating reward information of the user according to an analysis result, wherein when the analysis result meets a preset reward receiving condition, a first reward receiving code is generated, the first reward receiving code is added into the reward information, and the related information of the first reward receiving code is stored in an effective reward receiving code set of the server;
the prize winning code generation unit generates the prize winning code and includes: acquiring a user key of a current user; acquiring a timestamp of the corresponding first prize winning code according to the generation time of the first prize winning code, and encrypting the timestamp by using the user key to generate an encryption result; carrying out first coding on the encryption result of the timestamp to obtain a first prize winning code; when a plurality of prize receiving codes need to be generated in the minimum unit time corresponding to the timestamp, an identification bit is further set for the timestamp, the identification bit represents a generation sequence number of the prize receiving codes in the unit time, and the timestamp with the identification bit is encrypted by the user secret key to obtain an encryption result;
the prize winning code storage module is used for storing an effective prize winning code set;
the first information sending module is used for sending the reward information to the client;
the second information receiving module is used for receiving the prize drawing verification information uploaded by the client and extracting a prize drawing code from the prize drawing verification information uploaded by the client as a second prize drawing code;
the prize drawing code verification module is used for verifying the validity of a second prize drawing code extracted from the prize drawing verification information according to an effective prize drawing code set stored by the server to obtain a verification result;
and the second information sending module is used for sending the verification result to the client.
15. The user behavior-verified anti-cheating device according to claim 14, wherein said reward information generation module comprises:
the prize receiving condition judging unit is used for judging whether the current user meets the corresponding preset prize receiving condition or not according to the user behavior information;
the prize drawing code generating unit is used for generating a prize drawing code when the current user meets the corresponding prize drawing condition;
and the reward information generating unit is used for generating reward information according to the judgment result of the reward receiving condition judging unit and the reward receiving code generated by the reward receiving code generating unit.
16. The anti-cheating device for user behavior verification according to claim 15,
the step of storing the relevant information of the first prize winning code in the effective prize winning code set of the server by the prize information generating module comprises the following steps: storing a timestamp of the first prize winning code to an effective prize winning code set of the server;
the verification of the validity of the second prize winning code extracted from the prize winning verification information by the prize winning code verification module comprises the following steps:
decoding the second verification code according to the inverse operation of the first code to obtain a decoding result;
decrypting the decoding result according to the user secret key of the current user to obtain a decryption result;
comparing the decryption result with the time stamps of all first prize winning codes in the effective prize winning code set;
and when the time stamp of the first prize drawing code matched with the decryption result exists, judging that the second prize drawing code corresponding to the decryption result is matched with the first prize drawing code corresponding to the time stamp, and judging that the second prize drawing code is valid according to the verification result.
17. An anti-cheating device for user behavior verification, comprising:
the third information sending module is used for uploading user behavior information to the server;
the third information receiving module is used for receiving reward information fed back by the server, the reward information is generated according to an analysis result of the user behavior information, and when the analysis result meets a preset reward receiving condition, the reward receiving information comprises a first reward receiving code; the first prize receiving code is generated by the server acquiring a user key of a current user, acquiring a timestamp of the corresponding first prize receiving code according to the generation time of the first prize receiving code, encrypting the timestamp by using the user key to generate an encryption result, and performing first coding on the encryption result; when a plurality of prize receiving codes need to be generated in the minimum unit time corresponding to the timestamp, an identification bit is further set for the timestamp, the identification bit represents a generation sequence number of the prize receiving codes in the unit time, and the timestamp with the identification bit is encrypted by the user secret key to obtain an encryption result;
the information processing module is used for extracting a first prize drawing code from the reward information and generating prize drawing verification information comprising the first prize drawing code;
the fourth information sending module is used for sending the prize drawing verification information to the server;
and the fourth information receiving module is used for receiving a verification result fed back by the server, and the verification result is generated by the server according to the prize drawing verification information.
18. A non-transitory computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements an anti-cheating method of user behavior verification according to any of claims 1-10.
19. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the anti-cheating method of user-behavior-verification according to any one of claims 1-10 when executing the program.
20. A non-transitory computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements an anti-cheating method of user behavior verification according to any of claims 11-13.
21. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the anti-cheating method of user-behavior-verification according to any one of claims 11-13 when executing the program.
CN201810432546.2A 2018-05-08 2018-05-08 Anti-cheating method and device for user behavior verification Active CN108712408B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810432546.2A CN108712408B (en) 2018-05-08 2018-05-08 Anti-cheating method and device for user behavior verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810432546.2A CN108712408B (en) 2018-05-08 2018-05-08 Anti-cheating method and device for user behavior verification

Publications (2)

Publication Number Publication Date
CN108712408A CN108712408A (en) 2018-10-26
CN108712408B true CN108712408B (en) 2021-03-23

Family

ID=63868563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810432546.2A Active CN108712408B (en) 2018-05-08 2018-05-08 Anti-cheating method and device for user behavior verification

Country Status (1)

Country Link
CN (1) CN108712408B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105263A (en) * 2018-10-29 2020-05-05 北京奇虎科技有限公司 User identification method and device, electronic equipment and storage medium
CN109873921B (en) * 2019-02-14 2023-04-07 魔门塔(苏州)科技有限公司 Image timestamp transmission method, image timestamp analysis method and image timestamp analysis device
CN111144931B (en) * 2019-12-10 2021-07-06 中国建设银行股份有限公司四川省分行 System, method and related apparatus for providing customer benefit activities
CN110933113B (en) * 2019-12-30 2021-04-09 腾讯科技(深圳)有限公司 Block chain-based interactive behavior detection method, device, equipment and storage medium
CN112261038B (en) * 2020-10-20 2021-08-06 苏州莱锦机电自动化有限公司 Big data acquisition method and system, computer equipment and storage medium thereof
CN113743979B (en) * 2021-07-26 2024-06-21 山东赤子城网络技术有限公司 Virtual resource allocation method, device, computer equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647461A (en) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 Communication method, server and terminal based on HTTP (Hypertext Transfer Protocol)
CN107888615A (en) * 2017-12-01 2018-04-06 郑州云海信息技术有限公司 A kind of safety certifying method of Node registry

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667277A (en) * 2008-09-05 2010-03-10 杨卫星 Anti-counterfeiting lottery cashing method and anti-counterfeiting lottery cashing system
CN105308582B (en) * 2013-06-18 2018-08-07 索尼公司 Information processing unit, information processing method and computer-readable medium
CN105208094B (en) * 2015-08-21 2018-07-06 广东欧珀移动通信有限公司 A kind of message informing method and messaging systems
CN105653944B (en) * 2015-12-25 2018-06-12 北京奇虎科技有限公司 Cheating detection method and device
CN105678530A (en) * 2016-02-17 2016-06-15 中国建设银行股份有限公司 Data processing method and system
CN107563798A (en) * 2017-08-22 2018-01-09 北京潘达互娱科技有限公司 Prize-winning data processing method and device
CN107968953A (en) * 2017-11-28 2018-04-27 北京潘达互娱科技有限公司 Anti- cheating user method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647461A (en) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 Communication method, server and terminal based on HTTP (Hypertext Transfer Protocol)
CN107888615A (en) * 2017-12-01 2018-04-06 郑州云海信息技术有限公司 A kind of safety certifying method of Node registry

Also Published As

Publication number Publication date
CN108712408A (en) 2018-10-26

Similar Documents

Publication Publication Date Title
CN108712408B (en) Anti-cheating method and device for user behavior verification
US11552993B2 (en) Automated collection of branded training data for security awareness training
US9892404B2 (en) Secure identity authentication in an electronic transaction
CN109194625B (en) Client application protection method and device based on cloud server and storage medium
CN102682233B (en) Methods and systems for scalable distribution of protected content
WO2017076214A1 (en) A sms-based website login method and login system thereof
CN102231716B (en) Instant communication service login method
CN105435451A (en) Game cheating recognizing and processing method and device, system and server
CN108075888B (en) Dynamic URL generation method and device, storage medium and electronic equipment
WO2013119323A1 (en) Systems and methods for profiling client devices
CN111130798B (en) Request authentication method and related equipment
WO2022252466A1 (en) Application authorization method, computing device, and storage medium
CN109033808B (en) Game experience method and account server
WO2019061597A1 (en) Data processing method and server
US8683188B2 (en) Reboot controller to prevent unauthorized reboot
CN110224824B (en) Digital certificate processing method and device, computer equipment and storage medium
CN109150898B (en) Method and apparatus for processing information
WO2017215650A1 (en) Automatic login method and device for micro-game client, program, and medium
CN112054999B (en) Method and system for detecting state of Steam platform account
CN111585978A (en) Method, client, server and system for intercepting false requests
KR20230086094A (en) Big data access management system server that manages access to data stored on big data storage server
CN114401117A (en) Account login verification system based on block chain
CN111740938B (en) Information processing method and device, client and server
CN111291336B (en) Game registration method and device in game platform
CN114329431B (en) New user verification method based on mobile equipment multiple feature detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant