我们正在建立一个服务,使用基于位置的定价。用户可以输入一个地址并查看由各种服务器端算法决定的区域内的价格。然后,可以根据这些价格订购商品。
我试图找出在这个场景中是否有一种方法可以使用客户端地理编码(以避免达到Google的使用限制),例如,用户输入他的地址,浏览器使用JS库获取地理代码结果,并将其包含在表单提交中。问题是,用户可能会篡改表单提交,并可能向他的地址下订单,以获取适用于不同坐标集的价格。
我想听听你对我如何保证这一点的建议。例如,如果可以以某种方式对地理代码结果进行签名以验证它没有被篡改,那就太棒了?
发布于 2010-09-16 13:57:28
如果您希望客户端机器执行请求,您将在安全性方面受到一定的限制,因为这都是javascript,恶意用户可以检查脚本并查看您正在做什么。因此,即使试图“确保”它的成功也是有限的。
我唯一的建议是,在用户提交结果时,在服务器端进行“最终验证”。这将减少服务器端的API命中,但将使安全性保持100%的有效性。
发布于 2010-09-16 13:57:03
Never trust data created clientside.任何你能做的客户端,,他们可以。
发布于 2010-09-16 13:59:09
如果数据存储在用户的机器上,他们可以用它做他们想做的事。您可能可以加密它或其他什么,也可以将ID存储到地理数据表(比如邮政编码,但组成您自己的类似系统)或地理数据的散列或其他什么,但是存储在他们机器上的东西都是他们的。
https://stackoverflow.com/questions/3727332
复制相似问题