ฉันจะเลือกไลบรารีการรับรองความถูกต้องสำหรับ CodeIgniter ได้อย่างไร [ปิด]


398

ผมเห็นมีไม่กี่ อันไหนที่ถูกบำรุงรักษาและใช้งานง่าย? ข้อดีและข้อเสียของพวกเขาคืออะไร


8
หากคุณยังสนใจลองดูที่ Tank Auth ฉันเพิ่งอัปเดตโพสต์ด้านล่างหลังจากตรวจสอบแล้วและมันก็ยอดเยี่ยม
Jens Roland

7
ขอบคุณสำหรับการอัพเดท! นี่จะเป็นข้อมูลที่มีค่าสำหรับผู้เข้าชมคำถามนี้ในอนาคตดังนั้นฉันจึงเปลี่ยนคำตอบที่ยอมรับได้
GavinR

3
ทำไมจึงปิดทันที ดูเหมือนว่าจะสอดคล้องกับแนวทางของคำถามหกข้อได้ดีมาก
Brian Ortiz

3
เสนอชื่อเพื่อเปิดใหม่ ตอบคำถามที่ฉันมี (ระบบตรวจสอบสิ่งที่อยู่ใน CI คุ้มค่าที่จะดู) อย่างสมบูรณ์แบบ
Cruachan

3
เห็นด้วยกับ @BrianOrtiz และ Cruachan: ทำไมต้องปิด คำถามที่ดีและคำตอบที่ดี
ปีเตอร์เค

คำตอบ:


465

อัปเดต (14 พฤษภาคม 2010):

ปรากฎว่าผู้พัฒนารัสเซีย Ilya Konyukhov หยิบถุงมือหลังจากอ่านและสร้างห้องสมุดรับรองความถูกต้องใหม่สำหรับ CI ตาม DX Auth ตามคำแนะนำและข้อกำหนดด้านล่าง

และผลลัพธ์ของTank Authดูเหมือนจะเป็นคำตอบสำหรับคำถามของ OP ฉันจะออกไปข้างนอกที่นี่แล้วโทรไปที่ Tank Auth ซึ่งเป็นไลบรารี่ที่ดีที่สุดสำหรับ CodeIgniter มันเป็นห้องสมุดที่เต็มไปด้วยหินซึ่งมีคุณสมบัติทั้งหมดที่คุณต้องการและไม่มีสิ่งใดที่คุณไม่ชอบ:

Tank Auth

ข้อดี

  • คุณสมบัติเต็มรูปแบบ
  • รอยเท้าแบบ Lean (20 ไฟล์) พิจารณาชุดคุณลักษณะ
  • เอกสารที่ดีมาก
  • การออกแบบฐานข้อมูลที่เรียบง่ายและสง่างาม (เพียง 4 ตารางฐานข้อมูล)
  • คุณสมบัติส่วนใหญ่เป็นทางเลือกและกำหนดค่าได้ง่าย
  • รองรับไฟล์ภาษา
  • รองรับ reCAPTCHA
  • ติดตั้งเข้ากับระบบตรวจสอบความถูกต้องของ CI
  • เปิดใช้งานอีเมล
  • เข้าสู่ระบบด้วยอีเมลชื่อผู้ใช้หรือทั้งสองอย่าง (กำหนดค่าได้)
  • บัญชีที่ไม่ได้ใช้งานจะหมดอายุโดยอัตโนมัติ
  • การจัดการข้อผิดพลาดที่เรียบง่ายและมีประสิทธิภาพ
  • ใช้ phpass สำหรับการแฮช (และยังแฮชโค้ด autologin ในฐานข้อมูล)
  • ไม่ใช้คำถามเพื่อความปลอดภัย
  • การแยกข้อมูลผู้ใช้และโปรไฟล์เป็นสิ่งที่ดีมาก
  • โมเดลการรักษาความปลอดภัยที่สมเหตุสมผลมากรอบความพยายามในการล็อกอินล้มเหลว (การป้องกันที่ดีต่อบ็อตและการโจมตี DoS)

(เล็กน้อย)

  • รหัสผ่านที่หายไปจะไม่ถูกแฮชใน DB
  • รวม CAPTCHA แบบเนทีฟ (แย่) ซึ่งดีสำหรับผู้ที่ไม่ต้องการพึ่งพาบริการ reCAPTCHA (เป็นเจ้าของโดย Google) แต่จริงๆแล้วมันไม่ปลอดภัยพอ
  • เอกสารออนไลน์ที่กระจัดกระจายมาก (มีปัญหาเล็กน้อยที่นี่เนื่องจากรหัสมีการบันทึกไว้เป็นอย่างดีและใช้งานง่าย)

ดาวน์โหลด Tank Auth ได้ที่นี่


คำตอบเดิม:

ฉันได้ใช้งานของฉันเองเช่นกัน (ปัจจุบันทำไปประมาณ 80% หลังจากทำงานสองสามสัปดาห์) ฉันลองทั้งหมดก่อนอื่น Light FreakAuth, DX Auth, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered และอีกมากมาย ไม่มีของพวกเขาถึงเสมอ IMO ทั้งที่พวกเขาขาดคุณสมบัติพื้นฐานไม่แน่ใจโดยธรรมชาติหรือป่องเกินไปสำหรับรสนิยมของฉัน

ที่จริงแล้วฉันได้ทำการปัดเศษรายละเอียดของไลบรารีการพิสูจน์ตัวตนทั้งหมดสำหรับ CodeIgniter เมื่อฉันทำการทดสอบพวกเขา (หลังปีใหม่) FWIW ฉันจะแบ่งปันกับคุณ:

DX Auth

ข้อดี

  • โดดเด่นมากเต็มรูปแบบ
  • การปล่อยขนาดกลาง (25 ไฟล์ขึ้นไป) แต่จะรู้สึกค่อนข้างบาง
  • เอกสารที่ดีเยี่ยมแม้ว่าบางส่วนจะใช้ภาษาอังกฤษได้เล็กน้อย
  • รองรับไฟล์ภาษา
  • รองรับ reCAPTCHA
  • ติดตั้งเข้ากับระบบตรวจสอบความถูกต้องของ CI
  • เปิดใช้งานอีเมล
  • บัญชีที่ไม่ได้ใช้งานจะหมดอายุโดยอัตโนมัติ
  • แนะนำ grc.com สำหรับเกลือ (ไม่เลวสำหรับ PRNG)
  • การห้ามด้วยสตริง 'เหตุผล' ที่เก็บไว้
  • การจัดการข้อผิดพลาดที่เรียบง่ายและมีประสิทธิภาพ

จุดด้อย

  • อนุญาตให้ผู้ใช้รีเซ็ตรหัสผ่านที่หายไป (แทนที่จะปล่อยให้พวกเขาเลือกใหม่เมื่อเปิดใช้งานใหม่)
  • แบบจำลองเหตุการณ์ Homebrew หลอก - เจตนาดี แต่พลาดเครื่องหมาย
  • รหัสผ่านสองฟิลด์ในตารางผู้ใช้สไตล์ไม่ดี
  • ใช้สองตารางผู้ใช้แยกกัน (หนึ่งสำหรับผู้ใช้ 'temp' - คลุมเครือและซ้ำซ้อน)
  • ใช้การแฮช md5 ที่อาจไม่ปลอดภัย
  • การเข้าสู่ระบบล้มเหลวพยายามจัดเก็บโดย IP เท่านั้นไม่ใช่โดยชื่อผู้ใช้ - ไม่ปลอดภัย!
  • คีย์ Autologin ไม่ได้แฮชในฐานข้อมูล - ในทางปฏิบัติไม่ปลอดภัยเท่าการจัดเก็บรหัสผ่านในข้อความธรรมดา!
  • ระบบบทบาทเป็นระเบียบที่สมบูรณ์: ฟังก์ชั่น is_admin ที่มีชื่อบทบาทฮาร์ดโค้ด, is_role ระเบียบที่สมบูรณ์ check_uri_permissions เป็นระเบียบตารางสิทธิ์ทั้งหมดเป็นความคิดที่ไม่ดี (URI สามารถเปลี่ยนและแสดงหน้าเว็บที่ไม่มีการป้องกันสิทธิ์ควรถูกเก็บไว้อย่างแน่นอน โดยที่ตรรกะที่ละเอียดอ่อนอยู่) dealbreaker!
  • รวม CAPTCHA แบบพื้นเมือง (แย่)
  • อินเตอร์เฟสฟังก์ชัน reCAPTCHA นั้นยุ่ง

Light FreakAuth

ข้อดี

  • โดดเด่นมากเต็มรูปแบบ
  • รหัสเอกสารส่วนใหญ่ค่อนข้างดี
  • การแยกข้อมูลผู้ใช้และโปรไฟล์เป็นเรื่องที่ดี
  • ติดตั้งเข้ากับระบบตรวจสอบความถูกต้องของ CI
  • เปิดใช้งานอีเมล
  • รองรับไฟล์ภาษา
  • พัฒนาอย่างแข็งขัน

จุดด้อย

  • รู้สึกป่องเล็กน้อย (50+ ไฟล์)
  • และมันยังขาดการเข้าสู่ระบบคุกกี้อัตโนมัติ (!)
  • ไม่รองรับการลงชื่อเข้าใช้ด้วยทั้งชื่อผู้ใช้และอีเมล
  • ดูเหมือนว่าจะมีปัญหากับตัวอักษร UTF-8
  • ต้องมีการโหลดอัตโนมัติจำนวนมาก (ประสิทธิภาพการกีดขวาง)
  • ไฟล์กำหนดค่า micromanaged ไม่ดี
  • การแยก View-Controller ที่ยอดเยี่ยมพร้อมลอจิกโปรแกรมจำนวนมากในมุมมองและส่งสัญญาณฮาร์ดโค้ดไปยังคอนโทรลเลอร์ dealbreaker!
  • รหัส HTML แย่ในมุมมองที่รวมไว้
  • รวมถึง CAPTCHA ที่ต่ำกว่ามาตรฐาน
  • ดีบักความคิดเห็นสะท้อนไปทุกที่
  • บังคับให้โครงสร้างโฟลเดอร์เฉพาะ
  • บังคับให้ไลบรารี Ajax เฉพาะ (สามารถสลับได้ แต่ไม่ควรอยู่ในตำแหน่งแรก)
  • ไม่ จำกัด จำนวนครั้งสูงสุดสำหรับการพยายามลงชื่อเข้าใช้ - ไม่ปลอดภัยมาก! dealbreaker!
  • การตรวจสอบแบบฟอร์มจี้
  • ใช้การแฮช md5 ที่อาจไม่ปลอดภัย

pc_user

ข้อดี

  • คุณสมบัติที่ดีที่กำหนดไว้สำหรับรอยขนาดเล็กของมัน
  • น้ำหนักเบาไม่บวม (3 ไฟล์)
  • การลงชื่อเข้าใช้คุกกี้อัตโนมัติที่สง่างาม
  • มาพร้อมกับการใช้งานการทดสอบเสริม (สัมผัสที่ดี)

จุดด้อย

  • ใช้ไวยากรณ์ฐานข้อมูล CI เก่า (ปลอดภัยน้อยกว่า)
  • ไม่ขอเข้าสู่ระบบการตรวจสอบของ CI
  • ระบบสถานะ (บทบาท) ที่ใช้งานง่าย (ดัชนีกลับหัว - ไม่สามารถใช้งานได้)
  • ใช้ hashing sha1 ที่อาจไม่ปลอดภัย

ขับเคลื่อนสด

ข้อดี

  • รอยขนาดเล็ก (6 ไฟล์)

จุดด้อย

  • ขาดคุณสมบัติที่สำคัญมากมาย dealbreaker!
  • ทุกอย่างเป็นรหัสยาก dealbreaker!

Redux / Ion Auth

ตามที่ CodeIgniter wikiนั้น Redux ถูกยกเลิกไปแล้ว แต่ Fork Auth ของ Ion จะแข็งแกร่งขึ้น: https://github.com/benedmunds/CodeIgniter-Ion-Auth

Ion Auth เป็นห้องสมุดที่โดดเด่นเป็นอย่างดีโดยไม่หนักเกินไปหรือต่ำกว่าขั้นสูง ในกรณีส่วนใหญ่ชุดคุณลักษณะจะรองรับความต้องการของโครงการมากกว่า

ข้อดี

  • น้ำหนักเบาและง่ายต่อการรวมเข้ากับ CodeIgniter
  • รองรับการส่งอีเมลโดยตรงจากห้องสมุด
  • จัดทำเอกสารออนไลน์และชุมชนผู้ใช้ dev / ผู้ใช้ที่ดี
  • ง่ายต่อการใช้ในโครงการ

จุดด้อย

  • สกีมา DB ที่ซับซ้อนกว่าบางรายการ
  • เอกสารขาดรายละเอียดในบางพื้นที่

SimpleLoginSecure

ข้อดี

  • รอยขนาดเล็ก (4 ไฟล์)
  • เรียบง่ายอย่างแน่นอนไม่ขยาย
  • ใช้ phpass เพื่อ hashing (ยอดเยี่ยม)

จุดด้อย

  • เฉพาะเข้าสู่ระบบออกจากระบบสร้างและลบ
  • ขาดคุณสมบัติที่สำคัญมากมาย dealbreaker!
  • มีจุดเริ่มต้นมากกว่าไลบรารี

อย่าเข้าใจฉันผิด:ฉันไม่ได้ตั้งใจจะดูหมิ่นห้องสมุดใด ๆ ข้างต้น ฉันประทับใจมากกับสิ่งที่นักพัฒนาของพวกเขาประสบความสำเร็จและพวกเขาแต่ละคนมาได้ไกลแค่ไหนและฉันไม่ได้ใช้โค้ดของพวกเขาซ้ำเพื่อสร้างของฉันเอง สิ่งที่ฉันพูดคือบางครั้งในโครงการเหล่านี้โฟกัสเปลี่ยนจาก 'จำเป็นต้องมี' ที่จำเป็น (เช่นการรักษาความปลอดภัยที่ยาก) ไปยัง 'ที่ดีเพื่อ haves' นุ่มนวลและนั่นคือสิ่งที่ฉันหวังว่าจะแก้ไข .

ดังนั้นกลับไปสู่พื้นฐาน

การตรวจสอบสิทธิ์สำหรับ CodeIgniter ถูกต้องแล้ว

นี่คือรายการคุณลักษณะที่จำเป็นขั้นต่ำของฉันจากไลบรารีการตรวจสอบสิทธิ์ นอกจากนี้ยังเป็นส่วนย่อยของรายการคุณสมบัติของห้องสมุดของฉันเอง)

  1. รอยเท้าจิ๋วด้วยการใช้การทดสอบเสริม
  2. เอกสารเต็มรูปแบบ
  3. ไม่จำเป็นต้องมีการโหลดอัตโนมัติ การโหลดไลบรารีแบบทันเวลาเพื่อประสิทธิภาพ
  4. รองรับไฟล์ภาษา ไม่มีสตริงที่เข้ารหัสยาก
  5. รองรับ reCAPTCHA แต่ไม่บังคับ
  6. การสร้างเกลือแบบสุ่มของ TRUE ที่แนะนำ (เช่นการใช้ random.org หรือ random.irb.hr)
  7. ตัวเลือกเสริมเพื่อสนับสนุนการเข้าสู่ระบบของบุคคลที่สาม (OpenID, Facebook Connect, บัญชี Google, ฯลฯ )
  8. เข้าสู่ระบบโดยใช้ชื่อผู้ใช้หรืออีเมล
  9. การแยกข้อมูลผู้ใช้และโปรไฟล์
  10. อีเมลสำหรับการเปิดใช้งานและรหัสผ่านที่หายไป
  11. คุณสมบัติเข้าสู่ระบบคุกกี้อัตโนมัติ
  12. phpass ที่กำหนดค่าสำหรับการ hashing (แน่นอนเค็มอย่างแน่นอน!)
  13. การแฮ็ชของรหัสผ่าน
  14. การแฮ็กรหัสออโต้
  15. การแฮ็ชรหัสผ่านที่หายไป
  16. ติดตั้งเข้ากับระบบตรวจสอบความถูกต้องของ CI
  17. ไม่มีคำถามเพื่อความปลอดภัย!
  18. บังคับใช้นโยบายรหัสผ่านที่คาดเดายากทางฝั่งเซิร์ฟเวอร์พร้อมตัวตรวจสอบความถูกต้องของฝั่งไคลเอ็นต์ (Javascript)
  19. บังคับใช้จำนวนครั้งสูงสุดของการพยายามเข้าสู่ระบบที่ล้มเหลวด้วยวิธีปฏิบัติที่ดีที่สุดตอบโต้การโจมตีทั้งพจนานุกรมและ DoS!
  20. การเข้าถึงฐานข้อมูลทั้งหมดทำได้ผ่านคำสั่ง (ผูกไว้)!

หมายเหตุ: ไม่กี่คะแนนสุดท้ายเหล่านั้นไม่ใช่การรักษาความปลอดภัยขั้นสูงที่คุณไม่ต้องการสำหรับเว็บแอปพลิเคชันของคุณ ถ้าไลบรารีการรับรองความถูกต้องไม่ตรงตามมาตรฐานความปลอดภัยเหล่านี้ 100% อย่าใช้มัน!

ตัวอย่างสูงโปรไฟล์ล่าสุดของ coders ที่ไม่รับผิดชอบซึ่งปล่อยให้พวกเขาออกจากซอฟต์แวร์ของพวกเขา: # 17 เป็นวิธีที่อีเมล AOL ของ Sarah Palin ถูกแฮ็คในระหว่างการรณรงค์ของประธานาธิบดี การรวมกันที่น่ารังเกียจของ # 18 และ # 19 เป็นผู้ร้ายเมื่อเร็ว ๆ นี้เมื่อบัญชี Twitter ของ Britney Spears, Barack Obama, Fox News และคนอื่น ๆ ถูกแฮ็ค; และ # 20 เพียงอย่างเดียวคือวิธีที่แฮกเกอร์จีนจัดการเพื่อขโมยข้อมูลส่วนบุคคล 9 ล้านรายการจากเว็บไซต์เกาหลีกว่า 70,000 รายการในการแฮ็กอัตโนมัติหนึ่งรายการในปี 2551

การโจมตีเหล่านี้ไม่ใช่การผ่าตัดสมอง หากคุณเปิดประตูหลังไว้ให้เปิดกว้างคุณไม่ควรหลอกตัวเองให้รู้สึกมั่นคงโดยปิดประตูหน้า ยิ่งไปกว่านั้นถ้าคุณจริงจังกับการเขียนโค๊ดเพื่อเลือกกรอบการทำงานที่ดีที่สุดอย่าง CodeIgniter คุณต้องติดใจกับตัวเองอย่างน้อยก็จะได้มาตรการความปลอดภัยขั้นพื้นฐานที่ถูกต้อง


<พูดจาโผงผาง>

โดยทั่วไปนี่คือวิธี: ฉันไม่สนใจว่าห้องสมุดรับรองความถูกต้องมีคุณสมบัติมากมายการจัดการบทบาทขั้นสูงความเข้ากันได้ของ PHP4 แบบอักษร CAPTCHA สวยตารางประเทศแผงการดูแลระบบที่สมบูรณ์ระฆังและนกหวีด - ถ้าห้องสมุดสร้างขึ้นจริง ไซต์ของฉันปลอดภัยน้อยลงโดยไม่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด เป็นแพ็คเกจตรวจสอบสิทธิ์ จำเป็นต้องทำสิ่งเดียวที่ถูกต้อง: การรับรองความถูกต้อง หากไม่สามารถทำเช่นนั้นได้จริง ๆ แล้วทำอันตรายมากกว่าดี

</ พูดจาโผงผาง>

/ Jens Roland


1
ผมยังคงมันวิ่งเข้าไปในปัญหาสถาปัตยกรรมที่น่ารังเกียจและจะต้องเลือกระหว่างการแฮ็คร่วมกันแก้ปัญหาอย่างรวดเร็ว (ที่จะทำงานได้ดี แต่ต้องทนทุกข์ทรมานจากการมีเพศสัมพันธ์แน่น) หรือนั่งคิดหนักเกี่ยวกับวิธีการทำมันขวา ฉันเลือกตัวเลือกหลังและยังไม่ได้ถอดรหัส: D
Jens Roland

2
Jens คุณอาจต้องการดู Tank Auth ซึ่งสร้างขึ้นเพื่อตอบสนองต่อโพสต์ (ยอดเยี่ยม) ของคุณ: codeigniter.com/forums/viewthread/110993
Richard M

8
คุณสามารถอัพเดตบทความนี้และเปรียบเทียบกับIon-Auth (มาจาก dx-auth) ได้หรือไม่? ดูเหมือนว่า ion-auth นั้นทันสมัยกว่าและแอคทีฟจากนั้นก็ทำการ tank-auth ณ เวลานี้ ฉันต้องการทราบจากมุมมองด้านความปลอดภัยถ้ามันดีเหมือน Tank-auth หรือไม่เพราะมันมีคุณสมบัติเพิ่มเติมบางอย่างที่อาจมีประโยชน์
วีเจย์

1
ไลบรารีทั้งหมดเหล่านี้ใช้ mysql .. แต่ฉันใช้ MongoDb ซึ่งเป็นฐานข้อมูล noSql มีห้องสมุดที่ใช้งานกับ MoongoDB ได้หรือไม่? ฉันพยายามแปลงหนึ่งในห้องสมุดด้านบนเพื่อแทรกลงใน MongoDB แทนที่จะเป็น MySql แต่มันซับซ้อนเกินไปและอยากรู้ว่าไลบรารีที่ทำสิ่งนี้อยู่แล้ว
Ninja

2
@Lykos: แน่นอน - ข้อมูลผู้ใช้จะเป็นข้อมูลเฉพาะรับรองความถูกต้องเช่นหมายเลขผู้ใช้, ชื่อผู้ใช้, อีเมล, รหัสผ่าน, LastLoginTime ฯลฯ ข้อมูลโปรไฟล์ควรเก็บไว้ในตารางฐานข้อมูลแยกต่างหากและอาจเป็นข้อมูลใดก็ได้ ซึ่งอาจรวมถึงสิ่งต่าง ๆ เช่นวันเกิดเพศบ้านเกิดคะแนนชื่อเสียง ฯลฯ ด้วยวิธีนี้ผู้พัฒนาแอปพลิเคชันสามารถปรับเปลี่ยนตาราง ProfileData ในแบบที่พวกเขาต้องการได้โดยไม่ต้องกังวลว่าระบบรับรองความถูกต้องจะแตกหักทันที
Jens Roland

58

โปรดทราบว่า "รายการที่ครอบคลุม" โดย Jens Roland ไม่รวมถึงบทบาทของผู้ใช้ หากคุณสนใจกำหนดบทบาทผู้ใช้ที่แตกต่างกัน (เช่นผู้ดูแลระบบ / ผู้ใช้หรือผู้ดูแลระบบ / บรรณาธิการ / ผู้ใช้) ไลบรารีเหล่านี้อนุญาต:

  • Ion_Auth (เขียนใหม่ของ Redux)
  • Redux
  • แบ็กเอนด์โปร

Tank_Auth (# 1 ด้านบนในรายการของ Jens) ไม่มีบทบาทผู้ใช้ ฉันรู้ว่ามันไม่ได้เป็นส่วนหนึ่งของการรับรองความถูกต้อง แต่เนื่องจาก

  • การรับรองความถูกต้องและการจัดการบทบาทได้รับการจัดการเมื่อโหลดหน้าเว็บ
  • ทั้งสองเกี่ยวข้องกับความปลอดภัย
  • สามารถใช้ทั้งตาราง / โมเดลเดียวกันได้
  • ทั้งสองสามารถตั้งค่าให้โหลดในตัวควบคุม (หรือแม้กระทั่ง autoload)

มันสมเหตุสมผลมากที่จะมีหนึ่งไลบรารีในการจัดการทั้งสองถ้าคุณต้องการ ฉันเปลี่ยนเป็น Ion_Auth จาก Tank_Auth เพราะเหตุนี้


อาเห็นว่ามันดีจริง ๆ ที่รู้ - ยินดีที่ได้ทุกด้านในไลบรารีเดียวทำให้มันเรียบง่ายและใช้งานได้ดี จะต้องมองหา Ion_Auth ด้วยเหตุผลนั้นเอง! ขอบคุณเบอร์ตัน!
Edd Twilbeck

4
นั่นเป็นจุดที่ดีแน่นอนและการจัดการบทบาท (การอนุญาตโดยทั่วไป) เป็นส่วนสำคัญของเว็บไซต์หลายแห่งที่เชื่อมโยงกับระบบการตรวจสอบสิทธิ์อย่างใกล้ชิด แต่ถึงกระนั้นฉันจะเลือกระบบการตรวจสอบความปลอดภัยที่มีการจัดการบทบาทที่ง่ายหรือไม่มีอยู่เหนือระบบการตรวจสอบความเสี่ยงที่มีการจัดการบทบาทในตัวขั้นสูงทุกวัน
Jens Roland

Ion_Auth ทำงานได้ดีกับ CI 2.1 และ DataMapper ORM
user482594

37

Ion_auth! ดูดีมากและมีขนาดเล็ก! ฉันชอบ..

http://github.com/benedmunds/CodeIgniter-Ion-Auth


Ion Auth ทำงานได้ดีสำหรับฉันเช่นกันมีทุกอย่างที่ฉันต้องการและไม่มีอะไรที่ฉันไม่ชอบ (เช่นคำถามลับและชอบ)
SolidSmile

1
Ion Auth ดูเหมือนผู้นำในแง่ของการใช้งานคุณสมบัติและน้ำหนักเบา
pbreitenbach

5
ฉันได้ลองทั้ง Tank Auth และ Ion Auth แล้วฉันสามารถพูดได้ว่ารหัส Tank Auth นั้นสะอาดและง่ายต่อการเข้าใจและขยายได้ง่ายกว่า Ion Auth ในอีกด้านหนึ่ง Ion Auth สนับสนุน 'บทบาท'
Jonathan

30

ฉันเป็นผู้พัฒนา Redux Auth และปัญหาบางอย่างที่คุณกล่าวถึงได้รับการแก้ไขในรุ่นเบต้า 2 คุณสามารถดาวน์โหลดจากเว็บไซต์ offcial ด้วยแอปพลิเคชันตัวอย่างได้

  • ต้องมีการโหลดอัตโนมัติ (ประสิทธิภาพการขัดขวาง)
  • ใช้แนวคิด 'คำถามความปลอดภัย' ที่ไม่ปลอดภัยโดยเนื้อแท้ dealbreaker!

ไม่ได้ใช้คำถามเพื่อความปลอดภัยและระบบรหัสผ่านที่ลืมได้ง่ายขึ้น

  • ประเภทการส่งคืนเป็นบิตของการผสมของรหัสจริงเท็จข้อผิดพลาดและความสำเร็จ

สิ่งนี้ได้รับการแก้ไขในเวอร์ชัน 2 และส่งคืนค่าบูลีน ฉันเกลียดศาลาผสมข้าวเท่าที่คุณ

  • ไม่ขอเข้าสู่ระบบการตรวจสอบของ CI

แอปพลิเคชันตัวอย่างใช้ระบบตรวจสอบความถูกต้องของ CI

  • ไม่อนุญาตให้ผู้ใช้ส่งรหัส 'รหัสผ่านที่หายไป' อีกครั้ง

กำลังดำเนินการ

ฉันยังใช้คุณสมบัติอื่น ๆ เช่นมุมมองอีเมลซึ่งจะช่วยให้คุณสามารถเลือกใช้ตัวช่วย CodeIgniter ในอีเมลของคุณได้

มันยังคงอยู่ในระหว่างการดำเนินการดังนั้นหากมีข้อเสนอแนะเพิ่มเติมอีกโปรดให้พวกเขาเข้ามา

-ป๊อปคอร์น

Ps: ขอบคุณที่แนะนำ Redux


1
โอ้สวัสดีแม็ตธิว - และขอบคุณที่สละเวลาตอบโพสต์ของฉัน เสียงเบต้าน่าสนใจมาก - อย่างที่ฉันแน่ใจว่าคุณสังเกตเห็นแล้ว Redux ก็เข้ามาใกล้มากขึ้นเพื่อให้มันถูกต้องในการปัดเศษขึ้นดังนั้นฉันจะดูมันทันที
Jens Roland

เพิ่งได้อย่างรวดเร็วที่กระทู้ CI Forum และแผนงาน ดูดี - ด้วยความเคารพต่อเกลือ 'แบบไดนามิก' ฉันขอแนะนำให้ต่อกัน (วันที่จดทะเบียน) (กุญแจแฮไฟล์การตั้งค่า) (รหัสหรือรหัสผ่าน) เพื่อป้องกันตารางรุ้งและกำลังดุร้ายบนฐานข้อมูลที่ถูกขโมย
Jens Roland

นอกจากนี้ผมมีความคิดบางอย่างเกี่ยวกับการตรวจสอบสิทธิ์ปฏิบัติที่ดีที่สุด ( stackoverflow.com/questions/549/... ) และการควบคุมปริมาณบ็อตเน็ต ( stackoverflow.com/questions/479233/... ) คุณอาจต้องการที่จะทำงานมากกว่า
Jens Roland

14

ฉันเจอ Flexi Auth แล้ว ( http://haseydesign.com/flexi-auth/ ) มันดูมีแนวโน้มมากและฉันก็เริ่มใช้มัน มันมีคุณสมบัติที่ยอดเยี่ยม ทำงานร่วมกับ CI ได้อย่างสมบูรณ์และมาพร้อมกับไฟล์ไลบรารีที่แตกต่างกันสองไฟล์ซึ่งไฟล์หนึ่งมีการโหลดหนักมากพร้อมฟังก์ชั่นทั้งหมดและอีกไฟล์หนึ่งมีเฉพาะการตรวจสอบความถูกต้อง

หนึ่งในสิ่งที่ดีที่สุดคือสมาชิกที่เพิ่งลงทะเบียนใหม่จะได้รับการเข้าถึงชั่วคราวตามระยะเวลาที่กำหนดบนเว็บไซต์จนกว่าพวกเขาจะคลิกลิงก์จากอีเมลและเปิดใช้งาน


ขอบคุณสำหรับลิงค์นี้ มันยังมีอีกหนึ่งคุณลักษณะที่ดี Flexi รถเข็นhaseydesign.com/flexi-cart
Vir

13

บางทีคุณอาจต้องการReduxสิ่งทอสำหรับทำชุดเสื้อผ้าความต้องการของคุณ มันไม่มีราคาแพงเกินไปและมาพร้อมกับฟีเจอร์เปลือยส่วนใหญ่ที่เราต้องการ ผู้พัฒนาและผู้สนับสนุนนั้นเข้มงวดมากในเรื่องของรหัส

นี่คือหน้าอย่างเป็นทางการ


1
เวอร์ชั่นปัจจุบันรองรับ Code Igniter เวอร์ชั่นล่าสุดหรือไม่ ดูเหมือนว่าจะไม่มีการอัปเดตเป็นเวลานานมาก ไม่อย่างนั้นฉันก็ชอบ
GavinR

ฉันใช้ Redux กับเวอร์ชัน CI ล่าสุดในไซต์การผลิต มันเบามากเหมือนกับ CI และปรับแต่งได้มาก
GloryFish

1
Redux จะคงอยู่อีกต่อไปดูการสนทนานี้ codeigniter.com/forums/viewthread/145342
The Pixel Developer

Ion Auth ตั้งอยู่บน Redux Auth 2 และเป็นสิ่งที่ฉันจะใช้ PyroCMS ก็ใช้เช่นกัน github.com/benedmunds/CodeIgniter-Ion-Auth
Robert Audi

8

Ion_Auth เต้น tank_auth ส่วนใหญ่ด้วยเหตุผลสองประการบทบาทผู้ใช้และเอกสารประกอบทั้งสองอย่างนี้หายไปจาก tank_auth



4

ยังดูที่ BackendPro ด้วย

ในที่สุดคุณอาจจะเขียนสิ่งที่กำหนดเอง แต่ไม่มีอะไรผิดปกติกับแนวคิดการยืมจาก DX Auth, Freak Auth, BackendPro เป็นต้น

ประสบการณ์ของฉันกับแอพแพคเกจคือเฉพาะโครงสร้างบางอย่างและฉันมีปัญหาในการรวมเข้ากับแอปพลิเคชันของฉันเองโดยไม่ต้องแฮ็กดังนั้นถ้าแพคเกจก่อนมีการอัปเดตฉันต้องโยกย้ายมัน

ฉันยังใช้ Smarty และ ADOdb ในรหัส CI ของฉันดังนั้นไม่ว่าฉันจะลงเอยด้วยการเปลี่ยนแปลงรหัสหลัก ๆ


3

Tank Auth ดูดี แต่เอกสารเป็นเพียงคำอธิบายเดียวในการติดตั้งรวมถึงไฟล์ PHP แต่ละไฟล์ อย่างน้อยนั่นคือทั้งหมดที่ฉันพบหลังจาก Googling มากมาย บางทีสิ่งที่ผู้คนหมายถึงข้างต้นเมื่อพวกเขาบอกว่า Tank Auth มีเอกสารที่ดีคือรหัสนั้นมีความคิดเห็นดี นั่นเป็นสิ่งที่ดี แต่แตกต่างจากเอกสาร มันคงจะดีถ้ามีเอกสารเกี่ยวกับวิธีรวมฟีเจอร์ของ Tank Auth เข้ากับโค้ดที่คุณมีอยู่


3

ฉันพยายาม Ion_Auth และซาบซึ้ง btw ...

SimpleLoginSecure ทำให้การตรวจสอบง่ายและปลอดภัย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.