iOS开发实战之Cookie注入
来源:互联网 发布:淘宝卖高仿很牛的店铺 编辑:程序博客网 时间:2024/06/06 00:03
Cookie注入的使用场景:
在开发中,我们常常会遇到这样一种场景:通过在一部分网络请求中注入Cookie信息让后台校验当前用户的登录状态以及用户权限
在APP中打开一个需要登录用户才能看的页面,一般客户端会先判断是否登录,如果没有登录去登录。缺点每次都要判断,如果是付费内 容,还要引导用户去支付,这些都要去后台发起多个请求,去判断,增加了网络开销,如果逻辑处理的不够严谨,容易出错
Cookie的注入可以解决上面的问题,一次请求将用户信息发送给后台,让后台判断给你什么数据,你只用按约定判断返回的字段,做出相应的处理即可,这样减少了用户请求的次数,减轻了服务器的负载,也省了用户的流量
第一步:获取登录成功的请求标识:如PHPSESSID=495njbid8as3o79bjqh1mocl22
注:"PHPSESSID"这个字段名不同的服务器配置不同,名称也不同,可以询问后台,不过我建议还是自己去抓包查看,这里我使用的抓包工具是:Charles,网上有破解版的。
一般客户端会在登录成功的回调里面获取Set-Cookie,对Set-Cookie处理获取内部的"PHPSESSID=495njbid8as3o79bjqh1mocl22"
我们先通过抓包工具来看看登录成功返回的信息:
注意:这里我们可以看到三条Set-Cookie信息,这是服务器端告诉你下次请求的时候需要在请求头中加入这三条信息。只是第二条和第三条是用户的账户名和经过MD5加密的密码,这个我们就是我们上传给服务器的,不用提取,不过需要按照"topmasteruserName=17737199679;"这种服务器要求的格式拼接Cookie字符串。
拼接Cookie字符串
(1)AFNetworking 注入Cookie
[manager.requestSerializer setValue:[FunctionFast getCookieFromUserDefault] forHTTPHeaderField:@"Cookie"];
(2)UIWebView中请求注入Cookie,一般公司限制会员/付费用户才能查看
- (void)requestData {
NSURL *url = [NSURL URLWithString:self.url];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; // 注入Cookie
[request setValue:[FunctionFast getCookieFromUserDefault] forHTTPHeaderField:@"Cookie"];
[self.webView loadRequest:request];
}
到这里已经满足基本需求了,其他细节如注入Cookie后的请求包的解析,还有WKWebView的Cookie注入后续更新介绍...,如有错误的地方,欢迎亲们指正。
- iOS开发实战之Cookie注入
- iOS开发实战之Cookie注入
- iOS开发实战之Cookie注入
- iOS开发实战之Cookie注入
- sqlmap之(五)----Cookie注入实战
- Cookie注入攻防实战
- sqlmap cookie注入实战
- Web攻防系列教程之 Cookie注入攻防实战
- Web攻防系列教程之 Cookie注入攻防实战
- iOS UIWebView 注入Cookie
- Cookie注入实战(非SQL注入)
- SQL注入之cookie注入
- SQL注入之cookie注入
- ios开发之ASIHTTPRequest-Cookie的使用
- iOS开发学习之Cookie认识
- 关于sql注入之cookie注入
- 关于sql注入之cookie注入
- web攻防之Cookie注入
- Caffe Python接口多进程提取特征
- Unity 游戏场景
- Opencv之边缘检测(一)
- 后台开发接口需要提高标准,提高容错性或校验
- 指针数组和数组指针
- iOS开发实战之Cookie注入
- RedisTemplate的创建
- java IO流(一)
- iis发布后 office文件转pdf文件出错
- Python基础(一)
- 192.168.0.251 wifi上不去网的解决办法
- a标签突出显示盒子非js效果
- 单例模式
- Vika and Squares 【思维+技巧+debug???】