繁体   English   中英

防止篡改客户端地理编码结果

[英]Prevent tampering with client-side geocoding results

我们正在构建使用基于位置的定价的服务。 用户可以输入地址并查看由各种服务器端算法确定的他所在区域的价格。 然后可以根据这些价格订购商品。

我试图弄清楚在这种情况下我们是否可以使用客户端地理编码(以避免达到Google Maps API使用限制),例如用户输入他的地址并且浏览器使用JS库获取地理编码结果并将其包含在表单提交中。 问题是用户可能会篡改表单提交,并可能将订单下达到他的地址以获取适用于不同坐标集的价格。

我想听听你对如何确保这一点的建议。 例如,如果地理编码结果可以某种方式签名以验证它没有被篡改,那将是惊人的吗?

绝不 相信 客户端 创建的 数据 他们可以做任何你可以做客户端的事情。

如果您希望客户端计算机执行请求,那么在安全性方面您将受到限制,因为它将全部是javascript,恶意用户可以检查脚本并查看您正在执行的操作。 因此,即使尝试“保护”它也会受到成功限制。

我唯一的建议就是在用户提交结果时进行“最终验证”服务器端。 这应该减少服务器端的API命中,但会保证安全性100%有效。

如果数据存储在用户的机器上,他们可以用它做他们想要的。 您可以加密它或者其他东西,或者可以将ID存储到地理数据表(如邮政编码,但组成您自己的类似系统)或地理数据的哈希值或其他内容,但是存储在其计算机上的任何内容都是他们的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM