【问题标题】:Prevent user to take photo of app display防止用户拍摄应用显示的照片
【发布时间】:2015-12-14 09:40:30
【问题描述】:

我正在尝试提高我的 Android 应用中数据的安全性,我想知道是否有任何工具或东西可以解决这个问题。我在互联网上找不到任何解决方案。 我禁用了屏幕截图,但用户仍然可以拍摄设备显示的照片。也许改变分辨率或组合一些颜色可以帮助解决这种情况,但我真的不知道。

【问题讨论】:

  • 即使你找到了一种方法来做到这一点,是什么阻止用户用相机拍摄屏幕照片?
  • 我在拍照方面没有问题,我只是想在用户尝试用相机拍摄时给他们一个破碎的、无用的视图:)

标签: android security photo


【解决方案1】:

简而言之 - 您不能,当您的合法用户与您的对手相同时,则不然。如果用户能够看到它,他们也能够拍照。这是典型的红皇后情况:“反保护”技术的反应速度与你的“保护”技术发展速度相同:如果你发明unpolarized displays,用户将通过偏光滤镜拍照;唯一真正改变的是副作用。

查看更长的版本:Is it possible to protect from downloading a video from a site

(您可以尝试的是通过法律手段而不是技术手段来执行安全:“我在此同意,我只能在不拍照的情况下使用该应用程序,在安全的房间和我自己;否则我将失去访问权限,我将不得不支付数百万美元的罚款。”这听起来确实无法执行,但它仍然更容易实施和更有效 - 主要是因为FUD - 比在技术上阻止用户. IANAL. ;))

【讨论】:

  • @kagkar:让我们回到问题的根源:您要避免的风险是什么?这是敏感数据逃逸的问题吗?还是第三方将数据与用户联系起来?还是完全不同的东西?
  • 一切都与数据安全有关。用户应该能够读取数据,但应该禁止任何复制操作,除了在纸上书写:)。事实上,用户行为不在我的控制之下,但我认为我至少可以让它变得更加困难。只有我需要的是一种通过使用一些视觉技巧来欺骗摄像机/录像机视图的方法。
  • @kagkar:在纸上写字可以吗?嗯...在您的具体情况下,这与拍照有什么不同?
  • 你可以让屏幕变暗或变彩色,就像 Twilight 所做的 (play.google.com/store/apps/details?id=com.urbandroid.lux) - 但我担心这对现场用户来说比相机更成问题。
  • 感谢您的宝贵时间,我现在应该跳过这一步:)
【解决方案2】:

好吧,您不能限制任何用户截取屏幕截图! 对此我很抱歉。顺便说一句,人们对您的应用程序进行截图有什么问题?如果你能分享更多关于它的信息,也许我可以帮助你..

最好的。

【讨论】:

    【解决方案3】:

    试试 FLAG_SECURE

     public class FlagSecureTestActivity extends Activity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
    
     getWindow().setFlags(LayoutParams.FLAG_SECURE,
                         LayoutParams.FLAG_SECURE);
    
     setContentView(R.layout.main);
    }
    }
    

    【讨论】:

    • 不是截图。我需要防止用户拍摄屏幕照片(使用任何其他相机)..
    • 嗯..你不能阻止那个......那不可能的你......你怎么能想到阻止那个?
    • 我知道我做不到。我只是想让用户难以复制我的数据。我不是想说服他们。我希望该用户得到一张无用的图片。
    • 你为什么要为这么敏感的数据创建应用程序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多