Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Controllo ip e date..

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68

    Controllo ip e date..

    Salve a tutti,
    ho un problema con php, in pratica io quando voglio scelgo di bannare un utente dal mio sito attraverso il suo ip, però ho un problema. Scrive il file per bloccare l'ip e funziona.. però quando poi la scadenza del ban è superata, l'ip rimane bloccato. Eseguo un controllo con le date attraverso il nome dell'ip, ecco il codice:

    Codice PHP:
    <?php

    class IP{

          private 
    $remote_ip;

          public function 
    register(){
          
            
    $this->remote_ip $_SERVER['REMOTE_ADDR'];

            
    $f fopen('reg.php','a+');
            
            
    fwrite($f,'<form action="block.php" method="POST">Orario : '.date("Y:m:d H:i:s").' Indirizzo Registrato : <input type="text" style="border-color:black;border-width:1px;border-style:solid;background-color:gray;font-weight:bold" readonly="readonly" value="'.$this->remote_ip.'" name="ip_address">[b]Data del ban : [/b]<input type="text" name="data" value="'.date('Y-m-d H:i:s').'" style="border-color:black;border-width:1px;border-style:solid;background-color:gray;font-weight:bold"><input type="text" name="reason" value="Motivo Ban" style="border-color:black;border-width:1px;border-style:solid;background-color:gray;font-weight:bold"><input type="submit" Value="Blocca IP" style="border-color:black;border-width:1px;border-style:solid;background-color:gray;font-weight:bold"></form>
    '
    );
            
            
    fclose($f);
          
          
          }
          
          public function 
    control(){
          

         
    $cond false;
         
    $filename "";

         foreach (
    glob("./ip_ban/*") as $filename) {
         
         if(
    strrpos($filename,$this->remote_ip)){
         
         
         
    $cond true;
         
         }
         
         }
         
          
          if(
    $cond == true){
          
          
    $contents explode("^",$filename);
          
          
    $_break $contents[1];
         
          if(
    strtotime($_break) >  date("Y:m:d H:i:s")){ 
          
          die(
    "[b]Sei stato bannato da LiteSystems fino al {$contents[1]}[/b]
    Il motivo è reperibile cliccando <a href=\"
    $filename\">qui</a>
    Se rietieni il tuo ban ingiusto contatta lo staff all'email : [email]exsoax@wli.it[/email]"
    );
          
          }else{
          
          
    unlink($filename); 
          
          }

          
          }
          
          
        
          
          }


    }
    Poi questa classe la richiamo in altre per fare il controllo attraverso :
    Codice PHP:
    $ip = new IP();
    $ip->register();
    $ip->control(); 
    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68
    Allora che dite?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68
    Nessuno , risponde... dai avete qualche soluzione...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68
    scrivo cosi torna su, LoL

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68
    Accidenti nessuno lo sa? LOL

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Usi un file per ogni IP bloccato, no? Potresti usare il timestamp dei file per determinare quando è stato bloccato.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    68
    potresti spiegarmi come lo trovo questo timestamp nell data di creazione del file?

  8. #8
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    filemtime()

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  9. #9
    @ExSoax

    non prenderò provvedimenti perché sto vedendo il thread solamente ora ed hai ricevuto delle risposte, ma sappi che non puoi riuppare il tuo thread con questa velocità: gli utenti del forum non hanno alcun obbligo nel rispondere a qualcuno o nel rispondere al tuo thread! Se gli va lo fanno se non gli va non lo fanno. Inoltre devi anche dare il tempo per capire e magari per provare il codice postato cosi da poter dare risposte complete.

    per i prossimi thread evita questi continui up.

    grazie

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.