JeuWeb - Crée ton jeu par navigateur
Anti proxy - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Anti proxy (/showthread.php?tid=5833)

Pages : 1 2 3 4 5


Anti proxy - tesco - 30-11-2011

Je vous met à disposition un script anti proxy pour "éviter" les multis comptes. En faite si le script retourne 0 c'est que vous n’êtes pas derrière un proxy et si il retourne un chiffre supérieur à 0 c'est que vous êtes derrière un proxy.

Voici le script qui vérifie si vous êtes derrière un proxy:

Citation : function get_ip() {
if($_SERVER) {
if($_SERVER['HTTP_X_FORWARDED_FOR'])
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif($_SERVER['HTTP_CLIENT_IP'])
$ip = $_SERVER['HTTP_CLIENT_IP'];
else
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
if(getenv('HTTP_X_FORWARDED_FOR'))
$ip = getenv('HTTP_X_FORWARDED_FOR');
elseif(getenv('HTTP_CLIENT_IP'))
$ip = getenv('HTTP_CLIENT_IP');
else
$ip = getenv('REMOTE_ADDR');
}

return $ip;
}

function detect_proxy($myIP) {
$scan_headers = array(
'HTTP_VIA',
'HTTP_X_FORWARDED_FOR',
'HTTP_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_FORWARDED',
'HTTP_CLIENT_IP',
'HTTP_FORWARDED_FOR_IP',
'VIA',
'X_FORWARDED_FOR',
'FORWARDED_FOR',
'X_FORWARDED',
'FORWARDED',
'CLIENT_IP',
'FORWARDED_FOR_IP',
'HTTP_PROXY_CONNECTION'
);

$flagProxy = false;
$libProxy = '0';

foreach($scan_headers as $i)
if($_SERVER[$i]) $flagProxy = true;

if ( in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554))
|| @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 2))
$flagProxy = true;

// Proxy LookUp
if ( $flagProxy == true &&
isset($_SERVER['REMOTE_ADDR']) &&
!empty($_SERVER['REMOTE_ADDR']) )
// Transparent Proxy
// REMOTE_ADDR = proxy IP
// HTTP_X_FORWARDED_FOR = your IP
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
!empty($_SERVER['HTTP_X_FORWARDED_FOR']) &&
$_SERVER['HTTP_X_FORWARDED_FOR'] == $myIP
)
$libProxy = '1';
// Simple Anonymous Proxy
// REMOTE_ADDR = proxy IP
// HTTP_X_FORWARDED_FOR = proxy IP
else if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
!empty($_SERVER['HTTP_X_FORWARDED_FOR']) &&
$_SERVER['HTTP_X_FORWARDED_FOR'] == $_SERVER['REMOTE_ADDR']
)
$libProxy = '2';
// Distorting Anonymous Proxy
// REMOTE_ADDR = proxy IP
// HTTP_X_FORWARDED_FOR = random IP address
else if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
!empty($_SERVER['HTTP_X_FORWARDED_FOR']) &&
$_SERVER['HTTP_X_FORWARDED_FOR'] != $_SERVER['REMOTE_ADDR']
)
$libProxy = '3';
// Anonymous Proxy
// HTTP_X_FORWARDED_FOR = not determined
// HTTP_CLIENT_IP = not determined
// HTTP_VIA = determined
else if ( $_SERVER['HTTP_X_FORWARDED_FOR'] == '' &&
$_SERVER['HTTP_CLIENT_IP'] == '' &&
!empty($_SERVER['HTTP_VIA'])
)
$libProxy = '4';
// High Anonymous Proxy
// REMOTE_ADDR = proxy IP
// HTTP_X_FORWARDED_FOR = not determined
else
$libProxy = '5';

return $libProxy;
}

$ip = get_ip();

$typeProxy = detect_proxy($ip);

Voici le chiffre de retour
:
Citation :echo "$typeProxy";

0 = pas de proxy
1,2,3,4,5 = proxy, 5 étant un proxy hautement anonyme


RE: Anti proxy - srm - 30-11-2011

Qui est très facilement contournable.


RE: Anti proxy - Hideaki - 30-11-2011

Moi je pense à ceux qui veulent jouer à ton jeu au travail et qui sont bloqués par leur DSI, ils l'ont dans le baba Smile


RE: Anti proxy - tesco - 30-11-2011

Effectivement c'est facilement contournable pour une minorité mais pas pour la majorité. Et ceux qui veulent jouer du travail l'ont bien dans le baba mais après chacun voit midi à sa porte (acceptation des multis ou pas).

Celui qui veut vraiment contournera toutes les protections Tongue


RE: Anti proxy - Viciousity - 30-11-2011

Le multicompte ne nuit pas au jeu en fait :S


RE: Anti proxy - srm - 30-11-2011

Il est difficile, voire impossible, d'avoir un multi qui ne nuit pas au jeu.


RE: Anti proxy - Viciousity - 30-11-2011

Je ne suis pas vraiment d'accord (bien que cela dépende du type de jeu).
Mais si on a un système commercial correct, il sera plus facile au joueur de payer pour avoir un avantage que d'essayer de l'obtenir en passant par le multicompte. De plus, si l'on a un système d'analyse joueur (même simple), analyser les actions des joueurs haut classés est relativement aisé et l'on peut ainsi vite déceler du multicompte Smile

Je pense d'ailleurs que c'est un aspect a aborder une fois le jeu terminé, a force de se concentrer sur des banalités et non le gameplay, on peut finir par se décourager ...


RE: Anti proxy - tesco - 30-11-2011

Ca dépend si dans ton jeu il y a interactivité entre tes joueurs, dans le mien oui donc le multi peut être "nuisible", mais un jeu dans lequel je jouais il n'y avais pas réellement d’interactivité entre les joueurs le multi était donc quasi inutile.

Par contre faudra que tu m'expliques comment analyser les joueurs?
-Cookie = facilement modifiable ou simplement les supprimés
-IP = certains changent d'IP à chaque reboot de leurs box et il y a aussi les proxy
-les logs d'actions = possible si tu as 10 joueurs actifs, mais quand tu en a 100 c'est quasi impossible

En étant honnête il n'y a rien d'efficace contre les multis mais on peut essayer de les limités


RE: Anti proxy - Viciousity - 30-11-2011

Pourquoi un log n'est-il pas possible selon toi ?
Si tu as un système solide pour le gérer il n'y a pas de soucis pour garder trace de toutes les actions des joueurs (echange,conversations, heure de connexion, etc ...) ensuite tu recoupes ces informations par un système qui analyse par exemple la fréquence des transaction entre les joueurs, les conversations qu'ils ont, etc ...

Si un joueur fait beaucoup d'échange avec un autre mais ne discute jamais avec lui, c'est louche.


RE: Anti proxy - tesco - 30-11-2011

Sauf si ils utilisent Skype Smile