我最近一直在玩HTML5位置查找,并且从iPhone等设备中提取某些位置相对简单。
我想编写一个使用位置数据的应用程序,但重要的是该位置是事实。换句话说,我需要阻止人们使用模拟的GPS坐标将假帖子创作到支持网站/网络服务。
无论如何,使用HTML5地理位置apis从移动设备收集GPS坐标并安全地将其传回给网络服务,以致某人无法创作具有相同数据的帖子并“游戏”系统“可以这么说?
答案 0 :(得分:4)
客户端上的有效负载并非没有严重加密。如果涉及金钱,有人将进行逆向工程并找出如何自己创建有效的有效载荷。请记住,如果涉及金钱或名望,那么某人会认为做这样的事情的努力是“值得的”。如果您的网络服务是公开的,并且未在客户端上使用某种加密无,则可确保有网络连接的人无法嗅探您的协议并伪造他们想要的任何数据。 SSL不会削减它。任何人都可以proxy the SSL connection on their local network解密有效载荷并检查它们的内容。
答案 1 :(得分:4)
没有。完全同意模糊棒棒糖的答案。如果您正在与远程计算机通信,则数据始终可以伪造。永远都是。是什么让你确定你甚至在与移动设备交谈?用户代理字符串? Pfft,它可以伪造。和GPS说话? Pfft,可能来自预定义的路径。与网络浏览器交谈? Pfft,可能是机器人或其他恶意软件。
并且不要认为加密(即HTTPS)会对您有所帮助。客户可以即时编辑任何HTML,CSS或JavaScript - 例如,使用Firebug或Greasemonkey。
您不能信任客户端的原因与SQL或HTML注入等漏洞利用如此常见的原因相同。曾经听过“客户永远是对的”这句话吗?嗯,顾客可能是对的,但客户总是不值得信任。
系统是游戏。当发现缺陷时,您将逐个修补它们。它更像是越级,而不是实现圣杯。想到布鲁斯施奈尔的讽刺“security is a process, not a product”。要求一个“无法游戏”的系统是错失了重点。您需要做的是创建一个服务器清理数据和/或拒绝错误数据的系统 - 模糊测试也不错。
这是关于你可以做的最好的事情,而不是通过ROM中的操作系统向你的客户发送自定义不可操作的手机,而内部用环氧树脂密封。