2011-02-15 113 views
0

我有一个使用jQuery进行JavaScript调用的XML Web服务。这可以根据参数输入输出JSON或XML。保护PHP XML Web服务AJAX

有没有办法阻止某人轻松找到AJAX调用的URL,然后将其加载到cURL脚本中并解析数据。

该网站的用户不认证,但开放给一些创造性的方法!因为它是AJAX是用户代理集,或者我可以用任何方式使用.htaccess文件阻止它?

+2

没有,这是可悲的,但没有办法。 – 2011-02-15 10:40:45

+1

即使你得到了一些蹩脚的保护,任何对你的数据感兴趣的人都可能会来到这里,并通过工作代码获得详细的答案。因为在这个无耻的网站上,如果有可能夺取一些声誉点,那么没有人会关心网站管理员。 – 2011-02-15 10:52:40

回答

0

大多数Ajax请求发送标头X_REQUESTED_WITH = XMLHttpRequest。 因此,作为一个额外的措施检查X_REQUESTED_WITH标题

但是,这仍然不会阻止人们找到网址和运行他们,如果他们知道他们在做什么。

+0

但是一个很简单的东西来阻止简单的人? – 2011-02-18 10:22:08

0

在这种情况下没有真正的保护,因为浏览器发送到服务器的所有内容都可能是伪造的。

一个想法是用一些加密数据向客户端发送(会话)cookie。当Ajax-Request发出时,浏览器发回cookie数据。生成ajax响应的php脚本可以在实际发送响应之前检查cookie数据。 但这只是确保“外部”HTML页面在“内部”Ajax请求之前被调用。