Warum eine Login.html?
Bei mir ist ein Logn auf jeder "seite" implizit möglich.
Ob eine Login-Prüfung gefordert wird ersehe ich aus einem Formular-Id, die ebenfalls gesendet wurde.
Wo besteht der Sinn darin? Ein login auf jeder Seite? Ist nicht die Vorgabe.
- Check_Login.php verbindet sich mit der DB (MySQL).
2a) Name wird verglichen
- Name wird nicht gefunden? Zurück + Fehlermeldung!
PW wird verglichen
- PW ist falsch? Zurück + Fehlermeldung
Wie und was wird verglichen?
Eingabe mit DB-Eintrag, je für Name und PW.
Du solltest keine Klartext Passworte auf dem Server speichern, sondern nur de hashes.
Es befindet sich bereits eine DB mit >250k Usern, für dich ich eben ein Login in diesem Bereich (siehe weiter unten) möglich mache.
- Name UND PW korrekt?
~~~php
- $_SESSION['sesid'] = md5(session_id());
>
> was liefert die Funktion session\_id() zurück?
Die aktuelle Session-ID???
> Eventuell verschlechterst du mit md5 die Qualität eines erstellten Hashes.
>
> sha1 ist md5 vorzuziehen.
Ok, danke.
Ich mache es damit man die Session-ID nicht zufällig generieren kann, mit MD5 bzw. SH1 kann ein Angreifer nicht wissen woraus diese ID besteht, evtl. ist da noch ein extra Timestamp ect.
> > - Weiterleitung zur der Zielseite
>
> Weiterleitungen finde ich immer doof. Warum nicht den geünschten Kontext direkt ausgeben?
Habe ich bereits so übernommen.
> > ~~~php
if($_SESSION['sesid'] && $_SESSION['sesid'] == md5(session_id())) ALLES_OK();
> > else FEHLER();
Hier verstehe ich nicht, warum du dir jedesmal eine md5 konversion leistest. Die gespeicherten SessionIDs sollten ja bereits hashes sein.
Hier wird halt die verschlüsselte session_id() aus dem Login mit der aktuellen session_id() verglichen. Kann ja möglich sein das sie nicht übereinstimmen --> Betrugsfall --> neuer Loginversuch!
Ist an dieser Logik was Fehlerhaft/Bedenklich?
Je nachdem was du vorhast, ist es Mangelhaft. Mir fehlt zum Beispiel eine Definition für verschiedene Usertypen. Wie loggst du dich als Admin ein?
Also, es geht um einen sehr grossen eShop.
Dieser eShop bekommt einen "Member-Bereich" wo sich User einloggen können um zusehen was sie in den letzten 12 Monaten gekauft haben usw.
Alle User haben die selbe Priorität und den selben Status, also keine Gruppen und auch keine Admins.