通过android验证RESTAPI(PHP)会话
我已经创建了一个RESTAPI,它正在处理一个会话。我想通过android验证该会话 我的ANDROID ACCESS API代码通过android验证RESTAPI(PHP)会话,php,android,Php,Android,我已经创建了一个RESTAPI,它正在处理一个会话。我想通过android验证该会话 我的ANDROID ACCESS API代码 URL url = new URL("xxx.xxx.x.x./dir/file_name.php"); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("POST")
URL url = new URL("xxx.xxx.x.x./dir/file_name.php");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
DataOutputStream streamWriter = new DataOutputStream(connection.getOutputStream());
streamWriter.write(parameters.getBytes());
streamWriter.flush();
streamWriter.close();
InputStreamReader streamReader = new InputStreamReader(connection.getInputStream());
BufferedReader br = new BufferedReader(streamReader);
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
webResult= sb.toString();
return webResult;
我的PHP端代码,用于检查该会话(它在浏览器中完美工作)
//从这里开始PHP标记
$sessionID=“某物”
if(!isset($_会话['Id'])|$$sessionID!=$_会话['Id']))
{
}否则{
echo "Session is active.";
}
//在这里关闭PHP标签我不确定您是否可以使用Android会话。会话的概念是使用浏览器的cookies来存储会话ID,我认为Android应用程序不允许cookies 但是,您可以做类似的事情: 1。您可以在PHP中生成一个随机字符串 可以使用生成随机字符串 2。将其存储在数据库中某个有过期时间的位置 基本上,如果希望会话持续1小时,则存储的过期时间等于now+1小时 3。将其发送到应用程序并将其存储在应用程序中的某个位置 现在,您可以创建一个随机字符串,它是会话ID。它存储在应用程序端和服务器端 现在,只要您想存储会话变量,就可以检索会话ID(您从应用程序发送它,然后检查它是否存在于服务器端)。然后使用以下属性将变量存储在数据库中:
Session\u id、var\u name、var\u value
然后,当您想要检索会话变量时,您可以通过session\u id和var\u name来实现
然后,基本上,如果会话id已过期(当前日期>过期日期),则删除具有此会话id的所有变量,并生成一个新的空变量
希望这有帮助:-)我不确定您是否可以使用Android会话。会话的概念是使用浏览器的cookies来存储会话ID,我认为Android应用程序不允许cookies 但是,您可以做类似的事情: 1。您可以在PHP中生成一个随机字符串 可以使用生成随机字符串 2。将其存储在数据库中某个有过期时间的位置 基本上,如果希望会话持续1小时,则存储的过期时间等于now+1小时 3。将其发送到应用程序并将其存储在应用程序中的某个位置 现在,您可以创建一个随机字符串,它是会话ID。它存储在应用程序端和服务器端 现在,只要您想存储会话变量,就可以检索会话ID(您从应用程序发送它,然后检查它是否存在于服务器端)。然后使用以下属性将变量存储在数据库中:
Session\u id、var\u name、var\u value
然后,当您想要检索会话变量时,您可以通过session\u id和var\u name来实现
然后,基本上,如果会话id已过期(当前日期>过期日期),则删除具有此会话id的所有变量,并生成一个新的空变量
希望这有帮助:-)请帮助我感谢www in and vance请帮助我感谢www in and vance实际上我正在寻找只有授权用户才能访问的api安全性。您有其他api安全解决方案吗?。感谢您提供上述帮助。您可以做的第一件事不是完全使用此解决方案,而是仅在用户经过身份验证时生成会话id(并在用户注销时删除会话)。如果您想要一个现有的解决方案,也许可以尝试OAuth。实际上,我正在寻找只有授权用户才能访问的api安全性。您有其他api安全解决方案吗?。感谢您提供上述帮助。您可以做的第一件事不是完全使用此解决方案,而是仅在用户经过身份验证时生成会话id(并在用户注销时删除会话)。如果您想要现有的解决方案,可以尝试OAuth
echo "Invalid session";
die();
echo "Session is active.";