Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Blocco ip con php

  1. #11
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Beh, non è una gran scelta, se io che ho l'IP bloccato disabilito l'esecuzione di Javascript sul mio browser, ecco che non sono più bloccato.

  2. #12
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    24
    Certo, però considerando che il mio sito web per lavorare usa altri script Java, dovresti ricevere un errore anche in caso di disabilitazione.

  3. #13
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da Claudio. Visualizza il messaggio
    Certo, però considerando che il mio sito web per lavorare usa altri script Java, dovresti ricevere un errore anche in caso di disabilitazione.
    Come l'ho scritto nell'altro tuo thread, basta visualizzare il sorgente della pagina togliere il javascript che mi blocca salvare il file ed usarlo con il browser ed è fatta.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #14
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo (testato ma non troppo).

    Formatazzione degli ip :
    ip fisso : 99.98.97.96 banna questo ip.
    range ip : 99.98.97.90-150 banna gli ip da 99.98.97.90 a 99.98.97.150
    puoi applicare un range su qualsiasi parte di un ip.

    Esempio : Se vuoi bannare tutti gli ip che comiciano da 10 => 10.0-255.0-255.0-255

    Codice PHP:
    <?php 
    //============================================================================
    function IPBannata($indirizzoIP,$listaIPBannati) {
      
    $partIP      '([0-9]{1,3}|[0-9]{1,3}[-]{0,1}[0-9]{1,3})';  
      
      
    $pattern     "/\s*{$partIP}[.]{$partIP}[.]{$partIP}[.]{$partIP}\s*(?:\r\n|$)/m";  
      
    preg_match_all($pattern,$listaIPBannati,$arrIPBannate);
      
    $pattern     "/^{$partIP}[.]{$partIP}[.]{$partIP}[.]{$partIP}$/";  
      
    $indirizzoIP trim($indirizzoIP);
      
    preg_match_all($pattern,$indirizzoIP,$arrIPDaTestare);
      
      
    $ipDT01 $arrIPDaTestare[1][0];
      
    $ipDT02 $arrIPDaTestare[2][0];
      
    $ipDT03 $arrIPDaTestare[3][0];
      
    $ipDT04 $arrIPDaTestare[4][0];
      
      
    $conta  count($arrIPBannate[0]);
      
      for(
    $i=0;$i<$conta;$i++) {
        
    $ipBA01  explode('-',$arrIPBannate[1][$i]);
        
    $ipBA02  explode('-',$arrIPBannate[2][$i]);
        
    $ipBA03  explode('-',$arrIPBannate[3][$i]);
        
    $ipBA04  explode('-',$arrIPBannate[4][$i]); 
     
     
    $countOK 0;
     
    $countOK checkParteIP($ipDT01,$ipBA01) ? $countOK $countOK;
     
    $countOK checkParteIP($ipDT02,$ipBA02) ? $countOK $countOK;
     
    $countOK checkParteIP($ipDT03,$ipBA03) ? $countOK $countOK;
     
    $countOK checkParteIP($ipDT04,$ipBA04) ? $countOK $countOK;
     
     if (
    $countOK == 4) {
       return 
    true;
     } 
      } 
    // for($i=0;$i<$conta;$i++)   
      
    return false;
    // function IPBannata($indirizzoIP,$listaIPBannati)
    function checkParteIP($parteIP,$arrayRangeIP) {
      
      if (
    count($arrayRangeIP) == 1) {
        if (
    $parteIP == $arrayRangeIP[0]) {
       return 
    true;
     } else {
       return 
    false;
     } 
    // if ($parteIP == $arrayRangeIP[0])
      
    } else {
        if ((
    $parteIP >= $arrayRangeIP[0]) && ($parteIP <= $arrayRangeIP[1])) {
       return 
    true;
     } else {
       return 
    false;
     } 
    // if ($parteIP == $arrayRangeIP[0])  
      
    // if (count($arrayRangeIP) == 1) 
    // function checkParteIP($parteIP,$arrayRangeIP)
    //============================================================================
    $listaIPBannati file_get_contents('lista_ip.txt');
    print 
    "Lista degli IP bannati:<br/>";
    print 
    nl2br($listaIPBannati);
    print 
    "<hr/>";
    $ipList = array('127.128.129.130',
    '10.50.100.0',
    '10.50.120.255',
    '10.50.121.255',
    '11.30.111.19',
    '11.30.111.20',
    '11.30.111.21',
    '11.30.111.22',
    '11.30.111.23',
    '11.30.111.24',
    '1.2.3.4',
    '1.2.3.5',
    '250.251.252.253');
    foreach(
    $ipList as $ip) {
      print 
    "IP $ip :";
      
    $result IPBannata($ip,$listaIPBannati);
      
    $testo  $result "bannato" "non bannato";
      print 
    "$testo<br/>";
    // foreach($ipList as $ip)
    ?>
    File lista_ip.txt
    codice:
    10-20.50-60.100-120.0-255
    11.30.111.20-23
    24.123.12-16.1
    99.98.97.96
    1.2.3.4
    250.251.252.253
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #15
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    24
    Salve. Preferisco non provare. Con lo script pubblicato nel forum Java il mio problema è stato risolto. Sarebbe il caso di cercare e di trovare eventuali "falle" nello script Java.

  6. #16
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fai come vuoi.
    Comunque non fare dipendere la sicurezza di un sito dalla parte server mi sembra pericoloso in quanto il tuo file viene caricato sul pc di ogni utente prima di essere eseguito dal browser.
    Spero solo che non si tratti di un sito professionale.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #17
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da Claudio. Visualizza il messaggio
    Salve. Preferisco non provare. Con lo script pubblicato nel forum Java il mio problema è stato risolto. Sarebbe il caso di cercare e di trovare eventuali "falle" nello script Java.
    Non è un buon motivo per non fare i controlli lato server.
    Ricordati sempre che lato client (javascript) i controlli non sono intesi per la sicurezza del sito, ma solo per una migliore esperienza da parte dell'utente, hanno risposte immediate e se non manomessi (come nella maggior parte dei casi) assicurano meno carico di lavoro al server che riceverà dati corretti.
    Ma ciò non ti autorizza a non effettuare affatto i controlli lato server, quelli vanno sempre fatti, sempre!

    Il minor carico di lavoro vuol dire che tutti gli if(il tal dato non è buono) e controlli vari risulteranno falsi e il codice al loro interno non verrà eseguito, ma devono esserci, sempre per colpa del potenziale malintenzionato e tu stai cercando di bloccare delle persone, tra loro qualcuno proverà sicuramente ad aggirare il problema e lato JS non hai scampo, ti bucheranno, proprio perché il codice ce l'hanno davanti agli occhi e lo possono modificare, non esiste sicurezza lato client, di quella ce se ne occupa lato server.

  8. #18
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non è un buon motivo per non fare i controlli lato server.
    [...] non esiste sicurezza lato client, di quella ce se ne occupa lato server.
    Amen

  9. #19
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ok, spero si sia fatto un'idea.
    Si è discusso abbastanza, anche nella sezione Javascript, e proprio per questo chiudo, per evitare il crossposting.

    @Claudio. se dicidi/capisci che ti serve operare lato client e ti serve aiuto, apri una nuova discussione.

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.