Werte im Link übergeben (hidden)

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

  • Werte im Link übergeben (hidden)

    Hi da bin ich mal wieder...

    Mein Problem ist jetzt folgendes:

    Ich hab eine Passwortabfrage die echt super funktioniert und das
    eingegebene Passwort mit dem aus der Datenbank überprüft
    oder auch Fehlermeldung ausgibt wie zb:
    ungültiger Benutzernamen
    falsches Passwort etc...

    Mein Problem jetzt in der nächsten Seite also im Internenbereich
    will ich ja praktisch den Benutzer der sich eingeloggt hat mit
    seinem Namen begrüßen.
    Das erreich ich indem ich in der Passwortabfrage sobald das
    Passwort richtig ist und übereinstimmt mit dem Benutzername
    die dazugehörige ID des Benutzers im Link mitsende:
    PHP-Code:
    IF ($DatenOK){
        echo 
    "<meta http-equiv=\"refresh\" content=\"0; URL=intern_reg.php?id=$id\">\n";     
      } 
    Tja das Problem ist ja dabei wenn sich jetzt Jemand ein wenig mit
    PHP ausgekennt der weiss auch das er ganz einfach den Link nur
    im Browser ändern muss um in andere Internebereiche von usern
    rein zu kommen z.b:
    PHP-Code:
     intern_reg.php?id=1 oder 2 oder 3 etc... 
    Das is ja natürlich ein riesiges Sicherheitsrisiko allerdings muss ich
    die Werte so weitergeben....gibt es irgend eine Möglichkeit den
    Link das heisst das dahinter auf "hidden" zu schalten oder so?!
    das dann einfach nurnoch intern_reg.php dransteht?!

    ps:mit .htaccess Schutz kann bzw eher darf ich das nicht lösen?!

  • #2
    Sorrrrry!
    Ich denke der Thread beantwortet meine Frage!
    So geht das oder?!

    http://www.php-resource.de/forum/sho...threadid=11952

    das heisst einfach in den Code schreiben

    $_GET[ID]


    oder?!

    ne also irgendwie verzweifle ich dran...
    ich müsste ja praktisch username & Passwort auch übergeben
    und im Internen Bereich dann ein Prüfungsscript einbauen so würde irgendeinem der Link dann ja nichts bringen so lange
    er die übergebenen Werte(username,id,Passwort) nicht im Link sieht....

    Also wie kann ich das lösen!?
    geht das mit Arrays und wenn ja wie?!
    Zuletzt geändert von tomtherock; 08.10.2002, 11:39.

    Kommentar


    • #3
      ich würd dir empfhelen mit session zu arbeiten, schau dir mal ein turtorial auf der seite von sessions...
      oder du könntes mit MD5 den password verschlüsseln, und in der abfrage auch nur den verschlüsselten PW haben.
      meine Projekte bestaunen: http://www.kleiza.de

      Kommentar


      • #4
        also usernamen und passwörter sollte man prinzipiell _NICHT_ via URL übergeben!

        dafür eignen sich, wie schon gesagt, am besten sessions oder aber auch einfach nur cookies (ohne sessions)!
        GNU/LINUX

        Kommentar


        • #5
          ok danke hätte nicht gedacht das es so komfortabel zu lösen ist!

          Das Tutorial is echt gut:
          http://www.php-resource.de/tutorials/read/9/1/

          naja werd es jetzt mal ausprobieren ob das hinhaut...
          Muss mir nurnoch überlegen wie ich die Sessions wieder lösche
          also unregister wenn er einfach nur das Fenster schliesst ohne sich auszuloggen ?!
          Irgendeine Idee!?
          Weil wenn er sich nicht ausloggt sind die sessions ja noch gespeichert und automatisch noch gespeichert und so greift das
          script natürlich auf die sessions zurück und somit wenn einer den
          Link der Internen Seite weiss kann er ja schon wieder unbefugt rein....

          Wie löst man so etwas am besten?!

          Kommentar


          • #6
            in dem du die IP (vielleichzt auch browser) in die session speichers, und die dann bei jeder seite abfragst..(ambesten in ne include datei schreiben, die sowieso auf jeder seite includet wird)
            aber wenn du mit cookies arbietes, isses zu vernachlässigen, ausserdem muss du wissen, das session_start ne einzigartige id generiert, die soeinfach kein anderen herrausfinden kann.. es sei die session wird per ulr übergeben (wenn cookies nicht aktiviert) und der usser postet ie seite (icq, mail..) an einem anderen, und der öffnet die seite, mit den sessid dranhängsel, und wenn die ip nicht geprüfft wird, kann er sich vielleicht einhacken
            meine Projekte bestaunen: http://www.kleiza.de

            Kommentar


            • #7
              Also ich habe das damals so gelöst:

              Wenn ich den Benutzernamen eingeben, dann wird dieser Name als Session registriert.
              Somit sehe ich sofort, ob ein User eingeloggt ist oder nicht und das hat damit auch den Vorteil, dass ein Direktlink ausgeschlossen ist. Man sollte aber die Lebensdauder der Session in der php.ini auf 0 setzen, damit die Session auch dann gelöscht wird, wenn man vergisst sich auszuloggen, weil man einfach das browserfenster schliesst.

              Kommentar


              • #8
                Man sollte aber die Lebensdauder der Session in der php.ini auf 0 setzen,
                allerdings ist zu beachten, dass der browser dabei neu gestartet werden muss - sonst wird das cookie nicht gelöscht!!!
                GNU/LINUX

                Kommentar


                • #9
                  Original geschrieben von ayin
                  Also ich habe das damals so gelöst:

                  Wenn ich den Benutzernamen eingeben, dann wird dieser Name als Session registriert.
                  Somit sehe ich sofort, ob ein User eingeloggt ist oder nicht und das hat damit auch den Vorteil, dass ein Direktlink ausgeschlossen ist.
                  kannst mal nochmal erläutern was du genau damit meinst ?
                  meine Projekte bestaunen: http://www.kleiza.de

                  Kommentar


                  • #10
                    mhhh ich hab jetzt mal das mit den Sessions ausgiebig ausgetestet und naja da kommt immer ein Fehler:

                    Warning: Cannot send session cookie - headers already sent by (output started at /homepages/25/d27887898/htdocs/test_php/verify.php:5) in /homepages/25/d27887898/htdocs/test_php/verify.php on line 11

                    Warning: Cannot send session cache limiter - headers already sent (output started at /homepages/25/d27887898/htdocs/test_php/verify.php:5) in /homepages/25/d27887898/htdocs/test_php/verify.php on line 11


                    sorry aber mir raucht schon der Kopf und ich kann jetzt fast gernicht mehr denken

                    Kommentar


                    • #11
                      http://www.php.net/manual/de/ref.session.php

                      Anmerkung: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.
                      GNU/LINUX

                      Kommentar


                      • #12
                        Ja, kann ich näher erklären.

                        Also ich habe den Login so gestaltet:
                        Du loggst dich ganz normal über ein anmeldeformular ein.
                        Die php-datei, welche den loginnamen überprüft, startet nun erst die session. Die Variable, die ich in der session registriere ist der benutzername.

                        sprich, du bist nur dann eingeloggt, wenn dein benutzername als variable in der session registriert ist.
                        also überprüfe ich somit bei jedem weiteren zugriff auf meine dateien, ob der benutzername in der session registriert ist.

                        das verhindert einen direkten link, da, wenn du zwar den benutzernamen kennst, dir nichts ansehen kannst, wenn du nicht eingeloggt bist, da der benutzername nicht in der session registriert wurde und somit sämtliche zugriffe verhindert.

                        Kommentar


                        • #13
                          genau so hab ich mir das auch vorgestellt !

                          Naja also jetzt hab ich einfach mal eine bzw 2Test dateien erstellt:
                          verify.php --> startet die session
                          und regstriert die Variable "$id" der ich den Wert 1111123 gegeben hab.
                          mit einem stink normalen Link komm ich dann auf ausgabe.php:

                          startet wieder die Session( session_start(); )
                          und sag
                          echo "$id";

                          so jetzt bringt er schon mal total den schrott bei der verify.php
                          und bei der ausgabe.php gibt er sogar die ID aus!!! Aber:
                          Wieder eine Fehlermeldung

                          könnt euch das ganze mal unter
                          www.teradata.de/test_php/verify.php
                          anschauen...

                          Tja also wenn ich das hab dann bin ich echt MEGA Glücklich *G*
                          Und mein Scheff auch

                          Kommentar


                          • #14
                            Original geschrieben von ayin
                            Ja, kann ich näher erklären.

                            Also ich habe den Login so gestaltet:
                            Du loggst dich ganz normal über ein anmeldeformular ein.
                            Die php-datei, welche den loginnamen überprüft, startet nun erst die session. Die Variable, die ich in der session registriere ist der benutzername.

                            sprich, du bist nur dann eingeloggt, wenn dein benutzername als variable in der session registriert ist.
                            also überprüfe ich somit bei jedem weiteren zugriff auf meine dateien, ob der benutzername in der session registriert ist.

                            das verhindert einen direkten link, da, wenn du zwar den benutzernamen kennst, dir nichts ansehen kannst, wenn du nicht eingeloggt bist, da der benutzername nicht in der session registriert wurde und somit sämtliche zugriffe verhindert.
                            damit has du aber das rad nicht neu erfunden, wie ich oben bereits erwähnt hab, dass, wenn man den direkten link MIT der SESSION_NAME=blabla klaust, du auf alle variablen zugreifen kannst ..
                            meine Projekte bestaunen: http://www.kleiza.de

                            Kommentar


                            • #15
                              jedenfalls bin ich euch Beiden sehr dankbar ihr habt mir Beide ein sehr gutes Stück weiter gebracht

                              Muss jetzt nurnoch aus des Fehlermeldungen schlau werden...

                              Kommentar

                              Lädt...
                              X