Visualizzazione risultati 1 fino 7 di 7

Discussione: [PHP] $_SERVER['SERVER_PORT'] e $_SERVER['HTTPS'] non funzionano

  1. #1
    Data registrazione
    05-02-2013
    Messaggi
    27

    Predefinito [PHP] $_SERVER['SERVER_PORT'] e $_SERVER['HTTPS'] non funzionano

    Ciao ragazzi.

    Volendo verificare che l'accesso ad una pagina avvenga esclusivamente tramite connessione protetta, controllo tramite le funzioni $_SERVER di PHP il tipo di connessione e la porta di accesso tramite questo codice:
    Codice PHP:
    if( (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443 )
    { }
    Purtroppo, pur accedendo con connessione protetta (https://miosito.ssl.altervista.org) ricevo come risposte dei valori consoni ad una connessione non protetta.

    $_SERVER['HTTPS'] == false;
    $_SERVER['SERVER_PORT'] == 80;

    E' una limitazione di altervista o sto sbagliando qualcosa io?
    Se è una limitazione del servizio, c'è un modo alternativo per ricavare il tipo di connessione?

    Grazie.

  2. #2
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    prova a verificarlo tramite: $_SERVER['HTTP_X_FORWARDED_HOST']

    Altre info qui: http://forum.it.altervista.org/i-ser...p-_server.html
    Ultima modifica di darkwolf : 06-06-2016 alle ore 16.18.14

  3. #3
    Data registrazione
    05-02-2013
    Messaggi
    27

    Predefinito

    Grazie dark.
    Non è una soluzione molto elegante, ma credo che ora tramite questo codice sarà in grado di riconoscere se la connessione è protetta o meno.
    Codice PHP:
    if( $_SERVER['HTTP_X_FORWARDED_HOST'] == 'ravimatsolutions.ssl.altervista.org' ){}

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    credo che $_SERVER['HTTP_X_FORWARDED_HOST'] sia settata solo se in https.
    quindi:

    Codice PHP:
    if($_SERVER['HTTP_X_FORWARDED_HOST'])
    {
    echo
    "sono in https :)";
    }
    else
    {
    echo
    "sono in http :(";
    }

  5. #5
    Data registrazione
    05-02-2013
    Messaggi
    27

    Predefinito

    Si, avevo notato che in caso di accesso diretto restituisce FALSE, ma siamo sicuri che non possa esser valorizzata anche in casistiche diverse?

  6. #6
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Ai tempi feci diversi test (adesso quei link saranno tutti invalidi, mi dispiace. ma da quella discussione mi sembra di avere conferma del fatto che basti questo).

  7. #7
    Data registrazione
    05-02-2013
    Messaggi
    27

    Predefinito

    Ottimo, meglio ancora. Grazie :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •