Geschützer bereich
-
Hallo,
ich habe jetzt ein code geschrieben, der das Pw und den Benutzernamen vergleicht und einem dan zu einem Geschützten bereich weiterleitet. Aber man kann doch eigenltich direkt darauf zugreifen, wenn man den link kennt. Wie kann man sowas verhindern?
-
Login-Daten solltest du grundsätzlich nur über POST zulassen und auslesen und dann in irgendeiner Form (Sessions, Cookies) speichern.
Ansonsten: Welche Form haben die Links, mit denen man trotzdem reinkommt? Fragst du im geschützten Bereich auch jedesmal ab, ob der Nutzer korrekt eingeloggt ist?
-
Dein Ansatz ist falsch. Die zu schützenden Scripte sollten selber die Gültigkeit der Benutzerangaben überprüfen. So kommt auch niemand an ein Formular oder ähnliches ran, der das nicht soll; nur um die Aufrechterhaltung der vom Benutzer angegebenen Zugangsdaten musst du dich dann noch großartig kümmern.
-
Also, ich habe ein script, der die eingabe mit den gespeicherten daten aus einer .csv datei vergleicht. Wenn es richtig ist kommt man z.B. zu der seite www.domain.de/geschuetzterbereich.html. Aber ein fremder kann doch einfach die adresse in die adressenzeile eingeben, nämlich www.domain.de/geschuetzterbereich.html . Wie soll ich das machen? hat jemand ein beispiel code?
-
Wie Reyx bereits sagte, ist dein Ansatz falsch. In welcher Sprache hast denn das "Login"-Skript?
-
php natürlich.
-
So natürlich ist das nicht.
Nun, du hast mehrere Möglichkeiten:
- Eine Kombination aus Cookies und einem eigenen (datenbankgestützten) Sessionsystem.
- Wenn der Server es unterstützt, kannst du auch HTTP-Authentication nutzen.
- PHP-Sessions. Sind aus verschiedenen Gründen "verpöhnt", da sie sich IMHO leicht knacken lassen, wenn man an die SessionID gelangt.
- Nur Cookies verwenden und abfragen, ob sie beim Client gültig gesetzt werden.Die beiden ersten Möglicheiten sind IMHO die besten und sichersten.
-
Wie macht es den dieses forum den? wenn man ein topic schreiben möchete, muss man sich ja auch nicht immer wieder anmelden.
-
Da es sich um ein phpBB-Forum handelt, welches zudem noch Open-Source ist, kannst du dir die Frage selbst beantworten. Es ist aber die von mir erwähnte Kombination aus Cookies und datenbankgestütztem Session-System. Zumindest in der Version, die ich mal bei mir installiert hatte.