PHP FILTER_VALIDATE_IP è sufficientemente sicuro per $ _GET un indirizzo IP?

0

Ho bisogno di passare un IP a una pagina PHP, e sarebbe comodo poter usare GET, ma so che è una sorta di richiesta di guai, quindi voglio ricontrollare che lo gestisco in modo sicuro .

if(!filter_var($_GET["ip"], FILTER_VALIDATE_IP)) {
    echo "Invalid IP.";
    die();
}

$ip = (string)$_GET["ip"];

Questo è abbastanza sicuro da poter mettere $ ip in un database o visualizzarlo su una pagina? O ci sono delle vulnerabilità con FILTER_VALIDATE_IP (o forse il modo in cui il codice è strutturato) di cui dovrei preoccuparmi?

    
posta Qaz 19.08.2014 - 16:58
fonte

1 risposta

2

Ci sono stati problemi con filter_var se usato con FILTER_VALIDATE_EMAIL in passato, tuttavia non posso trova eventuali vulnerabilità con FILTER_VALIDATE_IP .

Anche se un indirizzo IP non contiene caratteri che hanno un significato speciale in HTML (es. < ) o caratteri che possono uscire da una query di database (ad esempio ' ), tratterei il valore come qualsiasi altro valore di stringa e utilizzare query parametrizzate per archiviare questo all'interno di un DB o codifica HTML durante la visualizzazione sulla pagina.

Ciò eviterebbe qualsiasi cambiamento futuro, come se fosse successivamente modificato in un nome host dall'input dell'utente - il valore sarebbe comunque sicuro per entrambe le operazioni.

    
risposta data 19.08.2014 - 19:19
fonte

Leggi altre domande sui tag