Announcement

Collapse
No announcement yet.

Cookies? Registrierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cookies? Registrierung

    Hi Leute...

    ich möchte auf meiner Seite eine Funktion zum Registrieren machen.
    Funktioniert auch super, das Problem ist nur, dass ein anderer Besucher einfach den Link eingeben kann und dann auf das Profil von jemandem kommt...

    Wie vermeide ich das?
    Das man wirklich erst Name && Passwort eingeben muss, bevor man irgendwo hinkommt?
    Sind dafür Cookies da?

    Nimmo

  • #2
    Nein, man muss seine Webseiten nur zugänglich machen, wenn der User angemeldet ist
    Christian

    Comment


    • #3
      Aber der User hat ja auch sein eigenes Profil, was auch nur dann angezeigt werden soll...
      Wie bei Wer-kennt-wen..

      wie mache ich soetwas?

      Comment


      • #4
        Ich verstehe das Problem nicht.

        Es gibt eine HTML-Seite, die das Profil eines Nutzers anzeigt. Es gibt eine Seite, keine statische Seite für jeden Anwender. Diese Seite zeigt das Profil eines Nutzers an. Dazu wird die Seite dynamisch mit JAVA, PERL, PHP o.a. zusammengebaut. D.h. die Daten des gerade angemeldeten Users werden angezeigt.

        Dazu muss jede Seite im Angebot zuerst prüfen, ob der User, der die Seite abfordert überhaupt angemeldet ist. Ist er das nicht, so wird auf eine Fehlerseite verzweigt. Meldet sich ein User an, wird die Information um welchen User es sich handelt in der Session gespeichert.
        Jede Seite kann auf die Informationen der Session zugreifen

        Was "Wer-kennt-wen" ist weiss ich nicht.
        Christian

        Comment


        • #5
          Genau,
          Da es aber inerhalb des Profiles noch weitere unterseiten gibt, die ebenfalls nur erreicht werden sollen, wenn der User sich vorher angemeldet hat, muss ich Name&&Passwort ja bei jeder seite neu vergleichen..

          Eigentlich gar kein Problem, nur wie kann ich die Variablen[Name&&Passwort] denn an die jeweilige seite übertragen?

          Comment


          • #6
            Hallo,
            Originally posted by Nimmo Gogh View Post
            Genau,
            Da es aber inerhalb des Profiles noch weitere unterseiten gibt, die ebenfalls nur erreicht werden sollen, wenn der User sich vorher angemeldet hat, muss ich Name&&Passwort ja bei jeder seite neu vergleichen..
            Nein, Name und Passwort muß nicht jedesmal verglichen werden. Das übliche Vorgehen sieht so aus:
            • Der Nutzer meldet sich auf einer Seite mit Nutzername und Passwort an
            • Bei Übereinstimmung mit den gespeicherten Daten - z.B. aus einer Datenbank - wird ein Hashwert als Session-ID erzeugt und mit dieser ID eine Session auf dem Server erstellt
            • Die SessionID wird an den Client zurückgegeben und entweder als Cookie (empfohlen) gespeichert oder bei jedem weiteren Aufruf als Linkparameter weitergegeben.
            • Bei jedem erneuten Seitenaufruf wird jetzt geprüft ob zur SessionID (aus dem Cookie oder aus der URL) eine aktive Session auf dem Server existiert. Wenn dem so ist, dann ist der User authentifiziert, ansonsten nicht.

            Die SessionID fungiert damit als Schlüssel, der bei jedem Seitenaufruf mitgeliefert werden muß. Damit gilt aber auch: Wer die SessionID eines anderen kennt, kann sich in die laufende Session dieses Nutzers einhacken. Deshalb ist auch die Variante mit der URL unsicher, da Links inkl. dieser ID durch den Nutzer unbeabsichtigt kopiert und weitergegeben werden können.
            Die SessionID sollte genügend zufällig sein um nicht erraten werden zu können, sie sollte mindestens bei jedem Login neu erzeugt werden und ggfs. mit der aktuellen IP kombiniert werden.

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Okay, das habe ich soweit verstanden, vielen Dank...

              du meinst also ich sollte die session_id() immer selbst definieren.
              Ich erstelle also eine Zufallszahl und kombiniere die mit der IP-Adresse des jeweiligen Benutzers..

              Wie gebe ich denn die session_id() dann per cookies weiter?

              Comment


              • #8
                Das erstellen der SessionID und die Weitergabe macht üblicherweise das genutzte Framework -> Java, PHP alleine. Du greifst nur mit entsprechenden Befehlen auf die Session zu und hast die Daten zur Verfügung.
                Christian

                Comment


                • #9
                  okay, das problem habe ich gelöst vielen Dank euch allen
                  session_start()
                  $_SESSION[''];

                  übergeben tut ers allein, ihr hattet recht

                  aber jetzt habe ich noch ein problem..
                  wie erstelle ich denn die maximale lebensdauer einer session, die immer wieder von vorne anfängt wenn ich sie benutze, sodass man wenn man zu lange nichts mehr gemacht hat automatich ausgeloggt wird..?
                  Zuletzt editiert von Nimmo Gogh; 09.07.2010, 12:17.

                  Comment


                  • #10
                    Da ist üblicherweise eine Servereinstellung
                    Christian

                    Comment


                    • #11
                      Und wo ist diese Servereinstellung, bzw. was ist sie?
                      Zuletzt editiert von Nimmo Gogh; 09.07.2010, 12:54.

                      Comment


                      • #12
                        Die Session verwaltet nicht dein Programm, sondern der Webserver. Benutzt du beispielsweise einen Tomcat ist das in der web.xml unter

                        <session-config>
                        <session-timeout>30</session-timeout>
                        </session-config>


                        einzustellen. Ob du soetwas bei deinem Provider einstellen kannst weiss ich nicht....
                        Zuletzt editiert von Christian Marquardt; 09.07.2010, 19:43. Reason: Rechtschreibung
                        Christian

                        Comment


                        • #13
                          ...oder z.B. bei PHP in der php.ini unter session.gc_maxlifetime...

                          Gruß Falk
                          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                          Comment


                          • #14
                            Ach so, alles klar
                            Vielen Dank euch allen

                            Comment

                            Working...
                            X