Non accedere superglobal $_GET matrice

Sono nuovo di PHP, quindi perdonami se questa è una domanda stupida, ma perché non si può accedere agli elementi in superglobal array direttamente? NetBeans mi avvisa di non (vedi titolo), e ho letto lo stesso altrove — tuttavia non avevo mai trovato una buona spiegazione di sicurezza.

Cosa può andare storto? È un problema di sicurezza, come SQL injection? O qualcos’altro?

Ci sono diverse domande simili su StackOverflow, ma nessuna delle risposte effettivamente spiegare qual è il problema: solo che suggeriscono di utilizzare filter_input(). Questo non mi soddisfa, in quanto mi piace sapere come funzionano le cose. Qualsiasi spiegazione sarà apprezzato.

i dati possono essere compromessi da hacker ….
Perché i dati che si ricevono da un client sconosciuto potrebbe essere danneggiato. La perdita di database è il più piccolo problema qui. XSS o tramite il server per spamattacks sugli altri, può creare un sacco di problemi, solo perché tu non convalidare il userinput.
Si possono trovare consigli utili in phptherightway.com/#data_filtering
$_GET e $_POST rappresentare esattamente la stessa minacce alla sicurezza per i vostri script PHP. Quando qualcosa mi dice di non accedere direttamente allora cosa si traduce in “non attendibile la fonte che ha fornito i dati, assicurarsi di disinfettare e verificare prima di utilizzare nello script”. Un buon motivo per non utilizzare $_GET, nello specifico, quando l’invio di moduli, che può portare a un browser traccia della storia quindi, se si tratta di una schermata di login, quindi si può vedere someScript.php?user=something&password=plainText ma con un POST che non sarà in grado di vedere i valori passati.
Grazie @a.yastreb , la lettura che ora.

OriginaleL’autore Obversity | 2014-01-22

One Reply
  1. 1

    Bene, in casi normali non c’è nulla di male di utilizzare il super variabili globali direttamente,

    ma per stare sul sicuro ed evitare un lungo elenco di possibili attacchi si dovrebbe filtrare i dati provenienti dall’utente gettare quei vars, prima di utilizzarli nella vostra applicazione

    Mai fidarsi di Utente -_-

    OriginaleL’autore osmancode

Lascia un commento