Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: "Sistema" di ban

  1. #1
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502

    "Sistema" di ban

    Un saluto agli utenti di HTML.it...
    Visto che di continuo ricevo spam da un utente nel guestbook, ho deciso di implementare nel mio sito un sistema di ban per IP. (Ma naturalmente mi da qualche errore >.>)
    Vi posto il codice:
    In tutte le pagine basterà aggiungere:
    codice:
    <?php include 'bannaggio.php'; ?>
    bannaggio.php
    Codice PHP:
    <?php
    $ip
    =getenv("REMOTE_ADDR");
    $db mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " mysql_error());    
    mysql_select_db("my_razers"$db);
        
    $query "SELECT ip_ban FROM `ban`";
    $result mysql_query($query);

    if (
    $result == $ip//Se l'indirizzo ip della macchina che sta visualizzando il sito è nella tabella degli utenti bannati...
        
    {header("location: banned.php");}
    else {exit;}
    ?>
    Il problema è che se lo includo nelle pagine, le pagine diventano completamente bianche. Io per testarlo ho pensato di aggiungere il mio indirizzo IP nella tabella e vedere se effettivamente mi reindirizzasse alla pagina banned.php, ma mi visualizza (qualsiasi pagina che ha incluso il file bannaggio.php) una pagina bianca. Errori?
    Personal Home Page

  2. #2
    Sicuramente ci sarà qualche errore nello script...

    L'error_reporting è attivo?

  3. #3
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Sono su Altervista e praticamente sempre, quando sbagliavo, mi segnalava l'errore. Quindi... credo di si.

    Ho modificato così: (Credo sia più idoneo)
    Codice PHP:
    <?php
    $ip
    =getenv("REMOTE_ADDR");
    $db mysql_connect("localhost","razers","tortelino") or die("Connessione non riuscita: " mysql_error());
    mysql_select_db("my_razers"$db);
    $query "SELECT * FROM `ban` WHERE ip_ban='$ip'";
    $result mysql_query($query);

    if (
    $result//Se l'indirizzo ip della macchina che sta visualizzando il sito è nella tabella degli utenti bannati...     {header ("location: banned.php");}
    else {exit;}
    ?>
    Ma ora mi banna anche se non c'è niente nella tabella o.o
    Personal Home Page

  4. #4

  5. #5
    L'ho provato in locale, e il codice non presenta errori...s

    Sinceramente non saprei che dirti

  6. #6
    Secondo te, che cosa dovrebbe restituire mysql_query() nel caso in cui la query vada a buon fine ma non restituisce alcun risultato?

    Capito ciò, per quale motivo ritieni ti sia stato suggerito di leggere la documentazione relativa a http://www.php.net/mysql_num_rows ?

  7. #7
    Ehm, Filippo hai sbagliato persona

  8. #8
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Mmm... ho provato anche con:
    Codice PHP:
    <?php
    $ip
    =getenv("REMOTE_ADDR");
    $db mysql_connect("localhost","razers","tortelino") or die("Connessione non riuscita: " mysql_error());    
    mysql_select_db("my_razers"$db);
        
    $query "SELECT * FROM `ban` WHERE ip_ban='$ip'";
    $result mysql_query($query);
    $row mysql_num_rows($result);

    if (
    $row)
        {
    header ("location: banned.php");}
    else {exit;}
    ?>
    Ma pagina bianca lo stesso O.o
    Personal Home Page

  9. #9
    metti un echo nell'else, così vedi se almeno fa qualcosa!

  10. #10
    Perchè invece di usare header ed exit NON utilizzi un semplice:

    Codice PHP:
    if ($row 0) {
      die(
    'IP Bannato');
    }
    die(
    'OK'); 
    Giusto per capire di cosa stiamo parlando?

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.