Php Android HTTP POST(密码安全和服务器响应)

Php Android HTTP POST(密码安全和服务器响应),php,android,post,Php,Android,Post,我正在开发一个Android应用程序,我的挑战是对用户进行“身份验证”。 所有用户都存储在SLQ数据库中(是我网站上的应用程序,我有一些注册用户存储在SQL数据库中),我想这样处理: 要求用户输入用户名和密码,加密密码,通过POST将用户名和密码发送到一个PHP类,该类查询数据库,如果用户和pass正确,则返回TRUE,否则返回FALSE 浏览stackoverflow问题时,我学会了如何将数据发送到Android应用程序(见下文),但我不知道如何从服务器接收布尔值(如果登录,则为TRUE;如果

我正在开发一个Android应用程序,我的挑战是对用户进行“身份验证”。 所有用户都存储在SLQ数据库中(是我网站上的应用程序,我有一些注册用户存储在SQL数据库中),我想这样处理:

要求用户输入用户名和密码,加密密码,通过POST将用户名和密码发送到一个PHP类,该类查询数据库,如果用户和pass正确,则返回TRUE,否则返回FALSE

浏览stackoverflow问题时,我学会了如何将数据发送到Android应用程序(见下文),但我不知道如何从服务器接收布尔值(如果登录,则为TRUE;如果登录失败,则为FALSE)

有没有其他方法更容易或更好地完成这项工作

谢谢大家!! 马可:)

PS:这是从另一个问题粘贴的邮政编码:

public void postData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("id", "12345"));
        nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity resEntity = response.getEntity();
        if(resEntity != null){
            Log.i("RESPONSE",EntityUtils.toString(resEntity));
        }

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
} 
public void postData(){
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www.yoursite.com/script.php");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,“12345”);
添加(新的BasicNameValuePair(“stringdata”、“Hi”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
HttpEntity当前性=response.getEntity();
if(最近性!=null){
Log.i(“响应”,EntityUtils.toString(resEntity));
}
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
} 

Http协议旨在从远程服务器访问页面内容(文本)。所以php脚本应该生成一条消息,比如“true”和“false”、“0”和“1”,等等,您必须在应用程序中检查这些消息。例如,您可以使用:

String res = new String(response.getData());

if (res.equals("true"))
    ;//logged
else
    ;//not logged

在任何情况下,你要做的都是不安全的。想象一下,我可以将您的请求捕获到您的服务器。然后我可以简单地将true发送到您的应用程序。因此,您的应用程序将被授权为注册用户执行您拥有的操作

如果您仍在使用此应用程序,请阅读授权协议