Attiva Register_globals per una sola app
-
28-10-2019 - |
Domanda
Abbiamo un'applicazione client che si basa su Register_globals attivato per funzionare, ma la stiamo ospitando su un nostro server condiviso e non vogliamo attivare Register_globals nel nostro file php.ini principale.
Ho provato a inserire ini_set ( 'register_globals' , 'On' );
ma non ha funzionato.Perché non è stato così?E c'è un modo migliore?
Soluzione
Potresti sempre provare a mettere:
extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty
sopra ogni file.Darebbe gli stessi risultati, per quanto ne so.Ma davvero, DAVVERO, è pessimo, pessimo usarli.Cercherei un modo per cambiare il codice.Ma a volte non hai scelta.
Altri suggerimenti
Dalla documentazione php:
Si prega di notare che Register_Globals non può essere impostato in fase di esecuzione (ini_set ()).Anche se, è possibile utilizzare .htaccess se il vostro host lo permette come sopra descritto.Una voce .htaccess di esempio:php_flag register_globals Fuori di qui.
Register_globals potrebbe essere impostato solo in php.ini.Non runtime da ini_setPuoi leggere questa impostazione solo seguendo il codice:
ini_get('register_globals');