php.ini

Dieses Thema php.ini im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Michael_B, 18. Nov. 2003.

Thema: php.ini Schönen guten Tag... hab da gerade ein riesenproblem: ich versuche gerade apache mit php einzurichten und möchte,...

  1. Schönen guten Tag...

    hab da gerade ein riesenproblem: ich versuche gerade apache mit php einzurichten und möchte, dass folgendes funktioniert...

    wenn ich die URL www.irgendwas.de/index.php?link=blabla öffne, dann möchte ich, dass die index.php einer bestimmten stelle die datei blabla.php inlcudiert. Also steht da irgendwo inlcude ($link..php)

    Auf meinem Webspace von einer Firma, bei der ich halt Kunde bin, ist das kein Thema, klapp alles einwandfrei...
    Aber auf dem Server, den ich gerade einrichte, ist die Variable $link leer.

    Ich gehe davon aus, dass ich das in der php.ini einstellen kann, nur WO????

    Bitte helft mir... ist echt dringend...

    THX
     
  2. Freunde dich lieber gleich mit der Funktion import_request_variables an, anstatt das System unsicherer zu machen.

    http://de.php.net/manual/en/function.import-request-variables.php

    Ich gehe davon aus, dass die neue Konfiguration auch bei diversen Providern bald Standard sein wird.
     
  3. Mal ganz abgesehen davon dass das evtl. standard wird...
    ist der Wert register_globals dafür zuständig, dass das o. angesprochene funktioniert?
     
  4. Auf der Seite, die ich verlinkt habe, steht ziemlich am Anfang It is useful if you disabled register_globals, but would like to see some variables in the global scope..
     
  5. Hi

    register_globals ist dafür zuständig.
    Aber nimm stattdessen $_GET[link]

    So ist es eigentlich standardmäßig gedacht.

    PS: Parameter aus URLs zu includen endet immer darin, dass jeder mit deiner Seite machen kann was er will.

    Gruß, Michael
     
  6. Die Tatsache, dass import_request_variables neuer ist, macht es ja nicht schlechter. Eher ist das Gegenteil der Fall.

    Ich finde die Arbeit mit import_request_variables eigentlich etwas bequemer. Durch das Prefix ist es genau so sicher wie die Arbeit mit $_GET, $_POST und $_COOKIE, du hast aber weniger zu schreiben. :)

    Also kann ich mit diesem Forum machen was ich will?
     
  7. Genau!

    Ich hab da mal was gehört von wegen exploits (wobei ich k. A. habe, was das ist). Dass ich hallt bei ....php?link=irgendwas für irgendwas auch eine andere URL noch angeben kann... und dann gibts da ein problem. das kann ich auch verstehen, aber, wenn ich die Include-Dateien aus einem bestimmetn verzeichnis hole, bring das angeben einer anderen URL als wert für die link-Variable IMHO auch nix mehr...

    Bitte um aufklärung... sagen, dass etwas unsicher ist, kann ich auch ;) Würde aber gerne wissen inwiefern bzw. was genau daran unsicher ist.

    Sänk ju
     
  8. Register_Globals ist insofern unsicher, als dass ein Angreifer u.U. Variablen modifizieren kann. Wenn ein Skript unsauber programmiert wurde, können damit unschöne Dinge erreicht werden.

    Beispiel:
    Code:
    <?php
    
    if($username==meinuser && $passwort==meinpass) $loggedin=True;
    
    if($loggedin){
    echo Ok;
    }else{
    echo Fehler;
    }
    
    ?>
    
    Hier könnte einfach ?loggedin=1 mit der URL übergeben werden, um die Abfrage auszuhebeln.
    Ist register_globals deaktiviert, kann die Variable nicht mehr auf diese Weise gesetzt werden.

    Zugegeben, dieses kleine Beispiel ließe sich ganz leicht sicherer machen, aber in komplexeren Skripten sieht die Sache schon etwas anders aus, da es viel mehr zu bedenken gibt.
     
  9. Gut. aber dann müsste man auch ziemlich gutes detailwissen bzgl. des Skriptes haben...
    außerdem ist es so schon ziemlich dumm das so zu machen wie du es gemacht hast...

    Code:
    <?php
    if($username==meinuser && $passwort==meinpass) $loggedin=True;
    else $loggedin=False;
    // das wäre widerum sicher gegen deinen Angriff...
    
    if($loggedin){
       echo Ok;
    }else{
       echo Fehler;
    }
    ?>
     
  10. Dumm ist es, einen Post nicht ganz bis zum Ende zu lesen, und trotzdem gegen an zu reden.
    Lies meinen letzen Satz noch mal.

    (Übrigens ist deine Lösung nicht sehr gut. Besser wäre es, $loggedin vor der Abfrage generell auf False zu setzen)

    Wie dem auch sei, du wolltest wissen warum das Aktivieren von register_globals unsicher sein kann, und ich habe versucht es dir zu erklären. Niemand zwingt dich, die Tipps anzunehmen.

    Btw: http://de3.php.net/register_globals