Ich sehe, dass es einige gibt . Welche sind gepflegt und einfach zu bedienen? Was sind ihre Vor- und Nachteile?
php
codeigniter
authentication
GavinR
quelle
quelle
Antworten:
Update (14. Mai 2010):
Es stellte sich heraus, dass der russische Entwickler Ilya Konyukhov nach dem Lesen den Handschuh aufgegriffen und eine neue Authentifizierungsbibliothek für CI basierend auf DX Auth erstellt hat, die den folgenden Empfehlungen und Anforderungen folgt.
Und die daraus resultierende Tankauthentifizierung scheint die Antwort auf die Frage des OP zu sein. Ich werde hier auf die Nerven gehen und Tank Auth als die beste Authentifizierungsbibliothek für CodeIgniter bezeichnen, die heute verfügbar ist. Es ist eine solide Bibliothek, die alle Funktionen bietet, die Sie benötigen, und keine der Funktionen, die Sie nicht benötigen:
Tank Auth
Laden Sie Tank Auth hier herunter
Ursprüngliche Antwort:
Ich habe auch meine eigene implementiert (derzeit ca. 80% nach ein paar Wochen Arbeit erledigt). Ich habe zuerst alle anderen ausprobiert. FreakAuth Light, DX Auth, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered und einige mehr. Keiner von ihnen war auf dem neuesten Stand, IMO, entweder fehlten ihnen grundlegende Funktionen, sie waren von Natur aus unsicher oder für meinen Geschmack zu aufgebläht.
Tatsächlich habe ich alle Authentifizierungsbibliotheken für CodeIgniter detailliert zusammengefasst, als ich sie getestet habe (kurz nach Neujahr). FWIW, ich werde es mit Ihnen teilen:
DX Auth
FreakAuth Light
pc_user
Frisch angetrieben
Redux / Ion Auth
Laut dem CodeIgniter-Wiki wurde Redux eingestellt, aber die Ion Auth-Gabel ist stark: https://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion Auth ist eine gut ausgestattete Bibliothek, ohne zu schwer oder zu weit fortgeschritten zu sein. In den meisten Fällen wird der Funktionsumfang den Anforderungen eines Projekts mehr als gerecht.
SimpleLoginSecure
Versteh mich nicht falsch: Ich will keine der oben genannten Bibliotheken missachten; Ich bin sehr beeindruckt von dem, was ihre Entwickler erreicht haben und wie weit jeder von ihnen gekommen ist, und ich bin nicht überfordert, einen Teil ihres Codes wiederzuverwenden, um meinen eigenen zu erstellen. Was ich damit sagen möchte, ist, dass sich in diesen Projekten manchmal der Fokus von den wesentlichen „Need-to-Haves“ (wie z. B. harten Sicherheitspraktiken) hin zu weicheren „Nice-to-Haves“ verlagert, und das hoffe ich zu beheben .
Deshalb: zurück zu den Grundlagen.
Authentifizierung für CodeIgniter richtig gemacht
Hier ist meine minimal erforderliche Liste von Funktionen aus einer Authentifizierungsbibliothek. Es ist auch eine Teilmenge der Funktionsliste meiner eigenen Bibliothek;)
Hinweis: Diese letzten Punkte sind kein Super-Hochsicherheits-Overkill, den Sie für Ihre Webanwendung nicht benötigen. Wenn eine Authentifizierungsbibliothek diese Sicherheitsstandards nicht zu 100% erfüllt, verwenden Sie sie NICHT!
Aktuelle hochkarätige Beispiele für verantwortungslose Programmierer, die sie aus ihrer Software herausgelassen haben: # 17 ist, wie Sarah Palins AOL-E-Mail während der Präsidentschaftskampagne gehackt wurde; Eine böse Kombination aus # 18 und # 19 war kürzlich der Schuldige, als die Twitter-Accounts von Britney Spears, Barack Obama, Fox News und anderen gehackt wurden. und allein mit # 20 gelang es chinesischen Hackern, 2008 in einem automatisierten Hack 9 Millionen persönliche Informationen von mehr als 70.000 koreanischen Websites zu stehlen.
Diese Anfälle sind keine Gehirnoperation. Wenn Sie Ihre Hintertüren weit offen lassen, sollten Sie sich nicht in ein falsches Sicherheitsgefühl täuschen, indem Sie die Vorderseite verriegeln. Wenn Sie die Codierung ernst genug nehmen, um ein Best-Practice-Framework wie CodeIgniter zu wählen, sind Sie es sich selbst schuldig, zumindest die grundlegendsten Sicherheitsmaßnahmen richtig durchzuführen.
<rant>
Im Grunde ist es so: Es ist mir egal, ob eine Authentifizierungsbibliothek eine Reihe von Funktionen, erweiterte Rollenverwaltung, PHP4-Kompatibilität, hübsche CAPTCHA-Schriftarten, Ländertabellen, vollständige Admin-Panels, Schnickschnack bietet - ob die Bibliothek dies tatsächlich tut Meine Website ist weniger sicher, da sie nicht den Best Practices folgt. Es ist ein Authentifizierungspaket . Es muss EINE Sache richtig machen: Authentifizierung. Wenn es nicht gelingt , dass , es ist tatsächlich mehr schaden als nützen.
</ rant>
/ Jens Roland
quelle
Beachten Sie, dass die "umfassende Auflistung" von Jens Roland keine Benutzerrollen enthält. Wenn Sie verschiedene Benutzerrollen zuweisen möchten (z. B. admin / user oder admin / editor / user), können Sie diese Bibliotheken verwenden:
Tank_Auth (Nr. 1 oben in Jens 'Liste) hat keine Benutzerrollen. Mir ist klar, dass es nicht gerade Teil der Authentifizierung ist, aber seitdem
Es ist sehr sinnvoll, eine Bibliothek zu haben, die beide verwaltet, wenn Sie sie benötigen. Aus diesem Grund wechsle ich von Tank_Auth zu Ion_Auth.
quelle
Ion_auth! Sieht sehr vielversprechend und klein aus! Ich mag..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
quelle
Ich bin der Entwickler von Redux Auth und einige der von Ihnen erwähnten Probleme wurden in der Beta-Version 2 behoben. Sie können dies auch mit einer Beispielanwendung von der offiziellen Website herunterladen.
Sicherheitsfragen werden jetzt nicht mehr verwendet und ein einfacheres System für vergessene Passwörter wurde eingerichtet.
Dies wurde in Version 2 behoben und gibt boolesche Werte zurück. Ich hasste das Durcheinander genauso wie Sie.
Die Beispielanwendung verwendet das Validierungssystem des CI.
In Arbeit
Ich habe auch einige andere Funktionen implementiert, z. B. E-Mail-Ansichten. Auf diese Weise können Sie die CodeIgniter-Helfer in Ihren E-Mails verwenden.
Es ist noch in Arbeit. Wenn Sie weitere Vorschläge haben, lassen Sie diese bitte weiter kommen.
-Popcorn
Ps: Danke, dass du Redux empfohlen hast.
quelle
Ich bin auf Flexi Auth gestoßen ( http://haseydesign.com/flexi-auth/ ). Es sieht sehr vielversprechend aus und ich habe damit begonnen. Es hat wundervolle Eigenschaften. Vollständig in CI integriert und mit zwei verschiedenen Bibliotheksdateien ausgestattet, von denen eine sehr stark mit allen Funktionen geladen ist und die andere nur die Validierungen enthält.
Eines der besten ist, dass das neu registrierte Mitglied für einen bestimmten Zeitraum temporären Zugriff auf die Website erhält, bis es auf den Link in seiner E-Mail klickt und aktiviert.
quelle
Vielleicht finden Sie Redux , das Ihren Anforderungen entspricht. Es ist kein Overkill und wird ausschließlich mit Funktionen geliefert, die die meisten von uns benötigen würden. Der Entwickler und die Mitwirkenden waren sehr streng, welcher Code beigesteuert wurde.
Dies ist die offizielle Seite
quelle
Ion_Auth schlägt tank_auth hauptsächlich aus zwei Gründen, Benutzerrollen und Dokumentation. Diese beiden fehlen in tank_auth.
quelle
Ich verwende eine angepasste Version von DX Auth . Ich fand es einfach zu bedienen, extrem einfach zu modifizieren und es hat eine Bedienungsanleitung (mit großartigen Beispielen) , die der von Code Igniter sehr ähnlich ist.
quelle
Schauen Sie sich auch BackendPro an
Letztendlich werden Sie wahrscheinlich etwas Benutzerdefiniertes schreiben, aber es ist nichts Falsches daran, Konzepte von DX Auth, Freak Auth, BackendPro usw. auszuleihen.
Meine Erfahrungen mit den gepackten Apps sind, dass sie für bestimmte Strukturen spezifisch sind und ich Probleme hatte, sie in meine eigenen Anwendungen zu integrieren, ohne dass Hacks erforderlich waren. Wenn das Vorpaket ein Update enthält, muss ich sie migrieren.
Ich verwende auch Smarty und ADOdb in meinem CI-Code, sodass ich am Ende immer größere Codeänderungen vornehmen würde.
quelle
Tank Auth sieht gut aus, aber die Dokumentation enthält nur eine einseitige Erklärung zur Installation sowie einen kurzen Überblick über jede PHP-Datei. Zumindest ist das alles, was ich nach viel Googeln gefunden habe. Vielleicht meinen die Leute oben, wenn sie sagen, dass Tank Auth gut dokumentiert ist, dass der Code gut kommentiert ist. Das ist eine gute Sache, aber anders als die Dokumentation. Es wäre schön gewesen, eine Dokumentation darüber zu haben, wie die Funktionen von Tank Auth in Ihren vorhandenen Code integriert werden können.
quelle
Ich versuche Ion_Auth und schätze es übrigens ...
SimpleLoginSecure Macht die Authentifizierung einfach und sicher.
quelle