Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Cosa significa if (getenv('HTTP_X_FORWARDED_FOR')?

    Buona sera, ho trovato uno script che mi fa il conteggio degli users on line all'interno c'è questo script, mi spiegate,passo passo, gentilmente quello che fa e cosa significa perchè altrimenti non posso utilizzarlo..
    function ipCheck() {
    if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
    }
    elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_X_FORWARDED')) {
    $ip = getenv('HTTP_X_FORWARDED');
    }
    elseif (getenv('HTTP_FORWARDED_FOR')) {
    $ip = getenv('HTTP_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_FORWARDED')) {
    $ip = getenv('HTTP_FORWARDED');
    }
    else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }
    Grazie mille...

  2. #2
    Si vede anche

    $_SERVER['HTTP_X_FORWARDED_FOR'] ;

    Serve a rilevare l'ip del client anche quando è mascherato da un proxy, sempre che il proxy propaghi questo header
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3
    in pratica tutto quel controllo serve per rilevare alcune caratteristiche del client giusto?
    e se si... sono soltanto queste oppure ce ne sono altre da tener in considerazione?Grazie mille...

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    All'interno di phpMyAdmin puoi trovare una funzione molto completa che svolge questa operazione il cui nome è PMA_getIp dentro al file ip_allow_deny.lib.php

    Ciao
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  5. #5
    Originariamente inviato da ANTAGONIA
    in pratica tutto quel controllo serve per rilevare alcune caratteristiche del client giusto?
    Rileva solo l'ip , poi potresti voler rilevare altre cose, come il browser e il sistema operativo

    $_SERVER['HTTP_USER_AGENT']

    E altre ancora meno utili
    per favore NIENTE PVT TECNICI da sconosciuti

  6. #6
    se fai un phpinfo() le vedi tutte queste variabili server.

  7. #7
    ho capito, ma una domanda: serve a qualcosa rilevare, tutti questi parametri?
    Cioè, vorrei sapere nello specifico se, si devono usare per forza e per quale tipo di progetti(mi elencate almeno un paio di progetti per cui c'è la necessità di utilizzare questi parametri?),se servono per la sicurezza, o per quale altra cosa, oppure si possono omettere senza nessun problema?

    Non so se mi sono spiegato...
    Grazie...a tutti

  8. #8
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Probabilmente lo script che hai scaricato sfrutta l'IP dell'utente per verificare se è ancora collegato, quindi ha bisogno di reperire l'IP reale per ulteriori operazioni. Chi ha scritto lo script ha cercato di prevedere la presenza di un proxy al fine di estrarre l'IP reale dell'utente. Ti consiglio di sostituire la funzione che hai con quella che ti ho suggerito prima, perchè quello che si cerca di ottenere caricando tante variabili d'ambiente, che su alcuni server possono anche non esserci, è l'indipendenza dello script dalla piattaforma (sistema operativo, proxy, server http).

    Ciao

  9. #9
    Originariamente inviato da Grino
    All'interno di phpMyAdmin puoi trovare una funzione molto completa che svolge questa operazione il cui nome è PMA_getIp dentro al file ip_allow_deny.lib.php

    Ciao
    Quindi basta che prelevo dal file quella funzione?
    E la implemento nel mio controllo,giusto?

  10. #10
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    In teoria sì, ma fai attenzione perchè se non riesce a risolvere l'IP quella funzione ti ritorna false.
    La funzone utilizza la dichiarazione global, ma solo per rendere disponibili le variabili ad altre funzioni, poichè è qui che vengono settate, in piu' non mi sembra di aver visto dipendenze da altri file o funzioni al difuori di PHP. quindi rimuovi le dichiarazioni global che a te non servono e sistema il codice per gestire il caso in cui non viene risolto l'ip del client.

    Ciao

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.