我有一个文件caller.php,它需要一个GET URI来指定一个值来搜索数据库。然后使用php以JSON格式返回数据。保护GET调用
我想保护caller.php,以便它只能从另一个页面get.php使用AJAX调用进行访问。
什么是最好的方式去做这件事?
我有一个文件caller.php,它需要一个GET URI来指定一个值来搜索数据库。然后使用php以JSON格式返回数据。保护GET调用
我想保护caller.php,以便它只能从另一个页面get.php使用AJAX调用进行访问。
什么是最好的方式去做这件事?
您可以检查会话以查看该呼叫是否经过授权。 AJAX请求会向您发送PHP会话cookie。这假设caller.php是由某种使用会话的用户登录系统来保护的
+1给予了太多的关注 - 这通常是要走的路 – 2011-05-29 08:07:51
是否可以将caller.php放在根目录之外? – hankry 2011-05-29 08:13:56
你是指你的Web服务器的文档根目录? – 2011-05-29 08:18:06
我想保护caller.php,以便它只能从另一个页面get.php使用AJAX调用进行访问。
你不行。 AJAX调用可以很容易伪造,就像它的起源一样。
在服务器端没有可靠的方法来判断一个调用是否是Ajax调用,也不是来自哪里。
您需要以相同的方式保护您的Ajax资源您可以确保正常页面的安全。通过授权系统如用户登录等等。
没有这样的授权系统,你必须假设每个人都可以访问该URL。
我提交了此社区Wiki,因为此问题至少有两个重复内容,但我无法找到他们现在。呃,好吧。 – 2011-05-29 08:04:15
作为传输的SSL实际上并不适用于这种情况。 – 2011-05-29 08:05:52
@埃米耶,删除。我对“Ajax请求会向您发送PHP会话cookie”问题标题 – 2011-05-29 08:07:00
向您展示代码好友 – diEcho 2011-05-29 08:08:02