일부 웹 사이트에 대한 안드로이드 애플 리케이션을 만들려고합니다. 먼저 사용자에게 사용자 이름과 암호를 묻는이 로그인 정보 시스템을 만들어서이 데이터를 서버의 PHP 스크립트로 보내면이 사용자가 데이터베이스에 날씨가 있는지 여부를 확인합니다. 따라서 사용자 ID를 반환합니다. 다음은이 프로세스의 핵심 코드입니다.안드로이드의 쿠키 기반 로그인 시스템
myurl="http://10.0.2.2:80/login.php?username=name&pass=password"
URL url = new URL(myurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
int response = conn.getResponseCode();
이 부분은 제대로 작동합니다. 나는 이것으로부터 올바른 응답을 얻을 수있다. 이제 내가 필요한 것은 쿠키 나 다른 방법을 통해이 세션을 유지하는 것입니다. 사용자가이 애플리케이션을 닫아서 수동으로 로그 아웃하지 않는 한 사용자가 로그인 상태를 유지하도록합니다. 내가 할 방법
<?php
$name = $_GET['username'];
$pass = $_GET['pass'];
$userid = checkLogin($name, $pass);
if($userid!=NULL) {
echo $userid;
} else {
echo "";
}
?>
에 따라 다소 나의 login.php은?
"로그인 한 상태"가 서버 상태의 변화로 간주 될 수 있으므로 $ _POST를 사용할 수 있습니다. 나는 그것에 대해 확신하지 못합니다. 그것은 앱 디자인에 달려 있습니다. –
프로덕션 환경에서 이것을 사용하려는 경우 인증 서버를 변경하여 자신의 클라이언트 만 정보를 보낼 수 있도록해야합니다. 그렇지 않으면 암호 찾기에 무차별 한 시도를 받게됩니다. 또한 SSL을 통해 정보를 보내거나 다른 방법으로 유선을 통해 전송 된 사용자 이름과 암호를 암호화해야합니다. 휠을 재발 명하는 대신 이미 인증을 제공하는 라이브러리를 살펴볼 것입니다. – Ameen