首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何只允许应用程序从服务器查看/下载文件?

如何只允许应用程序从服务器查看/下载文件?
EN

Security用户
提问于 2015-07-26 03:30:53
回答 4查看 788关注 0票数 1

我有一个Android应用程序,可以从我的专用服务器上传和下载图片。然而,在我运行之前,我想知道是否有什么方法可以保护服务器,只允许我的应用程序访问和查看它上的文件。该应用程序当前通过URL从服务器获取文件。这些文件是敏感的,我不希望它们对所有人都是可见的。

有什么方法可以在服务器上的目录上设置用户名和密码锁吗?如果有,我如何允许我的Android应用程序打开这些目录。

EN

回答 4

Security用户

发布于 2015-07-26 20:46:59

你在问两个问题(我在转述你.)

我只能允许我的应用程序访问我的服务器吗?

不,这不可能。你不能控制客户端。根电话。启动调试器。把钥匙拿来。用你的钥匙创建自己的应用程序。

如何保护我的服务器?

为您的应用服务器使用安全框架。例如,如果您正在使用Java,则可以使用Security来处理身份验证和授权。

票数 1
EN

Security用户

发布于 2016-09-10 23:50:05

“我能否只允许我的应用程序访问我的服务器?”

是的,可以限制对客户端的访问。当时我还不知道这一点,但是可以控制谁可以使用HTTP/HTTPS报头身份验证来访问存储在服务器上的文件,这需要在请求头中组合一个base64编码的“用户名:密码”来获取文件(HTML、图像等)。

为了防止头嗅探,Milen关于使用HTTPS证书的建议是可行的,因为HTTPS使用站点的公钥(包括报头)加密所有内容。

,那么我应该如何实现它呢?

在Android方面,构建一个应用程序,在每次需要获取文档/图像/文件时发送唯一的用户名和密码。

在服务器端,使用Python或任何您使用的(比使用.htaccess限制对apache上的文件的访问更方便)设置服务器脚本,base64从请求中解码用户名和密码,检查是否匹配,发送正确的内容类型标头和文件。

希望无论谁需要这些信息都是足够的。虽然我最后没有测试这个,但希望它能正常工作。

这里没有任何其他答案是正确的,但我想我每个人都在某种程度上为找到这个问题的解决方案做出了贡献。

票数 0
EN

Security用户

发布于 2015-07-26 07:57:22

通过HTTPS将您的用户名和密码从应用程序传递给服务器,并将密码的哈希与存储在服务器上的哈希与该用户名进行比较。遵循“通常”的预防措施:

  • 在服务器上使用强哈希(例如SHA256)
  • 使用带有密码的salt (任何真正的随机字符串都可以)
  • 使用强密码(例如至少有10个大小写字母、数字和标点符号)
  • 对身份验证失败稍加延迟(例如,在报告身份验证失败之前,让服务器“睡眠”4或5秒--以阻止连续的暴力攻击)
  • 监视多个失败的登录尝试,并警告/调查试图滥用的行为,并在可能的情况下将源in暂时锁定在您的体系结构中。

然后,您可以返回一个时间有限的会话令牌,或者只需要在每个应用程序到服务器消息时使用用户名/密码对。

这些都是经过尝试和测试的管理此过程的方法。

票数 -1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/94938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档