Yo tambien usaria el sistema de control por IP's pero no de esa forma, he tenido problemas con los proxys cache transparentes, osea q me devolvia la ip del proxy y no la ip real del equipo. Si quieres usa esta funcion.
Código PHP:
function DevIP()
{
if(getenv(HTTP_X_FORWARDED_FOR)) { $getip = getenv(HTTP_X_FORWARDED_FOR); }
elseif(getenv(HTTP_CLIENT_IP)) { $getip = getenv(HTTP_CLIENT_IP); }
else { $getip = $REMOTE_ADDR; }
$ip = split(" ", $getip);
$devip = $ip[1]." (".$ip[0].")";
return $devip;
}
Un saludo.