iOS app界面切换保护防止信息泄露措施有哪些

iOS app界面切换保护防止信息泄露措施有哪些

在 iOS App 界面切换时,为防止敏感信息泄露,常见并推荐的保护措施包括:

在 iOS App 界面切换时,为防止敏感信息泄露,常见并推荐的保护措施包括:

1. 实现切换时隐藏敏感内容

截图或多任务预览保护

iOS 多任务视图会自动呈现你的 App 截图,若存在敏感数据,可以通过添加“模糊层”或彩色遮罩保护隐私。

objectivec

- (void)applicationDidEnterBackground:(UIApplication*)application {// 添加模糊视图或遮罩UIView*blurView = [[UIViewalloc] initWithFrame:self.window.bounds];    blurView.backgroundColor = [UIColorwhiteColor];    blurView.tag =999;// 方便移除[self.window addSubview:blurView];}- (void)applicationWillEnterForeground:(UIApplication*)application {// 移除模糊层UIView*blurView = [self.window viewWithTag:999];if(blurView) {        [blurView removeFromSuperview];    }}

使用系统提供的隐私过滤属性

iOS13+ 支持UIApplication.exclusiveTouch和UIView的isHidden、alpha属性结合使用,或者更直接:

objectivec

// 兼容iOS 11以上,可以设置此key阻止截图或录屏:// 该方法只能对视频类App或支持AirPlay的应用起作用self.window.layer.contents =nil;

或者:

objectivec

// 使用 UIAccessibility 放置安全元素,屏蔽截图识别敏感内容self.view.accessibilityViewIsModal =YES;

2. 禁止系统截图/录屏监控(有限制)

iOS 不支持完全阻止系统截图,但可以监听和响应录屏事件,及时清除敏感界面。

objectivec

if(@available(iOS11.0, *)) {    [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(screenCapturedChanged) name:UIScreenCapturedDidChangeNotificationobject:nil];}- (void)screenCapturedChanged {if([UIScreenmainScreen].isCaptured) {// 录屏开启,隐藏敏感内容self.sensitiveView.hidden =YES;    }else{// 录屏关闭,恢复显示self.sensitiveView.hidden =NO;    }}

3. 关闭后台快照,防止应用切入后台时显示敏感信息

系统会自动生成应用快照并显示在多任务界面,添加模糊视图或空白视图覆盖,可以防止敏感信息泄露。

(同第1点中应用进入后台的模糊处理)

4. 数据加密与安全存储

保护数据本身,确保即使界面数据泄露,内容也是加密状态。可使用Keychain或加密数据库存储。

5. 会话管理与身份验证

恢复App时要求重新登录或验证身份,防止他人通过多任务切换访问敏感界面。

6. UI组件安全性设计

对于敏感信息界面的内容,避免使用屏幕录制API或AirPlay传输(例如 DRM 保护)

避免在通知和分享扩展中泄露敏感信息。

总结

表格

保护技术实现方式说明

模糊视图遮罩切入后台加模糊层,切前台移除防止多任务切换时敏感信息曝光

监听录屏状态监听UIScreenCapturedDidChangeNotification录屏时隐藏敏感视图

限制系统截图没有官方API可完全限制截图只能通过模糊等方式间接降低风险

会话验证切换回前台弹登录页或验证身份防止他人多任务切换时直接进入敏感界面

数据加密Keychain或加密数据库存储保护数据安全

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 3,326评论 0 5
  • 为了让我有一个更快速、更精彩、更辉煌的成长,我将开始这段刻骨铭心的自我蜕变之旅!从今天开始,我将每天坚持阅...
    李薇帆阅读 1,978评论 0 3
  • 似乎最近一直都在路上,每次出来走的时候感受都会很不一样。 1、感恩一直遇到好心人,很幸运。在路上总是...
    时间里的花Lily阅读 1,421评论 0 2
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 560评论 0 1
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 549评论 0 0