2012-12-17 3 views
0

일반적으로 웹 사이트를 만들 때 loginform을 만들고 성공적으로 로그인하면 sessionvariable이 설정됩니다. 페이지를 표시 할 수있는 경우이 값으로 확인할 수 있습니다. 세션을 종료하는 경우 .... 내용을 에코합니다.Android 및 웹 페이지의 Android 사용자 인증

이제 Android 인증과 웹 사이트를 결합해야하는 Android 앱을 만들고 있습니다. 입증. 앱의 일부가 Android 구성 요소에로드되지만 프로필 정보 수정은 웹보기에로드 된 웹 페이지에서 수행됩니다.

응용 프로그램을 시작할 때 login-button을 누르면 로그인 화면이 표시되고 .php 페이지에 대한 호출이 만들어지고 mysql 데이터베이스의 로그인과 암호가 확인되어 json 결과가 내 응용 프로그램에 전달됩니다. . 긍정적 인 경우 다음 화면이 표시됩니다. 그러면 사용자가 메뉴에서 "프로필 편집"을 선택하면 웹 페이지가 웹보기에로드됩니다.

하지만 웹뷰 페이지에서 사용자를 인증하는 방법에 대해 고민하고 있습니다. 사용자가 올바르게 로그인했다는 것을 웹뷰 소스 페이지 (예 : profile.php)에 알려주려면 어떻게해야합니까?

나는 많은 정보를 찾았지만 사용자를 webview 페이지로 전달하고 올바르게 검증하는 방법에 대해서는 아무 것도 발견하지 못했습니다.

그래서 내 웹보기 페이지에 내 사용자를 전달하는 것이 올바른지 알고 싶습니다. Android 코드에서 무엇을 전달해야하며 PHP 코드에서 어떻게 처리 할 수 ​​있습니까?

는 쿠키를 동기화에 대해 알고,하지만 난 정말 완전한 해결하지 않습니다 How to sync cookies with android webview?

+1

정확히 무엇이 문제입니까? 웹 사이트 스크립트 (특히 서버 쪽)는 PC 또는 모바일에서 동일한 방식으로 반응합니다. – Peon

+0

Offcourse, 문제는 다음과 같습니다. 문제는 앱과 웹 뷰에로드 된 웹 페이지에서 사용자를 알아야한다는 것입니다. 앱 수준 양식으로 로그인하면 내 웹 페이지에서 사용자를 알 수 없으므로 안전한 방법으로 사용자를 전달해야합니다. – randomizer

답변

0

나는 그것이 POST에서 usernamepassword을 받아이시키는 profile.php 페이지 확장의 길을 갈 것입니다. 이렇게하면 Android 응용 프로그램 내에서 사용자 자격 증명을 profile.php 페이지에 게시하여 사용자를 인증하고 해당 사용자의 프로필 페이지를 반환 할 수 있습니다. 데이터를 편집하고 제출 한 후 올바른 사용자의 프로필 데이터를 저장하기 위해 인증에 필요한 사용자 자격 증명을 보냅니다. 이렇게하면 웹 서비스처럼 작동합니다.

모바일 웹 응용 프로그램을위한 간단한 웹 API 또는 웹 서비스를 만들기보다는 구체적인 웹 페이지에서 작업하거나 작동하는 것보다 데이터를 조작하는 것이 좋습니다.

+0

나는 당신의 요지를 얻었지만 매번 webview에서 요청한 웹 페이지에 사용자 자격 증명을 전달할 때 과도하지 않습니까? – randomizer

+0

왜 과장일까요? 누군가가 귀하의 웹 페이지에 로그인하는 것과 같은 경우입니다. 또한 쿠키 주입 공격 가능성을 제거합니다. 네트워크를 경청하고 쿠키를 따라 잡을 것입니다. 그럼 당신의 웹 페이지와 보일에 보낼 수 있습니다, 나는 다른 사람으로 (당신이 HTTPS를 사용하지 않는 이상) ... 어쨌든, 가장 좋은 해결책은 webview에 대해 잊어 버리고 프로필 페이지를 안드로이드 내에서 양식으로 할 앱 자체 ... – shadyyx

+0

이 경우 쿠키 주입 공격이란 정확히 무엇을 의미합니까? 왜냐하면 내가 쿠키를 어디에 둘까요? – randomizer