묻고답하기
xe_member table에 있는 password 와 사용자 입력 변수값 비교
2023.09.13 13:27
XE보드에 대해서도 php도 초보자라 질문을 좀 드리려고 합니다.
XE 보드에서 설치된 xe_member table에 회원 등록된 회원의 password 비교하여 로그인을 하려고 합니다.
html 페이지에서 전달하고..
php
pw= $_POST[]
사용자 입력 $pw = password필드값을 비교를 하고 싶은데 어떻게 하면 될까요?
if pw==row('password')
같을때..
else
틀린 경우..
이렇게 처리를 하고 싶은데요..
password 비교함수 같은게 있을까요?
php 코드를 어뗴게 쓰야 하는지요?
댓글 3
-
sejin7940
2023.09.14 02:35
-
반가운
2023.09.14 09:54
네..
회원 등록(insert into)할 때 기본이 md5인가요?
예를 들어 md5로 저장되었다면..
select emailaddress, md5(passrowd) As pw from member a
where a.emailaddress='"$id"' and a.pw ='"md5($pw)"';"
이게 안되던데요?
외부를 주어야 한다는 말씀은 외부에 맡겨서 개발을 해야 한다는 말씀인지요?
-
sejin7940
2023.09.14 13:11
md5 는 아주 예전 방식이여서
아주 옛날 XE 에서는 md5 가 기본일때가 있는데. ( 1.4 이전이였을거예요
지금은 아닙니다. 지금은 pbkdf2 가 기본입니다
관리자페이지->회원->회원설정->'비밀번호 암호화 알고리즘' 을 확인해보시면 확인 가능하십니다
pbkdf2 기반은 그냥 mysql query 로 되는 부분은 아니기에
XE 의 해당 구현부분을 분석하셔서 별도로 만드셔야겠죠
아직 오픈 된 사이트가 아니면
그냥 비밀번호 알고리즘을 md5 로 바꿔서 운영하시는 편법도 있긴합니다
XE 회원설정에 있는
'비밀번호 암호화 알고리즘' 을 어떻게 설정했냐에 따라 달라집니다
md5 로 했다면 md5 로 전달해 비교하면 되지만
그 이외의 방법으로 했으면 password 암호화 방식을
XE member 모듈에서 분석해서
그걸 사용하려는 외부시스템에 맞춰 구현해야할겁니다.
간단치는 않을거예요. 정 안 되면 외부를 주셔야할 수도 있고요