Widzę, że jest ich kilka . Które są utrzymywane i łatwe w użyciu? Jakie są ich zalety i wady?
php
codeigniter
authentication
GavinR
źródło
źródło
Odpowiedzi:
Aktualizacja (14 maja 2010 r.):
Okazuje się, że rosyjski programista Ilya Konyukhov po przeczytaniu tego podniósł rękawicę i stworzył nową bibliotekę auth dla CI opartą na DX Auth, zgodnie z poniższymi zaleceniami i wymaganiami.
Powstały Auth Tank wygląda jak odpowiedź na pytanie PO. Mam zamiar wyjść tutaj na całość i nazwać Tank Auth najlepszą dostępną dzisiaj biblioteką uwierzytelniania CodeIgniter. To solidna biblioteka, która ma wszystkie funkcje, których potrzebujesz, i nie ma nadęty:
Tank Auth
Pobierz Tank Auth tutaj
Oryginalna odpowiedź:
Zaimplementowałem również własne (obecnie około 80% wykonanych po kilku tygodniach pracy). Najpierw wypróbowałem wszystkie pozostałe; FreakAuth Light, DX Auth, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered i kilka innych. Żadne z nich nie dorównywało IMO, albo brakowało im podstawowych funkcji, z natury NIEBEZPIECZNYCH, albo było zbyt rozdęte jak na mój gust.
Właściwie zrobiłem szczegółowy przegląd wszystkich bibliotek uwierzytelniających CodeIgniter, kiedy je testowałem (tuż po Nowym Roku). FWIW, podzielę się tym z tobą:
DX Auth
FreakAuth Light
użytkownik_komputera
Świeża moc
Redux / Ion Auth
Według wiki CodeIgniter , Redux zostało przerwane, ale rozwidlenie Ion Auth rozwija się dobrze: https://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion Auth to dobrze wyposażona biblioteka, która nie jest zbyt ciężka ani zbyt zaawansowana. W większości przypadków jego zestaw funkcji będzie więcej niż spełniał wymagania projektu.
SimpleLoginSecure
Nie zrozum mnie źle: nie chcę lekceważyć żadnej z powyższych bibliotek; Jestem pod wielkim wrażeniem tego, co osiągnęli ich programiści i jak daleko zaszli każdy z nich, i nie jestem ponad tym, że ponownie wykorzystuję część ich kodu do zbudowania własnego. Mówię o tym, że czasami w tych projektach nacisk kładzie się z podstawowych „potrzebnych rzeczy” (takich jak twarde praktyki bezpieczeństwa) na łagodniejsze „miłe do zrobienia”, i mam nadzieję to naprawić .
Dlatego: powrót do podstaw.
Uwierzytelnienie dla CodeIgniter wykonane poprawnie
Oto moja MINIMALNA wymagana lista funkcji z biblioteki uwierzytelniania. Zdarza się też, że jest podzbiorem listy funkcji mojej biblioteki;)
Uwaga: te ostatnie kilka punktów nie jest przesadą o bardzo wysokim poziomie bezpieczeństwa, której nie potrzebujesz w swojej aplikacji internetowej. Jeśli biblioteka uwierzytelniająca nie spełnia tych standardów bezpieczeństwa w 100%, NIE UŻYWAJ!
Ostatnie głośne przykłady nieodpowiedzialnych programistów, którzy usunęli ich ze swojego oprogramowania: # 17 to sposób, w jaki e-mail Sarah Palin AOL został zhakowany podczas kampanii prezydenckiej; nieprzyjemna kombinacja # 18 i # 19 była ostatnio winowajcą, gdy włamano się na konta Britney Spears, Baracka Obamy, Fox News i innych; a tylko # 20 to sposób, w jaki chińskim hakerom udało się ukraść 9 milionów danych osobowych z ponad 70 000 koreańskich stron internetowych w jednym zaatakowanym automacie w 2008 roku.
Te ataki nie są operacjami mózgu. Jeśli pozostawisz szeroko otwarte tylne drzwi, nie powinieneś się łudzić fałszywym poczuciem bezpieczeństwa, ryglując przód. Co więcej, jeśli na tyle poważnie podchodzisz do kodowania, aby wybrać środowisko najlepszych praktyk, takie jak CodeIgniter, jesteś winien sobie, aby przynajmniej odpowiednio wykonać najbardziej podstawowe środki bezpieczeństwa.
<rant>
Zasadniczo oto, jak to jest: nie dbam o to, czy biblioteka auth oferuje wiele funkcji, zaawansowane zarządzanie rolami, zgodność z PHP4, ładne czcionki CAPTCHA, tabele krajów, kompletne panele administracyjne, dzwonki i gwizdki - jeśli biblioteka faktycznie robi moja witryna jest mniej bezpieczna, ponieważ nie przestrzegam najlepszych praktyk. To pakiet uwierzytelniający ; musi zrobić jedną właściwą rzecz: Uwierzytelnianie. Jeśli nie udaje mu się to , to rzeczywiście robi więcej szkody niż pożytku.
</rant>
/ Jens Roland
źródło
Pamiętaj, że „kompleksowa lista” Jensa Rolanda nie obejmuje ról użytkowników. Jeśli chcesz przypisać różne role użytkownika (takie jak admin / user lub admin / editor / user), te biblioteki zezwalają na to:
Tank_Auth (nr 1 powyżej na liście Jensa) nie ma ról użytkownika. Zdaję sobie sprawę, że nie jest to dokładnie część uwierzytelniania, ale od tego czasu
Sensowne jest posiadanie jednej biblioteki do obsługi obu, jeśli jest to potrzebne. Z tego powodu przełączam się na Ion_Auth z Tank_Auth.
źródło
Ion_auth! Wygląda bardzo obiecująco i zajmuje niewiele miejsca! Podoba mi się..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
źródło
Jestem programistą Redux Auth, a niektóre z wymienionych przez ciebie problemów zostały naprawione w wersji 2 beta. Możesz pobrać to również z oficjalnej strony z przykładową aplikacją.
Pytania bezpieczeństwa nie są teraz używane i wprowadzono prostszy system zapomnianego hasła.
Zostało to naprawione w wersji 2 i zwraca wartości logiczne. Nienawidziłem hodgepodge tak samo jak ty.
Przykładowa aplikacja korzysta z systemu sprawdzania poprawności CI.
Praca w toku
Zaimplementowałem również inne funkcje, takie jak widoki wiadomości e-mail, co daje możliwość korzystania z pomocników CodeIgniter w wiadomościach e-mail.
To wciąż praca w toku, więc jeśli masz jakieś sugestie, nie przestawaj je otrzymywać.
-Prażona kukurydza
Ps: Dziękujemy za polecenie Redux.
źródło
Natknąłem się na Flexi Auth ( http://haseydesign.com/flexi-auth/ ). Wygląda bardzo obiecująco i zacząłem go używać. Ma funkcje cudowne. W pełni integruje się z CI i zawiera dwa różne pliki bibliotek, w których jeden jest bardzo obciążony wszystkimi funkcjami, a drugi zawiera tylko sprawdzania poprawności.
Jedną z najlepszych jest to, że nowo zarejestrowany członek otrzymuje tymczasowy dostęp przez określony czas na stronie, dopóki nie kliknie linku z e-maila i aktywuje się.
źródło
Może znajdziesz Redux odpowiadające Twoim potrzebom. To nie jest przesada i jest zapakowany tylko z nagimi funkcjami, których większość z nas potrzebowałaby. Twórcy i współautorzy byli bardzo surowi w kwestii tego, jaki kod został dodany.
To jest oficjalna strona
źródło
Ion_Auth bije tank_auth głównie z dwóch powodów, ról użytkownika i dokumentacji, tych dwóch brakuje w tank_auth.
źródło
Używam niestandardowej wersji DX Auth . Uznałem, że jest łatwy w użyciu, niezwykle łatwy do modyfikacji i ma instrukcję obsługi (z świetnymi przykładami), która jest bardzo podobna do Code Igniter's.
źródło
Zobacz także BackendPro
Ostatecznie prawdopodobnie skończysz pisać coś niestandardowego, ale nie ma nic złego w pożyczaniu koncepcji od DX Auth, Freak Auth, BackendPro itp.
Moje doświadczenia z aplikacjami w pakiecie są takie, że są one specyficzne dla niektórych struktur i miałem problemy z integracją ich z własnymi aplikacjami bez konieczności włamań, więc jeśli pakiet wstępny zawiera aktualizację, muszę je migrować.
Używam również Smarty i ADOdb w kodzie CI, więc bez względu na to, co zawsze skończę, wprowadzam poważne zmiany w kodzie.
źródło
Tank Auth wygląda dobrze, ale dokumentacja to tylko jednostronicowe objaśnienie instalacji, a także szybkie przeglądanie każdego pliku PHP. Przynajmniej tyle znalazłem po wielu Googlingach. Być może to, co ludzie mają na myśli powyżej, gdy mówią, że Tank Auth jest dobrze udokumentowany, to to, że kod jest dobrze skomentowany. To dobrze, ale różni się od dokumentacji. Byłoby miło mieć dokumentację na temat integracji funkcji Tank Auth z istniejącym kodem.
źródło
Próbuję Ion_Auth i doceniam to, przy okazji ...
SimpleLoginSecure Sprawia, że uwierzytelnianie jest proste i bezpieczne.
źródło