【问题标题】:How to hide/block stored files from web browsing but accessible from app?如何从网页浏览中隐藏/阻止存储的文件,但可以从应用程序访问?
【发布时间】:2015-10-20 16:16:26
【问题描述】:

我正在开发一个应用程序,该应用程序在服务器上上传和下载图片/视频以在用户之间共享(用户将图片发送给他的朋友,然后他们将出现在他们自己的活动提要中)。

我正在处理的问题是所有这些图片都存储在网络服务器中,这意味着当我通过网络浏览器浏览我的服务器时它们是可见的,这会导致隐私/安全问题,因为任何输入正确路径的人(即"myserver.com/android/pictures/pic_001.jpg) 可以看到图片。

所以,我想知道是否可以隐藏/阻止所有这些文件进行网页浏览,但仍然可以通过 android 应用程序访问它们?

【问题讨论】:

  • 不可能。如果您的应用程序可以访问它们,那么任何人都可以。您的服务器无法 100% 可靠地区分“http-request-from-android-app”与'http-request-from-someone-stealing-photos'。一切都只是http,你的应用程序做的任何事情,小偷都可以做。
  • 嗯,解决这个问题的方法基本上是向应用程序引入某种形式的身份验证。

标签: php android .htaccess server privacy


【解决方案1】:

是和不是。这些文件必须驻留在某处,但是您可以为目录(假设为 apache)设置一个 htaccess 规则,该规则指出用户代理必须匹配您的 Android 客户端在发出请求时发送的任何内容(如果不确定,为什么不设置自定义用户代理Android 请求?)

这仅在用户不够成熟而无法知道图像路径的情况下才有效。唯一的其他选择是在满足 API 密钥/某些身份验证参数时流式传输图像(将文件读入 PHP 并将正确的标头和文件内容输出到浏览器)。尽管这并不理想,但它会起作用(尽管在您的 PHP 处理器上非常昂贵)

【讨论】:

    【解决方案2】:

    您可以创建一个网络服务,而不是公开包含图片的文件夹,您可以公开网络服务,并使用(反)序列化您可以将它们放在您的应用程序中,而图片不能直接从网络服务器获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多