관리자 계정 로그인 에러
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : 불가피 하게 URL을 공개하지 못합니다. 양해 바랍니다...
수고하십니다. 한 가지 질문이 있습니다.
최고 관리자 계정의 비밀번호가 기억나지 않아서 직접 DB에 접속해 비밀번호를 수정하였습니다.
마침, DB도 건들고해서 서버를 재시작 해주었구요.( 재시작은 늘상 있는 일이겠죠^^ )
그런데 그 이후부터 관리자계정으로 로그인이 되지 않습니다.
혹시나 해서 아이디와 비밀번호를 터무니 없게 무작위로 입력을 해보았는데 문제는 똑같습니다.
alert창에 이런 메세지가 뜨네요.
"회원아이디나 패스가 공백이면 안됩니다." --;;
이 경고창은 bbs/login_check.php 에서 처리하는걸로 알고 있는데요..
또 혹시나 해서 아래 부분의 alert 문구를 주석처리 해보았습니다. 요렇게..
if (!trim($mb_id) || !trim($mb_password)) {
//alert("회원아이디나 패스워드가 공백이면 안됩니다.");
}
그랬더니 다음 if문의 조건에 따라 다른 alert창이 뜨네요.
<?
include_once("./_common.php");
$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];
if (!trim($mb_id) || !trim($mb_password)) {
//alert("회원아이디나 패스워드가 공백이면 안됩니다."); // 여기는 혹시 몰라 주석 처리.
}
$mb = get_member($mb_id);
// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password]))
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
"가입된 회원이 아니거나".. 주절주절....
이런 일관성 없는 alert창이 뜨는걸 보니. ㅋ
아무래도 if()의 조건에 해당하는 $mb_id 나 $mb_password 를 받는 쪽에서 문제가 있는듯 한데요..
제 터무니 없는 추측이 맞는건지.. 다른 분들께서 올려주신 글을은 참고해봤습니다.
session 문제인듯 해서 data와 하위의 session 폴더의 퍼미션 확인 및 session폴더의 내용도 모두 지워봤습니다.
어떻게 된 걸까요.. ㅠ_ㅠ
도움부탁드립니다. ^^
오류 주소 : 불가피 하게 URL을 공개하지 못합니다. 양해 바랍니다...
수고하십니다. 한 가지 질문이 있습니다.
최고 관리자 계정의 비밀번호가 기억나지 않아서 직접 DB에 접속해 비밀번호를 수정하였습니다.
마침, DB도 건들고해서 서버를 재시작 해주었구요.( 재시작은 늘상 있는 일이겠죠^^ )
그런데 그 이후부터 관리자계정으로 로그인이 되지 않습니다.
혹시나 해서 아이디와 비밀번호를 터무니 없게 무작위로 입력을 해보았는데 문제는 똑같습니다.
alert창에 이런 메세지가 뜨네요.
"회원아이디나 패스가 공백이면 안됩니다." --;;
이 경고창은 bbs/login_check.php 에서 처리하는걸로 알고 있는데요..
또 혹시나 해서 아래 부분의 alert 문구를 주석처리 해보았습니다. 요렇게..
if (!trim($mb_id) || !trim($mb_password)) {
//alert("회원아이디나 패스워드가 공백이면 안됩니다.");
}
그랬더니 다음 if문의 조건에 따라 다른 alert창이 뜨네요.
<?
include_once("./_common.php");
$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];
if (!trim($mb_id) || !trim($mb_password)) {
//alert("회원아이디나 패스워드가 공백이면 안됩니다."); // 여기는 혹시 몰라 주석 처리.
}
$mb = get_member($mb_id);
// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password]))
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
"가입된 회원이 아니거나".. 주절주절....
이런 일관성 없는 alert창이 뜨는걸 보니. ㅋ
아무래도 if()의 조건에 해당하는 $mb_id 나 $mb_password 를 받는 쪽에서 문제가 있는듯 한데요..
제 터무니 없는 추측이 맞는건지.. 다른 분들께서 올려주신 글을은 참고해봤습니다.
session 문제인듯 해서 data와 하위의 session 폴더의 퍼미션 확인 및 session폴더의 내용도 모두 지워봤습니다.
어떻게 된 걸까요.. ㅠ_ㅠ
도움부탁드립니다. ^^
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 4개
여기는 수정 안했습니다.
제가 소스를 수정한 곳은 테스트 삼아서 건드린 login_check.php 밖에 없습니다!!
그래서 문제가 없다면 차이점을 조사해 보시면 되겠네요.
같은 증상이라면
login.skin.php 부터 문제를 찾아 봐야할 겁니다.
음.. 그런데요, 제가 여러 방면으로 테스트를 해봤습니다.
아무리 봐도 $mb_id, $mb_password가 제대로 전송 되지 않는 것 같아서 말입니다.
같은 서버의 폴더에다가 새로운 테스트용 파일을 하나 생성해서 Form에 POST와 GET 두가지 방식으로 전송을 하고, phpinfo()로 전송 데이터 확인을 해 봤는데요..
GET은 잘 넘어오는데 POST는 어찌 된 일인지 안 넘어 옵니다.
그래서 지금은 임시방편으로 GET방식으로 받아 와서 로그인 처리를 했습니다.
그런데 영 찜찜하네요.. 사용자 데이터를 GET으로 넘기자니...
(물론 index.php 파일을 프레임에 넣어서 호출 하기에 주소창에 URL이 노출 되지는 않지만요.. )
어찌 해야 할까요? ^^