테스트 사이트 - 개발 중인 베타 버전입니다

네이티브 앱에서 그누보드 로그인 관련 문제

그누보드를 이용해서 네이티브 앱 하나를 만들고 있습니다.
가장 문제가 되는 부분이 로그인 인데요, 로그인과 관련해서는 아래처럼 파일을 하나 새롭게 생성 했습니다.

  1. // Connect to the database(host, username, password)

  2. $con = mysql_connect('localhost','db접속ID','db접속 Pwd');
  3. if (!$con)
  4. {
  5. echo "Failed to make connection.";
  6. exit;
  7. }
  8. // Select the database. Enter the name of your database (not the same as the table name)
  9. $db = mysql_select_db('db이름');
  10. if (!$db)
  11. {
  12. echo "Failed to select db.";
  13. exit;
  14. }
  15. // $_POST['username'] and $_POST['password'] are the param names we sent in our click event in login.js
  16. $username = $_POST['mb_id'];
  17. $password = $_POST['mb_password'];
  18. // Select eveything from the users table where username field == the username we posted and password field == the password we posted
  19. $sql = "SELECT * FROM g4s_member WHERE mb_id = '".$username."' AND mb_password = '".$password."'";
  20. $query = mysql_query($sql);
  21. // If we find a match, create an array of data, json_encode it and echo it out
  22. if (mysql_num_rows($query) > 0)
  23. {
  24. $row = mysql_fetch_array($query);
  25. $response = array(
  26. 'logged' => true,
  27. 'name' => $row['mb_nick'],
  28. 'email' => $row['mb_email']
  29. );
  30. echo json_encode($response);
  31. }
  32. else
  33. {
  34. // Else the username and/or password was invalid! Create an array, json_encode it and echo it out
  35. $response = array(
  36. 'logged' => false,
  37. 'message' => 'Invalid Username and/or Password'
  38. );
  39. echo json_encode($response);
  40. }
  41. ?>



앱에서는 아래처럼 POST 방식으로 파라미터 값을 이용해서 로그인을 시도하고 있습니다.

http://url/post_auth.php



* param 값

mb_id : 사용자아이디,

mb_password : 사용자 비밀번호




그런데 자꾸만 앱에서는 Invalid Username and/or Password 메세지를 뿌리네요.


혹시 제가 뭐 잘못한 부분이 있따거나, 아니면 다른 좋은 방법이 없을까요?
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

패스워드는 암호화 되어서 저장되기 때문에, 비교할 때 암호화 시켜서 비교해야 할 것 같습니다. ^^

password('입력비번')  이렇게 감싸 보십시오..
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

네, 말씀하신대로 md5 해시로 보냈는데...
이게 다시 한번 확인해보니 그누보드가 md5 방식이 아닌가 보네요.
뭔가 또 다른 암호화가 있는것 같습니다.

답변 고맙습니다.
그누보드는 mysql 자체의 password 함수를 사용합니다.
그누보드에서 로그인 아이디 비번 체크할 때 코드를 보면..
$row = sql_fetch(" select password('입력비번') as pass "); 이렇게 해서 가져와서
회원정보 디비의 비번 값과 비교합니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고