성인인증 – 2.홈페이지 구성

파일 구성

home.php

  1. 주민등록번호 입력양식을 제공
  2. 입력된 주민등록번호의 유효성 검증
  3. 검증 결과에 따른 분기

로직

< 홈페이지 로직 >

세션을 이용한 접속자 상태 확인 및 그에 따른 처리

PHP 4.0.0 ~ 4.0.3일 때

PHP 4.0.4 ~ 4.0.5일 때

PHP 4.1.0 ~ 일 때

세션 변수 $AdultCard는 연관배열로 “permission” 배열요소의 상태에 따라 성인 인증을 받았는지 안받았는지를 구분합니다. 이 값이 “no”이면 처음 접속하였거나 로그인에 실패한 접속자가 되며, “ok”이면 이미 성인 인증을 받은 접속자임을 나타냅니다.

따라서 “no”일 때는 접속자의 주민등록번호를 입력받는 화면을 나타냄으로 접속자로 하여금 성인 인증이 필요하다는 것을 알려주게되며, “ok”일 때는 즉시 성인용 페이지로 직행하게 됩니다.

PHP 버전에 따라 코딩 방법을 약간씩 다르게 해 보았습니다. 오십보 백보이기는 하지만 그래도 버전별로 보안상 가장 나은 방법을 택하여 작성해 보았습니다. 제가 보안 전문가가 아니라 잘못 이해하고 작성된 것이 있을 지 모르겠네요. 그렇다면 Q & A 게시판을 이용하여 지적하여 주시기 바랍니다. 하위버전용으로 작성된 것은 상위버전에서도 사용될 수 있으나 그 반대로는 불가능합니다.

주민등록번호 입력 화면

< 주민등록번호 입력 >

처음 접속하였거나 앞에서 행한 로그인에서 인증에 실패한 경우에는 이와 같은 입력화면을 출력하여 성인 인증을 위한 주민등록번호를 입력받도록 합니다.

청소년유해매체물의 경우에는 청소년보호법 및 정보통신망이용촉진및정보보호 등에 관한 법률에 의하여 그 표시방법 및 청소년 접근을 제한할 수 있는 방법 등에 관하여 규정하고 있습니다. 성인 인증 소스를 공개하는 본인은 법률의 문외한으로 이 소스가 위의 청소년유해매체물에 대한 표기 및 접근차단 방법이 동법에 적합한지는 알지 못합니다. 따라서 여기서 공개하는 모든 인증 소스는 누구나 자유롭게 이용(복사,수정,배포,재배포)할 수 있으나, 사용중 발생할 수 있는 모든 문제(법규 위반에 따른 책임 소재 및 그 외 발생가능한 모든 피해)에 대하여 어떠한 책임도 질 수 없음을 알려드립니다.

주민등록번호 1차 검증

주민등록번호를 입력하게 되면 자바스크립트로 작성된 checkKey 함수에 의해 입력된 주민등록번호가 올바른 것인지 1차 검증하게 됩니다. 이 소스 역시 인터넷 상에 이미 공개된 소스로 정확한 검증은 아니며 개략적으로만 그 유효성을 검증할 수 있습니다. 자바스크립트로 더 정확하게 검증해주는 소스를 원한다면 PHPSCHOOL.COM에서 검색해 보세요. 찾을 수 있을 것입니다.

현재 페이지에서 입력된 주민등록번호를 1차 검증하여 통과된 경우에만 로그인 처리 페이지로 넘어가 2차 검증을 받게 됩니다. 일단 이곳에서 간략하게나마 입력된 주민등록번호의 유효성을 검증하여 잘못된 것은 다시 주민등록번호를 입력하도록 함으로써 서버의 부하를 다소나마 줄여줄 수 있을 것입니다.

답글 남기기