leggo diversi articoli che consigliano il "register_globals" off, mentre di default il config php è "on". ho verificato la configurazione del mio hosting a pagamento ed il register_globals è on. quale potrebbe essere il motivo?
![]()
leggo diversi articoli che consigliano il "register_globals" off, mentre di default il config php è "on". ho verificato la configurazione del mio hosting a pagamento ed il register_globals è on. quale potrebbe essere il motivo?
![]()
che il tuo hosting ti vuole male.
Se non puoi accedere al php.ini puoi fare una madifica tramite .htaccess:
o al volo in un file incluso in tutte le pagine con comando ini_set()codice:php_flag register_globals off;
Codice PHP:
ini_set('register_globals', false);
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
grazie per l'aiuto,
che tu sappia questa cosa dell'on è prassi negli hosting a pagamento?
al fine di mettere un pò di ordine nella mia testa
cosa comporta avere il register_globals "on" e cosa "off"?
![]()
register globals va verso la scomparsa (meno male) nelle ultime versioni di php mi pare sia deprecato (o forse è già scomparso).
Su molti hoster questo viene impostato ad off però per evitare inghippi io ho un file .htaccess di base che carico in ogni sito che faccio in cui setto alcune direttive (oltre a register global, anche anche magic quotes, e alcune impostazioni per gestire gli errori error_reporting, e erro_display).
Cosa comporta REGISTER_GLOBAL?
Tecnicamente non te lo saprei dire. Ma in termini pratici l'utente può valorizzare "direttamente" le variabili presenti all'interno dello script inviandole via get, post o cookie.
Ad esempio poniamo che hai il seguente esempio.php
<?php
esegui_funzione($pippo);
?>
la variabile $pippo potrà essere valorizzata dall'utente inviando via get la variabile pippo:
http://sito.it/esempio.php?pippo=HackerParams
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
Esatto... è qualcosa di mostruoso da evitare come la peste! ;-)la variabile $pippo potrà essere valorizzata dall'utente inviando via get la variabile pippo:
http://sito.it/esempio.php?pippo=HackerParams
---
Emanuele Colonnelli
Web Engineer
Quando ho notato che il mio hosting aveva la direttiva register_globals "on" mi sono subito posto il problema e adesso interverrò come da consiglio.
Ho pensato di inserire il codice nei file che utilizzo per la connessione visto che per accedere al sito è necessario essere registrati.
è una soluzione accettabile?
![]()
io ti consiglio di utilizzare il file .htaccess
E' una soluzione "tradizione" e funzionante nella maggior parte degli hoster.
Infatti la funzione ini_set() su tantissimi hosting condivisi (e/o gratuiti) è disabilitata.
Inoltre farlo con php ti obbliga ad includere il comando in tutte le pagine.
aldilà di ciò le due soluzioni si equivalgono.
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
non ho mai usato questo file...
mi spieghi come si usa e come?
grazie mille
![]()
devi creare un file con nome
.htaccess
e metterlo nella root del sito.
all'interno scrivi
php_flag register_globals off;
hai fatto.
Ovviamente all'interno puoi mettere anche altre istruzioni e queste ti consentiranno di impostare altre settaggi del php.ini e del server APACHE
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
ahia! non funziona, o per lo meno credo...Originariamente inviato da oly1982
devi creare un file con nome
.htaccess
e metterlo nella root del sito.
all'interno scrivi
php_flag register_globals off;
hai fatto.
vediamo se ho capito bene questo register_globals
--in una qualsiasi subdirectory del mio sito ho creato un file con un form e un file per elaborare il form
--nel file del form, nell'unico campo presente, ho inserito una parola e invio al file che deve elaborare il form.
--la prassi mi dice che per inizializzare 'sta variabile il "method" usato nel form lo devo usare anche nel file di elaborazione ($_GET o $_POST), però avendo register_globals "on" (da Hosting) posso anche scrivere direttamente "echo $NamedelInput;". per ottenere l'output
infatti così è
successivamente...
--ho creato il file ".htaccess" e l'ho collocato nella root del sito.
--nel file di elaborazione ho inserito anche la funzione ini_get('register_globals');
--dopo un reset ripeto l'operazione di input
i risultati:
--la funzione mi da 1 (quindi è on) e ho anche l'output di "echo $NamedelInput;"
ho sbagliato?
![]()