我在我的应用程序中添加定时炸弹...... 如果这是一个强有力的想法,我想知道你的想法:
请记住,我已经完成了很多关于android可以提供的唯一ID的研究,但是发现了 如果是手机,telephony.getDeviceID对平板电脑等其他设备很有用 android_id很有用...... (格式化设备以重置作弊的唯一ID不太适合我的应用程序)
所以我决定将它们作为一个唯一ID的大字符串连接在一起,无论电话是否会为非gsm设备返回null。
那你觉得怎么样呢,
检查,加入并创建唯一ID
连接到FTP并上传其中包含“20”的txt文件。
现在,只要用户重新打开
检查,加入并创建唯一ID
连接到FTP并检查该文件是否存在
如果是,请读取-1,其中的文本,将其写回ftp(现在txt为19)
渐渐地...当20次使用结束,并且文本文件中包含“0”时,发布链接到markey的消息以购买应用程序,否则在任何可访问之前退出应用程序。
你有什么想法?
答案 0 :(得分:1)
我看到的最大问题是WiFi防火墙等,在某些情况下可能会通过HTTP(端口80)而不是FTP流量。
当你说“基于互联网的应用程序”时,假设你的意思是“HTTP,端口80”(或HTTPS等),我建议使用与你的应用程序的其余部分相同的访问技术...即,使用http使用POST或GET到服务器上的一个小PHP应用程序获取ID,在sql数据库中减少它,并返回“是”或“否”响应。使用HTTPS也可以解决Roland提到的窥探问题。这样,如果应用程序的其余部分可以工作,或者至少会以相同的方式失败,您的身份验证机制将不会失败。
答案 1 :(得分:0)
您正走在正确的道路上,但需要改进您的系统测试每个运行时间的方式。首先,忘记一个FTP,这肯定会通过防火墙或用户数据传播的任何结构传递出来。
如果您在服务器上执行小型PHP脚本甚至带有质询 - 回复方案的HTML页面,那就更好了。您构建了一个128字节的挑战,其中包含电话ID和代码中的一些加密,然后您在服务器中进行解码并发送代码必须处理的加密回复,以确定是否可以继续。它很容易嗅探数据包和FTP流量,但如果你发送大量嵌入在一起的无意义数据就不容易了!
Google的研究“使用HTML发送二进制数据”,我找到了this page useful