保护GET呼叫

时间:2011-05-29 07:59:26

标签: php ajax http get

我有一个文件caller.php,它接受一个GET URI,指定一个值来搜索数据库。然后使用php以JSON格式返回数据。

我想保护caller.php,以便只能使用AJAX调用从另一个页面get.php访问它。

最好的方法是什么?

2 个答案:

答案 0 :(得分:9)

  

我想保护caller.php,以便只能使用AJAX调用从另一个页面get.php访问它。

你做不到。一个AJAX调用很容易被伪造,它的起源也是如此。

在服务器端,没有可靠的方法来判断一个调用是否是Ajax,也不是它来自哪里。

您需要保护您的Ajax资源以同样的方式保护正常网页 - 例如通过授权系统,如用户登录,等等。

如果没有这样的授权系统,您必须假设每个人都可以访问该URL。

答案 1 :(得分:3)

您可以检查会话以查看呼叫是否已获得授权。 AJAX请求将向您发送PHP会话cookie。这假设caller.php由某种使用会话的用户登录系统保护