Il register globals è utile per gli sviluppatori, in quanto trasforma i valori passati con gli script automaticamente in variabili. Il problema è che questa funzione non controlla i valori, e ciò consentirebbe di passare codice in grado di danneggiare il sito, ad esempio basterebbe di fatto
passare un valore diverso per index.php, includendo il link ad un file per avere l’accesso al sito da parte di un hacker.
La funzione in sé non avrebbe conseguenze negative se le variabili fossero tutte controllate prima di essere inserite negli script, ma poiché ciò non accade sempre (pensiamo alle
innumerevoli estensioni di Joomla), è meglio risolvere questo problema di sicurezza.
Per porre register_globals off si deve innanzitutto attivare il mod rewrite. Questo dipende dal servizio di hosting, cioè se è possibile e come si fa devi chiederlo all'assistenza.
Una volta attivato, si deve creare con il notepad un file e chiamarlo htaccess.txt. In questo file deve essere copiato questo contenuto:
php_value register_globals 0
Anche questa riga può essere diversa da hosting ad hosting. Potrebbe essere anche php_flag register_globals off
Il file htaccess.txt, così come creato, deve essere caricato sul sito remoto, nella root, la directory principale. Andrà a sovrascrivere un altro file htaccess.txt. Consentite la
sovrascrittura.
Quindi, usando un FTP modificate il nome del file in .htaccess (importantissimo il punto prima del nome, di fatto il file sarà senza nome, non c’è niente prima del punto, ma con
estensione htaccess).
Verificate se il sito è ancora visibile. Se vi da errore 500 allora avete sbagliato qualcosa.
Ripetete i vari passi. Se il sito è visibile il problema è risolto.