2017-04-11 8 views
1

MySQL 데이터베이스에서 인증 정보를 가져올 수 있도록 설정된 pure-ftpd 서버 구현으로 작업하고 있습니다. 이 구현은 원래 MD5 인증을 사용하는 것으로 설정되어있는 것처럼 보이며 잘 작동하는 것 같습니다. 그러나 MD5가 필요합니다.PHP의 password_hash를 pure-ftpd와 함께 사용

MD5를 사용하는 대신 PHP의 password_hash ($ password, PASSWORD_BCRYPT) 내장 기능과 인증을 호환 할 수있는 방법을 찾고 싶습니다. FTP 사용자의 암호는 이미 password_hash()를 사용하여 데이터베이스에 해시되고 저장되어 있으며, 데이터베이스에서 가져온 해시를 사용하여 순수 ftpd를 통해 로그인 정보를 인증 할 수 있다면 좋을 것입니다.

여기에 순수 -ftpd 문서를 읽었습니다 : https://download.pureftpd.org/pub/pure-ftpd/doc/README.MySQL하지만이 작업을 어떻게 수행 할 수 있는지 아직 이해하지 못했습니다.

이전에이 중 어떤 작업을하셨습니까? 그렇다면 설정하는 방법에 대한 조언이 필요하십니까?

미리 도움 주셔서 감사합니다.

답변

1

이 작업을 수행하는 여러 가지 방법을 시도한 후에는 pure-ftpd가 기본적으로이 기능을 지원하지 않는 것으로 보입니다. 그래서 우리가 그것을 어떻게 작동하게 만들었습니까? 순수 ftpd (https://download.pureftpd.org/pub/pure-ftpd/doc/README.Authentication-Modules)에있는 "AUTHENTICATION MODULES"능력을 통해서였습니다.

우리는 순수 ftpd를 사용하여 제공된 로그인 이름 &을 로그인 정보를 인증하는 데 사용하는 PHP 파일로 보냅니다. 우리는 다음과 같은 형식의 순수 ftpd에 대한 응답을 (성공하면) 다시 보내

auth_ok : 1 UID : XX GID : 전년 동기 대비 디렉토리 :/홈/ZZ /./ 끝

성공하지 못하면 다음을 전송합니다. auth_ok : 0 (또는 실패한 이유에 따라 -1) end