Ich habe ein benutzerdefiniertes Authentifizierungssystem für CodeIgniter (Ich weiß, es gibt verschiedene 3rd-Party-Bibliotheken zur Verfügung, aber das ist zu meinem eigenen Vorteil), aber ich mache mir Sorgen, dass etwas offensichtlich fehlt, das könnte bringen das ganze Ding runter.CodeIgniter auth Sicherheitsmodell
Ich benutze CI-Sitzungen (über die Datenbank) und verschlüsseln Cookie-Werte für ein wenig wahrscheinlich sinnlose Verschleierung. Logins erfolgen über SSL (und Cookies werden nur als Sicherheit modifiziert). Ich benutze auch phpass, um Kennwörter für den Speicher zu hashen, obwohl das hier nicht wirklich relevant ist. Es kann irgendwo in diesem Teil ein schwaches Glied sein, aber meine größte Sorge ist, dass die Seite-an-Seite prüft grundsätzlich aus einem Ansatz if is_logged_in = true
Art besteht zusammen mit ihren Benutzername in der Sitzung. Dieses Bit interessiert mich, da es ein bisschen zu leicht erscheint. Ist dieser Ansatz ziemlich anfällig? Sollte ich einen seitenweisen Hash-Wert von, sagen wir, User-Agent oder was auch immer berechnen und sicherstellen, dass sie übereinstimmen?
Alle Hinweise würden die meisten geschätzt werden. Wie ich schon sagte, ich kenne bereits existierende Lösungen, aber ich versuche, hier etwas zu lernen :)
+1 für das Versenden des Passworts –
phpass macht Salz und dann Hashes mit bcrypt. Session Hijacking ist ein guter Punkt.Ich weiß, dass CI den Benutzer-Agenten in der Sitzungs-DB verfolgt, aber ich bin mir nicht sicher, was es damit macht. Es lohnt sich einchecken! – Toast