除了通过移动设备之外,如何限制对服务器上图像的访问?

时间:2014-01-02 07:31:37

标签: php android

我正在构建一个简单的Android应用程序,用于查看位于托管服务器上受密码保护的文件夹public_html / preciousImages中的图像。

我知道我需要使用HTTP身份验证来提供用户/密码(Android HTTP Authentication ),但是,这些凭据在嵌入代码时可以使用Charles等调试应用程序轻松入侵;然后用来水蛭/热链接图像。

所以我想实现另一层安全性,并寻找一种方法,只允许从移动设备访问图像(Android for now; iOS和android将来)。

这是正确的思路吗?或者有更好的方法(服务器设置,PHP,任何东西......)?我并不担心会损害少量图像(在移动设备上逐个下载),但我真的希望避免它们被大量吸收。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以为帖子正文中的图片生成请求,并为此设置一些自定义标题

// Http Post Header
HttpPost httpPost = new HttpPost(url);
StringEntity se = new StringEntity(jObj.toString());
httpPost.setEntity(se);
httpPost.setHeader("IsFromApp", "true");

此处 httpPost.setHeader("IsFromApp", "true"); 可以将请求与其他请求区分开来。我们可以在服务器端判断IsFromApp然后请求的标头来自移动设备或Android设备。您可以相应地自定义。

快乐编码

答案 1 :(得分:0)

使用hmac sha1进行公钥加密。 Android有本机库。

检查此QnA