Terug naar de voorpagina
Home Nieuw Vraag & Aanbod Forums Artikelen Bedrijvengids Zoeken

   M. van Beek, WG2
6 jan 19:38 
Ik zat een beetje te kloten om een proxy detector te maken.
Nu heb ik het voor mekaar gekregen met een functie welke controleert op poort 80.

function isportopen()
{
global $HTTP_SERVER_VARS;
$sd = @fsockopen($HTTP_SERVER_VARS["REMOTE_ADDR"], 80, $errno, $errstr, 1);

if ($sd)
{
fclose($sd);
return true;
}
else
return false;
}

// do simple proxy check
if (isportopen()){
echo 'proxy user!';
}else{
echo 'No proxy';
}


Hij detecteert of je dan nu zit op bijvoorbeeld surfert.nl en dus op een proxy site. Alleen hij doet er een seconde over en ik wil liever bij elke pagina kijken of de gebruiker een proxy gebruikt. En met een seconde wachttijd is het dus vervelend voor de gebruiker.

Nu is mijn vraag of andere mensen een ander idee of script gebruiken hiervoor?

   Jop Peters, Mastercoding
6 jan 20:30 
Na elke check het IP blacklisten en vervolgens niet nogmaals proberen?

Anders kun je nog kijken of de server vars een andere hint geven die op een proxy duiden (HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED_FOR, HTTP_FORWARDED).

     Aangepast op 06-01-2012 20:30 door Jop Peters
   M. van Beek, WG2
7 jan 12:23 
De forwarded wordt niet gevuld, enkel de $_SERVER["REMOTE_ADDR"] krijgt een ander ip adres.

Maar inderdaad het is slim op bij de eerste check de proxy al te blacklisten.
Ik heb het zelf nu zo opgelost dat enkel aanmelden en inloggen een seconden duurt en mocht het een proxy zijn dan het ip direct te bannen.




 
© Copyright TargetMedia 2001-2012 | Mobile | Premium SMS | Micropayments | Muziek downloaden | Ringtones Bekijk bezoekers statistieken RSS feed