移动客户端请求url发送cookie的问题

我们的项目里给移动客户端提供的api,有时要判断请求方(用户)来自Android还是iPhone,在服务器端代码通过cookie判断的,比如cookie('qm_device'),那么这个cookie是移动客户端请求url的时候伪造的一个http请求头中的cookie吗?

以上没讲清楚,大概看看,下面举个例子:

比如我们在PC端判断请求是否来自移动端应用,我们会判断cookie('qm_name')值是否为zhe,为zhe的就认为是来自移动端,那么这个cookie应该是移动端发过来的吧

阅读 5.1k
3 个回答

既然你一定要这么判断的话,随意。将其加在header头即可



用session吧?
cookies无论是值或者键都可以伪装。而session只能伪装seesion_id.

session是服务端设置值的,每次get或者post携带上这个就可以了

PHP可以用 $_SERVER['HTTP_USER_AGENT']来获取浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码。

JSP:

request.getHeader("User-Agent")

user-agent大全:

http://www.cnblogs.com/sink_cup/archive/2011/03/15/http_user_agent.html

cookie是设计给浏览器用来保存网站访问状态的,如果是native请求来的,那就应该如你所说是它自己造的。
http规范里面有专门的请求头user-agent来判定设备,建议遵守规范,而不是自作聪明搞到cookie里面。

以前自己写的请求框架是这样做的:
HttpURLConnection conn;
conn.setRequestProperty("User-Agent", "Android");

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题