problem mit safe-mode on ?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit safe-mode on ?!

    Hallo,

    mein Webspace-Provider ist vor kurzem auf einen neuen Server übersiedelt. Einer der Unterschiede ist, dass safe-mode nun auf ON gesetzt ist, vorher war safe-mode OFF.
    Nun habe ich meine Homepage wieder hochgeladen und siehe da, das Loginscript funktioniert nicht mehr.
    Ich möchte es an diese Stelle einmal posten, damit man überhaupt sagen kann, ob es was mit safe-mode zum tun hat oder an anderen Settings liegt:

    PHP-Code:
    <?php
    $username 
    $_POST["username"];
    $passwort $_POST["password"];
    $log=0;

    $userdatei fopen ("user.txt","r");
    while (!
    feof($userdatei))
       {
       
    $zeile fgets($userdatei,500);
       
    $userdata explode("|"$zeile);

       
    $passwort md5($password);
       if (
    $userdata[0]==$username and $passwort==trim($userdata[1]))
          {
          
    $_SESSION['username'] = $username;
            echo 
    "Login war erfolgreich. <a href=\"index.php?site=succ\">weiter</a>";
          
    $log 1;
          }
       }
    fclose($userdatei);

    if (
    $log==0)
       {
       echo 
    "Zugriff verweigert <a href=\"javascript:history.back()\">Zur&uuml;ck</a>";
       }
    ?>
    Natürlich wird am beginn der Datei die Session gestartet.
    Und das Formular wird auch in POST abgesendet.
    Ich habe auch schon versucht statt
    PHP-Code:
    $_POST 
    diesen Code zu verwenden:
    PHP-Code:
    $HTTP_POST_VARS 
    , jedoch ohne Erfolg.


    Der Fehler ist, dass ausgegeben wird: "Zugriff verweigert", was ich mir gar nicht erklären kann. Es wird also nicht erkannt, dass der User existiert?! Ich habe auch schon mit einem Firefox Addon namens "Tamper Data" versucht die gesendeten Informationen abzufangen, und jene sind richtig. Also kann das Problem nur mehr in diesem Codestück liegen, was ich euch gepostet habe.


    Falls jemand weiß, wie man dieses Problem lösen kann, bzw. eine Idee zur Lösung hat, wäre ich sehr dankbar für eine Antwort.


    Mit freundlichen Grüßen
    Fabian P.

  • #2
    hast dus error_reporting an? weitere testausgaben???

    Kommentar


    • #3
      Debug-Ausgaben?!
      Stehen in den Variablen an allen Orten auch wirklich die Werte drin, die nach deinem Kopf drin stehen sollten?

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        hallo,

        was meinst du mit error_reporting ?
        Ich hab keine weiteren Testausgaben.

        und es hat ja am vorigen server funktioniert.. also es werden die richtigen Inhalte übermittelt, also nehme ich an dass diese an allen Orten stimmen.
        Jedoch wie kann ich das überprüfen?

        Kommentar


        • #5
          Sollte man nicht VOR DEM POSTEN unsere Regeln lesen?
          http://www.php-resource.de/forum/sho...threadid=50454

          Wenn du keine Testausgaben gemacht hast, dann hole dies nun nach!

          Kommentar


          • #6
            So, ich habe nun folgendes gemacht:
            Ich habe dies in meine Datei eingefügt:
            PHP-Code:
            <?php error_reporting(E_ALL); ?>
            (ich hoffe ich habe das richtig gemacht)

            und es wird mir nun ziemlich oft folgendes ausgegeben:
            PHP-Code:
            NoticeUndefined variablepassword in /var/www/web746/html/fabian/v2/login.php on line 47 
            die Zeile 47 ist in meinem Code folgende:
            PHP-Code:
            $passwort md5($password); 

            Ich kann mir jedoch nicht wirklich vorstellen, dass eine Variable undefiniert ist, da es ja am alten server auch funktioniert hat. Aber vielleicht täusche ich mich ja...

            Kommentar


            • #7
              Vllt haben die nicht nur den SafeMode auf On sondern auch noch gleich die RegisterGlobals auf Off gesetzt...

              Gruss

              tobi
              EDIT:

              Hab's gesehen $passwort !== $password

              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Dann müsste man aber immer noch passwort/d schreiben können.

                EDIT:
                jou

                Kommentar


                • #9
                  Ja, das haben sie,.. ich hab gerade in der php Config nachgesehen. Die RegisterGlobals sind auf off.

                  Also was muss ich jetzt ändern damit es funktioniert?

                  Kommentar


                  • #10
                    Also was muss ich jetzt ändern damit es funktioniert?
                    Lesen und den korrekten Variabelnnamen verwenden...

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      @jahlives: Schon mal über nen Nebenjob nachgedacht? Du bist eindeutig unterfordert und viel zu schnell...

                      Kommentar


                      • #12
                        ...Also ich denk mir dass
                        PHP-Code:
                        $passwort md5($password); 
                        falsch ist und hab es auf
                        PHP-Code:
                        $passwort md5($passwort); 
                        umgeändert, weil mir das logisch erscheint,..

                        Jetzt kommt zwar nicht mehr die Meldung
                        PHP-Code:
                        NoticeUndefined variablepassword in /var/www/web746/html/fabian/v2/login.php on line 47 
                        jedoch gibt er mir immer noch aus "Zugriff verweigert"


                        oder hab ich da jetzt etwas falsch verstanden?

                        Kommentar


                        • #13
                          @tobi
                          OffTopic:

                          Habe ich schon Arbeite nebenbei noch ca 20 - 40 % in unserer kleinen Softwareschmiede.


                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            @fabs
                            Wie heisst deine Variable denn, die das PW übernimmt ? Mit -d oder mit -t ? Steht bei dir gaaanz oben im Code.

                            Gruss

                            tobi
                            EDIT:

                            Habe gerade gesehen, dass du doch den korrekten Namen verwendest. Jetzt wäre es vllt mal interessant wenn du $userdata dumpen würdest, um zu sehen ob das PW und der Username überhaupt drin vorkommen

                            Zuletzt geändert von jahlives; 27.11.2006, 21:12.
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Ja meine Variable ist passwort, da diese am Anfang so definiert wird...
                              Oder täusche ich mich da jetzt?
                              Er holt sich ja die Info vom gepostetem Textfeld (password) und definiert diese als passwort

                              ...
                              EDIT:
                              hab gerade dein edit gesehn... wie dumpe ich die $userdata??

                              Kommentar

                              Lädt...
                              X