2010-12-20 53 views
0

我有一个PHP代码,它使用Web服务来查询一些数据。然而,这个Web服务限制每秒基于服务器的查询(我不确定确切的机制,但它似乎是IP地址)运行一个使用PHP代码的AJAX查询,限制客户端的查询/秒?

我使用ajax从我的服务器上的PHP文件查询这些数据,但有什么方法可以让我的客户通过伪造他们请求数据而不是我的服务器来搜索这些数据?

问题是我从服务器获取RateExceeded错误消息,只要两个客户端请求相同的页面,这是相当明显的,因为web服务只看到一个服务器,这是我的服务器。

所以,我可以以某种方式,做到这一点的是,当这些客户端查询到的数据,该服务,而认为该请求被通过发起这些客户端,而不是我的服务器。

+2

没有直接关系,但你可以缓存在服务器上的结果吗?这样,如果两个客户端在短时间内要求相同的信息,则第二个客户端将从您的服务器接收缓存版本,并且Web服务从不会看到第二个请求。这可能对利率问题有所帮助。 – Piskvor 2010-12-20 11:01:25

+0

是啊,我已经给这个思想早了,这是我脑子里想,如果我没有找到我上面贴出的问题的解决方案。究其原因,这不是正是我想要的是我“做”想客户端直接访问web服务,以便记录服务器获取V/S的集体记录的客户获取是一对多的...所以喜欢的工作1周由单独的服务器,可以在一天内完成与7个客户端... :) – Stoic 2010-12-20 11:23:29

+0

从视WS点,你不*有* 7个客户端,你有1个客户端7倍的请求。嗯... – Piskvor 2010-12-20 11:29:11

回答

2

你不能真的假的它,但如果你可以通过AJAX直接查询web服务,它应该看到客户端的IP地址。请注意,如果您对WS返回的数据进行任何类型的处理,则必须在JavaScript中在客户端执行它。

如果从服务器到WS请求中包含的机密数据(例如某种访问关键的),它的客户端不能看,这种做法是没用的。

+0

实际上这是一个服务的集合,每个服务都通过一个Master类在我的脚本中用php类查询。所以我想,这是可能的。你能把我连接到类似的东西,请教一些教程吗?在某种程度上,我刚从Ajax开始! – Stoic 2010-12-20 11:24:10