Skip to content

Latest commit

 

History

History
28 lines (25 loc) · 1.28 KB

网络中的session和cookie.md

File metadata and controls

28 lines (25 loc) · 1.28 KB

网络中的session和cookie

  • cookie一般是通过服务端生成,然后响应返回给客户端,客户端保存起来,用来记录用户色状态,区分用户。 iOS的Cookie内容如下:
<NSHTTPCookie
	version:0
	name:JSESSIONID
	value:4C965991B6E31A4006E36A9AD63729A0
	expiresDate:'(null)'
	created:'2018-09-25 07:53:05 +0000'
	sessionOnly:TRUE
	domain:114.255.63.244
	partition:none
	path:/RedseaPlatform
	isSecure:FALSE
	isHTTPOnly: YES
 path:"/RedseaPlatform" isSecure:FALSE isHTTPOnly: YES>
  • session是存储在服务端,服务端生成session后会返回给客户端。sessionId一般是存储在cookie里面的,然后客户端把cookie传给服务端,服务端解析出sessionId,然后根据sessionId判断当前用户。

  • iOS有个NSHTTPCookieStorage类对cookie进行管理,并且在UIWebView可以进行共享。相同 Key 值得新的 Cookie 会覆盖旧的 Cookie,所以要修改cookie可以直接给它赋新值就好了。 WKWebView的cookie有点麻烦。可以参考这里WKWedView的坑

如何保证cookie的安全

  • Cookie 进行加密处理
  • 只在 Https 上携带 Cookie
  • 设置 CookiehttpOnly,防止跨站脚本攻击。