Zum Inhalt springen

autologin


Empfohlene Beiträge

Hallo,

Du müsstest ein Cookie auf den Clientrechner ablegen, in dem Username und ein verschlüsseltes Passwort steht.

Beim nächsten Aufruf der Seite müsste PHP nach einem Cookie suchen und wenn vorhanden es auslesen. Danach müsste PHP überprüfen, ob Username und Passwort passen und ob eventuell der User ein Autologin gewünscht hat. Ansonsten soll das Cookie abgelehnt werden.

Wenn Username und Passwort stimmen dann soll PHP den User einloggen.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eine andere Möglichkeite wäre auch, eine ID im Cookie abzulegen, die man dann mit den IDs in der Benutzerdatenbank abgleicht. Dabei sollte die ID aber natürlich einzigartig, möglichst lang und zufällig erstellt sein und außerdem nie per Post oder Get-Variablen übergeben werden, damit sie nicht in falsche Hände gerät...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von beetFreeQ

und außerdem nie per Post oder Get-Variablen übergeben werden, damit sie nicht in falsche Hände gerät...

Und wie dann? :D

Imho gibt es nur die 2 Möglichkeiten. Wobei Post die elegantere aber nicht unbedingt sichere Möglichkeit wäre.

Wenn die Übertragung von Daten sicher sein soll, kann man eigentlich nur auf SSL zurück greifen.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Jaraz

Und wie dann? :D

Garnicht! Man kann ja entweder andere Daten per Post oder Get übergeben oder man benutzt Sessions. Die werden ja nie an den Client übertragen und sind somit auch i.A. sehr sicher!

Ich hab's so gelöst: Auf jeder Seite wird geprüft, ob der Benutzer schon eingeloggt ist, indem die Session-Variablen überprüft werden. Sind keine vorhanden, dann ist niemand eingeloggt und es wird geprüft, ob ein Cookie vorliegt. Wenn ja, wird die ID daraus ausgelesen und der passende Datensatz aus der Tabelle geholt. Die benötigten Werte schreib ich dann einfach in die Session. Fertig...

Um auf den Seiten zu arbeiten arbeite ich mit der jeweiligen Session wenn's um den grad auf der Seite surfenden Benutzer geht, bzw. bei anderen Benutzern dann mit einer anderen einfachen ID aus der Datenbank!

Es gibt also zwei IDs pro User: Eine sichere, die nur zum Autologin eingesetzt wird, und eine einfache, die für alles andere benutzt wird!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Jaraz

Also hast du die ID doch übergeben.

Gruß Jaraz

Aber nur an das Cookie! Die ID wird nur einmal beim Erstellen des Cookies direkt im Script aus der Datenbank in das Cookie geschrieben, und danach nur noch daraus ausgelesen!

Der Benutzer selbst kann dann zwar seine eigene ID im Cookie sehen und ändern, aber da diese halt zufällig erstellt wird, ist es extrem unwahrscheinlich, daß er beim Ändern die ID eines anderen Benutzers erwischt!

Zum Erstellen der ID benutze ich folgenden Code:

$uniqID = md5(uniqid(rand()));

Damit wird erst eine Zufallszahl generiert, die als Basis für die Funtion uniqid dient, und die daraus resultierende ID wird nochmal per MD5 verschlüsselt! Daraus ergibt sich eine 32stellige ID wie z.B. 701d6f31be3ea06ed2bea8e61eb9448f , und die soll erstmal einer rausbekommen ;)...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist mir alles schon klar.

Es ging mir nur darum das du geschrieben hast mal sollte die Werte nicht per Post oder Get senden.

Es bleibt dir aber nichts anderes übrig, wenn man einen Autologin über ein cookie realisieren will.

Dadurch das du die ID sendest, kann jemand anderer die ID abfangen. Bei Get nur durch einen Blick in die Log Dateien von einem Proxy. Post ist etwas aufwendiger aber auch nicht unbedingt sicher. Das gleiche gilt für Passwort und Usernamen bei der Basic Anmeldung.

Eine sichere Anmeldung kann also nur über eine sichere Verbindung realisiert werden (SSL).

Was bei einem Board natürlich meistens übertrieben ist.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Jaraz

Das ist mir alles schon klar.

Es ging mir nur darum das du geschrieben hast mal sollte die Werte nicht per Post oder Get senden.

Es bleibt dir aber nichts anderes übrig, wenn man einen Autologin über ein cookie realisieren will.

Dadurch das du die ID sendest, kann jemand anderer die ID abfangen. Bei Get nur durch einen Blick in die Log Dateien von einem Proxy. Post ist etwas aufwendiger aber auch nicht unbedingt sicher. Das gleiche gilt für Passwort und Usernamen bei der Basic Anmeldung.

Eine sichere Anmeldung kann also nur über eine sichere Verbindung realisiert werden (SSL).

Was bei einem Board natürlich meistens übertrieben ist.

Gruß Jaraz

Ich meinte damit das Senden zwischen den Seiten (z.B.) um ein Userprofil über einen Link anzuzeigen, mit dem die ID übergeben wird.

Hier wäre das auslesen nämlich schon einfacher, da entweder die Daten in der URL übergeben werden oder u.U. in versteckten Formularfeldern im Quelltext ersichtlich sein könnten.

Daß das Cookie zum Senden und empfangen per Post übergeben werden muß, ist mir klar, aber ich hab das mal ausgeklammert, weil das eh unumgehbar ist! Zur weiteren Sicherheit könnte man aber hier auch gleich nach dem Autologin eine neue ID generieren, die wwieder im Cookie und in der Tabelle gespeichert wird.

Daß man solche Daten über Auslesen der Logs bekommen kann, ist mir klar, aber man sollte hoffentlich davon ausgehen können, daß der Provider den Server ausreichend abgesichert hat.

SSL ist sicherlich übertrieben, aber ich bin mit meiner Lösung schon sehr zufrieden :)...

BTW: Welche anderen sinnvollen Möglichkeiten für einen Autologin gibt's denn noch so? Abgleichen der IP wäre ja nicht so sinnig...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...