Hola a tutti!
Non so se è la sezione giusta... casomai spostate il topic :)
In breve: vorrei che in una pagina, dopo che l'utente sia entrato, non possa più entrare finchè non gli si resetta l'ip. E' possibile?
Grazie 1000
Hola a tutti!
Non so se è la sezione giusta... casomai spostate il topic :)
In breve: vorrei che in una pagina, dopo che l'utente sia entrato, non possa più entrare finchè non gli si resetta l'ip. E' possibile?
Grazie 1000
Per fare questo devi utilizzare di sicuro PHP o al massimo JavaScript e i cookie.
Ora avento postato tu nella sezione riguardo al PHP penso che vuoi utilizzare questo linguaggio...per fare ciò che chiedi l'indirizzo IP del visitatore deve essere memorizzato da qualche parte...dove vuoi che venga memorizzato l'IP? In un file di testo, nel database MySQL...?
possibilmente in un file di testo...
Ho appena fatto questo:
Il tutto è banale poichè basta cancellare il cookie per rientrare, però vedi se ti va bene saluti!Codice PHP:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($ip)) {
setcookie("ip",$ip,time() +60*60);
}
$nega = $_COOKIE['ip'];
if($ip == $nega) {
echo "Mi dispiace hai a disposizione solo una visita"; //se hai già visitato il sito
} else {
echo "Benvenuto"; //se non hai visitato ancora il sito
}
?>
Ultima modifica di nokiagames : 13-01-2009 alle ore 21.42.16
@nokiagames E' se uno ha i cookie disattivati (è raro ma possibile)
@djpix95 Il seguente codice agisce in questo modo:
1. La parte opzionale che puoi liberamente cancellare controlla se esiste il file che conterrà gli IP, se non esiste lo crea ed inserisce un indirizzo IP di partenza.
2. Controlla se l'IP è nel database, se l'IP del visitatore e nel file di testo allora manda ad un'altra pagina mentre se non è presente visualizza quella che tu vuoi.
Le uniche cose che devi modificare sono:Codice PHP:
<?php
$file = "ip.txt"; // Nome del file che conterrà gli IP
$separatore = "|"; // Separatore di IP (poco importante)
$pagina = "altra.html"; // Nome della pagina da visualizzare se l'utente non deve vedere questa
/* La parte che segue è opzionale */
if(!file_exists($file)){
$op = fopen($file,"w");
$st = "127.0.0.1".$separatore;
fwrite($op,$st);
fclose($op);
}
/* Fine parte opzionale */
$ip = $_SERVER['REMOTE_ADDR'];
$get = file_get_contents($file);
if(eregi($ip,$get)){
Header("Location: $pagina");
}else{
$o = fopen($file,"a+");
$txt = $ip.$separatore;
fwrite($o,$txt);
fclose($o);
?>
<html><head><title>PROVA</title></head><body><p>QUI IL CONTENUTO DELLA PAGINA</p></html>
<?php } ?>
1. Il contenuto delle prime tre variabili.
2. Il Testo HTML della pagina che può essere vista una sola volta.
Grazie 1000 a tutti e 2 :D
In ogni caso è possibile bypassare il controllo:
1) disconnessione e riconnessione (per connessioni con ip dinamico)
2) uso di proxy
3) inbase al tipo di controllo potrebbe anche bastare la modifica dell'orologio di sistema.
Quindi sappi a priori che un utente "smaliziato" non si fermerà così facilmente
Ultima modifica di darkwolf : 13-01-2009 alle ore 22.10.32
si, ma mi serve solo per rendergli la vita + difficile... lol
Perdonami ma non pensi che questo possa spingere un utente a non visitare nuovamente il tuo sito?
-
Io utente nubbio entro nella pagina, esco, un minuto dopo decido di rientrare ma non posso.
1) aspetterò un ora davanti al monitor (du palle)
2) chiudo la pagina promettendo a me stesso di non rientrarci più
-
Oppure (ok questo un nubbio non lo farebbe ma io si):
3) inserisco il tuo sito nel file hosts redirectandolo ad un immagine che mi ricorda la promessa fatta al punto 2
Ultima modifica di darkwolf : 13-01-2009 alle ore 22.33.34
no, in quella pagina entrano solo degli utenti per acedere a un determinato servizio. Metto questo "Ban IP" solo per verificare che non entrino continuamente...
C'erto, non metterei mai una cosa del genere in tutto il mio sito ;)
Ma se io volessi non far entrare gli utenti dopo 2 visite in 12 h?