ciao qualcuno sa darmi il link di uno script o il codice per bannare gli utenti attraverso l'ìp
ciao qualcuno sa darmi il link di uno script o il codice per bannare gli utenti attraverso l'ìp
qui è un esempio molto semplice, che ho scritto adesso,ma può essere migliorato:
puoi anche pensare di salvare gli ip bannati (o che vuoi bannare) in un file di testo .txt ==> qui un link utile:Codice PHP:
<?
$userIP=getenv("REMOTE_ADDR");//indirizzo ip dell'utente
//lista ip bannati:
$banIPs = array (
'/22.33.44.555/',
'/231.16.43.152/',
'/432.35.65.67/',
'/21.45.65.78/'
);
//setti una variabile ban a false:
$isBanIP = false;
//ciclo per verificare che l'ip dell'utente connesso sia nella lista ip bannati:
foreach ($banIPs as $checkIP){
if (preg_match ($checkIP, $userIP)) $isBanIP = true;
}
//se la variabile ban è true vieti l'accesso al sito:
if ($isBanIP == true){
echo "Il tuo IP è Bannato!";
exit;
}
?>
http://www.vinzplanet.com/65/bloccar...ri-fastidiosi/
LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org
VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
FAI IL TEST CON L'ANALISI VINCITE
ok grazie risolto tutto
Ultima modifica di TheCrociat : 19-10-2010 alle ore 16.40.22
ho fatto una modifica al codice, che rileva solo i primi 2 valori degli IP.
Questo può essere utile per IP che variano ad ogni nuova connessione gli ultimi 2 valori, i primi 2 valori dell'IP rimangono inalterati.
(ho tolto anche il preg_match)
http://eurosalute.altervista.org/tool/banIP.php
Codice PHP:
<?
$userIP=getenv("REMOTE_ADDR");//indirizzo ip dell'utente
//prelevo solo i primi 2 valori dell'IP:
$pos1_userIP=strpos($userIP, ".")+1;//restituisce la posizione del primo "." a partire da 0
$v1_userIP=substr($userIP,0,$pos1_userIP);
$tronc_userIP=substr($userIP,$pos1_userIP,strlen($userIP));
$pos2_userIP=strpos($tronc_userIP, ".")+1;
$v2_userIP=substr($tronc_userIP,0,$pos2_userIP);
$v1v2_userIP=$v1_userIP.$v2_userIP;
echo "<p>IP utente(solo i primi 2 valori): ".$v1v2_userIP;
//lista ip bannati:
$banIPs = array (
'22.33.44.555',
'231.16.43.152',
'432.35.65.67',
'21.45.65.78'
);
//setti una variabile ban a false:
$isBanIP = false;
//ciclo per verificare che l'ip dell'utente connesso sia nella lista ip bannati:
echo "<p>Lista IP Bannati(solo i primi 2 valori):";
foreach ($banIPs as $checkIP){
//prelevo solo i primi 2 valori per ogni IP nella lista bannati:
$pos1_checkIP=strpos($checkIP, ".")+1;//restituisce la posizione del primo "." a partire da 0
$v1_checkIP=substr($checkIP,0,$pos1_checkIP);
$tronc_checkIP=substr($checkIP,$pos1_checkIP,strlen($checkIP));
$pos2_checkIP=strpos($tronc_checkIP, ".")+1;
$v2_checkIP=substr($tronc_checkIP,0,$pos2_checkIP);
$v1v2_checkIP=$v1_checkIP.$v2_checkIP;
echo "<br>".$v1v2_checkIP;
//verifico che l'IP utente sia bannato:
if ($v1v2_checkIP==$v1v2_userIP) $isBanIP = true;
}
//se la variabile ban è true vieti l'accesso al sito:
if ($isBanIP == true){
echo "<p>ATTENZIONE: Il tuo IP è Bannato!";
exit;
}
?>
Ultima modifica di EuroSalute : 19-10-2010 alle ore 18.19.04 Motivo: più info
LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org
VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
FAI IL TEST CON L'ANALISI VINCITE
io vorrei però fare così che la lista dei bannati venga salvata in una tabella che crea, con l'indirizzo ip e la data di quando finirà se si può mettere perchè al posto di bannare x sempre vorrei bananre per una data ben precisa ad es per 2 mesi ecc
Ultima modifica di TheCrociat : 20-10-2010 alle ore 14.22.46
si, inserisci gli IP che vuoi bloccare nell'array:
salvi il file come banIP.php(o come vuoi tu) e lo includi dove hai bisogno, o nel file index.php del tuo sito.Codice PHP:
//esempio
$banIPs = array (
'indirizzo IP n.1',
'indirizzo IP n.2',
'indirizzo IP n.3',
'..ecc....'
);
potresti anche pensare di creare una tabella nel database che memorizza questi IP con un form input.
prelevi quindi gli IP dalla tabella per il controllo.
LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org
VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
FAI IL TEST CON L'ANALISI VINCITE
io vorrei però poter bannare per un tot di tempo e salvare i dati in una tabella con data di sban, motivo e ip
guarda è possibile fare tutto...
crei una tabella con una struttura che interessa a te....
crei un file per l'inserimento di questi valori con un form input...(admin area)
di solito gli IP vengono sboccati manualmente, per il fatto che nella maggior parte dei firewall, gli IP vengono memorizzati automaticamente in base al tipo di attacco che subisce il sito, dopo un certo numero di tentativi di attacco(variabile impostabile a piacere) viene bloccato l'accesso al sito.
crei un altro file per la lettura di questi valori e per bloccare l'accesso al sito....
l'ideale sarebbe un firewall....io ne ho installato uno.
LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org
VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
FAI IL TEST CON L'ANALISI VINCITE