-
Blocco IP
Premessa:
visualizzando il contenuto del mio post uno potrebbe uscire, ma vi assicuro che il problema è semplice, al meno penso!!!!
Post:
ciao a tutti, volevo chiedere se qualcuno è disposto ad aiutarmi nella realizzazione di uno script che blocca l'ip, in un certo modo. Ho quasi finito di realizzare un gioco on-line in php come un cms, tramite il quale dopo aver inviato la foto del personaggio e aver inserito le risposte a tutte le domande disponibili, publica una pagina con un form per chiedere una domanda con la relativa rispota, io però voglio fare che ogni computer può chiedere solamente tre domande, quindi, a me servirebbe solo uno script che dica che se lip non ha mai chiesto una domanda fa visualizzare il form, else non echare niente!
Quindi nella pagina dove ti "rivela" la risposta ci dovrebbe essere una cosa simile:
Codice PHP:
<?php
if($REMOTE_ADDR != nn_sò_come_dirgli_di_controllare_in_un_file_gli_ip_in_una_riga) {
echo "risposta";
}
else {
echo "Sorry: hai già effettuato le tue tre domande!";
}
?>
e poi dico che ogni volta che visita questa pagina scrive l'ip in un file e se l'ip compare per ben tre volte esegui l'else, quindi non echare niente!!!ciao e grazie x l'aiuto!! :wink:
-
Semplicemente una volta che l'IP ha effettuato la dovuta operazione lo registri un un file di testo e poi controlli se non è presente lì dentro.
-
Codice PHP:
<?php
$ipok=true;
$file=file("indirizziip.txt");
for($i=0;$i<count($file);$i++)
if ($_SERVER['REMOTE_ADDR']==trim($file[$i]))
$ipok=false;
if ($ipok) {
echo "risposta";
$fp=fopen("indirizziip.txt","a");
fputs($fp,$_SERVER['REMOTE_ADDR']."\n");
fclose($fp);
}
else {
echo "Sorry: hai già effettuato le tue tre domande!";
}
?>
-
Grazie x le risposte, le ho lette solo ora, ma è possibile dirgli di controllare nel file, come fa ora, ma solo se c'è tre volte l'ip di un utente gli deve dare il msg: Sorry....ecc... .Grazie ancora e ciao :wink:
-
Codice PHP:
<?php
$ipok=0;
$file=file("indirizziip.txt");
for($i=0;$i<count($file);$i++)
if ($_SERVER['REMOTE_ADDR']==trim($file[$i]))
$ipok++;
if ($ipok<3) {
echo "risposta";
$fp=fopen("indirizziip.txt","a");
fputs($fp,$_SERVER['REMOTE_ADDR']."\n");
fclose($fp);
}
else {
echo "Sorry: hai già effettuato le tue tre domande!";
}
?>
-
Grazie ancora, avrei un' ultima domanda, come posso dirgli di scrivere la risposta a seconda del select? Cioè ci sono più opzione e in questa pagina che mi hai fatto deve scrivere la risposta, prendendola da un'altra pagina, in poche parole, mi servirebbe solamente, nn sò se si può fare con i case, qualcosa che scriva la risposta a seconda del select selezionato...grazie ancora, ciaoo :wink:
-
Codice PHP:
switch ($_POST['nomeselect']) {
case "valore 1":
// Operazione 1
break;
case "valore 2":
// Operazione 2
break;
case "valore 3":
// Operazione 3
break;
}