我正在构建一个简单的Android应用程序,用于查看位于托管服务器上受密码保护的文件夹public_html / preciousImages中的图像。
我知道我需要使用HTTP身份验证来提供用户/密码(Android HTTP Authentication ),但是,这些凭据在嵌入代码时可以使用Charles等调试应用程序轻松入侵;然后用来水蛭/热链接图像。
所以我想实现另一层安全性,并寻找一种方法,只允许从移动设备访问图像(Android for now; iOS和android将来)。
这是正确的思路吗?或者有更好的方法(服务器设置,PHP,任何东西......)?我并不担心会损害少量图像(在移动设备上逐个下载),但我真的希望避免它们被大量吸收。
提前致谢。
答案 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