【问题标题】:Protect content of an iOS application by overlaying a video通过覆盖视频来保护 iOS 应用程序的内容
【发布时间】:2021-02-24 19:40:39
【问题描述】:

我正在开发一个 Ionic Framework 应用程序,我们在某些页面上显示关键信息。我们希望防止用户在这些页面上截屏。我们可以在 Android 平台上做到这一点;但是,在 iOS 设备上,我们无法这样做,因为 Apple 目前还没有提供公共 API。

我们找到了ScreenShieldKit,但它们的价格对于我们需要的功能来说太贵了。所以我们想到了付费流媒体服务如何阻止他们的用户截取他们的视频的想法,我们认为覆盖视频元素可能欺骗操作系统并通过以下方式给出该部分的空白屏幕截图正在通过 DRM。

我发现 Safari 使用 FairPlay,但互联网上并没有太多关于如何执行此类应用程序的实现或指南。您认为这对于我们想要实现的目标是否可行? DRM 是否适用于非流媒体视频?您能否提供有关如何实施 DRM EME 的步骤?

【问题讨论】:

  • 我不知道如何回答您的问题,但您无法阻止用户对屏幕上的内容进行拍照。也许你可以阻止他们截屏,但他们仍然可以只拍物理屏幕的照片。这个想法对我来说似乎很愚蠢。如果您不希望您的用户拥有某些信息,您必须不向他们显示。如果这些信息对他们非常有价值并且他们想要,他们很可能会拿起相机并为他们的屏幕拍照。
  • @IsaacCWay 是的,我知道我们不能让他们用真实的相机拍照。但我试图至少限制用户截取该页面的屏幕截图

标签: ios screenshot


【解决方案1】:

我相信您知道开发人员无法完全阻止用户/应用截取屏幕截图。在 iOS 中,没有专门的 API 来阻止截屏;除此之外,您/开发人员/应用程序无权删除用户照片库中的照片(这是有道理的);所以这就是 iOS 与 Android 相比存在问题的原因。

下面我将尝试为您提供一些可能对您进一步调查有帮助的建议:

  • 一种检测屏幕截图的方法使用 iOS API

对于iOS 7+,你可以这样写:

NotificationCenter.default.addObserver(
    forName: UIApplication.userDidTakeScreenshotNotification,
    object: nil, queue: nil) { _ in
        //what to execute after screenshot?
} 

所以也许在截屏之后,你的应用可以做,例如,警告、通知、向其他用户显示警报(如果有很多)等等。

  • 另外,您可以访问this Cordova Plugin 看看它是否有效:

在 GitHub 页面上的 README.md 文件中,它说

这是一个用于在 android 和 ios 中启用/禁用屏幕截图的 cordova 插件

最后,ScreenShieldKit 的工作方式是它为开发人员提供了一组类似于UIKitUI 组件(ImageView 和La​​bel)。图像和文本可能会呈现为受 DRM 保护的视频,这就是它们在屏幕截图中不可见的原因。

【讨论】:

  • userDidTakeScreenshotNotification 仅在截屏后触发。我们可以warnnotify 他们,但这没有任何意义,因为他们已经截取了屏幕截图。您提到的cordova插件在iOS中不起作用,我之前已经尝试过。对于ScreenShieldKit,这就是我想要实现的目标,但我不想将所有元素都转换为视频,而是想在填充所有数据的 div 顶部放置一个 video 元素欺骗 iOS 认为它是一个视频,但它是一个透明的。
  • 虽然我不熟悉如何为视频实施 DRM。
  • 嗨,Rich,我目前也在研究这个,并且正在制定类似的策略。我在一条看起来可能的评论中发现了这一点: > 顺便说一句:据我所知,只要您对 HLS 使用 SAMPLE-AES 方法,您还将获得屏幕截图阻止。 (不保证......但似乎是实际行为)。 — — 安德斯 20 年 2 月 29 日在 5:15 stackoverflow.com/questions/57940194/… 这听起来很吸引我。另见:developer.apple.com/forums/thread/120552
猜你喜欢
  • 1970-01-01
  • 2014-08-04
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
相关资源
最近更新 更多