Page 1 of 1

php problem :(

Posted: 2004-06-28 13:02
by seb
ich bin aufn neuen server umgezogen un hab jetzt alle backups eingespielt un wunder mich warum manche scripte nicht merh laufen...

auf dem alten liefen sie einwandfrei aber jetzt aufm neuen gornitt... der neue hat SuSe 9.0 Apache 2 und PHP 4.3.6

einstellungen hab ich nochnix dran gemacht aber anscheinend hat mein provider den komisch eingestellt...

also ich denke es liegt an der konfiguration...

das problem is das die variablen nicht übergeben werden von seite zu seite oder von url zur seite...

also wenn ich ein formular mache werden normal die variablen übergeben mit dem namen... das funzt irgendwie nicht mehr... auch wenn ich in die url die variablen reinschreibe funzt das auslesen auch net...

hier z.b. n script

Code: Select all

<?
switch ($action) {
case update:
echo "update";
break; // ENDE VON Updated
default:
echo "normal";
break; // ENDE DEFAULT
} // switch ENDE
?>
so bei meinem neuen server kommt "normal" obwohl "update" kommen sollte wenn ich z.b. ?action=update mache...
und das übergeben bei formularen an die "post" seite funzt auch net... die variablen sind dann einfach nicht gegeben... also leer...

woran kann das liegen?

Re: php problem :(

Posted: 2004-06-28 13:20
by seb
also, hab eben bissel durch google nach gesucht un wurde fündig....

http://de3.php.net/manual/de/security.r ... lobals.php

jetzt muss ich nurnoch wissen ob das das is? ich glaube ja... bin ja nich blöde..

aber ist das wirklich so eine große sicherheitslücke? das ist ja beabsichtig das das übergeben möglich ist durch den benutzer... nur meine scripte sind zu groß als das ichse jetzt so umschreiben könnte...

Re: php problem :(

Posted: 2004-06-28 13:23
by duergner
Ja das ist eine große Sicherheitslücke. Dadurch kann der Benutzer nämlich u.U. nicht nur die Variablen Ã?bergeben, die du ihm übergeben lassen willst, sondern er knan theoretisch jede Varibale in deinem Script vorbesetzen.

Re: php problem :(

Posted: 2004-06-28 13:59
by seb
jo aber was bringt das wenn ich die variable im script sowieso überschreibe mit einem wert... also wenn er ihm einen gibt un im script setz ich der variable sowieso einen wert.. gillt den ich gesetzt habe und nicht der den der user nimmt...

das problem is das jetzt alles umzuschreiben... das isn komplexes script über 60 files... das wäre zuviel arbeit... das werd ich später aufjedenfall machen nur ich muss das script erstmal überhaupt zum laufen kriegen...

aber gut zu wissen das es sowas gibt... is natürlich klasse...

aber dankeschön!

Re: php problem :(

Posted: 2004-06-28 14:57
by static
Hi,
du kannst vorübergehend (!) mit 'extract' die Variablen wieder verfügbar machen, wie wenn Register Globals on wäre. Es ist allerdings sehr zu empfehlen möglichst bald das Script umzuschreiben.

.static

Re: php problem :(

Posted: 2004-06-28 21:05
by seb
naja dann muss ich das extract ja in jedes file oben hinsetze ^^

hab jetzt die globas auf on gestellt...

---

also so schlimm kanns ja nich sein... war bei meinem vorigen server von anfang an auf on und es is nix passiert oder so....

Re: php problem :(

Posted: 2004-06-28 21:14
by captaincrunch
war bei meinem vorigen server von anfang an auf on und es is nix passiert oder so....
Unverschämtes Glück ist irgendwann vorbei...

Re: php problem :(

Posted: 2004-06-28 22:10
by wgot
Hallo,
Seb wrote:jo aber was bringt das wenn ich die variable im script sowieso überschreibe mit einem wert
register_globals=on alleine ist nicht das Problem. Zum Problem wird's zusammen mit unsauberen Scripts. Blöderweise hat praktisch jedes größere Script (auch die bekannten Pakete wie phpBB) haufenweise Sicherheitslücken. In der Kombination wird's dann zur Bombe.

Wenn dann noch Mitbenutzer ("Kunden") ihre ersten PHP-Gehversuche auf dem Server unternehmen dürfen ist die Katastrophe vorprogrammiert.

Gruß, Wolfgang

Re: php problem :(

Posted: 2004-06-29 07:01
by seb
*g* klingt logisch aber ich peil nicht ganz wo man das in meinem script jetzt ausnutzen könnte... ausser vielleicht als sich als admin einzuloggen aber da hab ich zusätzlich noch ne htaccess drüber gelegt...

naja ich muss mir das mal genauer angucken wie das funktioniert mit register globals off un dann so langsam meine scripte umschreiben...

beliebter fehler

Posted: 2004-06-29 09:02
by mc5000
in deinem script jetzt vielleicht nicht, doch beliebt ist, eine Variable zu nutzen in der sich der Programmiere merkt ob der User eingeloggt ist oder welche rechte er hat usw. - simples besispiel:

Code: Select all

if ($login == 1){ /* geheime seite ... */}else{/* access denied */(}
mit register_globals = on kann man $login einfach übergeben, ohne geht das nicht :-D

naja, die lösungen "quick and dirty" rächen sich halt irgendwann :wink: