Visualizzazione risultati 1 fino 8 di 8

Discussione: ban (degli utenti tramite indirizzo IP)

  1. #1
    Guest

    Predefinito ban (degli utenti tramite indirizzo IP)

    ciao qualcuno sa darmi il link di uno script o il codice per bannare gli utenti attraverso l'ìp

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    qui è un esempio molto semplice, che ho scritto adesso,ma può essere migliorato:
    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;
    }
    ?>
    puoi anche pensare di salvare gli ip bannati (o che vuoi bannare) in un file di testo .txt ==> qui un link utile:
    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

  3. #3
    Guest

    Predefinito

    ok grazie risolto tutto
    Ultima modifica di TheCrociat : 19-10-2010 alle ore 16.40.22

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    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

  5. #5
    Guest

    Predefinito

    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

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    si, inserisci gli IP che vuoi bloccare nell'array:
    Codice PHP:
    //esempio
    $banIPs = array (
    'indirizzo IP n.1',
    'indirizzo IP n.2',
    'indirizzo IP n.3',
    '..ecc....'
    );
    salvi il file come banIP.php(o come vuoi tu) e lo includi dove hai bisogno, o nel file index.php del tuo sito.

    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

  7. #7
    Guest

    Predefinito

    io vorrei però poter bannare per un tot di tempo e salvare i dati in una tabella con data di sban, motivo e ip

  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    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

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •