2011-08-08 6 views
4

How can I store my users' passwords safely?에서 암호를 암호화하는 가장 좋은 방법은 phpass를 사용하는 것입니다. 인증을 위해 PEAR Auth 패키지를 사용하고 싶지만 PEAR은 md5, sha1, sha256, sha512 만 지원하며 PEAR는 해시에 소금을 추가하지 않습니다.PEAR Auth는 PHP 인증을위한 실질적인 옵션입니까?

PEAR 인증도 How should I choose an authentication library for CodeIgniter?

  • reCAPTCHA를에 나와있는 많은 기능이
  • 활성화 이메일
  • 지원 지원하지 않습니다
  • 활성화되지 않은이 (
  • 가 해싱을위한 phpass을 사용하여 자동 만료 계정 및 또한 DB의 자동 로그인 코드 해시)
  • 로그인 시도 실패시 매우 합리적인 보안 모델 (봇 및 DoS 공격으로부터의 보호 기능이 우수)
  • "저를 기억"기능

내 질문은 : PEAR 인증 정말 실행 가능한 선택? 그것은 그것을 사용하는 것, 나는 모든 누락 된 기능을 직접 작성해야합니다. 더 나은 기능이 풍부한 Auth 라이브러리가 프레임 워크 안에 래핑되지 않았습니까? 난 그냥 내 간단한 웹 애플 리케이션을위한 기본 보안 인증 싶습니다.

+1

나는 당신의 질문에 대답하지 않는다는 것을 알고 있지만, 라운드와 무작위 소금을 사용한다면 sha256과 sha512는 해싱에 좋습니다. 나는 당신이 [crypt] (http://php.net/crypt)를 들여다 볼 것을 제안합니다. PEAR Auth가 지원하는지 확실하지 않지만, 그렇다면 다른 라이브러리 대신 사용할 수 있습니다. – Mike

+0

@mike가 제안했듯이, 샤는 작동 할 수 있습니다. PEAR는 실행 가능한 인증 라이브러리이며, 대부분의 기본 웹 애플리케이션에 필요한만큼 기능이 풍부하지 않습니다. 즉, 비밀번호 분실, 내 기억, 활성화 이메일 등의 기능이 누락되었습니다. – bperdue

+0

프레임 워크에 무관심하고 데이터베이스에 독립적 인 https://github.com/delight-im/PHP-Auth를 살펴볼 수 있습니다. – caw

답변

0

암호 해싱에 관한 것 인 경우 bcrypt을 사용하는 것이 좋습니다. PHP에서 사용할 수있는 방법은 이미 discussion입니다.

+0

부분적으로 해싱, 부분적으로 누락 된 기능입니다. 아마도 가장 좋은 해결책은 탱크 인증을 사용하는 것입니다 (여기에 권장 : http://stackoverflow.com/questions/346980/what-codeigniter-authentication-library-is-best/476902#476902).하지만 CodeIgniter 없이도 작동하도록 다시 작성하십시오. – bperdue