Saya melihat ada beberapa . Mana yang dipelihara dan mudah digunakan? Apa pro dan kontra mereka?
php
codeigniter
authentication
GavinR
sumber
sumber
Jawaban:
Pembaruan (14 Mei 2010):
Ternyata, pengembang Rusia Ilya Konyukhov mengambil tantangan setelah membaca ini dan membuat perpustakaan auth baru untuk CI berdasarkan DX Auth, mengikuti rekomendasi dan persyaratan di bawah ini.
Dan Auth Tank yang dihasilkan tampak seperti jawaban untuk pertanyaan OP. Saya akan pergi mengambil risiko di sini dan memanggil Tank Auth perpustakaan otentikasi terbaik untuk CodeIgniter tersedia hari ini. Ini adalah pustaka rock-solid yang memiliki semua fitur yang Anda butuhkan dan tidak ada mengasapi yang tidak Anda miliki:
Auth Tank
Unduh Tank Auth di sini
Jawaban asli:
Saya juga menerapkannya sendiri (saat ini sekitar 80% dilakukan setelah beberapa minggu bekerja). Saya mencoba semua yang lain terlebih dahulu; FreakAuth Light, Auth DX, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered, dan beberapa lainnya. Tak satu pun dari mereka yang normal, IMO, entah mereka kekurangan fitur dasar, inheren INsecure, atau terlalu kembung untuk seleraku.
Sebenarnya, saya melakukan perincian terperinci dari semua perpustakaan otentikasi untuk CodeIgniter ketika saya menguji mereka (setelah Tahun Baru). FWIW, saya akan membagikannya kepada Anda:
DX Auth
FreakAuth Light
pc_user
Didukung Baru
Redux / Ion Auth
Menurut wiki CodeIgniter , Redux telah dihentikan, tetapi garpu Ion Auth semakin kuat: https://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion Auth adalah perpustakaan berfitur baik tanpa terlalu berat atau kurang maju. Dalam kebanyakan kasus, set fiturnya akan lebih dari sekadar memenuhi kebutuhan proyek.
SimpleLoginSecure
Jangan salah paham: Saya tidak bermaksud untuk tidak menghormati salah satu perpustakaan di atas; Saya sangat terkesan dengan apa yang telah dicapai oleh pengembang mereka dan seberapa jauh masing-masing dari mereka telah datang, dan saya tidak menggunakan kembali beberapa kode mereka untuk membuat kode saya sendiri. Apa yang saya katakan adalah, kadang-kadang dalam proyek-proyek ini, fokus bergeser dari 'kebutuhan-untuk-dimiliki' yang penting (seperti praktik keamanan keras) ke 'kebaikan-untuk-dimiliki' yang lebih lunak, dan itulah yang saya harap dapat diperbaiki. .
Oleh karena itu: kembali ke dasar.
Otentikasi untuk CodeIgniter dilakukan dengan benar
Inilah MINIMAL saya yang diperlukan daftar fitur dari perpustakaan otentikasi. Ini juga merupakan subset dari daftar fitur perpustakaan saya sendiri;)
Catatan: poin-poin terakhir itu bukanlah kerja keras keamanan super tinggi yang tidak Anda perlukan untuk aplikasi web Anda. Jika pustaka otentikasi tidak memenuhi standar keamanan ini 100%, JANGAN GUNAKAN!
Contoh profil tinggi terbaru dari pembuat kode yang tidak bertanggung jawab yang meninggalkan mereka dari perangkat lunak mereka: # 17 adalah bagaimana email AOL Sarah Palin diretas selama kampanye Presiden; kombinasi jahat dari # 18 dan # 19 adalah pelakunya baru-baru ini ketika akun Twitter Britney Spears, Barack Obama, Fox News dan lainnya diretas; dan # 20 saja adalah bagaimana peretas Cina berhasil mencuri 9 juta item informasi pribadi dari lebih dari 70.000 situs web Korea dalam satu peretasan otomatis pada 2008.
Serangan-serangan ini bukan operasi otak. Jika Anda membiarkan pintu belakang terbuka lebar, Anda seharusnya tidak menipu diri sendiri dengan rasa aman yang salah dengan mengunci bagian depan. Selain itu, jika Anda cukup serius tentang pengkodean untuk memilih kerangka kerja praktik terbaik seperti CodeIgniter, Anda berhutang pada diri sendiri untuk setidaknya mendapatkan langkah-langkah keamanan paling dasar yang dilakukan dengan benar.
<rant>
Pada dasarnya, begini caranya: Saya tidak peduli apakah perpustakaan autentik menawarkan banyak fitur, manajemen peran lanjutan, kompatibilitas PHP4, font CAPTCHA yang cantik, tabel negara, panel admin lengkap, bel dan peluit - jika perpustakaan benar-benar membuat situs saya kurang aman dengan tidak mengikuti praktik terbaik. Ini adalah paket otentikasi ; perlu melakukan SATU hal dengan benar: Otentikasi. Jika gagal melakukan itu , itu sebenarnya lebih banyak merugikan daripada kebaikan.
</rant>
/ Jens Roland
sumber
Perhatikan bahwa "daftar komprehensif" oleh Jens Roland tidak termasuk peran pengguna. Jika Anda tertarik untuk menetapkan peran pengguna yang berbeda (seperti admin / pengguna atau admin / editor / pengguna), perpustakaan ini memungkinkan:
Tank_Auth (# 1 di atas dalam daftar Jens) tidak memiliki peran pengguna. Saya menyadari itu bukan bagian dari otentikasi, tetapi sejak itu
Masuk akal jika memiliki satu perpustakaan untuk menangani keduanya, jika Anda membutuhkannya. Saya beralih ke Ion_Auth dari Tank_Auth karena ini.
sumber
Ion_auth! Tampak sangat menjanjikan dan tapak kecil! Saya suka..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
sumber
Saya adalah pengembang Redux Auth dan beberapa masalah yang Anda sebutkan telah diperbaiki dalam versi 2 beta. Anda dapat mengunduh ini dari situs web resmi dengan contoh aplikasi juga.
Pertanyaan keamanan sekarang tidak digunakan dan sistem kata sandi yang dilupakan lebih sederhana telah dibuat.
Ini diperbaiki di versi 2 dan mengembalikan nilai boolean. Aku benci gado-gado seperti kamu.
Aplikasi sampel menggunakan sistem validasi CI.
Bekerja dalam proses
Saya juga menerapkan beberapa fitur lain seperti tampilan email, ini memberi Anda pilihan untuk dapat menggunakan bantuan CodeIgniter dalam email Anda.
Ini masih dalam proses, jadi jika ada saran, harap tetap datang.
-Jagung meletus
Ps: Terima kasih telah merekomendasikan Redux.
sumber
Saya telah menemukan Flexi Auth ( http://haseydesign.com/flexi-auth/ ). Terlihat sangat menjanjikan, dan saya sudah mulai menggunakannya. Ini memiliki fitur luar biasa. Sepenuhnya terintegrasi dengan CI, dan dilengkapi dengan dua file pustaka yang berbeda, di mana satu sangat sarat dengan semua fungsi dan yang lainnya hanya berisi validasi.
Salah satu yang terbaik adalah bahwa anggota yang baru terdaftar mendapatkan akses sementara untuk jangka waktu tertentu di situs, sampai mereka mengklik tautan dari email mereka dan mengaktifkannya.
sumber
Mungkin Anda akan menemukan Redux sesuai dengan kebutuhan Anda. Ini tidak berlebihan dan dilengkapi hanya dengan fitur telanjang yang sebagian besar dari kita akan membutuhkan. Pengembang dan kontributor sangat ketat pada kode apa yang dikontribusikan.
Ini adalah halaman resmi
sumber
Ion_Auth mengalahkan tank_auth terutama karena dua alasan, peran pengguna dan dokumentasi, keduanya hilang dari tank_auth.
sumber
Saya menggunakan versi khusus Auth DX . Saya merasa mudah digunakan, sangat mudah dimodifikasi dan memiliki panduan pengguna (dengan contoh yang bagus) yang sangat mirip dengan Code Igniter.
sumber
Lihat juga BackendPro
Pada akhirnya Anda mungkin akan akhirnya menulis sesuatu yang kustom, tetapi tidak ada yang salah dengan konsep pinjaman dari DX Auth, Freak Auth, BackendPro, dll.
Pengalaman saya dengan aplikasi paket adalah mereka khusus untuk struktur tertentu dan saya punya masalah mengintegrasikan mereka ke dalam aplikasi saya sendiri tanpa memerlukan peretasan, maka jika pra-paket memiliki pembaruan, saya harus memindahkannya.
Saya juga menggunakan Smarty dan ADOdb dalam kode CI saya, jadi apa pun yang terjadi, saya selalu membuat perubahan kode utama.
sumber
Tank Auth terlihat bagus tetapi dokumentasinya hanya penjelasan satu halaman tentang cara menginstal, ditambah run-down cepat dari setiap file PHP. Setidaknya itulah yang saya temukan setelah banyak Googling. Mungkin yang dimaksud orang di atas ketika mereka mengatakan bahwa Tank Auth terdokumentasi dengan baik adalah bahwa kode tersebut dikomentari dengan baik. Itu hal yang baik, tetapi berbeda dari dokumentasi. Pasti menyenangkan memiliki beberapa dokumentasi tentang cara mengintegrasikan fitur-fitur Tank Auth dengan kode Anda yang ada.
sumber
Saya mencoba Ion_Auth dan menghargainya, btw ...
SimpleLoginSecure Membuat otentikasi sederhana dan aman.
sumber