휴대폰인증후 실명을 수집하지않게 하려면 어떻게 해야되나요
본문
제 사이트에 휴대폰 본인인증서비스를 시작했더니
실명이 같이 수집되는데 만약 db털리면 큰일일거같아서 주기적으로 실명을 다 지우는데 너무 귀찮네요
그냥 처음부터 실명은 수집안되게 할 수 있나요?
답변 4
실명 암호화 란것 이 별것 아닙니다. 너무 어렵게 생각하신 듯 해요.
우리가 디비에서 비밀번호를 넣을때
password('비밀번호') 이렇게 해서 넣으면 저장은 *AF8D3DA996A7 이런식으로 되잖아요.
마찬가지로 이름도 password('이름') 이렇게 저장하면 위와 같이 암호문으로 저장되죠
저장 쿼리를 다 쓰면 아래와 같죠
insert into tablename( name, pass, tel_num ) values( password('이름'), password('비번'), '010-123-456' );
그럼 불러보면 >> select name, pass, tel_num from tablename;
name | pass | tel_num
------------------------------
*fdsafds | *weqrew | 010-123-456 >>> 이렇게 되죠 이름,비번 모릅니다. 하지만 전화번은 알죠
그럼 이런 사람이 존재하는지는 어떻게 아는가???
쿼리를 아래같이 날리면
select * from tablename where name=password('이름') and tel_num = '010-123-456';
이름은 모르지만 암호화된 이름과 전화번호가 같은 사람이 나오겠죠....
그렇다면 그 사람이 있는 것 입니다... 실명인증이라 전화번호를 예로 들었고요.. 다른것으로 해도 마찬가지 방법으로 하면 됩니다.
간단히 카운트 쿼리로 해도 됩니다.
select count(*) from tablename where name=password('이름') and tel_num = '010-123-456';
저렇게 나온 카운트가 0보다 크면 그 사람이 존재하는 것이죠.
0 이면 없는 것이고요. 카운트는 반드시 결과가 나오기 때문에 전 더 선호해요.
다른 비교 방법도 있지만 그건 소스중 로그인 소스 참고하시면 아실수 있을거에요.
네
소스 수정 을 하면됩니다
실명을 암호화 할 수도 있죠 실명 저장하는 부분을 예를 들어 password('$name') 이렇게 해도 될듯 그렇게 하면 실명은 모르지만 향후 비교도 가능하죠
회원가입 부분에 mb_name 넣는 부분을 넣지 않게 하시면 됩니다.