Informazioni

  • Copyright © 2021 Gabriele Romanato
  • Codice fiscale: RMNGRL78L20A485X
  • Privacy Policy

Perché bisognerebbe sempre diffidare dell'array superglobale $_SERVER in PHP

Questo array superglobale di PHP contiene a volte alcune informazioni non del tutto attendibili.

Bisogna capire che $_SERVER viene popolato con le informazioni passate a PHP dal web server (Apache, nginx, ecc.). Generalmente queste informazioni si dividono in due categorie:

  1. informazioni interne
  2. informazioni esterne

Le informazioni interne (il protocollo, la directory di installazione del sito ecc.) sono di norma attendibili, a meno che non siano stati commessi errori nell'installazione e configurazione del web server.

Le informazioni esterne, ossia quelle ricavate dal client (HTTP_USER_AGENT, REMOTE_ADDR, REMOTE_HOST), possono essere sia direttamente falsificate dal client (ad esempio con una banale richiesta tramite curl) o dal web server (se ad esempio il web server funge da proxy).

La regola di massima è quella di diffidare sempre delle informazioni esterne e di effettuare verifiche più approfondite.

Precedente Come scaricare un file da un sito remoto in locale con PHP Come scaricare un file da un sito remoto in locale con PHP
La posizione degli argomenti predefiniti nelle funzioni PHP Successivo La posizione degli argomenti predefiniti nelle funzioni PHP