Heim > Fragen und Antworten > Hauptteil
App-Schnittstellenentwicklung, Benutzerdaten werden in der Sitzung gespeichert. Ich dachte, die App hätte keine Cookies, aber jetzt weiß ich nicht, dass die App über den gleichen Cookie-Mechanismus verfügt wie der Browser. Die App-Anforderungsschnittstelle wird mit einem Token geliefert. (eigentlich ist es session_id). Jetzt übergibt die App sowohl das Cookie als auch die Post, und wenn das Cookie die session_id übergibt, können die Sitzungsdaten durch manuelles Festlegen der session_id abgerufen werden. Ich möchte die Sitzungs-ID manuell festlegen können, um Sitzungsdaten abzurufen, ohne die Serverkonfiguration zu ändern oder Cookies zu deaktivieren.
if($_REQUEST['token']){
session_destroy();
if($_REQUEST['token']){
session_id($_REQUEST['token']);
}
session_start();
}
PHPz2017-05-31 10:35:08
应该不是原生开发,而是加载webview吧,否则和cookie没有关系,而加载webview与浏览器打开没什么区别。
不过都加token的话应该是可行的,感觉应该在request请求基类中加入你上述的判定,这样应该就能以token传递的数据为主了。
if($_REQUEST['token']){
//session_destroy();//这个不应该存在吧,因为token中的session id很有可能与cookie中的session id是一样的,如果直接销毁了,你指定session_id也没什么作用了,或者先判定下如果不一样再销毁
if($_REQUEST['token']){
session_id($_REQUEST['token']);
}
session_start();
}