[PHP] 생일을 이용해 성인인증 체크
어제 오늘 작업 중인 것이 휴대폰 본인인증 모듈이다. 주민등록번호를 받지 못하게 되면서 본인인증을 휴대폰을 이용해 처리하고 있는데.. 그에 맞춰서 개발 중인 솔루션에 휴대폰 본인인증 모듈을 탑재하기 위해서 노력 중인데 본인인증을 하면서 성인인증까지 하면 더 좋겠다는 생각이 들었다. 테스트 중인 모듈에서 결과값으로 생년월일을 리턴해 주는데.. 물론 암호화 데이터로 말이다. 이 생일을 가지고 성인인증을 할 수 있을 것 같다는 생각이 들었다.
성인인증은 간단하게 생일을 이용해서 오늘 날짜로 나이가 19세가 됐는지만 체크하면 되기 때문에 아래처럼 코드를 작성하면 될 것이라 생각한다. 혹시나 싶어 구글 등에서 검색을 해보니까 더하고 빼고 곱하고 나누는 복잡한 코드가 많은데.. 적어도 PHP에서는 strtotime() 함수를 이용하면 간단하게 해결할 수 있을 것 같다는 생각이 든다.
<?php
$adult_date = date("Ymd", strtotime("-19 years" time()));
$birth_date = "19800227";
if((int)$birth_date <= (int)$adult_date) {
echo "성인";
} else {
echo "성인아님";
}
?>
성인인증의 기본 개념은 오늘 날짜를 기준으로 19년 전 날짜를 구해서 생일이 그 이전인지 체크하면 성인인지 알 수 있는 것이다. 코드를 몇줄 추가하면 strtotime() 함수를 사용하지 않고도 처리가 가능하겠지만 타이핑하는 게 귀찮아 그냥 이 정도 코드에서 만족하려고 하는 중이다. ^^; 코드 길어봐야 좋은 게 없으니 말이다. ㅎㅎ