我正在嘗試爲某個網站創建一個Android應用程序。首先,我需要在這個應用程序上創建一個登錄系統,它會詢問用戶的用戶名和密碼,然後將這些數據發送到服務器上的一些php腳本中,該腳本將檢查數據庫天氣中該用戶是否存在。並因此返回用戶標識。以下是我的核心代碼爲這個過程基於Cookie的Android登錄系統
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();
這部分工作正常。我能夠從中得到正確的迴應。現在我需要的是通過cookie或任何其他方法維護此會話,即使用戶關閉此應用程序以保持用戶登錄,直到他手動註銷爲止。 我的login.php有點如下
<?php
$name = $_GET['username'];
$pass = $_GET['pass'];
$userid = checkLogin($name, $pass);
if($userid!=NULL) {
echo $userid;
} else {
echo "";
}
?>
我應該怎麼辦呢?
您可能想要使用$ _POST,因爲「登錄」狀態可能被認爲是服務器狀態的變化。我不確定 - 這取決於您的應用程序設計。 –
如果你打算在生產中使用它,你應該改變你的認證服務器,這樣只有你自己的客戶端可以向它發送信息,否則你將遭受暴力破解的攻擊。您還應該通過SSL發送信息或以其他方式加密通過線路發送的用戶名和密碼。我會研究已經提供身份驗證的庫,而不是重新發明輪子。 – Ameen