08 Sep 2010 
Centro Assistenza » Knowledgebase » impostare register_globals ad Off o On
 impostare register_globals ad Off o On
Soluzione

Descrizione della problematica:

Dalla versione 4.2.0 gli sviluppatori di PHP hanno deciso di rivoluzionare la gestione delle variabili provenienti dall'utente e hanno deciso di impostare nel file di configurazione php.ini la variabile register_global = Off di default non permettendo più il comodissimo ma insicuro sistema di assegnazione automatica ad una variabile del suo valore passato dall'esterno.

La comodità stava nel fatto che se passavo ad uno script “pippo.php?io=max” avevo direttamente disponibile la variabile $io che assumeva il valore “max”. Questo sistema era decisamente molto comodo e facilitava il compito del programmatore ma creava dei problemi di sicurezza per chè anche se nel php.ini era presente la configurazione variables_order che impostava la priorità con cui dovevano essere gestite le assegnazioni di una variabile da una GET, POST, COOKIE o SESSION c'era l'inconveniente che se un programmatore prevedeva un controllo su una variabile $control e un utente smaliziato passava allo script tramite GET control=qualcosa il controllo del programmatore veniva eluso e di conseguenza si apriva una falla gigantesca nell'applicazione.

Il problema è che tutte o quasi le applicazioni realizzate prima della versione 4.2.0 sono state sviluppate con l'impostazione delle variabili globali impostata ad On e per questa ragione chiunque offra hosting a webmaster esterni sarà costretto a mantenere questa configurazione per non compremettere la funzionalità delle applicazioni presenti sul proprio server web.
Comunque sia d'ora in avanti chi svilupperà software in PHP per mantenere una portabilità ed una longevità nonchè sicurezza intrinseca dovrà cercare di sviluppare considerando che register_global sia uguale ad Off perchè prima o poi gli sviluppatori di PHP forzeranno con una versione nuova gli hoster ad utilizzare la nuova configurazione. (tratto da: http://openskills.info/infobox.php?ID=652 )

Impostare register_globals ad ON:

Seppur la soluzione migliore è quella di aggiornare le proprie applicazioni per il corretto funzionamento con l'impostazione ad off, perchè comunque il team di PHP raccomanda che tale impostazione sia ad off, è possibile, a discapito della sicurezza delle proprie impostazioni, impostare register_globals ad on, mediante l'uso di un file .htaccess:

- creare nella directory httpdocs del proprio spazio un file di testo col nome .htaccess

- all'interno di .htaccess inserire: php_flag register_globals off

Allo stesso modo è possibile modificare anche altre impostazioni di PHP.



Dettagli Articolo
ID Articolo: 3
Creata il: 01 Mar 2007 09:54 AM

 Questo articolo ti ha aiutato  Questo articolo non ti ha aiutato

 Indietro
 Entra [Password dimenticata] 
Email:
Password:
Memorizza login:
 
 Cerca
 Opzioni Articolo
Home | Registrati | Apri nuovo ticket | Knowledgebase | News | Downloads
Lingua:

Y2k Hosting