我如何保护我的AJAX服务?

Sam*_*tch 3 php ajax jquery web-services

现在我正在开发一种服务,处理覆盖在谷歌地图上的当地餐馆的评论/推荐.基本上是Yelp,但仅限于一定的利基.无论如何,因为我不想加载每个位置并立即查看,我终于开始使用jQuery和AJAX调用了.

我的问题是:如何阻止其他人从服务器上的ajax脚本中"抓取"数据?

主要的地图/位置信息功能需要是公开的,因为用户不必登录以使用该应用程序,因此可能简单地归结为难以刮擦.我希望你们中的一位AJAX老手可以指出我更好的想法,或者一些我还没有找到的"最佳实践"文档.

到目前为止,我所能想到的只有:

  • 面向用户的脚本在服务器上打开一个短暂的会话,如果没有活动会话,AJAX调用将无法运行.
  • 发送某种访问密钥以及应用程序代码,并要求在所有AJAX调用中.但不确定如何以一种不容易绕过的方式最好地实现这一点.

Bra*_*rad 5

您无法完全保护您的AJAX Web服务.即使你破坏了你的数据并混淆了你的源代码,只需启动一个数据包嗅探器或调试代理,搞清楚,然后从中汲取它,这是微不足道的.

我要做的就是你提出的建议......只有在网站上有活动会话的用户才能拨打电话.然后从那里,油门请求.

即使是繁忙的普通用户也不会每分钟发出少量请求.您可以分析日志以确定好的数字.即使您将服务限制为每分钟20次,这种限制也会使那些想要复制所有内容的用户毫无用处.

不要仅限于会话数据......请密切关注IP地址.完全有可能随时发起请求并获得新会话.定期检查日志以查看是否有任何问题,并相应地调整您的策略.

最后,定期搜索您的内容.Google是查找版权侵权者的绝佳工具.如果使用特定数据(例如GPS坐标),则实际上可以使用坐标的噪声区域中的特定值对坐标进行水印.