1. 휴대폰 인증을 위한 sms_auth 테이블이 있고 애트리뷰트는 no, phone, auth_number, accepted 가 있다.
2. 어떤 form에서 휴대폰 인증번호 전송 버튼을 누르면, auth_send(phone_number) 함수에 의해 랜덤한 번호가 휴대폰으로 전송되고, sms_auth테이블에 레코드가 생성된다. 그리고 이 함수는 sms_auth의 index 번호(no)를 반환한다.
3. 사용자가 인증번호를 입력하고 인증 버튼을 누르면 auth_check(index, auth_number) 함수에 의해서 인증번호가 맞는지 확인을 한다.
4. 인증번호가 맞다면 <input type=hidden name=auth_checked>의 value를 true로, <input type=hidden name=auth_index> 의 value를 auth_number의 index 번호(no)로 변경 한다.
5. 회원가입 등 필요한 과정을 진행 하려면 auth_check의 value가 true인것을 확인하고 form을 submit 시킨다.
6. 서버 처리 과정에서 다시 한번 auth_index를 체크하여 phone 넘버와 auth_number를 한번 더 확인한다. (hidden input은 디버깅 모드로 변경 할 수 있다)
위 과정에 필요한 함수는
int auth_send(phone_number) {
랜덤 함수를 이용해 5자리 숫자 생성
생성된 숫자 문자 발송
sms_auth table에 insert
insert_id 반환
}
bool auth_check(index, auth_number) {
sms_auth에서 index의 레코드와 auth_number 확인
true or false 반환 및 form 정보 업데이트
}
'IT 실무 > 웹프로그래밍' 카테고리의 다른 글
[Codeigniter] 액티브 쿼리에 mysql 함수 쓰기 (password등) (0) | 2015.06.27 |
---|---|
URI와 URL, URN, URC의 정의 (0) | 2014.07.04 |
[JSFiddle] 드래그앤 드롭으로 Input type file 업데이트하기 (0) | 2014.02.04 |
[JSFiddle] 드래그앤 드롭된 이미지 보여주기(HTML5 filereader 이용) (0) | 2014.02.04 |
[StackOverflow] select된 여러개의 값을 따옴표로 구분하여 한줄에 표시 (0) | 2014.02.03 |
댓글