Avviso di effetti collaterali della sessione PHP con variabili globali come fonte di dati
-
05-07-2019 - |
Domanda
Sto cercando di ospitare un sito Web PHP che mi è stato dato. Vedo questo avviso:
Avviso: sconosciuto: possibilmente il tuo script si basa su un effetto collaterale della sessione che esisteva fino a PHP 4.2.3. Per favore, sii avvisato che l'estensione della sessione non considera le variabili globali come una fonte di dati, a meno che register_globals è abilitato. Puoi disabilita questa funzionalità e questa avviso impostando session.bug_compat_42 o session.bug_compat_warn su off, rispettivamente. in Sconosciuto on line 0
Cosa significa? Come potrei rintracciare l'origine di questo problema all'interno del codice?
Soluzione
sostanzialmente hai una variabile con lo stesso nome della tua sessione. es:
sostanzialmente hai una variabile con lo stesso nome della tua sessione. es:
ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
che riprodurrà questo errore. puoi impedire a PHP di cercare variabili esistenti e avvisarti di loro aggiungendo queste righe al tuo script:
<*>
questi valori possono essere impostati anche in php.ini o .htaccess
SESSION['var1'] = null;
$var1 = 'something';
che riprodurrà questo errore. puoi impedire a PHP di cercare variabili esistenti e avvisarti di loro aggiungendo queste righe al tuo script:
<*>questi valori possono essere impostati anche in php.ini o .htaccess
Altri suggerimenti
Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
//Start of script
Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
<*>
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>SESSION['firstname']= Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
<*>
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>REQUEST['firstname'];
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>SESSION['bob'] = $bob;
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>SESSION['firstname']= Qui sembrano esserci alcune possibilità problematiche:
http://www.spiration.co.uk/post/1231/Your-script-possibly-relies-on-a-session-side-effect
dice che casi come questo:
<*>
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>REQUEST['firstname'];
attiverà l'avvertimento.
Inoltre, interpreto il contenuto di questo bug php: http: //bugs.php. net / bug.php? id = 41540 significa che questo errore può verificarsi anche quando si assegna una variabile al superglobal della sessione che non è ancora inizializzata, ad es.
<*>Questa è una buona informazione per scoprire cosa sta causando l'avvertimento, ma consiglierei di NON chiudere gli avvertimenti menzionati da Owen. Queste funzioni di runtime sono rimosse in PHP 5.4.0 e lo sviluppatore dovrebbe entrare nel pratica di evitare tale utilizzo delle variabili.
Per risolvere questo problema, potrebbe essere una seccatura da parte degli sviluppatori, ma se hai
Questa è una buona informazione per scoprire cosa sta causando l'avvertimento, ma consiglierei di NON chiudere gli avvertimenti menzionati da Owen. Queste funzioni di runtime sono rimosse in PHP 5.4.0 e lo sviluppatore dovrebbe entrare nel pratica di evitare tale utilizzo delle variabili.
Per risolvere questo problema, potrebbe essere una seccatura da parte degli sviluppatori, ma se hai
Questa è una buona informazione per scoprire cosa sta causando l'avvertimento, ma consiglierei di NON chiudere gli avvertimenti menzionati da Owen. Queste funzioni di runtime sono rimosse in PHP 5.4.0 e lo sviluppatore dovrebbe entrare nel pratica di evitare tale utilizzo delle variabili.
Per risolvere questo problema, potrebbe essere una seccatura da parte degli sviluppatori, ma se hai
Questa è una buona informazione per scoprire cosa sta causando l'avvertimento, ma consiglierei di NON chiudere gli avvertimenti menzionati da Owen. Queste funzioni di runtime sono rimosse in PHP 5.4.0 e lo sviluppatore dovrebbe entrare nel pratica di evitare tale utilizzo delle variabili.
Per risolvere questo problema, potrebbe essere una seccatura da parte degli sviluppatori, ma se hai
<*>
rinomina la sessione in
<*>
O viceversa, purché il nome della sessione e il nome della variabile siano diversi. Pensala in questo modo: quando esegui l'upgrade all'ultima build, dovrai comunque eseguire il debug del tuo codice.
SESSION["user"]
$user;
rinomina la sessione in
<*>
O viceversa, purché il nome della sessione e il nome della variabile siano diversi. Pensala in questo modo: quando esegui l'upgrade all'ultima build, dovrai comunque eseguire il debug del tuo codice.
SESSION["sessuser"];
rinomina la sessione in
<*>
O viceversa, purché il nome della sessione e il nome della variabile siano diversi. Pensala in questo modo: quando esegui l'upgrade all'ultima build, dovrai comunque eseguire il debug del tuo codice.
SESSION["user"]
$user;
rinomina la sessione in
<*>O viceversa, purché il nome della sessione e il nome della variabile siano diversi. Pensala in questo modo: quando esegui l'upgrade all'ultima build, dovrai comunque eseguire il debug del tuo codice.
Quando si apportano modifiche a .htaccess ini_set non funziona. Dovrai farlo come:
php_flag session.bug_compat_42 0
php_flag session.bug_compat_warn 0
nel mio caso, php.ini cambia da acceso a spento
in questo modo:
session.bug_compat_42 = off
session.bug_compat_warn = off
se non funziona, riavvia apache