Visualizzazione dei risultati da 1 a 7 su 7

Discussione: IP banning

  1. #1

    IP banning

    Salve mi sto costruendo uno script per bloccare le ip in un sito, insomma per bannare gli utenti maleintenzionati.
    Lo script che ho trovato in rete utilizza un file di testo come lista delle ip bannate ma io lo voglio tramite database:

    beh ecco quà lo script trovato in rete:

    <?php
    $_EMAIL="******.com@******.com";
    $ip = $_SERVER['REMOTE_ADDR'];
    $browser = $_SERVER["HTTP_USER_AGENT"];
    $tempo = getdate();
    $giorno = $tempo['mday'];
    $mese = $tempo['month'];
    $anno = $tempo['year'];
    $ore = $tempo['hours'];
    $minuti = $tempo['minutes'];
    $secondi = $tempo['seconds'];
    $proxies = file ('ips.txt');

    $_SORRY="<div align=center>


    <img src=http://www.******/immagini/banned.jpg alt=You are Banned! width=400 height=400></p>
    <p class=bannedtext>Sorry, but your IP adress ($ip) is currently blocked for security reasons by the Administrator.

    For more informations, contact the management at: <a href=mailto:******.com@******.com>******.com@***** *.com

    </a>Thanks.</p>


    ";
    while(list($key,$val) = each($proxies)) {
    if($ip == trim($val)) {
    echo "$_SORRY";
    mail("$_EMAIL","Blocco delle IP SmE","L'utente bannato precedentemente ed avente indirizzo IP $ip
    si è collegato al sito ******.com con il browser: $browser
    In data: $giorno/$mese/$anno Alle ore: $ore:$minuti:$secondi","From:$_EMAIL\r\n");
    die();
    }
    }

    ?>

    Io ho cercato di modificarlo nel mio piccolo ma senza successo:

    <?php
    $connessione = mysql_connect("sql.******.com","******","******")
    or
    die("Connection imposible, please check your permissions");
    mysql_select_db("******",$connessione);

    $ip = $_SERVER['REMOTE_ADDR'];
    $browser = $_SERVER["HTTP_USER_AGENT"];
    $tempo = getdate();
    $giorno = $tempo['mday'];
    $mese = $tempo['month'];
    $anno = $tempo['year'];
    $ore = $tempo['hours'];
    $minuti = $tempo['minutes'];
    $secondi = $tempo['seconds'];
    $query = "SELECT * FROM banning WHERE ip";

    $_SORRY="<div align=center>


    <img src=http://www.******/immagini/banned.jpg alt=You are Banned! width=400 height=400></p>
    <p class=bannedtext>Sorry, but your IP adress ($ip) is currently blocked for security reasons by the Administrator.

    For more informations, contact the management at: <a href=mailto:******.com@******.com>******.com@***** *.com

    </a>Thanks.</p>


    ";

    if(in_array($ip,$query))
    echo "$_SORRY";
    ?>

    ?>

    Come notate oltre ad aver censurato alcune cose con ****** ho eliminato anche la funzione di invio email che era solo na scocciatura.
    Solo se sei disposto a pensare di rendere possibile l'impossibile, allora sei vicino a scoprire qualcosa di nuovo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova così...

    Codice PHP:
    <?php
    ....
    $ip $_SERVER['REMOTE_ADDR'];
    ...
    $query "SELECT * FROM banning WHERE ip='$ip'";
    $res mysql_query($query);
    if (
    mysql_num_rows($res) > 0)
    {

    echo 
    "<div align=center>


    <img src=http://www.******/immagini/banned.jpg alt=You are Banned! width=400 height=400></p>
    <p class=bannedtext>Sorry, but your IP adress [b](
    $ip)[/b] is currently blocked for security reasons by the Administrator.

    For more informations, contact the management at: <a href=mailto:******.com@******.com>******.com@******.com

    </a>Thanks.</p>


    "
    ;
    }

    ?>

    ?>
    Scusa,ma non ho avuto modo di provarla...
    Comunque dovrebbe essere così, ossia, ricerchi nella tua tabella banning se l'ip connesso è presente, se è così, visualizzi il mex d'errore...

  3. #3

    Ok

    Ok funziona però forse era meglio un finale così:

    if (mysql_num_rows($res) > 0)
    {
    echo "$_SORRY";
    die();
    }
    ?>

    così non si visualizza la pagina del sito come se fossi bannato. Grazie mille cmq.
    Solo se sei disposto a pensare di rendere possibile l'impossibile, allora sei vicino a scoprire qualcosa di nuovo.

  4. #4

    Ah

    Ah dimenticavo sapresti per caso anche uno script per cancellare tutti i records in una tabella? Grazie
    Solo se sei disposto a pensare di rendere possibile l'impossibile, allora sei vicino a scoprire qualcosa di nuovo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    In che senso uno script?
    Se intendi l'sql per la cancellazione
    DELETE * FROM tabella;
    se no, non ho capito

    Ciao

  6. #6

    Si

    Si vabbè quello che è mi seccava cercare nei libri o in giro per il mondo per na cosuccia così stupida.
    Solo se sei disposto a pensare di rendere possibile l'impossibile, allora sei vicino a scoprire qualcosa di nuovo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Tranquillo...non è neanche tanto presto,ti capisco..
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.