>> Delete Reply from No. 38765 article
No. RE: 이렇게 하는게.. 어떨까요?

등록 2002-01-04 17:13:00 By localhost     조회 2
이름 성찬    

		: 안녕하세요.
:
: php기반의 웹사이트 운영자 입니다.
:
: 이번에 우리 사이트에 가입한 회원들에게 개인 페이지를 운영할 수 있도록
:
: http://xxx.xxxx.com/개인ID 또는 http://개인ID.xxx.com 형태로 제공하려 합니다.
:
: 일반적인 대형 포탈 업체에서 거의 구현가능한 기능인데요.
:
: 웹상에서 회원 가입과 동시에 개인 폴더 생성과 도메인 생성을 해주려고 하구요.
:
: 또한 사용자이름의 도메인과 사용자명의 디렉토리가 생겼다고 가정 했을때, 사용자는
: 자신이 만든 홈페이지를
:
: 우리 회사 서버에 올리기 위해 FTP를 열것이고 이때의 개인사용자용 FTP는 권한이
: 상당히 제한적이어야 할것이
:
: 라고 생각합니다.(자신의 이름으로 된 폴더만 쓰고 지울수 있음)
:
: 따라서 서버상에 직접 구현 FTP계정(adduser를 사용)으로는 몇천명을 소화하기도
: 어려울 것이고 각각의 권한을
:
: 설정하기도 번거로울것 같습니다.
:
: 이 모든것을 관리자가 직접 서버에서 작업하는 방식이 아닌 Php모듈을 사용해서 전부
: 웹상에서 구현할까 합니
:
: 다.
:
: 구체적인 소스를 요청 하는 것은 아닙니다만(구할수 있으면 더좋구요) 개략적인
: 구현방법만이라도 알려 주시면 감사하겠습니다.
 웹에서 가입하면 바로 설정하도록 하는것은 좀 힘들어 보입니다.
웹을 통해서 가입을 하고 (조건없이 무조건 계정을 만든다고 가정합니다.) 계정을 만드는 
것은 분리시키는게 나을겁니다.  사용자를 추가를 웹에서 하려고 한다면 분명, adduser 와 같
은 명령이 필요할텐데, 웹에서는 nobody로 돌기 때문에 /etc/passwd 파일에 접근은 불가능합니
다. 그렇다면 방법은...  <B>전제조건.</B>
1. 가입후 일정 기간 내에 관리자 허가가 떨어지면 계정을 생성한다.
2. 가입자의 DB 정보 필드는 다음과 같은 내용이 들어갑니다.
+------+----------+-----------+-----------------+--------------+-------------+
| 이름 | 사용자ID |가입자 정보| 웹접속 비밀번호 | 임시비밀번호 | 가입자 상태 |
+------+----------+-----------+-----------------+--------------+-------------+
3. DB로 mysql을 사용하고 있습니다.
 <B>방법(안)</B>
1. 먼저 웹에서 가입자 신청을 받습니다.
 2. 가입자는 신청 완료와 동시에 웹 사이트 로그인에 대해서 허가를 받습니다. 이때 가입
자의 상태는 "웹접속만가능" 상태입니다.  - 즉, 가입자 상태 필드에 0 과 같은 플래그가 들
어갑니다.  - 웹접속 비밀번호는 mysql에서 제공하는 password() 함수를 이용해서 저장됩니다.
 - 임시 비밀번호는 웹접속 비밀번호와 동일하나 암호화(? password()를 쓰지 않은) 되어 있지
 않습니다.  3. cron에 사용자 DB를 조회할 수 있는 root 권한의 프로그램이 등록되어 있습니다
.  - 이 프로그램은 지정한 시간(보통 하루나 일주일)마다 사용자 TABLE을 조회합니다.
 - 사용자 TABLE 중에서 가입자 상태가 0 이고 임시비밀번호가 NULL 이 아닌 것을 조회합니다.
 - 신규 신청자(가입자 상태가 0인)의 정보를 읽습니다.
 - 해당 사용자에 대해서 자동으로(? 이 방법이 제일 애매한거겠지만) 계정을 추가 합니다.
 - 추가할 계정 정보는 신규 신청자의 "사용자ID", "임시비밀번호" 를 이용합니다.
 - 계정 추가가 완료되면 임시 비밀번호를 NULL, 가입자 상태를 1로 바꿉니다.
 ....
2까지 진행만 된 상태에서는 웹 접속(사이트내에서 로그인 하는 경우)은 허가된 상태입니
다. 3이 진행되면 계정이 추가 됩니다.
 <B>문제점.</B>
1. 계정 추가하는 스크립트등의 프로그램(C로 작성하든지 아니면 펄로 되어 있던지..)을 작
성되야 합니다. 2. 임시 비밀번호라는것으로 인해서 비밀번호가 노출되어 있습니다.
 <B>참고내용</B>
1. mysql에 DB를 추가할때 root 비밀번호가 공백으로 되어 있는것을 제거 하거나 root 비밀번호
를 꼭 입력합니다. 2. 외부에서 해당 DB에 접근하지 못하도록 mysql 설정을 mysql가 설치되어 
있는 서버에서만 접근할 수 있도록 설정합니다. 3. ftp에서 다른 사람의 계정 디렉토리로 접
근하지 못하도록 ftp 서버를 설정합니다.(이 방법은 많이 나와 있을겁니다.)  .............
그냥 적어봤습니다.
딴데서 이런식으로 하는지 어떤지는 잘 모르겠네요.
좋은 방법이 있으시면 답글.. 부탁드립니다.
 추신 :
전 실제 구현은 못합니다. -_-a--겨울이 얼른 지나가길..
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved