0

好的,我目前正在使用 PHP 中的下载脚本,它查询 mySQL 数据库并检查是否已下载该令牌(我通过生成脚本手动创建此令牌)。因此,例如我的生成链接将是http://www.mysite.com/ota/download.php?id=6gs78sj39h3e

我有正确的标头以允许正确的 OTA 下载并且脚本正常运行...但是这是我的问题...如果用户不使用他/她的移动设备下载 JAD 文件而是使用浏览器浏览器显示另存为对话框。如果用户下载提供的文件,它被命名为 download.php 并且内容是 JAD 文件。此 jad 文件中包含指向 .cod 文件的链接。

例如,如果我生成的链接是http://www.mysite.com/ota/download.php?id=6gs78sj39h3e 如果他们在文本编辑器中打开这个 jad 文件,任何有 2 美分的人都会知道“MYAPP-1.cod”驻留在 /ota/ 目录中,然后可以继续下载所有 *.cod 文件,并有机会在其他地方提供此下载...

防止这种情况的最佳方法是什么?我在想可能检查他们是否使用黑莓浏览器,如果不拒绝链接,以及他们是否继续下载,但我很确定如果你真的想要,你可以“伪造”浏览器标识......所以任何关于如何在不让用户查看 JAD 文件内容的情况下更好地完成提供 JAD 下载的建议?

4

1 回答 1

0

冒着这样说的风险,您实际上没有任何选择:您应该为黑莓浏览器进行用户代理检查,因为对于不习惯使用可以工作的浏览器用户代理的比较随意的用户,但对于任何人来说谁是敬业的,他们将能够绕过它。

最有用的可能是在一定时间后自动使链接失效:不仅生成指向 JAD 文件的链接,还生成指向 COD 文件的链接,然后使这些链接在一两天后失效。至少会减少链接被重新分发或他们知道 COD 文件具体位置的机会。不过,不确定这将如何与黑莓安装程序一起使用。

于 2011-06-17T14:55:39.770 回答