SESSION problem

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

  • SESSION problem

    Wie man leicht sehen kann mach ich ein Free-Support (Gratis Homepage)
    Gut jeder der sich anmeldet hat seinen eigenen Adminpanel !!
    Also wenn du dich jetzt mal hier in den admin panel vom user "TEST "einloggst
    http://freehp.spideys-world.net/voll...1&module=login

    User:test
    Pass:test
    Dann erscheint links in der box Admin "Page Edtieren"
    oder?
    ok gut wenn du jetzt zu den user "Spidey" gehst

    http://freehp.spideys-world.net/vollan.php?uid=2
    steht da auch "Page edtieren " oder links bei Admin
    und das problem ist du hast dich mit dem user test eingelogt und kannst aber dann vom user Spidey die Homepage Edtieren sollte aber ned sonnst bringt sich das ganze nicht oder?



    ich muss also irgendwie überprüfen ob es der name eingelogt ist oder nicht also wenn ich hab SESSION hergenommen das bleibt eben und wenn ich ja zu einen anderen user geh kann der dann die homepage von dem user Edtieren das möchte ich verhindern

  • #2
    das wird weniger ein session problem sein als ein logik problem. vielleicht postest du mal entsprechende text-passagen oder beschreibst etwas genauer.
    Dieses Schreiben wurde automatisch erstellt und ist ohne Unterschrift gültig.

    Kommentar


    • #3
      Nagut!!

      Also ich arbeite gerade an einem Free-Portal !!
      Dazu gibts für jeden einen Admin-Panel ... somweit klar oder?
      Gut.
      Es ist mir was aufgefallen undzwar !!
      Also wenn ich mich jetzt in den Adminpanel von mir einloge !! kann ich entsprechend meine Homepage anpassen aber das is ein Free Portal dort kann sich jeder eine Homepage anmelden!!
      So wenn ich jetzt wechsle z.b zum User "Test" wie ich oben erwähnt habe
      kann ich jetzt die homepage von Test anpassen obwhol ich mich mit meinem User eingelogt habe also... nochmal .. ich kann es euch nicht besser eklären deswegen muss ich euch zeigen..!!
      Logt euch doch mal hier ein !!
      http://freehp.spideys-world.net/?uid=1 <<<das is die homepage vom
      user "test"

      hier der Adminlogin vom user test
      http://freehp.spideys-world.net/voll...1&module=login
      logt euch bitte mal ein!!

      User: test
      Pass:test

      so da es SESSION ist löscht es sich erst wenn ich den Browser schließe

      habt ihr euch eingelogt wechselt ihr zum user "Spidey"

      http://freehp.spideys-world.net/?uid=2
      So und da ist eben das problemm ich habe mich mit dem USER "test "
      eingelogt und kann troz anderen usern den adminpanel nützen !!
      ich hab als Bsp den user "Spidey" genommen !!

      ich hoffe du hast mich jetzt verstanden!!

      Kommentar


      • #4
        dann zeigst mal, wie du Session initialisierst und prüfst. (Code aber nur
        relevanter Teil)

        Kommentar


        • #5
          hier !!

          die login

          PHP-Code:
          <?
          session_start();
          if($_POST['submit']){
          $rs_login=mysql_query("SELECT * FROM fhp  WHERE name='$_POST[name]'");
          $data=mysql_fetch_array($rs_login);
          if(!$data[name]){
          echo "<font color='red'>!!Der von in angegebener User gibts nicht...</font><br> ";
          echo "Bitte nocheinmal versuchen!!";
          }else{
          if($data[pass] == $_POST[pass]){
          $_SESSION[name] = $data[name];
          $_SESSION[uid] = $data[id]; 

          echo"Hallo $name du hast dich erfolgreich in den Adminmodus eingelogt<br>
          du kannst hier deine Page Bearbeiten...<br>
          <br>
          <a href='vollan.php?uid={$show['id']}&module=edit'>[Page Editieren]</a>";


            }else{

                  echo "<br><font color='red'>!!Das angegebene Passwort stimmt nicht...</font><br> ";
                  echo "Bitte nocheinmal versuchen!!";
              }
          }
          }
          ?>

          Kommentar


          • #6
            also falscher kann man ja nicht machen

            - die relevanten Daten prüfst du nicht (Zeile 3), nimmst einfach an, dass sie
            auch existieren, wenn die NICHT relevanten Daten existiert (Zeile 2).
            - keine Überprüfung, ob die Abfrage an die DB erfolgreich oder fehlerhaft,
            Zeile 3 mit or die(mysql_error()); ergänzen
            - Bitte array-Keys in ' einpacken, also z.B. $_SESSION['bla'] ... usw.
            - woher kommt $show['id'] ?

            Fazit: lass die Finger von Logingeschichte ist für dich im Moment zu
            kompliziert, da du die Grundlagen noch nicht beherrscht, fang mal mit
            was einfacher an, um routine rein zu bekommen.
            Zuletzt geändert von asp2php; 09.04.2004, 11:57.

            Kommentar


            • #7
              ähm...?

              Sorry das ich das sagen muss aber ich wurde daraus nicht schlauer? hm..


              Was willst du damit sagen? hab ich alles jetzt umsonst gemacht? also ich mach weiter ohne deine hilfe oder mit ...

              Aja es hängt nicht alles vom login ab ... der code liegt in der vollan.php

              PHP-Code:
              <?php
              session_start
              ();

              include
              "../db.php";
              if(!isset(
              $_GET['uid'])) {
              } elseif(
              is_numeric($_GET['uid'])) {
              $sql="SELECT * FROM fhp WHERE id = ".$_GET['uid'];
              $result mysql_query($sql);
              $show mysql_fetch_assoc($result);
              }
              ?>
               
               
              <?
              if (empty($uid)) 
              {
              echo" <br><u><span class='Stil21'>Meldung:</span></u> <span class='Stil22'>404 </span><span class='Stil23'></span><strong><br>
                <span class='Stil24'>Seite wurde nicht gefunden </span></strong> <br>";
              }
              else
              {
              include"homepage.php";
              }

              ?>[
              Zuletzt geändert von phpfanger; 09.04.2004, 12:02.

              Kommentar


              • #8
                Original geschrieben von asp2php
                [B]also falscher kann man ja nicht machen
                ähm, klär mich bitte auf:

                - die relevanten Daten prüfst du nicht (Zeile 3), nimmst einfach an, dass sie
                auch existieren, wenn die NICHT relevanten Daten existiert (Zeile 2).
                wenn username nicht existiert, ist die db-abfrage fehlerhaft, folge: die if-anweisung wird nicht erfüllt.
                wenn pw nicht existiert, wird die if-anweisung ebenfalls nicht erfüllt.
                wo ist da ein grober logischer fehler? (natürlich wär ein gescheites error-handling nicht schlecht, aber funktionieren dürfte es auch so)

                - keine Überprüfung, ob die Abfrage an die DB erfolgreich oder fehlerhaft,
                Zeile 3 mit or die(mysql_error()); ergänzen
                ist die abfrage fehlerhaft, kann die folgende if-anweisung nicht erfüllt werden, der user würde nicht eingeloggt werden. wiederum: wo ist der fehler in der logik?


                habe ich ein brett vorm hirn oder hast du nur zu schnell getippt?

                Kommentar


                • #9
                  Da bin ich deiner Meinung Panta ? zwar is der login nicht der besste aber das kann man doch immerhin wiede rausbessern!!
                  Aber egal zurück zur mein Problem!!

                  Hatt wer noch eine Idee wie ich das Verhindern kann?
                  würde gerne wieder weitermachen sitze schon 2 Tage lang rum.

                  Villeicht die SESSION irgendwie unterbrechen ? wenn er einen browser wechselt ... hm


                  bin für jedliche Antwort dankbar

                  Kommentar


                  • #10
                    OK, weil ich heut' nichts zu tun habe, gibt es ein Schnellkurs für euch
                    beiden

                    1. er prüft auf $_POST['submit'] => Button => man kann auch den Button
                    drücken, ohne was einzutippen => $_POST[name] kann leer sein
                    2. so mit ergibt eine Abfrage ... where username='', bei derartige
                    Überprüfung muss man zwangläufig davon aus gehen, dass er das gleiche
                    beim Anlegen mach, d.h. es gibt mindesten einen Datensatz mit
                    username='' => die Abfrage korrekt ausgeführt => Speichern von Session
                    mit '' führt zu nichts
                    3. die Frage woher $show... kommt bleibt immer noch

                    @php... du hast auch eingehen, dass es fehlerhaft war und hast promt
                    korrigiert, also sagt nicht dass es nicht geholfen hat.

                    Kommentar


                    • #11
                      Also... erstens wenn du ihn den ganzen code Überhaupt mal durchblinkst
                      dann ....weist du woher das

                      {$show['id']} kommt!!

                      2. wenn man auf dem buttom klickt erscheint ein fehler.

                      entweder username gibts ned oder passwort ist falsch

                      3. wie du mal gesagt hast soll ich nicht den ganzen code posten es fehlt das Formularfeld ....also ich weiss nicht woran der login fehler hat probier doch mal...

                      http://freehp.spideys-world.net/voll...1&module=login

                      und sag mir ob bei dir kein fehler erscheint wenn du keinen namen oder passwort eingibst?
                      ......


                      hm ich bin dankbar für deine antwort aber ich weiss nicht woran du fehler am login hast

                      log dich mal mit dem user test
                      und dem pass test ein und dann mit dem namen Spidey
                      pass 21721
                      er läst den user spidey bestiimmt nich rein weil das die hp vom user test ist
                      Zuletzt geändert von phpfanger; 09.04.2004, 23:15.

                      Kommentar


                      • #12
                        ist ja noch besser, ich brauche ja nicht anzumelden, ich klicke auf [Page Editieren]
                        und schon bin ich drin

                        Hmm... siehst du was ich meine? Wenn du es nicht beherrscht, verlierst du
                        jede Übersicht und weisst nicht wo du anfangen kannst zu suchen.

                        Wenn du Window einsetzt, dann lade mal den PHPEdit von
                        www.phpedit.net runter, der hat einen guten Debugger, lass dir mal die
                        Werte in watches-Fenster anzeigen, vielleicht kommst du dahinter.

                        Kommentar


                        • #13
                          naja dann war Session noch nicht gelöscht bei dir..

                          hm ok ich werde mich mal erkundigen !!

                          Cya Spidey

                          Naja irgednwie hast du recht !! Ich sollte mich mal mit was leichteren beschäftigen. Villeicht mach ich ein Free Gästebuch Service wie 123 gästebuch oder so...

                          Danke nochmal...
                          Zuletzt geändert von phpfanger; 10.04.2004, 11:23.

                          Kommentar


                          • #14
                            Original geschrieben von asp2php
                            [B]OK, weil ich heut' nichts zu tun habe, gibt es ein Schnellkurs für euch
                            beiden


                            na gut, noch ne runde

                            1. er prüft auf $_POST['submit'] => Button => man kann auch den Button
                            drücken, ohne was einzutippen => $_POST[name] kann leer sein
                            bei mir ist $submit immer ein hidden-feld, dass ich mit true fülle. die annahme muss also nicht richtig sein

                            2. so mit ergibt eine Abfrage ... where username='', bei derartige
                            Überprüfung muss man zwangläufig davon aus gehen, dass er das gleiche
                            beim Anlegen mach, d.h. es gibt mindesten einen Datensatz mit
                            username='' => die Abfrage korrekt ausgeführt => Speichern von Session
                            mit '' führt zu nichts
                            ob er das beim anlegen auch so macht, ist spekulation...ich bin davon ausgegangen dass es nicht so ist, dann wäre der login ok, zwar nicht schön, aber ok

                            grundsätzlich hast du aber recht...den user und seine eingaben immer als feind behandeln.

                            Kommentar


                            • #15
                              So habs entlich hinbekommen Funktioniert alles prima!! kein Fehler und keiner kann wem anders die Homepage edtieren

                              Hier könnts testen

                              http://freehp.spideys-world.net/vollan.php?uid=1

                              User: Spidey
                              Passwort: 217217

                              Kommentar

                              Lädt...
                              X