加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

大前端时代安全性如何做

发布时间:2019-01-31 06:45:48 所属栏目:建站 来源:fantasticbaby
导读:之前在上家公司的时辰做过一些爬虫的事变,也辅佐爬虫工程师办理过一些题目。然后我写过一些文章宣布到网上,之后有一些人就找我做一些爬虫的外包,内容或许是爬取小红书的用户数据和商品数据,可是我没做。我认为对付海内的大数据公司没几家是有真正的大

App 端安详的办理方案

  • 今朝 App 的收集通讯根基都是用 HTTPS 的处事,可是任意一个抓包器材都是可以看到 HTTPS 接口的具体数据,为了做到防备抓包和无法模仿接口的环境,我们采纳以下法子:
  1. 中间人盗用数据,我们可以采纳 HTTPS 证书的双向认证,这样子实现的结果就是中间人在开启抓包软件说明 App 的收集哀求的时辰,收集会自动断掉,无法查察说明哀求的环境
  2. 对付防备用户仿照我们的哀求再次提倡哀求,我们可以回收 「防重放计策」,用户再也无法仿照我们的哀求,再次去获取数据了。
  3. 对付 App 内的 H5 资源,反爬虫方案可以回收上面的办理方案,H5 内部的收集哀求可以通过 Hybrid 层让 Native 的手段去完成收集哀求,完成之后将数据回调给 JS。这么做的目标是每每我们的 Native 层有完美的账号系统和收集层以及精采的安详计策、鉴权系统等等。
  4. 后期会接头 App 安详性的更深条理玩法,好比从逆向的角度出发怎样掩护 App 的安详性。

关于 Hybrid 的更多内容,可以看看这篇文章 Awesome Hybrid

  • 好比 JS 必要提倡一个收集哀求,那么凭证上面将收集哀求让 Native 去完成,然后回调给 JS
  1. var requestObject = { 
  2.   url: arg.Api + "SearchInfo/getLawsInfo", 
  3.   params: requestparams, 
  4.   Hybrid_Request_Method: 0 
  5. }; 
  6. requestHybrid({ 
  7.   tagname: 'NativeRequest', 
  8.   param: requestObject, 
  9.   encryption: 1, 
  10.   callback: function (data) { 
  11.     renderUI(data); 
  12.   } 
  13. }) 

Native 代码(iOS为例)

  1. [self.bridge registerHandler:@"NativeRequest" handler:^(id data, WVJBResponseCallback responseCallback) { 
  2.        
  3.     NSAssert([data isKindOfClass:[NSDictionary class]], @"H5 端不按套路"); 
  4.     if ([data isKindOfClass:[NSDictionary class]]) { 
  5.          
  6.         NSDictionary *dict = (NSDictionary *)data; 
  7.         RequestModel *requestModel = [RequestModel yy_modelWithJSON:dict]; 
  8.         NSAssert( (requestModel.Hybrid_Request_Method == Hybrid_Request_Method_Post) || (requestModel.Hybrid_Request_Method == Hybrid_Request_Method_Get ), @"H5 端不按套路"); 
  9.          
  10.         [HybridRequest requestWithNative:requestModel hybridRequestSuccess:^(id responseObject) { 
  11.              
  12.             NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil]; 
  13.             responseCallback([self convertToJsonData:@{@"success":@"1",@"data":json}]); 
  14.              
  15.         } hybridRequestfail:^{ 
  16.              
  17.             LBPLog(@"H5 call Native`s request failed"); 
  18.             responseCallback([self convertToJsonData:@{@"success":@"0",@"data":@""}]); 
  19.         }]; 
  20.     } 
  21. }]; 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读