Fehler nach PHP Update

Bash, Shell, PHP, Python, Perl, CGI
petter
Posts: 67
Joined: 2002-06-18 16:41
Location: Aachen

Fehler nach PHP Update

Post by petter »

Hi,

habe eben mein PHP auf Version 4.3.1 geupdatet um den Support von GD Library 2.0 zu erhalten.
Nun bekomme ich auf einigen meiner Sites folgende fehlermeldung und weis damit nichts genau anzufangen:
Vielleicht kann mir jemand ein Tipp geben:

Danke.

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

--
(Oo=*=/oO)
gruss Petter K.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Fehler nach PHP Update

Post by Joe User »

ähm, sollen wir Dir jetzt die Fehlermeldung übersetzen? Das willst Du doch nicht ernsthaft, oder?
petter
Posts: 67
Joined: 2002-06-18 16:41
Location: Aachen

Re: Fehler nach PHP Update

Post by petter »

Joe User wrote:ähm, sollen wir Dir jetzt die Fehlermeldung übersetzen? Das willst Du doch nicht ernsthaft, oder?
Ich glaub selbst wenn die Fehlermeldung auf deutsch waere könnte ich damit nicht viel anfangen.

Ich muss demnach noch irgendwas bezüglich Sessions und Global Variables einstelln ?

Danke
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Fehler nach PHP Update

Post by Joe User »

Problem: Du verwendest globale Variablen als Input für Sessions, was allerdings nur durch einen Bug in PHP <= 4.2.3 möglich war/ist.
Lösung: Ã?berarbeite Deine Scripte so, dass sie keine globalen Variablen mehr nutzen, ist seit längerem deprecated und zukünftig obsolet, oder ändere die php.ini entsprechend der Fehlermedung ab :arrow: Vorsicht Sicherheitsrisiko!
petter
Posts: 67
Joined: 2002-06-18 16:41
Location: Aachen

Re: Fehler nach PHP Update

Post by petter »

Joe User wrote:Problem: Du verwendest globale Variablen als Input für Sessions, was allerdings nur durch einen Bug in PHP <= 4.2.3 möglich war/ist.
Lösung: Ã?berarbeite Deine Scripte so, dass sie keine globalen Variablen mehr nutzen, ist seit längerem deprecated und zukünftig obsolet, oder ändere die php.ini entsprechend der Fehlermedung ab :arrow: Vorsicht Sicherheitsrisiko!
Hmm da muss dann irgendwas an mir vorbeigegangen sein. grummel.
Also Globale Variablen sind Out ?

Muss ich dann jetzt alle meine Funktionen einen zusaetzlichen Input geben.
Bin gerade am überlegen ob ich das nichtmal absichtlich so programmiert hatte, hmm.

z.B. habe ich eine Datei die Include ich über all vor dem Header, da stehen dann sachen drin wie Pfade, Datenbanken, Tabellen usw, so das ich z.b. nicht immer alle tabellennamen, pfaden , variablen was auch immer in die scripte aendern muss.

Ich glaub ich muss da mal paar aktuelle infos nachlesen.
Danke auf jedenfall für den Hinweis. Ich werd dann jetzt mal mich updaten.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Fehler nach PHP Update

Post by Joe User »

http://www.google.com/search?q=register ... p.net&l=en dürfte Dir schon etwas weiter helfen.
petter
Posts: 67
Joined: 2002-06-18 16:41
Location: Aachen

Re: Fehler nach PHP Update

Post by petter »

Joe User wrote:http://www.google.com/search?q=register ... p.net&l=en dürfte Dir schon etwas weiter helfen.
Wenn ich das jetzt richtig verstanden habe ist $_SESSION schon eine globale Variable.

Einige Variablen die ich habe sind global aber nicht in der Session eingebunden. Sollte ich diese Variablen in die Session einbinden ?

hmm Register_Globals habe ich bewusst auf On gestellt. Also muss ich mir der Sache schonmal bewusst gewesen sein.

Hehe das find ich immer wieder geil an Linux, die Kiste laeuft so lange stabil bis man gar nicht mehr weiß was drauf laeuft weil man nichts dran fummeln muss ;))

So okay, also habs glaub ich nun raus anhand der beispiele:

Code: Select all

<?php
if ($username) {  // kann vom User mit get/post/cookies übermittelt werden
    $good_login = 1; 
}

if ($good_login == 1) { // kann vom User mit get/post/cookies übermittelt werden
    fpassthru ("/highly/sensitive/data/index.html");
}
?>
 
 
Beispiel 15-15. Mit register_globals = off arbeiten

<?php
if($_COOKIE['username']){
    // kann nur von einem Cookie kommen
    $good_login = 1;
    fpassthru ("/highly/sensitive/data/index.html");
}
?>
So danke noch mal , ich glaub ich muss jetzt mal dringend einige Scripts überarbeiten ;)