iOS----------APP怎样做更安全
1 网络请求的安全方案
1.1 https请求,最好有安全交互平台。
1.2 对重要的参数请求进行加密(推荐AES,ERSA加密)。
1.3 服务器返回数据时,对重要数据进行加密。
1.4 不要把密钥写到代码里。可以先通过非对称加密的接口获取密钥,然后再在后面的接口通信中用这个密钥进行加密。
1.5 密钥要定期更换,
如果密钥是写在代码里的,就等APP升级新的版本的时候,新版本的APP和其他对应的接口版本都修改为新密钥。
如果密钥是从接口通过非对称加密获取的,直接修改服务端。
2 客户端安全方案
2.1 不要在plist文件、项目中的静态文件中存储关键信息,如果存储,进行加密。
2.2 NSUserDefaults,sqlite存储文件进行数据加密。对程序中出现的URL进行编码加密,防止URL被静态分析。
2.3 代码混淆。比如用宏来简单混淆。方法名和方法体进行混淆。
2.4 在release环境下,NSLog不要打印日志,在swift中打印用print。
2.5 在代码中,方法名不要有key、password、getIPAddress等字眼。
2.6 登录失败时不要提示明确判断用户名错误或密码错误。
2.7 登录时采用两种或两种以上组合的鉴别技术(如:数字证书体系、硬件令牌、生物特征、一次性动态口令等)实现用户身份鉴别。
2.8 使用加密软键盘,键盘随机,隐私数据输入的时候,进行全部屏蔽。
2.9 隐私数据显示的时候,不要明文显示,部分或全部屏蔽。(黑客拿到用户姓名、手机号后,进行诈骗)。
3.0 使用防截屏功能。
iOS----------APP怎样做更安全的更多相关文章
- iOS APP 如何做才安全
本来 写了一篇<iOS 如何做才安全--逆向工程 - Reveal.IDA.Hopper.https抓包 等>,发现文章有点杂,并且“iOS 如何做才安全”这部分写的越来越多,觉得 分出来 ...
- 怎样做一个iOS App的启动分层引导动画?
一. 为什么要写这篇文章? 这是一个很古老的话题,从两年前新浪微博开始使用多层动画制作iOS App的启动引导页让人眼前一亮(当然,微博是不是历史第一个这个问题值得商榷)之后,各种类型的引导页层出不穷 ...
- (Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议 (画画)
(Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议! 新闻采访是做,前端展示APP界面感觉还不是非常好,还须要改进改进,希望公布(Android和IOS版本号)前听听大家的 ...
- 用Model-View-ViewModel构建iOS App(转)
转载自 Model-View-ViewModel for iOS [译] 如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC.MVC是构建iOS a ...
- 用Model-View-ViewModel构建iOS App
如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller,即MVC.MVC是构建iOS App的标准模式.然而,最近我已经越来越厌倦MVC的一些缺点.在本文,我将重温 ...
- iOS App从点击到启动
程序启动之前 从exec()开始 main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数.在Unix中exec和system的不同在于,system是用shell来调用程序,相当 ...
- IOS App动态更新
框架 JSPatch WaxPatch react-native 方案对比 目前已经有一些方案可以实现动态打补丁,例如WaxPatch,可以用Lua调用OC方法,相对于WaxPatch,JSPat ...
- 如何用 React Native 创建一个iOS APP?(三)
前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...
- 如何用 React Native 创建一个iOS APP?
诚然,React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 Reac ...
- 【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)
2.1 iOS应用解析(iOS App Anatomy) 几乎所有的iOS应用都会用到UIKit框架中的组件.了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策. UIKit提 ...
随机推荐
- AIO系列文档(1)----图解ByteBuffer
因何而写 网上关于bytebuffer的文章真的很多,为何在此还要写一篇呢?主要是基于以下几点考虑 很多人在使用t-io时,还不会bytebuffer,只会照着t-io提供的例子照猫画虎,不利于灵活运 ...
- JDK设计模式之——装饰者模式
假定已经有三个类A,B和C他们的继承关系如下 ClassA Class B extends A Class C extends A 想进一步扩展类B和类C的功能,新增三个方法 m ...
- [Swift]LeetCode207. 课程表 | Course Schedule
There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prereq ...
- [Swift]LeetCode363. 矩形区域不超过 K 的最大数值和 | Max Sum of Rectangle No Larger Than K
Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix s ...
- [Swift]LeetCode543. 二叉树的直径 | Diameter of Binary Tree
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- [Swift]LeetCode722. 删除注释 | Remove Comments
Given a C++ program, remove comments from it. The program source is an array where source[i] is the ...
- [Swift]LeetCode843. 猜猜这个单词 | Guess the Word
This problem is an interactive problem new to the LeetCode platform. We are given a word list of uni ...
- H5与企业微信jssdk集成
H5与企业微信jssdk集成 一.公众号设置 注册企业微信,在应用与小程序栏目中,设置可信域名,配置公众号菜单.可信域名不得不说下,在最初开发时,认为设置并验证后,微信认证接口会实现跨域请求,其实并没 ...
- Spring Boot druid监控页添加登录访问权限(用户名+密码)
需求 druid作为数据源的一名后起之秀,凭借其出色的性能,渐渐被大家使用.当然还有他的监控页面也有这非常大的作用.但是监控页面往往包含了很多隐私的数据信息,所以需要将其保密,所以可以为监控页面添加一 ...
- BBS论坛(二十一)
21.1.编辑轮播图功能完成 (1)cms_banners.html 把属性绑定到<tr>上面,方便找到各属性的值 <tbody> {% for banner in banne ...