WO2019047511A1 - 防止被刷的验证方法、装置及直播系统 - Google Patents
防止被刷的验证方法、装置及直播系统 Download PDFInfo
- Publication number
- WO2019047511A1 WO2019047511A1 PCT/CN2018/081414 CN2018081414W WO2019047511A1 WO 2019047511 A1 WO2019047511 A1 WO 2019047511A1 CN 2018081414 W CN2018081414 W CN 2018081414W WO 2019047511 A1 WO2019047511 A1 WO 2019047511A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- server
- gift
- sliding track
- verification
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25816—Management of client data involving client authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
Definitions
- the present disclosure relates to the field of network information security technologies, and in particular, to a method, device, and live broadcast system for preventing a brush from being brushed.
- online live video broadcasts are broadcasted online using Internet and streaming media technologies.
- various activities will be launched, for example, on the anchor live broadcast platform (for example, the Betta live broadcast platform).
- the duration can receive free gifts (for example, fish balls), which can be used to reward the audience through the anchor, or to allow the audience to participate in the treasure chest to promote the interaction between the anchor and the audience.
- free gifts for example, fish balls
- some technicians or hackers will write scripts to automate the collection of "fish balls” and automatic treasure chests. These scripts have great advantages over other viewers to manually grab gifts, resulting in most of the "fish balls” being taken away by these technicians or hackers, resulting in most other viewers not being able to get gifts, not reaching the platform to promote the anchor and The purpose of interaction between viewers.
- the purpose of the present disclosure includes providing a verification method, a device, and a live broadcast system for preventing a brush from being authenticated by setting a multi-layer verification method, and setting multiple verifications can effectively prevent passage.
- the phenomenon of software tools stealing gifts occurs.
- Embodiments of the present disclosure provide a verification method for preventing a brush from being applied to a client and a server that communicate with each other, the method comprising:
- the server records the number of times the client receives the gift
- the legality of the client is verified by using a protocol including a sliding track
- the legality of the client is verified by inputting the verification information.
- the method further includes:
- the server sends a gift collection message to each client in the live room of the anchor in response to the operation of opening the gift collection activity by the anchor, where the gift collection message includes the quantity of the gift to be received, the number of the gift to be received, and the The KEY value used by the client to encrypt;
- the client Receiving, by the client, the gift collection message, displaying a sliding frame, and responding to the sliding operation of the sliding frame by the user, recording a sliding track corresponding to the sliding operation, and transmitting a response protocol including preset encrypted data to the server Data
- the preset encrypted data includes a device identifier of the client, a user ID reported by the client when logging in to the server, and a obtained token, a room number of a live room where the client is located, and the client The current timestamp, the sliding track of the client record, the number of gifts to be received sent by the server, the number of the gift to be received, and the KEY value used by the client for encryption.
- the server receives the operation of the client to receive a gift, including:
- the verifying the validity of the client by using a protocol including a sliding track including:
- the verifying the validity of the client by using a protocol including a sliding track further includes:
- the verifying the validity of the client by using a protocol including a sliding track includes:
- the server sends a gift receiving agreement to all clients in the live broadcast room, wherein the agreement content includes a gift quantity, a gift number, and a key value used by the client for encryption;
- the client displays an animation and a sliding frame for receiving a gift
- the client records a sliding track of the mouse within the sliding frame
- the client obtains the client protocol according to the preset encryption parameter, where the preset encryption parameter includes the user ID reported by the client, the number of gifts delivered by the server, the gift number delivered by the server, the time stamp of the current client, and the client.
- the device ID of the device the token obtained when the client logs in, the room number of the live broadcast room to which the client belongs, the key value used by the client for encryption, and the sliding track of the user on the client;
- the user ID reported by the client in the protocol field the number of gifts delivered by the server, the gift number delivered by the server, the timestamp of the current client, the device ID of the client, the token obtained when the client logs in, and the live broadcast of the client.
- the room number and the key value used by the client are consistent with the data stored by the server, it is determined whether the sliding track is legal according to a preset rule. When the sliding track is legal, the client is determined to be legal. Otherwise, It is determined that the client is not legal.
- determining whether the sliding track is legal according to a preset rule includes:
- the method further includes:
- the server invokes a preset asymmetric encryption algorithm to generate a matching private key and a public key, and sends the generated public key to each client in the live broadcast room of the anchor to save;
- Each client invokes the preset asymmetric encryption algorithm to generate a matching private key and a public key, and sends the generated public key to the server for saving;
- the automatic verification is used to verify the legality of the client, including:
- the client encrypts the received random number according to its private key and the public key of the server to obtain an encrypted data, and sends the encrypted data to the server;
- the server decrypts the encrypted data according to the private key of the server and the public key of the client, and compares the data obtained after decryption with the delivered random number;
- the verifying the validity of the client by inputting the verification information includes:
- the client responds to the verification information input operation, and sends the input verification information to the server;
- the server compares the input verification information uploaded by the client with the issued verification information
- the embodiment of the present disclosure further provides a verification device for preventing a brush from being applied to a server that communicates with a client, the device comprising:
- a receiving module configured to receive an operation of the client to receive a gift
- Obtaining a module configured to record the number of times the client receives the gift
- the determining module is configured to determine whether the number of times the client receives the gift exceeds a preset number of times
- the verification module is configured to verify the legality of the client by using a protocol including a sliding track when the number of times the gift is received does not exceed the first preset number of times;
- the verification module is configured to verify the legality of the client by using an automatic verification method when the number of times the gift is received is not less than the first preset number of times and does not exceed the second preset number of times;
- the verification module is further configured to verify the legality of the client by inputting the verification information when the number of times the gift is received is not less than the second preset number of times.
- the manner in which the verification module verifies the legitimacy of the client by using a protocol including a sliding track includes:
- the encryption parameters include the user ID reported by the client, the number of gifts delivered by the server, the gift number sent by the server, the timestamp of the current client, the device ID of the client, the token obtained when the client logs in, and the live broadcast room of the client.
- the user ID reported by the client in the protocol field the number of gifts delivered by the server, the gift number delivered by the server, the timestamp of the current client, the device ID of the client, the token obtained when the client logs in, and the live broadcast of the client.
- the room number and the key value used by the client are consistent with the data stored by the server, it is determined whether the sliding track is legal according to a preset rule. When the sliding track is legal, the client is determined to be legal. Otherwise, It is determined that the client is not legal.
- determining whether the sliding track is legal according to a preset rule includes:
- the device further includes:
- the key generation module is configured to generate a matching private key and a public key by using a preset asymmetric encryption algorithm, and send the generated public key to each client in the live room where the anchor is located to save;
- a key saving module configured to receive a public key sent by each client in a live room where the anchor is located and save the public key
- the verification module uses the automatic verification manner to verify the legality of the client, including:
- the client encrypts the random number according to the private key of the client and the public key of the server;
- the manner in which the verification module verifies the legality of the client by inputting the verification information includes:
- the embodiment of the present disclosure further provides a live broadcast system, including a server and a client that are communicably connected to each other;
- the server is configured to send a gift collection message to each client in the live room of the anchor in response to the operation of the anchor to open the gift collection activity, where the gift collection message includes the quantity of the gift to be received, and the gift to be received.
- the client is configured to receive a gift collection message sent by the server, display a sliding frame, and respond to the sliding operation of the sliding frame by the user, record a sliding track corresponding to the sliding operation, and send the preset to the server
- Setting the response protocol data of the encrypted data, the preset encrypted data includes the device identifier of the client, the user ID reported by the client when logging in to the server, and the obtained token, and the room of the live room where the client is located. Number, the current timestamp of the client, the sliding track of the client record, the number of gifts to be received sent by the server, the number of the gift to be received, and the KEY value used by the client for encryption;
- the server is further configured to receive the response protocol data, record the number of times the client receives the gift, and determine whether the number of times the client receives the gift exceeds a preset number of times, and the number of times the gift is received at the client is not When the first preset number of times is exceeded, the legality of the client is verified according to the sliding track in the response protocol data; the number of times the gift is received at the client is not less than a first preset number of times and does not exceed the second pre- When the number of times is set, the validity of the client is verified by means of automatic verification; when the number of times the gift is received by the client is not less than the second preset number, the authentication of the client is performed by inputting the verification information. Sexual verification.
- the manner in which the server verifies the legitimacy of the client according to the sliding track in the response protocol data is:
- Decrypting the received response protocol data obtaining a plurality of protocol field data, and detecting whether the plurality of protocol field data are consistent with corresponding data stored in the server; and when the plurality of protocol field data and the server When the corresponding data stored in the data is consistent, detecting whether the plurality of protocol field data includes a sliding track; when the plurality of protocol field data includes a sliding track, verifying the legality of the sliding track according to a preset rule; When the sliding track is legal, it is determined that the client is legal;
- the manner in which the server verifies the legality of the sliding track according to a preset rule is:
- the sliding track is a user input track; when the line corresponding to the sliding track is a straight line, the sliding track is determined to be a non-user input track.
- the server is further configured to invoke a preset asymmetric encryption algorithm to generate a matching private key and a public key, and send the generated public key to the live broadcast room of the anchor. Saved by each client in ;
- Each client is further configured to invoke the preset asymmetric encryption algorithm to generate a matching private key and a public key, and send the generated public key to the server for saving;
- the server is further configured to send a random number to the client, so that the client encrypts the random number according to the private key and the public key of the server to obtain an encrypted data, and encrypts the encrypted data.
- the client is legal, otherwise it is determined that the client is not legal, so as to verify the legality of the client by means of automatic verification.
- the method, the device and the live broadcast system for preventing the brush from being provided by the present disclosure set the corresponding client legality verification scheme by receiving the number of gifts, and setting the manner of requiring the audience to participate or automatically verifying the number of different gifts, and the gift can be received.
- the number of users is controlled to prevent hackers or technicians from using software tools to steal gifts, so that more viewers who receive gifts through legal channels have the opportunity to get gifts, so that more viewers are interested in participating in live interactive activities. Increase the appeal of the live platform to the audience and a good user experience.
- FIG. 1 is a schematic diagram of interaction between a client and a server according to a first embodiment of the present disclosure.
- FIG. 2 is a schematic block diagram of a client according to an embodiment of the present disclosure.
- FIG. 3 is a schematic block diagram of a server according to an embodiment of the present disclosure.
- FIG. 4 is a schematic flowchart diagram of a method for verifying a brush to be provided according to an embodiment of the present disclosure.
- FIG. 5 is a schematic flow chart of the sub-steps of step S440 in FIG.
- FIG. 6 is a schematic flow chart of the sub-steps of step S450 in FIG.
- FIG. 7 is a schematic flow chart of the sub-steps of step S460 in FIG.
- FIG. 8 is a functional block diagram of a verification device for preventing brushing according to a second embodiment of the present disclosure.
- Icon 100-client; 200-server; 300-network; 110-first memory; 120-first processor; 130-first communication unit; 140-storage controller; 210-second memory; 220- Second processor; 230-second communication unit; 500-verification device; 510-receiving module; 520-recording module; 530-judgement module; 540-verification module.
- FIG. 1 is a schematic diagram of a connection of a live broadcast system according to an embodiment of the present disclosure.
- the live broadcast system includes a client 100 and a server 200 that are communicably connected to each other.
- the server 200 can communicate with the client 100 over the network 300 to enable data communication or interaction between the server 200 and the client 100.
- the server 200 may be, but not limited to, a web server, a file transfer protocol (ftp) server, and the like.
- the client 100 can be, but not limited to, a smart phone, a personal computer (PC), a tablet computer, a personal digital assistant (PDA), a mobile Internet device (MID), and the like.
- the network 300 can be, but is not limited to, a wired network or a wireless network.
- the operating system of the client 100 may be, but not limited to, an Android system, an IOS (iPhone operating system) system, a Windows phone system, a Windows system, and the like.
- the operating system of the client 100 is an Android system.
- the application may be any application (Application, APP) provided by the server 200 for the client 100 to customize download and install.
- the application may be a betta live broadcast APP.
- FIG. 2 is a block diagram of the client 100 shown in FIG. 1.
- the client 100 includes a first memory 110, a first processor 120, a first communication unit 130, and a storage controller 140.
- the first memory 110, the first processor 120, the first communication unit 130, and the storage controller 140 are electrically connected to each other directly or indirectly to implement data transmission or interaction.
- the components can be electrically connected to one another via one or more communication buses or signal lines.
- the first memory 110 may be, but not limited to, a random access memory (RAM), a read only memory (ROM), and a programmable read only memory (Programmable Read-Only Memory, PROM), Erasable Programmable Read-Only Memory (EPROM), Electric Erasable Programmable Read-Only Memory (EEPROM), and the like.
- the first memory 110 is configured to store a program, and the first processor 120 executes the program after receiving the execution instruction.
- the first processor 120 can be an integrated circuit chip with signal processing capabilities.
- the first processor 120 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), and the like. It can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA off-the-shelf programmable gate array
- the methods, steps, and logical block diagrams disclosed in the embodiments of the present disclosure may be implemented or carried out.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the first communication unit 130 is configured to establish a communication connection between the client 100 and the server 200.
- the first communication unit 130 can connect to the network 300 by using the radio frequency signal sent by the radio frequency unit, and then establish a communication connection with the first communication unit 130 of the server 200 through the network 300, and send the collected user behavior information to the server 200.
- the behavior of the user robbing the gift at the client 100 or inputting authentication information or the like is transmitted to the server 200.
- the structure shown in FIG. 2 is merely illustrative, and the client 100 may further include more or less components than those shown in FIG. 2, or have a different configuration from that shown in FIG. 2.
- the components shown in Figure 2 can be implemented in hardware, software, or a combination thereof.
- FIG. 3 is a block diagram of the server 200 shown in FIG. 1.
- the server 200 includes a second memory 210, a second processor 220, and a second communication unit 230.
- the components of the second memory 210, the second processor 220, and the second communication unit 230 are electrically connected directly or indirectly to each other to implement data transmission or interaction.
- the components can be electrically connected to one another via one or more communication buses or signal lines.
- the second processor 220 is configured to execute an executable module stored in the second memory 210.
- the second memory 210 stores a verification device 500 for preventing the brushing, and the verification device 500 for preventing the brushing includes at least one software function module that can be stored in the second memory 210 in the form of software or firmware.
- the second processor 220 executes various functional applications and data processing by executing a software program and a module stored in the second memory 210, such as the flash-proof verification device 500 in the embodiment of the present disclosure, that is, implementing the present The method of verifying the prevention of being brushed in the disclosed embodiments.
- the second memory 210 is configured to store a program, and the second processor 220 executes the program upon receiving an execution instruction.
- the second communication unit 230 is configured to establish a communication connection between the server 200 and the client 100 through the network 300, and is configured to receive, by the network 300, the collected user operations sent by the client 100. information.
- FIG. 4 is a schematic flowchart diagram of a method for verifying the prevention of being brushed according to an embodiment of the present disclosure. The method is applied to the client 100 and the server 200 that communicate with each other. The specific process of the method is as follows:
- Step S410 the server 200 receives an operation of the client 100 to receive a gift.
- the server 200 may send a corresponding activity open message to all clients in the live room.
- the server 200 may send a gift collection message (ie, an activity open message) to all the clients 100 currently in the live room of the anchor.
- the gift collection message may be protocol data based on a preset gift collection agreement, for example, where the number of gifts to be received, the number of the gifts to be received, and the KEY value used by the client for encryption may be included.
- the number of the gifts to be received may be a randomly generated number to ensure that the number of the gifts to be received is different in each event.
- the gift collection message sent by the server 200 may be in the following format:
- Server_send_client 30+yw10005+bacdef;
- the client 100 When the client 100 receives the gift collection message, the client 100 displays an interface of the corresponding interactive activity, for example, a treasure chest pattern and/or a control configured to receive the gift. When the viewer clicks on such a pattern or control, the client 100 is triggered to execute the corresponding interactive logic. At this time, the client 100 sends a response protocol to the server 200, informing the server 200 that the client 100 has an operation for receiving a gift.
- the response protocol sent by the client 100 to the server may be response protocol data based on the preset gift collection protocol.
- the control configured to receive the gift may be a sliding frame, and the user may perform a sliding operation in the sliding frame by using a mouse to trigger the client 100 to perform logic for receiving the gift.
- the client 100 can record a sliding trajectory of the mouse in the sliding frame, the sliding trajectory including coordinates of a plurality of points that the mouse passes on the screen of the client 100.
- the coordinate may be a coordinate in a Cartesian coordinate system established by the horizontal line of the screen of the client 100 being the X axis and the vertical line being the Y axis.
- the client 100 may send the response protocol data to the server 200 according to the preset gift collection protocol to notify the server 200 that the client 100 needs to receive the gift.
- the response protocol data may include preset encrypted data, which is data obtained by encrypting the following information:
- the current user UID (User Identification) on the client 100, the number of the gift to be received issued by the server 200, the number of gifts to be received by the server 200, the current timestamp of the client 100, and the device identifier of the client 100 (Device ID), a token obtained when the client 100 logs in to the server 200, a live room number to which the client 100 belongs, a sliding track recorded by the client 100, a KEY value used by the client 100 for encryption, and the like.
- UID User Identification
- the device identifier may be a MEID (Mobile Equipment Identifier) for uniquely identifying the client 100.
- MEID Mobile Equipment Identifier
- the response protocol data can be encrypted by:
- EncryptData TEA.encrypt(UID+30+TIME+RoomID+DeviceID+Token+yw10005+Position, bacdef); wherein 30 is the number of gifts to be received by the server 200, and TIME is the current timestamp of the client 100.
- the room ID is the room number of the live room where the client 100 is currently located, and the yw 10005 is the number of the gift to be received issued by the server 200.
- the Position is the sliding track recorded by the client 100, and the bacdef is used by the client 100 to be encrypted by the server 200. KEY value.
- step S420 the server 200 records the number of times the client 100 receives the gift.
- the server 200 may be provided with a global variable for recording the number of times the different users receive the gift, and the initial value of the global variable is 0.
- the server 200 may create the global variable when receiving the response protocol data sent by the client 100 of a certain user for the first time, and the global variable and the UID of the user and/or the client 100 of the user. Device ID association.
- the server 200 receives the response protocol data sent by the client 100, the corresponding global variable is determined according to the identity information (UID and/or device identifier) in the response protocol data and the response time, and the global variable is determined.
- the current value is increased by 1. In this way, the number of times the client 100 receives the gift can be known through the global variable corresponding to each client 100, so as to verify the legality of the client 100 by using different verification methods.
- step S430 it is determined whether the number of times the client 100 receives the gift exceeds a preset number of times.
- two preset times may be set, for example, the first preset number of times and the second preset number of times.
- the first preset number of times is less than the second preset number of times.
- Step S440 when the number of times the gift is received does not exceed the first preset number of times, verifying the legitimacy of the client 100 by using a protocol including a sliding track.
- step S440 may include the following steps:
- the sliding track is verified to determine the legitimacy of the sliding track.
- step S440 may further include the following steps:
- the step S440 may include the following steps:
- step S441 the server 200 sends a protocol for receiving gifts to all the clients 100 in the live broadcast room.
- the server 200 will issue the current number of gifts that can be received, the current gift number, and the KEY value used by the client 100 for encryption.
- the current gift number can be different every time, and can be randomly generated to ensure that there is no repetition before.
- Server_send_client 30+yw10005+bacdef;
- bacdef indicates the key value used by the client 100 for encryption.
- step S442 the client 100 displays an animation and a sliding frame for receiving a gift.
- the client 100 pops up the gift animation, and also generates a sliding frame for receiving the gift, and the viewer needs to complete the mouse sliding in the box to receive the gift.
- step S443 the client 100 records the sliding track of the mouse in the sliding frame.
- step S444 the client 100 performs data processing to obtain a client protocol.
- the client 100 is based on the user ID reported by the client 100, the number of gifts delivered by the server 200, the gift number delivered by the server 200, the timestamp of the current client 100, the device ID of the client 100, and the login time of the client 100.
- the obtained token, the room number of the live room to which the client 100 belongs, the key value used by the client 100 for encryption, and the sliding track of the user on the client 100 are encrypted to obtain a client protocol.
- the form of the client protocol may be as follows:
- encryptData TEA.encrypt(UID+30+TIME+RoomID+DeviceID+Token+yw10005+Position,bacdef);
- the UID is the user ID reported by the client 100
- the TIME is the timestamp of the current client 100
- the RoomID is the room number of the live room to which the client 100 belongs
- the DeviceID is the device ID of the client 100
- the Token is the client 100 when logging in.
- the obtained token, Position is the sliding track coordinates of the mouse sliding.
- Step S445 the server 200 receives the client protocol reported by the client 100, and verifies the protocol field in the client protocol.
- Step S446 When the data in the protocol field is consistent with the corresponding data stored in the server 200, determine whether the sliding track is legal according to a preset rule, and determine the legality of the client 100 according to the verification result.
- the server 200 decrypts the client protocol (received response protocol data) to obtain a protocol field reported by the client 100, and performs data in the protocol field. verification.
- the user ID reported by the client 100 in the protocol field the number of gifts delivered by the server 200, the gift number delivered by the server 200, the timestamp of the current client 100, the device ID of the client 100,
- the token obtained when the client 100 logs in, the room number of the live room to which the client 100 belongs, and the key value used by the client 100 for encryption are compared with the data stored by the server 200. If they match, the preset rule verifies the sliding.
- the legality of the trajectory can be achieved by the following steps:
- the client 100 when the protocol field that satisfies the client protocol is the same as the data stored by the server 200, and the sliding track is legal, the client 100 is determined to be legal. Otherwise, the client 100 is determined to be illegal.
- step S450 when the number of times the gift is received is not less than the first preset number of times and the second preset number of times is not exceeded, the legality of the client 100 is verified by using an automatic verification manner.
- the method for preventing the brush from being brushed may further include the following two steps:
- the server 200 and the client 100 respectively call an asymmetric encryption algorithm to generate a pair of public and private keys.
- the private key may be generated by using a random number, and the corresponding public key may be generated by calling an interface function of the RSA, where the private key and the public key are uniquely paired.
- Privatekey rand();//The private key is generated using a random number.
- Publickey RSA.CreatePair(Privatekey); The public key is generated by calling RSA.
- the public key of the server 200 and the public key of the client 100 are interchanged.
- the server 200 sends the generated public key to each client 100 in the live room where the anchor is located, and each client 100 sends the generated public key to the server 200 for storage.
- the step S450 includes sub-step S453 to sub-step S455.
- Sub-step S451 the server 200 sends a random number to the client 100;
- Sub-step S452 the client 100 encrypts the random number according to its private key and the public key of the server 200 to obtain an encrypted data, and transmits the encrypted data to the server 200.
- the manner in which the client 100 obtains encrypted data may be:
- the client 100 performs MD5 calculation on the random number sent by the server 200. After the calculation is completed, the data is encrypted using an encryption algorithm.
- the encryption process can be as follows:
- the client 100 can generate a shared key using the private key of the client 100 and the public key of the server 200.
- KEY RSA.Sharekey (client privatekey, server publickey);
- the client 100 calculates the MD5 value of the data sent by the server 200.
- the final Md5Result result is obtained by calculating the MD5 value from the random number sent by the server 200.
- the Md5Result result is encrypted and reported to the server 200 by using an encryption algorithm (for example, a TEA encryption algorithm).
- an encryption algorithm for example, a TEA encryption algorithm
- EncryptData TEA.Encrypt(MD5Result, KEY);
- the KEY value used is calculated by the client private key and the server public key. This KEY value is not transmitted in the network 300 and is very secure.
- Sub-step S453 the server 200 decrypts the encrypted data according to the private key of the server 200 and the public key of the client 100, and determines that the data obtained after the decryption is compared with the issued random number.
- the server 200 generates a shared secret key by its own private key and the public key of the server 200.
- KEY RSA.Sharekey (server privatekey, client publickey);
- the server 200 decrypts the encrypted data reported by the client 100 using the Key value.
- the server 200 compares the decrypted MD5Result with the random number delivered by the server 200.
- Sub-step S454 when the data obtained after the decryption is consistent with the issued random number, it is determined that the client 100 is legal. When the data obtained after the decryption is inconsistent with the issued random number, it is determined that the client 100 is not legitimate.
- the client 100 When it is determined that the client 100 is legal, the client 100 can be notified that the gift can be successfully received. When the client 100 is determined to be illegal, the client 100 is denied the receiving operation and the corresponding reminding information is given.
- step S460 when the number of times the gift is received is not less than the second preset number, the legality of the client 100 is verified by inputting the verification information.
- step S450 may include the following sub-steps:
- Sub-step S461 the server 200 sends a verification message to the client 100.
- the server 200 When the client 100 receives more than 2 gifts, the server 200 will perform further legality verification on the client 100. To prevent the client 100 from stealing gifts by using a software tool.
- the server 200 causes the client 100 to pop up an interface for inputting a verification code, and the server 200 transmits the verification information to the mobile phone through the mobile phone number bound to the client 100.
- the verification information includes, but is not limited to, a numeric string, a character string, a phrase, and the like.
- Sub-step S462 the client 100 transmits the input verification information to the server 200 in response to the verification information input operation.
- Sub-step S463, the server 200 compares the input verification information uploaded by the client 100 with the issued verification information.
- the client 100 After the viewer inputs the verification code on the interface of the client 100 to input the verification code, the client 100 uploads the input verification code to the server 200, and the server 200 compares the received verification code with the issued verification code information.
- Sub-step S464 when the input verification information uploaded by the client 100 is consistent with the issued verification information, it is determined that the client 100 is legal. When the input verification information uploaded by the client 100 is inconsistent with the issued verification information, the determination is performed. The client 100 is not legal.
- the client 100 When it is determined that the client 100 is legal, the client 100 can be notified that the gift can be successfully received. When the client 100 is determined to be illegal, the client 100 is denied the receiving operation and the corresponding reminding information is given.
- FIG. 9 is a functional block diagram of a verification device 500 for preventing brushing according to an embodiment of the present disclosure.
- the authentication device 500 is applied to the server 200.
- the verification device 500 for preventing the brushing includes a receiving module 510, a recording module 520, a determining module 530, and a verification module 540.
- the receiving module 510 is configured to receive the operation of the client 100 to receive a gift.
- the receiving module 510 is configured to perform step S410 in FIG. 5. For details, refer to step S410, and details are not described herein again.
- the recording module 520 is configured to obtain the number of times the client 100 receives the gift.
- the recording module 520 is configured to perform step S420 in FIG. 5. For details, refer to step S420, and details are not described herein again.
- the determining module 530 is configured to determine whether the number of times the client 100 receives the gift exceeds a preset number of times.
- the verification module 540 is configured to verify the legitimacy of the client 100 by using a protocol including a sliding track when the number of times the gift is received does not exceed the first preset number of times.
- the manner in which the verification module 540 verifies the legitimacy of the client 100 by using a protocol including a sliding track includes:
- Receiving the client protocol reported by the client 100, and verifying the protocol field in the client protocol, where the client protocol is used by the client 100 according to the user ID reported by the client 100, and the server 200 The number of gifts issued, the gift number delivered by the server 200, the time stamp of the current client 100, the device ID of the client 100, the token obtained when the client 100 logs in, the room number of the live room to which the client 100 belongs, and the client
- the key value used for 100 encryption is encrypted by the user's sliding track on the client 100.
- the number of gifts delivered by the server 200 the gift number delivered by the server 200, the timestamp of the current client 100, the device ID of the client 100, and the login of the client 100 are obtained.
- the token, the room number of the live room to which the client 100 belongs, and the key value used by the client 100 for encryption are consistent with the data stored by the server 200, and determine whether the sliding track is legal according to a preset rule, and when the sliding track is legal.
- the client 100 is determined to be legal, otherwise, the client 100 is determined to be illegal.
- the manner in which the verification module 540 determines whether the sliding track is legal according to the preset rule may include:
- the verification module 540 is configured to verify the legality of the client 100 by using an automatic verification manner when the number of times the gift is received is not less than the first preset number of times and the second predetermined number of times is not exceeded.
- the verification apparatus 500 may further include a key generation module and a key preservation module.
- the key generation module is configured to invoke a preset asymmetric encryption algorithm to generate a matching private key and a public key, and send the generated public key to each client in the live room where the anchor is located.
- the key saving module is configured to receive and save the public key sent by each client in the live room where the anchor is located.
- the manner in which the verification module 540 verifies the legality of the client 100 by using an automatic verification manner may include:
- the client 100 sends a random number to the client 100, the client 100 encrypts the random number according to the private key of the client 100 and the public key of the server 200;
- the private data of the server 200 and the public key of the client 100 are used to decrypt the encrypted data obtained by the client 100 based on the processed random number, and the decrypted data is compared with the issued random number.
- the verification module 540 is further configured to verify the client 100 by inputting verification information when the number of times the gift is received is not less than the second preset number of times.
- the manner in which the verification module 540 verifies the legality of the client 100 by inputting the verification information includes:
- the client 100 When the input verification information uploaded by the client 100 is consistent with the issued verification information, it is determined that the client 100 is legal. When the input verification information uploaded by the client 100 is inconsistent with the issued verification information, the client 100 is determined. illegal.
- the method, the device and the live broadcast system for preventing the brush being provided by the present disclosure set the corresponding client 100 legality verification scheme by receiving the number of gifts, and set the audience to participate or automatically verify the number of different gifts.
- users with more gifts can be controlled to prevent hackers or technicians from using software tools to steal gifts, so that more viewers who receive gifts through legal channels have the opportunity to get gifts, so that more viewers are interested.
- the method, the device and the live broadcast system for preventing the brush from being provided by the disclosure can control the user terminal that receives the gift more frequently, and prevent the hacker or the technician from using the software tool to steal the gift, so as to obtain more gifts through legal means.
- the audience has the opportunity to get gifts, so that more viewers are interested in participating in the live interactive activities, increasing the appeal of the live platform to the audience and a good user experience.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供的防止被刷的验证方法、装置及直播系统,通过领取礼品次数设置对应的客户端合法性验证方案,针对不同的领取礼品次数设置需要观众参与或自动验证的方式,可以对领取礼品次数较多的用户端进行管控,防止黑客或技术人员采用软件工具盗刷礼品,让更多通过合法途径领取礼品的观众有机会获得礼品,从而让更多的观众有兴趣参与到直播互动活动中,增加直播平台对观众的吸引力及良好的用户体验。
Description
相关申请的交叉引用
本申请要求于2017年09月08日提交中国专利局的申请号为2017108042364、名称为“防止被刷的验证方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本公开涉及网络信息安全技术领域,具体而言,涉及一种防止被刷的验证方法、装置及直播系统。
目前,网络视频直播通过利用互联网及流媒体技术进行在线直播,随着直播平台的发展,各种各样的活动也会随之展开,例如在主播直播平台(比如,斗鱼直播平台)观看一定时长可以领取免费礼品(比如,鱼丸),可以是通过主播打赏观众,或让观众参与进行抢宝箱等方式来促进主播与观众之间的互动。然而一部分技术人员或者黑客会编写一些脚本来实现自动领取“鱼丸”和自动抢宝箱的功能。这些编写的脚本相比其他观众手动抢礼品具有极大的优势,从而导致大多数“鱼丸”都被这些技术人员或黑客抢走,导致其他大部分观众无法获得礼品,未达到平台促进主播与观众之间互动的目的。
发明内容
为了克服现有技术中的上述不足,本公开目的包括提供一种防止被刷的验证方法、装置及直播系统,通过设置多层验证方式对客户端的合法性进行验证,设置多重验证可以有效防止通过软件工具盗刷礼品的现象发生。
为了实现上述目的,本公开实施例所采用的技术方案如下所示:
本公开实施例提供一种防止被刷的验证方法,所述方法应用于相互通信的客户端与服务器,所述方法包括:
所述服务器接收所述客户端领取礼品的操作;
所述服务器记录该客户端领取礼品的次数;
判断该客户端领取礼品的次数是否超过预设次数;
当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端的合法性;
当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端的合法性进行验证;
当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
可选地,在本公开实施例中,所述方法还包括:
所述服务器响应主播开启礼品领取活动的操作,向该主播所在直播房间中的每个客户端发送礼品领取消息,该礼品领取消息中包括待领取礼品的数量、所述待领取礼品的编号及该客户端加密使用的KEY值;
所述客户端接收所述礼品领取消息,显示一滑动框,并响应用户对该滑动框的滑动操作,记录该滑动操作对应的滑动轨迹,并向所述服务器发送包括预设加密数据的应答协议数据,该预设加密数据包括所述客户端的设备标识、所述客户端登录到所述服务器时上报的用户ID和获得的令牌、所述客户端所在直播房间的房间号、所述客户端当前的时间戳、所述客户端记录的滑动轨迹以及所述服务器发送的待领取礼品的数量、待领取礼品的编号和所述客户端加密使用的KEY值。
可选地,在本公开实施例中,所述服务器接收所述客户端领取礼品的操作,包括:
所述服务器接收所述客户端在用户执行领取礼品的操作时发送的所述应答协议数据;
所述采用包括滑动轨迹的协议验证所述客户端的合法性,包括:
所述服务器对接收到的应答协议数据进行解密,得到多个协议字段数据,并检测所述多个协议字段数据与所述服务器中存储的对应数据是否一致;
当所述多个协议字段数据与所述服务器中存储的对应数据一致时,检测所述多个协议字段数据中是否包括滑动轨迹;
当所述多个协议字段数据中包括滑动轨迹时,根据预设规则判断所述滑动轨迹是否合法;
当所述滑动轨迹合法时,确定所述客户端合法。
可选地,在本公开实施例中,所述采用包括滑动轨迹的协议验证所述客户端的合法性,还包括:
当所述多个协议字段数据与所述服务器中存储的对应数据不一致,或者,当所述多个协议字段数据中不包括滑动轨迹时,丢弃所述应答协议数据以禁止所述客户端领取礼品。
可选地,在本公开实施例中,所述采用包括滑动轨迹的协议验证所述客户端的合法性,包括:
所述服务器向直播间内所有客户端发送领取礼品的协议,其中,协议内容包括礼品数量、礼品编号及客户端加密使用的key值;
所述客户端显示一领取礼品的动画及滑动框;
所述客户端记录鼠标在所述滑动框内的滑动轨迹;
所述客户端根据预设加密参数加密得到客户端协议,其中,预设加密参数包括客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值及用户在所述客户端上的滑动轨迹;
所述服务器接收客户端上报的所述客户端协议,对所述客户端协议中的协议字段进行验证;
当协议字段中的客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值与所述服务器存储数据一致时,根据预设规则判断所述滑动轨迹是否合法,当所述滑动轨迹合法时,判定所述客户端合法,否则,判定所述客户端不合法。
可选地,在本公开实施例中,根据预设规则判断所述滑动轨迹是否合法,包括:
当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;
当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
可选地,在本公开实施例中,所述方法还包括:
所述服务器调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述主播所在直播房间中的每个客户端保存;
每个客户端调用所述预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述服务器保存;
所述采用自动验证的方式对该客户端的合法性进行验证,包括:
所述服务器下发一随机数到所述客户端;
所述客户端根据其私钥和所述服务器的公钥对接收到的所述随机数进行加密得到一加密数据,并将所述加密数据发送给所述服务器;
所述服务器根据所述服务器的私钥和所述客户端的公钥对所述加密数据进行解密,将解密后得到的数据与下发的随机数进行比对;
当解密后得到的数据与下发的随机数一致时,判定所述客户端合法,当解密后得到的数据与下发的随机数不一致时,判定所述客户端不合法。
可选地,在本公开实施例中,所述通过输入验证信息的方式对所述客户端的合法性进行验证,包括:
所述服务器下发一验证信息到所述客户端;
所述客户端响应验证信息输入操作,将输入的验证信息发送给所述服务器;
所述服务器将客户端上传的输入验证信息与下发的验证信息进行比对;
当客户端上传的输入验证信息与下发的验证信息一致时,判定所述客户端合法,当客户端上传的输入验证信息与下发的验证信息不一致时,判定所述客户端不合法。
本公开实施例中还提供一种防止被刷的验证装置,所述装置应用于与客户端通信的服务器,所述装置包括:
接收模块,配置成接收所述客户端领取礼品的操作;
获得模块,配置成记录该客户端领取礼品的次数;
判断模块,配置成判断该客户端领取礼品的次数是否超过预设次数;
验证模块,配置成当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端的合法性;
所述验证模块,配置成当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端的合法性进行验证;
所述验证模块,还配置成当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
在本公开实施例中,所述验证模块采用包括滑动轨迹的协议验证所述客户端的合法性的方式包括:
向直播间内所有客户端发送领取礼品的协议,其中,协议内容包括礼品数量、礼品编号及客户端加密使用的key值;
接收客户端上报的所述客户端协议,对所述客户端协议中的协议字段进行验证,其中,所述客户端协议由所述客户端根据预设加密参数加密得到客户端协议,其中,预设加密参数包括客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值及用户在所述客户端上的滑动轨迹;
当协议字段中的客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值与所述服务器存储数据一致时,根据预设规则判断所述滑动轨迹是否合法,当所述滑动轨迹合法时,判定所述客户端合法,否则,判定所述客户端不合法。
可选地,在本公开实施例中,根据预设规则判断所述滑动轨迹是否合法,包括:
当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;
当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
可选地,在本公开实施例中,所述装置还包括:
密钥生成模块,配置成调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给主播所在直播房间中的每个客户端保存;
密钥保存模块,配置成接收主播所在直播房间中的每个客户端发送的公钥并保存;
所述验证模块采用自动验证的方式对该客户端的合法性进行验证的方式包括:
下发一随机数到所述客户端,由客户端根据客户端的私钥和服务器的公钥对随机数进行加密;
采用服务器的私钥和客户端的公钥对客户端基于下发随机数处理后得到的加密数据进行解密,将解密后得到的数据与下发的随机数进行比对;
当解密后得到的数据与下发的随机数一致时,判定所述客户端合法,当解密后得到的数据与下发的随机数不一致时,判定所述客户端不合法。
可选地,在本公开实施例中,所述验证模块通过输入验证信息的方式对所述客户端的合法性进行验证的方式包括:
下发一验证信息到所述客户端;
将客户端上传的输入验证信息与下发的验证信息进行比对;
当客户端上传的输入验证信息与下发的验证信息一致时,判定所述客户端合法,当客户端上传的输入验证信息与下发的验证信息不一致时,判定所述客户端不合法。
本公开实施例还提供一种直播系统,包括相互通信连接的服务器和客户端;
所述服务器,配置成响应主播开启礼品领取活动的操作,向该主播所在直播房间中的每个客户端发送礼品领取消息,该礼品领取消息中包括待领取礼品的数量、所述待领取礼品的编号及该客户端加密使用的KEY值;
所述客户端,配置成接收所述服务器发送的礼品领取消息,显示一滑动框,并响应用户对该滑动框的滑动操作,记录该滑动操作对应的滑动轨迹,并向所述服务器发送包括预设加密数据的应答协议数据,该预设加密数据包括所述客户端的设备标识、所述客户端登录到所述服务器时上报的用户ID和获得的令牌、所述客户端所在直播房间的房间号、所述客户端当前的时间戳、所述客户端记录的滑动轨迹以及所述服务器发送的待领取礼品的数量、待领取礼品的编号和所述客户端加密使用的KEY值;
所述服务器,还配置成接收所述应答协议数据,记录所述客户端领取礼品的次数,并判断所述客户端领取礼品的次数是否超过预设次数,在所述客户端领取礼品的次数未超过第一预设次数时,根据所述应答协议数据中的滑动轨迹验证所述客户端的合法性;在所述客户端领取礼品的次数不小于第一预设次数且未超过所述第二预设次数时,通过自动验证的方式对该客户端的合法性进行验证;在所述客户端领取礼品的次数不小于所述第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
可选地,在本公开实施例中,所述服务器根据所述应答协议数据中的滑动轨迹验证所述客户端的合法性的方式,为:
对接收到的应答协议数据进行解密,得到多个协议字段数据,并检测所述多个协议字段数据与所述服务器中存储的对应数据是否一致;当所述多个协议字段数据与所述服务器中存储的对应数据一致时,检测所述多个协议字段数据中是否包括滑动轨迹;当所述多个协议字段数据中包括滑动轨迹时,根据预设规则验证所述滑动轨迹的合法性;当所述滑动轨迹合法时,确定所述客户端合法;
当所述多个协议字段数据与所述服务器中存储的对应数据不一致,或者,当所述多个协议字段数据中不包括滑动轨迹时,丢弃所述应答协议数据以禁止所述客户端领取礼品。
可选地,在本公开实施例中,所述服务器根据预设规则验证所述滑动轨迹的合法性的方式,为:
在所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹;在所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹。
可选地,在本公开实施例中,所述服务器,还配置成调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述主播所在直播房间中的每个客户端保存;
每个客户端,还配置成调用所述预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述服务器保存;
所述服务器,还配置成下发一随机数到所述客户端,使所述客户端根据其私钥和所述服务器的 公钥对所述随机数进行加密得到一加密数据,并将该加密数据发送给所述服务器;根据所述服务器的私钥和所述客户端的公钥对所述加密数据进行解密,判断解密得到的数据与下发的所述随机数是否一致,若是,则判定所述客户端合法,否则判定所述客户端不合法,以实现通过自动验证的方式对该客户端的合法性进行验证。
相对于现有技术而言,本公开具有以下有益效果:
本公开提供的防止被刷的验证方法、装置及直播系统,通过领取礼品次数设置对应的客户端合法性验证方案,针对不同的领取礼品次数设置需要观众参与或自动验证的方式,可以对领取礼品次数较多的用户端进行管控,防止黑客或技术人员采用软件工具盗刷礼品,让更多通过合法途径领取礼品的观众有机会获得礼品,从而让更多的观众有兴趣参与到直播互动活动中,增加直播平台对观众的吸引力及良好的用户体验。
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开第一实施例提供的客户端与服务器通信的交互示意图。
图2为本公开实施例提供的客户端的方框示意图。
图3为本公开实施例提供的服务器的方框示意图。
图4为本公开实施例提供的防止被刷的验证方法的流程示意图。
图5为图4中步骤S440的子步骤流程示意图。
图6是图4中步骤S450的子步骤流程示意图。
图7是图4中步骤S460的子步骤流程示意图。
图8为本公开第二实施例提供的防止被刷的验证装置的功能模块图。
图标:100-客户端;200-服务器;300-网络;110-第一存储器;120-第一处理器;130-第一通信单元;140-存储控制器;210-第二存储器;220-第二处理器;230-第二通信单元;500-验证装置;510-接收模块;520-记录模块;530-判断模块;540-验证模块。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、 “第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本公开的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1是本公开实施例提供的一种直播系统的连接示意图,该直播系统包括相互通信连接的客户端100和服务器200。所述服务器200可通过网络300与所述客户端100进行通信,以实现服务器200与客户端100之间的数据通信或交互。
本实施例中,所述服务器200可以是,但不限于,web(网站)服务器、ftp(file transfer protocol,文件传输协议)服务器等。所述客户端100可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述网络300可以是,但不限于,有线网络或无线网络。所述客户端100的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统等。优选地,本实施例中,所述客户端100的操作系统为Android系统。所述应用程序可以是服务器200提供的任何可供客户端100自定义下载并安装的应用程序(Application,APP),例如,所述应用程序可以是斗鱼直播APP。
请参照图2,是图1中所示的客户端100的方框示意图。
如图2所示,所述客户端100包括第一存储器110、第一处理器120、第一通信单元130以及存储控制器140。所述第一存储器110、第一处理器120、第一通信单元130以及存储控制器140相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。其中,所述第一存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,第一存储器110配置成存储程序,所述第一处理器120在接收到执行指令后,执行所述程序。
所述第一处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的第一处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述第一通信单元130配置成建立所述客户端100与所述服务器200二者之间的通信连接。例如,所述第一通信单元130可以利用射频单元发送的射频信号连接到网络300,进而通过网络300与服务器200的第一通信单元130建立通信连接,将采集到的用户行为信息发送到服务器200,比如,将用户在客户端100抢礼品的行为或输入验证信息等发送到服务器200。
可以理解,图2所示的结构仅为示意,所述客户端100还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
请参照图3,是图1中所示的服务器200的方框示意图。所述服务器200包括第二存储器210、第二处理器220以及第二通信单元230。
所述第二存储器210、第二处理器220以及第二通信单元230各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述第二处理器220配置成执行所述第二存储器210中存储的可执行模块。
第二存储器210中存储有防止被刷的验证装置500,所述防止被刷的验证装置500包括至少一个可以软件或固件(firmware)的形式存储于所述第二存储器210中的软件功能模块,所述第二处理器220通过运行存储在第二存储器210内的软件程序以及模块,如本公开实施例中的防止被刷的验证装置500,从而执行各种功能应用以及数据处理,即实现本公开实施例中的防止被刷的验证方法。所述第二存储器210配置成存储程序,所述第二处理器220在接收到执行指令后,执行所述程序。所述第二通信单元230配置成通过所述网络300建立所述服务器200与客户端100之间的通信连接,并配置成通过所述网络300接收所述客户端100发送的采集到的用户操作信息。
请参照图4,图4是本公开实施例提供的防止被刷的验证方法的流程示意图。所述方法应用于相互通信的客户端100及服务器200,所述方法的具体流程如下:
步骤S410,所述服务器200接收所述客户端100领取礼品的操作。
当主播在直播平台开启互动活动时,所述服务器200可以发送对应的活动开启消息给直播房间内的所有客户端。以礼品领取活动为例,当主播开启礼品领取活动后,服务器200可以发送礼品领取消息(即,活动开启消息)给当前在所述主播的直播房间内的所有客户端100。其中,所述礼品领取消息可以是基于预设的礼品领取协议的协议数据,例如,其中可以包括待领取礼品的数量、该待领取礼品的编号以及客户端加密使用的KEY值。其中,待领取礼品的编号可以是随机生成的编号,以确保每次活动中该待领取礼品的编号都不同。
其中,服务器200发送的礼品领取消息可以为以下格式:
Server_send_client:30+yw10005+bacdef;
当客户端100接收到所述礼品领取消息时,所述客户端100会显示相应互动活动的界面,比如,会有宝箱图案和/或配置成领取礼品的控件。当观众点击这样的图案或者控件时,就会触发客户端100执行相应的互动逻辑。此时客户端100就会发送一应答协议到服务器200,告知服务器200客户端100上有领取礼品的操作。其中,客户端100发送给服务器的应答协议可以是基于所述预设的礼品领取协议的应答协议数据。
可选地,所述配置成领取礼品的控件可以是滑动框,用户通过鼠标在该滑动框中进行滑动操作,即可触发客户端100执行领取礼品的逻辑。实施时,所述客户端100可以记录鼠标在该滑动框中的滑动轨迹,该滑动轨迹包括该鼠标在所述客户端100的屏幕上经过的多个点的坐标。其中,该坐标可以是以所述客户端100的屏幕的水平线为X轴、竖直线为Y轴建立的直角坐标系中的坐标。如此, 客户端100记录的滑动轨迹实际是一串坐标值,如:Position={{120,250},{45,75},{86,92},{87,63}}。
客户端100在检测到用户完成滑动操作时,可以按照所述预设的礼品领取协议发送应答协议数据给所述服务器200,以告知服务器200客户端100需要领取礼品。该应答协议数据可以包括预设加密数据,该预设加密数据是对以下信息加密得到的数据:
客户端100上当前用户UID(User Identification)、服务器200下发的待领取礼品的编号、服务器200下发的待领取礼品的数量、客户端100当前的时间戳、客户端100的设备标识(Device ID)、客户端100登录到服务器200时获取的令牌(Token)、客户端100所属的直播房间号、客户端100记录的滑动轨迹、客户端100加密使用的KEY值等。
其中,设备标识可以是用于唯一地标识客户端100的MEID(Mobile Equipment Identifier)。
可选地,所述应答协议数据可以通过以下方式加密得到:
encryptData=TEA.encrypt(UID+30+TIME+RoomID+DeviceID+Token+yw10005+Position,bacdef);其中,30为服务器200下发的待领取礼品的数量,TIME为客户端100当前的时间戳,RoomID为客户端100当前所在直播房间的房间号,yw10005为服务器200下发的待领取礼品的编号,Position为客户端100记录的滑动轨迹,bacdef为服务器200发送的所述客户端100加密使用的KEY值。
步骤S420,所述服务器200记录该客户端100领取礼品的次数。
服务器200中可以设置有用于记录不同用户领取礼品的次数的全局变量,该全局变量的初始值为0。其中,服务器200可以在首次接收到某一用户的客户端100发送的应答协议数据时,创建所述全局变量,并将所述全局变量与该用户的UID和/或该用户的客户端100的设备标识关联。
服务器200在每次接收到客户端100发送的应答协议数据时,根据该应答协议数据中的身份信息(UID和/或设备标识)及应答的时间确定对应的全局变量,并将所述全局变量的当前值加1。如此,通过每个客户端100对应的全局变量可以得知该客户端100领取礼品的次数,以便后续采用不同的验证方式对客户端100的合法性进行验证。
步骤S430,判断该客户端100领取礼品的次数是否超过预设次数。
在本实施例中,可以设置两个预设次数,比如,第一预设次数与第二预设次数。其中,第一预设次数小于第二预设次数。
步骤S440,当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端100的合法性。
可选地,在一种具体实施方式中,步骤S440可以包括以下步骤:
对接收到的应答协议数据进行解密,得到所述客户端100发送的多个协议字段数据;
检测所述多个协议字段数据与所述服务器200中存储的对应数据是否一致;
若一致,则检测所述多个协议字段数据中是否包括所述客户端100记录的滑动轨迹;
若包括,则对该滑动轨迹进行验证,以判断该滑动轨迹的合法性。
此外,步骤S440还可以包括以下步骤:
当所述多个协议字段数据与所述服务器中存储的对应数据不一致,或者,当所述多个协议字段 数据中不包括滑动轨迹时,丢弃所述应答协议数据以禁止所述客户端领取礼品。
可选地,请参照图5,在另一种具体实施方式中,所述步骤S440可以包括以下步骤:
步骤S441,所述服务器200向直播间内所有客户端100发送领取礼品的协议。
在本实施例中,服务器200会下发当前可以领取礼品的数量、当前礼品编号、客户端100加密使用的KEY值。其中,当前礼品编号可以每一次都不一样,可以通过随机生成的方式以保证和之前没有重复。
可选地,采用以下形式表示:
Server_send_client:30+yw10005+bacdef;
其中30则标示客户端100可以领取的礼品数目,yw10005标示礼品的编号,bacdef则标示客户端100加密使用的key值。
步骤S442,所述客户端100显示一领取礼品的动画及滑动框。
客户端100在收到服务器200可以领取礼品的消息后,客户端100会弹出礼品动画,同时还会产生一领取礼品的滑动框,需要观众在此框内完成鼠标滑动才能领取礼品。
步骤S443,所述客户端100记录鼠标在所述滑动框内的滑动轨迹。
客户端100会记录鼠标在滑动框中滑动的轨迹。具体地,对于一个屏幕而言,可以将屏幕的水平线定位X轴,将竖直线定位Y轴,左下角则定位起始点,那么鼠标在屏幕上的任何一点都会有对应的X轴的坐标和Y轴的坐标,那么鼠标在滑动滑动框领取礼品时,则会将整个滑动过程的鼠标轨迹都记录下来。那么最终则会保存成一串坐标值。例如:Position={{120,250},{45,75},{86,92},{87,63}}等一串坐标值。
步骤S444,客户端100进行数据处理得到客户端协议。
所述客户端100根据客户端100上报的用户ID、服务器200下发的礼品数量、服务器200下发的礼品编号、当前客户端100的时间戳、客户端100的设备ID、客户端100登录时获得的令牌、客户端100所属直播间的房号、客户端100加密使用的key值及用户在所述客户端100上的滑动轨迹进行加密得到客户端协议。
可选地,所述客户端协议的形式可以如下:
encryptData=TEA.encrypt(UID+30+TIME+RoomID+DeviceID+Token+yw10005+Position,bacdef);
其中,UID为客户端100上报的用户ID,TIME为当前客户端100的时间戳,RoomID为客户端100所属直播间的房号,DeviceID为客户端100的设备ID,Token为客户端100登录时获得的令牌,Position为鼠标滑动的滑动轨迹坐标。
步骤S445,所述服务器200接收客户端100上报的所述客户端协议,对所述客户端协议中的协议字段进行验证。
步骤S446,当所述协议字段中的数据与所述服务器200中存储的对应数据一致时,根据预设规则判断所述滑动轨迹是否合法,并根据验证结果判断客户端100的合法性。
在上述两种具体实施方式中,在验证时,服务器200对所述客户端协议(接收到的应答协议数据)进行解密得到客户端100上报的协议字段,并对所述协议字段中的数据进行验证。可选地,将所述协议字段中的客户端100上报的用户ID、服务器200下发的礼品数量、服务器200下发的礼品编号、当前客户端100的时间戳、客户端100的设备ID、客户端100登录时获得的令牌、客户端100所属直播间的房号、客户端100加密使用的key值与所述服务器200存储数据进行比对,若一致,则预设规则验证所述滑动轨迹的合法性,具体可以通过如下步骤实现:
当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;
当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
在本实施例中,在同时满足客户端协议的协议字段与服务器200存储数据相同,且滑动轨迹合法时,判定所述客户端100合法,否则,判定所述客户端100不合法。
步骤S450,当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端100的合法性进行验证。
可选地,在本实施例中,所述防止被刷的验证方法还可以包括如下两个步骤:
第一,所述服务器200和客户端100分别调用非对称加密算法各自生成一对公钥和私钥。
可选地,私钥可以使用随机数生成,对应的公钥可以调用RSA的接口函数生成,私钥和公钥是唯一配对的关系。
Privatekey=rand();//私钥使用随机数生成。
Publickey=RSA.CreatePair(Privatekey);公钥为调用RSA生成的。
第二,将所述服务器200的公钥和客户端100的公钥进行互换。
实施时,服务器200将生成的公钥发送给主播所在直播房间的每个客户端100保存,每个客户端100将生成的公钥发送给服务器200保存。
请参照图6,在本实施例中,所述步骤S450包括子步骤S453~子步骤S455。
子步骤S451,所述服务器200下发一随机数到所述客户端100;
子步骤S452,客户端100根据其私钥和服务器200的公钥对随机数进行加密得到一加密数据,并将所述加密数据发送给服务器200。
其中,所述客户端100获得加密数据方式可以是:
客户端100对服务器200下发的随机数进行MD5计算,计算完成后,会使用加密算法对数据进行加密。
加密过程可以如下:
客户端100可以使用客户端100的私钥和服务器200的公钥生成一个共享的密钥。
KEY=RSA.Sharekey(客户端privatekey,服务器publickey);
客户端100计算出服务器200下发数据的MD5值。
Md5Result=MD5.Create(Server_randdate);
通过对服务器200下发的随机数计算MD5值得到最终的Md5Result结果。
采用加密算法(比如,TEA加密算法)对Md5Result结果加密后上报到服务器200。
EncryptData=TEA.Encrypt(MD5Result,KEY);
使用的KEY值通过客户端私钥和服务器公钥计算得到,此KEY值则没有在网络300中传输,非常安全。
子步骤S453,所述服务器200根据服务器200的私钥和客户端100的公钥对所述加密数据进行解密,并判断解密后得到的数据与下发的随机数进行比对。
服务器200将自己的私钥和服务器200的公钥生成一个共享的秘钥。
KEY=RSA.Sharekey(服务器privatekey,客户端publickey);
服务器200使用Key值对客户端100上报的加密数据进行解密。
MD5Result=TEA.Encrypt(EncryptDate,Key);
服务器200将解密得到的MD5Result与服务器200下发的随机数进行比对。
子步骤S454,当解密后得到的数据与下发的随机数一致时,判定所述客户端100合法,当解密后得到的数据与下发的随机数不一致时,判定所述客户端100不合法。
在判定客户端100合法时,可以告知客户端100可以成功领取礼品,在判定客户端100不合法时,拒绝客户端100的领取操作并给出相应提醒信息。
步骤S460,当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端100的合法性进行验证。
请参照图8,在本实施例中,步骤S450可以包括以下子步骤:
子步骤S461,所述服务器200下发一验证信息到所述客户端100。
当客户端100领取了超过2次的礼物,此时,服务器200会对客户端100做进一步的合法性验证。以防止客户端100通过使用软件工具盗刷礼品。可选地,在本实施例中,服务器200会使客户端100弹出输入验证码的界面,同时服务器200通过与该客户端100绑定的手机号码将验证信息发送给手机。其中,所述验证信息包括但不限于,数字串、字符串及词组等。
子步骤S462,所述客户端100响应验证信息输入操作,将输入的验证信息发送给所述服务器200。
子步骤S463,所述服务器200将客户端100上传的输入验证信息与下发的验证信息进行比对。
观众在客户端100输入验证码的界面输入验证码之后,客户端100将输入的验证码上传给服务器200,服务器200将接收的验证码与下发的验证码信息进行比对。
子步骤S464,当客户端100上传的输入验证信息与下发的验证信息一致时,判定所述客户端100合法,当客户端100上传的输入验证信息与下发的验证信息不一致时,判定所述客户端100不合法。
在判定客户端100合法时,可以告知客户端100可以成功领取礼品,在判定客户端100不合法时,拒绝客户端100的领取操作并给出相应提醒信息。
请参照图9,图9为本公开实施例提供的防止被刷的验证装置500的一种功能模块图。所述验 证装置500应用于服务器200,所述防止被刷的验证装置500包括接收模块510、记录模块520、判断模块530及验证模块540。
所述接收模块510,配置成接收所述客户端100进行领取礼品的操作。
所述接收模块510配置成执行图5中的步骤S410,具体描述请参照步骤S410,再此就不再赘述。
所述记录模块520,配置成获得该客户端100领取礼品的次数。
所述记录模块520配置成执行图5中的步骤S420,具体描述请参照步骤S420,再此就不再赘述。
所述判断模块530,配置成判断该客户端100领取礼品的次数是否超过预设次数。
所述验证模块540,配置成当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端100的合法性。
所述验证模块540采用包括滑动轨迹的协议验证所述客户端100的合法性的方式包括:
向直播间内所有客户端100发送领取礼品的协议,其中,协议内容包括礼品数量、礼品编号及客户端100加密使用的key值;
接收客户端100上报的所述客户端协议,对所述客户端协议中的协议字段进行验证,其中,所述客户端协议由所述客户端100根据客户端100上报的用户ID、服务器200下发的礼品数量、服务器200下发的礼品编号、当前客户端100的时间戳、客户端100的设备ID、客户端100登录时获得的令牌、客户端100所属直播间的房号、客户端100加密使用的key值及用户在所述客户端100上的滑动轨迹进行加密得到。
当协议字段中的客户端100上报的用户ID、服务器200下发的礼品数量、服务器200下发的礼品编号、当前客户端100的时间戳、客户端100的设备ID、客户端100登录时获得的令牌、客户端100所属直播间的房号、客户端100加密使用的key值与所述服务器200存储数据一致时,根据预设规则判断所述滑动轨迹是否合法,当所述滑动轨迹合法时,判定所述客户端100合法,否则,判定所述客户端100不合法。
在本实施例中,验证模块540根据预设规则判断所述滑动轨迹是否合法的方式,可以包括:
当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
所述验证模块540,配置成当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端100的合法性进行验证。
在此情形下,所述验证装置500还可以包括密钥生成模块和密钥保存模块。
其中,密钥生成模块配置成调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给主播所在直播房间中的每个客户端保存。
密钥保存模块配置成接收主播所在直播房间中的每个客户端发送的公钥并保存。
对应地,所述验证模块540采用自动验证的方式对该客户端100的合法性进行验证的方式,可以包括:
下发一随机数到所述客户端100,由客户端100根据客户端100的私钥和服务器200的公钥对随机数进行加密;
采用服务器200的私钥和客户端100的公钥对客户端100基于下发随机数处理后得到的加密数据进行解密,将解密后得到的数据与下发的随机数进行比对;
当解密后得到的数据与下发的随机数一致时,判定所述客户端100合法,当解密后得到的数据与下发的随机数不一致时,判定所述客户端100不合法。
所述验证模块540还配置成当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端100进行验证。
所述验证模块540通过输入验证信息的方式对所述客户端100的合法性进行验证的方式包括:
下发一验证信息到所述客户端100;
将客户端100上传的输入验证信息与下发的验证信息进行比对;
当客户端100上传的输入验证信息与下发的验证信息一致时,判定所述客户端100合法,当客户端100上传的输入验证信息与下发的验证信息不一致时,判定所述客户端100不合法。
综上所述,本公开提供的防止被刷的验证方法、装置及直播系统,通过领取礼品次数设置对应的客户端100合法性验证方案,针对不同的领取礼品次数设置需要观众参与或自动验证的方式,可以对领取礼品次数较多的用户端进行管控,防止黑客或技术人员采用软件工具盗刷礼品,让更多通过合法途径领取礼品的观众有机会获得礼品,从而让更多的观众有兴趣参与到直播互动活动中,增加直播平台对观众的吸引力及良好的用户体验。
对于本领域技术人员而言,显然本公开不限于上述示范性实施例的细节,而且在不背离本公开的精神或基本特征的情况下,能够以其他的具体形式实现本公开。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本公开的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本公开内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
本公开提供的防止被刷的验证方法、装置及直播系统,可以对领取礼品次数较多的用户端进行管控,防止黑客或技术人员采用软件工具盗刷礼品,让更多通过合法途径领取礼品的观众有机会获得礼品,从而让更多的观众有兴趣参与到直播互动活动中,增加直播平台对观众的吸引力及良好的用户体验。
Claims (17)
- 一种防止被刷的验证方法,其特征在于,所述方法应用于相互通信的客户端与服务器,所述方法包括:所述服务器接收所述客户端领取礼品的操作;所述服务器记录该客户端领取礼品的次数;判断该客户端领取礼品的次数是否超过预设次数;当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端的合法性;当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端的合法性进行验证;当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
- 如权利要求1所述的验证方法,其特征在于,所述方法还包括:所述服务器响应主播开启礼品领取活动的操作,向该主播所在直播房间中的每个客户端发送礼品领取消息,该礼品领取消息中包括待领取礼品的数量、所述待领取礼品的编号及该客户端加密使用的KEY值;所述客户端接收所述礼品领取消息,显示一滑动框,并响应用户对该滑动框的滑动操作,记录该滑动操作对应的滑动轨迹,并向所述服务器发送包括预设加密数据的应答协议数据,该预设加密数据包括所述客户端的设备标识、所述客户端登录到所述服务器时上报的用户ID和获得的令牌、所述客户端所在直播房间的房间号、所述客户端当前的时间戳、所述客户端记录的滑动轨迹以及所述服务器发送的待领取礼品的数量、待领取礼品的编号和所述客户端加密使用的KEY值。
- 如权利要求2所述的验证方法,其特征在于,所述服务器接收所述客户端领取礼品的操作,包括:所述服务器接收所述客户端在用户执行领取礼品的操作时发送的所述应答协议数据;所述采用包括滑动轨迹的协议验证所述客户端的合法性,包括:所述服务器对接收到的所述应答协议数据进行解密,得到多个协议字段数据,并检测所述多个协议字段数据与所述服务器中存储的对应数据是否一致;当所述多个协议字段数据与所述服务器中存储的对应数据一致时,检测所述多个协议字段数据中是否包括滑动轨迹;当所述多个协议字段数据中包括滑动轨迹时,根据预设规则判断所述滑动轨迹是否合法;当所述滑动轨迹合法时,确定所述客户端合法。
- 如权利要求3所述的验证方法,其特征在于,所述采用包括滑动轨迹的协议验证所述客户端的合法性,还包括:当所述多个协议字段数据与所述服务器中存储的对应数据不一致,或者,当所述多个协议字段 数据中不包括滑动轨迹时,丢弃所述应答协议数据以禁止所述客户端领取礼品。
- 如权利要求1所述的验证方法,其特征在于,所述采用包括滑动轨迹的协议验证所述客户端的合法性,包括:所述服务器向直播间内所有客户端发送领取礼品的协议,其中,协议内容包括礼品数量、礼品编号及客户端加密使用的key值;所述客户端显示一领取礼品的动画及滑动框;所述客户端记录鼠标在所述滑动框内的滑动轨迹;所述客户端根据预设加密参数加密得到客户端协议,其中,预设加密参数包括客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值及用户在所述客户端上的滑动轨迹;所述服务器接收客户端上报的所述客户端协议,对所述客户端协议中的协议字段进行验证;当协议字段中的客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值与所述服务器存储数据一致时,根据预设规则判断所述滑动轨迹是否合法;当所述滑动轨迹合法时,判定所述客户端合法,否则,判定所述客户端不合法。
- 如权利要求3或5所述的验证方法,其特征在于,根据预设规则判断所述滑动轨迹是否合法,包括:当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
- 如权利要求2-6中任一项所述的验证方法,其特征在于,所述方法还包括:所述服务器调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述主播所在直播房间中的每个客户端保存;每个客户端调用所述预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述服务器保存;所述采用自动验证的方式对该客户端的合法性进行验证,包括:所述服务器下发一随机数到所述客户端;所述客户端根据其私钥和所述服务器的公钥对接收到的所述随机数进行加密得到一加密数据,并将所述加密数据发送给所述服务器;所述服务器根据所述服务器的私钥和所述客户端的公钥对所述加密数据进行解密,将解密后得到的数据与下发的随机数进行比对;当解密后得到的数据与下发的随机数一致时,判定所述客户端合法,当解密后得到的数据与下 发的随机数不一致时,判定所述客户端不合法。
- 如权利要求1-7中任意一项所述的验证方法,其特征在于,所述通过输入验证信息的方式对所述客户端的合法性进行验证,包括:所述服务器下发一验证信息到所述客户端;所述客户端响应验证信息输入操作,将输入的验证信息发送给所述服务器;所述服务器将客户端上传的输入验证信息与下发的验证信息进行比对;当客户端上传的输入验证信息与下发的验证信息一致时,判定所述客户端合法,当客户端上传的输入验证信息与下发的验证信息不一致时,判定所述客户端不合法。
- 一种防止被刷的验证装置,其特征在于,所述装置应用于与客户端通信的服务器,所述装置包括:接收模块,配置成接收所述客户端领取礼品的操作;记录模块,配置成记录该客户端领取礼品的次数;判断模块,配置成判断该客户端领取礼品的次数是否超过预设次数;验证模块,配置成当领取礼品的次数未超过第一预设次数时,采用包括滑动轨迹的协议验证所述客户端的合法性;所述验证模块,配置成当领取礼品的次数不小于第一预设次数且未超过第二预设次数时,采用自动验证的方式对该客户端的合法性进行验证;所述验证模块,还配置成当领取礼品的次数不小于第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
- 如权利要求9所述的验证装置,其特征在于,所述验证模块采用包括滑动轨迹的协议验证所述客户端的合法性的方式包括:向直播间内所有客户端发送领取礼品的协议,其中,协议内容包括礼品数量、礼品编号及客户端加密使用的key值;接收客户端上报的所述客户端协议,对所述客户端协议中的协议字段进行验证,其中,所述客户端协议由所述客户端根据预设加密参数加密得到客户端协议,其中,预设加密参数包括客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值及用户在所述客户端上的滑动轨迹;当协议字段中的客户端上报的用户ID、服务器下发的礼品数量、服务器下发的礼品编号、当前客户端的时间戳、客户端的设备ID、客户端登录时获得的令牌、客户端所属直播间的房号、客户端加密使用的key值与所述服务器存储数据一致时,根据预设规则判断所述滑动轨迹的合法性,当所述滑动轨迹合法时,判定所述客户端合法,否则,判定所述客户端不合法。
- 如权利要求10所述的验证装置,其特征在于,所述服务器根据预设规则验证所述滑动轨迹的合法性的方式,为:当所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹,并确定所述滑动轨迹合法;当所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹,并确定所述滑动轨迹不合法。
- 如权利要求9-11中任一项所述的验证装置,其特征在于,所述装置还包括:密钥生成模块,配置成调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给主播所在直播房间中的每个客户端保存;密钥保存模块,配置成接收主播所在直播房间中的每个客户端发送的公钥并保存;所述验证模块采用自动验证的方式对该客户端的合法性进行验证的方式,包括:下发一随机数到所述客户端,由客户端根据客户端的私钥和服务器的公钥对随机数进行加密;采用服务器的私钥和客户端的公钥对客户端基于下发随机数处理后得到的加密数据进行解密,将解密后得到的数据与下发的随机数进行比对;当解密后得到的数据与下发的随机数一致时,判定所述客户端合法,当解密后得到的数据与下发的随机数不一致时,判定所述客户端不合法。
- 如权利要求9-12中任意一项所述的验证装置,其特征在于,所述验证模块通过输入验证信息的方式对所述客户端的合法性进行验证的方式包括:下发一验证信息到所述客户端;将客户端上传的输入验证信息与下发的验证信息进行比对;当客户端上传的输入验证信息与下发的验证信息一致时,判定所述客户端合法,当客户端上传的输入验证信息与下发的验证信息不一致时,判定所述客户端不合法。
- 一种直播系统,其特征在于,包括相互通信连接的服务器和客户端;所述服务器,配置成响应主播开启礼品领取活动的操作,向该主播所在直播房间中的每个客户端发送礼品领取消息,该礼品领取消息中包括待领取礼品的数量、所述待领取礼品的编号及该客户端加密使用的KEY值;所述客户端,配置成接收所述服务器发送的礼品领取消息,显示一滑动框,并响应用户对该滑动框的滑动操作,记录该滑动操作对应的滑动轨迹,并向所述服务器发送包括预设加密数据的应答协议数据,该预设加密数据包括所述客户端的设备标识、所述客户端登录到所述服务器时上报的用户ID和获得的令牌、所述客户端所在直播房间的房间号、所述客户端当前的时间戳、所述客户端记录的滑动轨迹以及所述服务器发送的待领取礼品的数量、待领取礼品的编号和所述客户端加密使用的KEY值;所述服务器,还配置成接收所述应答协议数据,记录所述客户端领取礼品的次数,并判断所述客户端领取礼品的次数是否超过预设次数,在所述客户端领取礼品的次数未超过第一预设次数时,根据所述应答协议数据中的滑动轨迹验证所述客户端的合法性;在所述客户端领取礼品的次数不小于第一预设次数且未超过所述第二预设次数时,通过自动验证的方式对该客户端的合法性进行验证; 在所述客户端领取礼品的次数不小于所述第二预设次数时,通过输入验证信息的方式对所述客户端的合法性进行验证。
- 如权利要求14所述的直播系统,其特征在于,所述服务器根据所述应答协议数据中的滑动轨迹验证所述客户端的合法性的方式,为:对接收到的应答协议数据进行解密,得到多个协议字段数据,并检测所述多个协议字段数据与所述服务器中存储的对应数据是否一致;当所述多个协议字段数据与所述服务器中存储的对应数据一致时,检测所述多个协议字段数据中是否包括滑动轨迹;当所述多个协议字段数据中包括滑动轨迹时,根据预设规则验证所述滑动轨迹的合法性;当所述滑动轨迹合法时,确定所述客户端合法;当所述多个协议字段数据与所述服务器中存储的对应数据不一致,或者,当所述多个协议字段数据中不包括滑动轨迹时,丢弃所述应答协议数据以禁止所述客户端领取礼品。
- 如权利要求14或15所述的直播系统,其特征在于,所述服务器根据预设规则验证所述滑动轨迹的合法性的方式,为:在所述滑动轨迹对应的线条为一非直线时,判定该滑动轨迹为用户输入轨迹;在所述滑动轨迹对应的线条为一直线时,判断该滑动轨迹为非用户输入轨迹。
- 如权利要求14-16中任一项所述的直播系统,其特征在于,所述服务器,还配置成调用预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述主播所在直播房间中的每个客户端保存;每个客户端,还配置成调用所述预设的非对称加密算法生成相互匹配的私钥和公钥,并将生成的公钥发送给所述服务器保存;所述服务器,还配置成下发一随机数到所述客户端,使所述客户端根据其私钥和所述服务器的公钥对所述随机数进行加密得到一加密数据,并将该加密数据发送给所述服务器;根据所述服务器的私钥和所述客户端的公钥对所述加密数据进行解密,判断解密得到的数据与下发的所述随机数是否一致,若是,则判定所述客户端合法,否则判定所述客户端不合法,以实现通过自动验证的方式对该客户端的合法性进行验证。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710804236.4A CN107529078B (zh) | 2017-09-08 | 2017-09-08 | 防止被刷的验证方法及装置 |
CN201710804236.4 | 2017-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019047511A1 true WO2019047511A1 (zh) | 2019-03-14 |
Family
ID=60735745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/081414 WO2019047511A1 (zh) | 2017-09-08 | 2018-03-30 | 防止被刷的验证方法、装置及直播系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107529078B (zh) |
WO (1) | WO2019047511A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107529078B (zh) * | 2017-09-08 | 2019-08-02 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
CN108881934B (zh) * | 2018-04-10 | 2020-09-08 | 武汉斗鱼网络科技有限公司 | 一种弹幕验证方法、计算机设备和存储介质 |
CN108924108B (zh) * | 2018-06-21 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种用于客户端的通信方法及电子设备 |
CN108964901B (zh) * | 2018-07-06 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 信息验证方法、系统、装置 |
CN114339270B (zh) * | 2020-10-12 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 直播中发放物品的控制方法、系统、电子设备及存储介质 |
CN112312152B (zh) * | 2020-10-27 | 2022-11-04 | 浙江集享电子商务有限公司 | 网络直播中的数据处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011009126A1 (en) * | 2009-07-17 | 2011-01-20 | Pierre Bonnat | Method and system for reliable and fast mobile marketing |
CN102624677A (zh) * | 2011-01-27 | 2012-08-01 | 阿里巴巴集团控股有限公司 | 一种网络用户行为监控方法及服务器 |
CN104539604A (zh) * | 2014-12-23 | 2015-04-22 | 北京奇虎科技有限公司 | 网站防护方法和装置 |
CN105447715A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 用于与第三方合作的防盗刷电子优惠券的方法和装置 |
CN106789985A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 基于gpu算法的客户端验证方法及系统 |
CN107529078A (zh) * | 2017-09-08 | 2017-12-29 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049851A (zh) * | 2012-12-27 | 2013-04-17 | 中国建设银行股份有限公司 | 一种基于交易数据的反欺诈监控方法和装置 |
CN106022826A (zh) * | 2016-05-18 | 2016-10-12 | 武汉斗鱼网络科技有限公司 | 一种网络直播平台中的作弊用户识别方法与系统 |
CN106097014A (zh) * | 2016-06-17 | 2016-11-09 | 武汉斗鱼网络科技有限公司 | 一种通过兑换码兑换虚拟礼物的系统及方法 |
CN106357602B (zh) * | 2016-08-18 | 2020-02-07 | 北京奇虎科技有限公司 | 一种直播方法及直播应用服务端、合作应用客户端 |
CN107038065A (zh) * | 2017-03-01 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 信息处理方法及装置 |
-
2017
- 2017-09-08 CN CN201710804236.4A patent/CN107529078B/zh active Active
-
2018
- 2018-03-30 WO PCT/CN2018/081414 patent/WO2019047511A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011009126A1 (en) * | 2009-07-17 | 2011-01-20 | Pierre Bonnat | Method and system for reliable and fast mobile marketing |
CN102624677A (zh) * | 2011-01-27 | 2012-08-01 | 阿里巴巴集团控股有限公司 | 一种网络用户行为监控方法及服务器 |
CN104539604A (zh) * | 2014-12-23 | 2015-04-22 | 北京奇虎科技有限公司 | 网站防护方法和装置 |
CN105447715A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 用于与第三方合作的防盗刷电子优惠券的方法和装置 |
CN106789985A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 基于gpu算法的客户端验证方法及系统 |
CN107529078A (zh) * | 2017-09-08 | 2017-12-29 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107529078A (zh) | 2017-12-29 |
CN107529078B (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019047511A1 (zh) | 防止被刷的验证方法、装置及直播系统 | |
US11055429B2 (en) | Key providing method, video playing method, server and client | |
WO2019047375A1 (zh) | 防止被刷的验证方法、装置、服务器及存储介质 | |
CN107251035B (zh) | 账户恢复协议 | |
KR102511030B1 (ko) | 검증 정보 업데이트 방법 및 장치 | |
US8904172B2 (en) | Communicating a device descriptor between two devices when registering onto a network | |
US20070256126A1 (en) | Secure identification remote and dongle | |
US8185049B2 (en) | Multi-mode device registration | |
CN110198295A (zh) | 安全认证方法和装置及存储介质 | |
WO2013097588A1 (zh) | 应用程序登录方法、装置和移动终端 | |
WO2018196686A1 (zh) | 一种服务响应方法及其中间件 | |
CN108964901B (zh) | 信息验证方法、系统、装置 | |
WO2019061597A1 (zh) | 一种数据处理方法及服务器 | |
CN107145769A (zh) | 一种数字版权管理drm方法、设备及系统 | |
CN106603226A (zh) | 快速多播消息传送加密和认证 | |
CN102857495B (zh) | 一种文档播放方法和设备 | |
WO2019071859A1 (zh) | 一种直播平台中防止刷礼物的方法及装置 | |
CN108259183B (zh) | 一种关注方法、装置、电子设备及介质 | |
TWI572208B (zh) | 應用於遠端連線的驗證方法、驗證系統及其網路攝影機 | |
WO2017202137A1 (zh) | 一种nfc动态令牌及其工作方法 | |
WO2019136860A1 (zh) | 一种关注合法性的确定方法、装置、电子设备及介质 | |
CN110290097B (zh) | 数据的处理方法、装置、存储介质和电子装置 | |
CN111049797B (zh) | 为智能家居设备配网及数据传输方法、设备及存储介质 | |
TWI621964B (zh) | 透過行動裝置所執行的授權碼認證方法及相關的電腦程式產品 | |
CN110381342B (zh) | 一种信息处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18853099 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18853099 Country of ref document: EP Kind code of ref document: A1 |