묻고답하기
비쥬얼 베이직에서 회원인증
2012.01.19 07:22
처음 문의 합니다.
비쥬얼 베이직에서 프로그램중인데 mysql 에 저장된 회원에 대한
회원인증을 어떻게 하는지 알고 싶습니다.
mysql을 이용하여 회원정보는 가지고 올수 있는데 Password가 일치하는지는 어떻게 할수 있는지요?
참고로 PHP에 대해서는 문외한입니다.
processing을 설명한다면
1. 비쥬얼 베이직을 이용하여 login 과 password 페이지를 만듬
2. login name과 password가 일치하는 확인
3. 일치할 경우 success.aspx로 이동 틀릴경우 login.aspx로 이동
위에서 2번째 어떻게 하는지를 잘 모르겠습니다.
고수님들의 의견을 부탁드립니다.
감사합니다.
댓글 4
-
송동우
2012.01.19 13:23
-
초보자99
2012.01.19 15:54
눈으로만 뵈던 송동우님께서 직접 답변 주셔서 감사합니다.
제가 답변을 이해 하기로는 비베로 입력받은 login name과 password를
select를 이용해서 query하는데 그 중 password는 xe에서 사용하는 암호화 방식으로
변경한 후 query하면 login과 암호화된 password가 한개라도 있으면 인증이 된것임
제가 제대로 이해 했는지 모르겠네요, 내일 해 보아야 겠습니다.
그런데 현재 사용하는 xe의 암호화 방식은 md5인가요 아니면 다른 방식이 있는지요?
있다면 어떻게 알수가 있는지요?
답변 주셔서 감사합니다.
-
송동우
2012.01.19 19:27
md5 형식입니다.
db의 xe_member 에 보시면 아시겠지만 password가 md5로 저장이 되어 있는 거죠
그럼 비교를 할 때
select user_id, password from xe_member where user_id = '로그인폼에서 전달받은 아이디' and password = '로그인폼에서 전달받은 암호화된 비번'
이렇게 쿼리를 날리면 갯수가 0개 아니면 1개 가져옵니다.
mysql의 경우 mysql_num_rows 를 사용해서 0다 크면, 즉 매치되는게 있어서 1이 넘어 오면 로그인 가능 하게 하고
그렇지 않으면 로그인 안되는 거죠
단점은 무엇이 잘못되어서 로그인이 안되는지는 모르죠
아이디는 맞는데 비번이 틀렸다, 아니면 그런 아이디로 가입한 사람이 없으니 회원가입하라.....이렇게 세부적으로 하려면 더 세부적으로 코딩해야 할 겁니다.
그냥 저렇게 간단하게 하면 로그인이 안될때에는 가입한 회원이 아니거나 로그인 정보가 틀렸습니다...... 이런식으로 통틀어서 메세지를 보낼 수 밖에 없겠죠.......
-
초보자99
2012.01.20 11:18
잘됩니다. 알려주셔서 정말 감사합니다. 꾸벅
비번은 보통 암호화 되어 비교하기 때문에 직접비교는 하지 않습니다.
아이디와 비번확인을 하는 방법은 만들기 나름이지만
일단
사용자가 아이디와 비번을 입력하면 아이디는 그대로 받아오고 비번은 사용하고있는 암호화 방식으로 변경을 해서
아이디와 비번이 회원DB에 select 문으로 쿼리를 날리면 그 갯수가 0개면 가입이 안되고 1개면 가입이 되겠죠
0개 아니면 1개 입니다.
더 구체적으로 하자면 세부적으로 작업을 더 해줘야 겠지만........
2번의 결과에 따라 로그인 페이지로 보낼지 아닐지를 조건문에서 걸러주면 되겠죠.......