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提 ...
随机推荐
- 安卓开发学习笔记(一):如何用Android Stuidio导出apk文件?
一,首先,我们在菜单栏上找到这一栏: 然后点击build,再点击generate apk,然后出现以下界面: 由于之前我们并没有进行apk文件的生成,因此需要这个apk key做一个验证,以防您的ap ...
- 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识
第33章 SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...
- 一个月薪两万的Web安全工程师要掌握哪些技能?
作为一个薪水两万起步的工作,我想知道这些牛人们都会哪些技能呢? Web安全相关概念.熟悉渗透相关工具.渗透实战操作.关注安全圈动态.熟悉Windows/Kali Linux.服务器安全配置.脚本编程学 ...
- Android OpenGL ES 开发(六): OpenGL ES 添加运动效果
在屏幕上绘制图形只是OpenGL的相当基础的特点,你也可以用其他的Android图形框架类来实现这些,包括Canvas和Drawable对象.OpenGL ES为在三维空间中移动和变换提供了额外的功能 ...
- 推荐几个牛逼的 IDEA 插件,还带动图!
阅读本文大概需要 2.3 分钟. 作者:纪莫, cnblogs.com/jimoer 这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍. JRebel for IntelliJ 一款热部署插件 ...
- [Swift]LeetCode479. 最大回文数乘积 | Largest Palindrome Product
Find the largest palindrome made from the product of two n-digit numbers. Since the result could be ...
- Python档案袋( 进程与协程 )
Python的进程和线程是使用的操作系统的原生线程和进程,其是去调用操作系统的相应接口实现 进程:之间不可直接共享数据,是资源的集合,进程必须有一个线程 线程:基于进程,之间可直接共享数据,可执行,只 ...
- AspNetCoreMvc使用MongoDB,快来get一下吧。
看这篇文章之前请耐心看完MongoDb入门,如果还是坚持不看,那我也没有办法. MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. ...
- qt 标签 QTextBrowser QLabel
使用标签控件时我首先想到的就是QLabel,QLabel支持自动换行,并可以解析富文本,是一个不错的选择,这也使的我并没有去深入了解其他的可以有 同样效果的控件,本篇文字我也主要是讲解标签的用法,可以 ...
- 模板模式之clone()方法
clone()方法的使用,体现了模板模式的思想,常见用法可以参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201