Per il controllo dell'ip io in genere controllo i primi 3 range dell'ip (che su una connessione che nn usa proxy sn pressoche' stabili).

Quindi ho fatto cosi:
Codice PHP:
$ip=$_SERVER['REMOTE_ADDR']; 
#scomposizione ip
list ($part1$part2$part3) = explode ("."$ip6);
$req_ip="$part1.$part2.$part3"
Cosi scompongo l'ip nelle 4 parti e metto in 3 variabili i primi 3 range.
Poi il mio script in questione immagazzinava gia l'ip in un file di testo. Quindi mi bastava un controllo:
Codice PHP:
$h_r=fopen("database.txt","r");
    
$str_ver=fgets ($h_r);
    if (
strpos ($str_ver$req_ip)) {
      echo 
'<h2>Il tuo IP &egrave; gia presente nel nostro archivio, non puoi rifare di nuovo il test!</h2>';
      
fclose($h_r);
    } else {
#codice che ti occorre

Spero di esser stato chiaro. ma cmq io anche opterei per un cookie.