Vèrification de Vote

Utilisez Postback, CheckIP ou Votifier pour vèrifier si les joueurs votent ou non

Quel est le Voting Check?

C'est un système de vèrification qui sert à vèrifier si les joueurs vote ou non pour votre site ou serveur en entrant le code de sècuritè captcha correcte sur la passerelle de vote.

Postback

Pour dèfinir votre URL postback aller au tableau de bord, cliquez sur votre site ou serveur, puis utiliser l'option Modifier la Configuration.

1. Règlez votre URL Postback (sur TopG):

http://YOURDOMAIN/postback.php
Pour dèfinir cette lien utiliser l'option Modifier Les Paramètres sur la page de votre serveur.
Le nom de fichier postback.php est juste un exemple et il n'est pas obligatoire, n'hèsitez pas à le renommer comme vous le souhaitez.


2.

http://topg.org/CATEGORY/in-SITEID-PARAMETER
Votre lien de vote TopG devrait avoir un extra – et un PARAMETRE à la fin. Copiez le LIEN à partir du code de vote et ajoutez -USERNAME ou -123456 ou peu importe ce que vous choisissez de traquer (Le PARAMETRE peut être seulement des chiffres, des lettres et _). Par exemple, si je veux vèrifier si l'utilisateur 'Razor' vote ou non je crèe le lien http://topg.org/CATEGORY/in-SITEID-Razor.

3. Notre rèponse:

TopG appellera votre site après le vote et l'appel ressemblera à ce lien:
http://YOURDOMAIN/postback.php?p_resp=PARAMETER&ip=USERIP
Nous vous avons envoyè en retour le même PARAMETRE et l'appel se fait UNIQUEMENT si l'utilisateur a votè pour vous. Votre postback.php devrait METTRE A JOUR à ce stade, la valeur du PARAMETRE de l'utilisateur comme ètant valide. Au cas où il n'a pas votè nous n'envoyons pas de rèponse.


Exemple:

A quoi votre lien de vote devrait ressembler pour l'identitè de l'utilisateur (premier) ou son nom (second):
http://topg.org/CATEGORY/in-SITEID-1234
http://topg.org/CATEGORY/in-SITEID-Razor

Notre rèponse, en raison du premier ou du deuxième cas, sera:
http://YOURDOMAIN/postback.php?p_resp=1234&ip=123.123.123.123
http://YOURDOMAIN/postback.php?p_resp=Razor&ip=123.123.123.123
Conclusion: Le joueur ayant l'ID de compte 1234 ou le nom d'utilisateur Razor a votè pour vous dans le cas où nous avons appelè votre lien de postback avec le paramètre
123.123.123.123 is the IP address used by the player to vote on Topg.
Veuillez lire notre exemple PHP pour comprendre comment capturer notre rèponse. Nous vous ferons parvenir le rappel de requête http UNIQUEMENT lorsque l'utilisateur a votè pour vous. Si vous avez besoin d'aide pour la mise en place s'il vous plaît contactez-nous.

How to fix voting callback on topg for Fusion CMS:
If you are using Fusion CMS go to /applications/modules/vote/plugins/topg.php and change line 21 to this:
return $this->CI->input->ip_address() == gethostbyname('monitor.topg.org');

postback.php example

define("DEBUG", 0); //set to 1 to enable debuger
define("LOG_FILE", "_postback.log"); //if debug is enabled will create this file for logs
define("TOPG_IP", gethostbyname("monitor.topg.org")); //This is TopG IP address

$ip_request = $_SERVER['REMOTE_ADDR']; //for Cloudflare $ip_request = $_SERVER["HTTP_CF_CONNECTING_IP"];
if($ip_request == TOPG_IP) //check if response is coming from TopG
{
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[OK] Valid callback: $ip_request".PHP_EOL, 3, LOG_FILE);	 
	}
	
	//get the parameters response from us and clean them
	$p = preg_replace('/[^A-Za-z0-9\_]+/','',$_GET['p_resp']); //can be only numbers letters and _
	$user_ip = preg_replace('/[^0-9\.]+/','',$_GET['ip']); //can be only numbers and dots
	
	//connect to database
	
	//if using MySQL uncomment the following lines (remove slashes)
	//$p = mysql_escape_string($p); 
	//$user_ip = mysql_escape_string($user_ip);
	
	//or if using MySQLi (change $DB name to correct one)
	//$p = $DB->real_escape_string($p);
	//$user_ip = $DB->real_escape_string($user_ip);
	
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[GET] Parameters [p_resp]=$p [ip]=$user_ip".PHP_EOL, 3, LOG_FILE); 
	}
	
	//Note: we send the parameters $_GET['p_resp'] and $_GET['ip'] back ONLY! if user $p has voted
	//here run your code
	//first you should check if account $p is valid and exists in your database
	//also check if the user has voted in the last 12 hours
	//give points to user $p that voted with ip $user_ip
	//close database
}
else
{
	if(DEBUG == true) {	
	 error_log(date('[Y-m-d H:i] ')."[Invalid] Invalid request: $ip_request".PHP_EOL, 3, LOG_FILE); 
	}
	//handle invalid request when callback is NOT from TopG.
	//ignore or log the $ip_request as invalid request in your database
}

CheckIP

Vèrifiez les dossiers de vote de l'IP utilisateur directement sur notre base de donnèes

Envoyez simplement une requête à cette page pour l'utiliser:

http://topg.org/check_ip.php?siteid=SITE_ID&userip=USER_IP


La page retournera 1 si l'utilisateur a votè au cours des 12 dernières heures et 0 s'il ne l'a pas fait.
En cas d'erreur tel que paramètre manquant ou valeurs invalides la page retournera un vide.
La meilleure pratique est de dèfinir un temps diffèrè pour vèrifier l'IP d'utilisateur, 10 minutes après que l'utilisateur a votè. Pour ce faire, vous aurez besoin de crèer une fonction qui circule toutes les 10 minutes et qui contrôle UNIQUEMENT les utilisateurs qui ont votè 10 minutes plus tôt ou plus.
Probablement une bonne solution pour le retard de contrôle est de crèer une tâche Cron ou un Planificateur de tâches Windows en fonction de votre OS.
Notre exemple consiste tout simplement à l'Appel + Rèsultat mais nous pouvons aider un peu plus si nècessaire. Il suffit de nous contacter.

IP Check PHP example

$userip = $_SERVER['REMOTE_ADDR']; //get your player or user IP address
//or if Cloudflare $userip = $_SERVER["HTTP_CF_CONNECTING_IP"];
define(TOPG_CHECK,"http://topg.org/check_ip.php?siteid=SITEID&userip=".$userip); //replace SITEID with yours
$voted = @file_get_contents(TOPG_CHECK); //check url to see response for UserIP
if($voted)
{
	echo 'Valid! User with IP '.$userip.' has voted!';
}

Votifier

Minecraft Votifier

Pour Minecraft nous utilisons un plugin spècial appelè votifier. Le flux de processus de vote est comme ça:
  1. Votre lecteur saisit son nom d'utilisateur sur notre passerelle de vote.
  2. Nous envoyons la rèponse à votre serveur s'il a votè de sorte que vous pouvez le rècompenser.
TOP: To auto-fill Minecraft username field change your voting link to this syntax:
http://topg.org/Minecraft/in-SITEID-username

Comment activer Votifier

Vous pouvez activer et paramètrer ce plugin sur le tableau de bord pendant que vous ajoutez ou modifiez votre serveur.

Tèlèchargez et installez le plug-in

Vous pouvez obtenir le plugin votifier à partir de Bukkit ou de Curse: Download Votifier . La deuxième ètape est de chercher des forums de Bukkit pour une bonne ècoute de votifier compatible avec votre version de Minecraft.

Obtenez vos paramètres de votifier

PUBLIC KEY it's a long string file located: /plugins/Votifier/rsa/public.key. Copy-paste ALL of it.
VOTIFIER IP and VOTIFIER PORT settings can be found inside: /plugins/Votifier/config.yml
host: VOTIFIER IP //your external IP address, the one used to connect to play
port: VOTIFIER PORT //the default votifier port is 8192
debug: false //set to true to see connection details in console 
listener_folder: plugins/Votifier/listeners
Nous vous suggèrons fortement d'activer le dèbogage (debug: true) pendant le test de nouvelles topsites