회원정보수정에서 현재입력받은 비밀번호값을 체크하려고합니다.
본문
회원정보수정 페이지 에서 수정시
현재 비밀번호를 체크받아서 db에 들어가있는값과 일치하는지 확인하려고합니다
비밀번호를 insert할때 get_encrypt_string 로 하는데
저는 get_encrypt_string($_POST['password']) == $디비번호) 이렇게 체크를했고
trim도하고 값만 받아왔습니다
찍어보면 제가 입력한 값이 나오는데 비교되는값이
제가 입력한 aaa111@ ㅇㅣ거랑 디비상의 sha-ajiowejfoaijweiofgjaeriogjoaeir이거랑 비교가 되서 그러는것같은데 로그인할때 쓰는 login_password_check 써봐도 같습니다....
질문 1. 디비에저장된 값을 복호화해서 받을 수있는지?
질문 2. 그게 아니라면 비교해볼수있는방법이 있는지
답변 6
보통 디비에 저장된 값을 복호화해서 비교하지않고
사용자가 입력한 값을 암호화해서 db의 값과 비교해요~
회원정보 insert/update 하는부분에서 사용하는 비밀번호 암호화 함수를
똑같이 적용하셔서 암호화 해서 db값과 비교하면 될듯합니다~
1. 복호화 안됩니다.
2. login_password_check로 일치여부 확인 가능할텐데요. 파라미터를 잘못넣으신게 아닐지요
bbs/login_check.php를 참고하세요.
복호화가 안되서 따로 ajax로 비밀번호를 암호화화고 받아서 디비에 있는 값이랑 체크를 해보셔야 합니다.
상당히 위험한 방법으로 채크 하시네요..
윗 분들이 말씀한것처럼 패스워드는 임의로 알아낼수가 없어요.
암호화 = 암호화 채크를 하기 때문에
별도의 더미 input 에 패스워드를 입력받고
중간에 채크하지 않는 이상은 어렵습니다.
감사합니다 check_password 를 사용하면 되었네요