Visualizzazione dei risultati da 1 a 10 su 19

Discussione: Blocco ip con php

Visualizzazione discussione

  1. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se fai in_array() verrà eseguita una comparazione tra stringhe, quindi ovviamente hai il comportamento che descrivi.

    E' come se facessi
    if ("78.134.94.192" == $ip)

    sarà true solo se anche dentro $ip c'è lo stesso indirizzo, nella comparazione tra stringhe non esistono caratteri jolly, quindi niente *

    allo stesso modo se usi le altre versioni, saranno
    if ("78.134.94.0/8" == $ip)
    if ("78.134.94.*" == $ip)
    if ("78.134.94." == $ip)

    chiaramente vere solo se dentro $ip c'è esattamente la stringa indicata prima di ==

    Per risolvere dovresti usare le espressioni regolari, quelle ti consentono di trovare un match parziale sulle stringhe.
    Per esempio

    Codice PHP:
    if ( preg_match('/^78.134.94/'$ip) )
    {
        
    // è un IP da bloccare
    }
    else
    {
        
    // IP buono

    Ultima modifica di Alhazred; 21-08-2015 a 12:23

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.