간단히 말해서, 저는 사내 보고서 엔진을 개발하고 있습니다. 그것은 전적으로 웹 기반이며 (PHP와 다양한 AJAX 기술 활용), 우리의 프로덕션 소프트웨어에 의해 MySQL 데이터베이스에 저장된 데이터를 해석합니다. 그것은 우분투 8.04 서버에서 실행되며 모든 직원은 해당 컴퓨터에서 리눅스 사용자 계정을 가지고 있습니다. 필자는 사용자가 자신의 리눅스 사용자 계정으로 로그인하도록 강제하는 pam_auth를 사용하여 로그인 시스템을 설정하고 특정 사용자가 특정 그룹에 속해 특정 보고서에 액세스 할 수 있는지 여부를 결정합니다.PHP pam_auth 및 쿠키
그 부분은 훌륭하게 작동합니다. 제 문제는 쿠키를 사용하여 "remember me"기능을 추가하는 것입니다. 30 일간의 쿠키 만 있으면 세션이 만료되고 로그인 할 때마다 세션이 만료 될 때까지 기다리는 것이 좋습니다. 나는 코드의 "나 기억해"부분을 썼다. 쿠키는 잘 저장되었다. 나는 그들의 사용자 이름과 암호의 md5 해쉬만을 저장하고있다. 여기서 문제는 다시 인증 할 때입니다. 일반적으로 나는 단순히 저장된 사용자 이름을 데이터베이스에서 해당 사용자의 암호 해시와 비교하여이 작업을 수행합니다. 어떤 일을 복잡하게 만드는 것은 내가 사용자 이름과 암호 해시에 직접 액세스 할 수 없다는 것입니다. 그것들은 모두/etc/passwd와/etc/shadow에 저장되고 로그인은 PAM 모듈에 의해 처리됩니다. pam_auth는 일반 텍스트 사용자 이름과 일반 텍스트 암호를 필요로합니다.
나의 유일한 대안은 일반 텍스트로 암호를 저장하거나 되돌릴 수있는 암호화로 저장하는 것 인 것처럼 보이지만 특히 그 중 하나가 마음에 들지 않습니다.
더 좋은 해결책이 있습니까?
세션 수명을 2592000 (30 일)으로 설정하여 발생할 수있는 문제가 있습니까? – DWilliams
나는 어떤 것도 알지 못하지만 문서에는 아무 것도 언급되어 있지 않다고 생각되지만, PHP 세션을 오랫동안 사용해 본 적이 한번도 없습니다. – jlamp