PHP - 保护RESTful API请求

时间:2014-12-05 16:43:47

标签: php ajax api security rest

我使用JSON API来获取网站的数据。我知道可以使其安全的各种方法,但我的情况与常用方法不同。

由于跨域问题,我不得不创建一个包含各种PHP文件的API文件夹,这些文件对REStful API执行cURL请求。然后我在我的网站上通过AJAX请求这些本地PHP文件。在下一个版本中,它应该是JSONP以避免这个问题。

这些JSON请求中的许多都包含敏感信息,所以我做的第一件事就是检查HTTP Referrer,这样人们在检查JavaScript代码时就不会抓取URL并尝试在浏览器上运行它。这显然不安全,我也不应该依赖它。

我尝试发布到请求的任何数据都将通过JavaScript进行,因此API键或令牌之类的内容将会被显示,并且会破坏整个目的。

有没有办法阻止这些PHP文件在网站外运行?基本上让游客无法进入?

1 个答案:

答案 0 :(得分:0)

这不需要对REST做任何事情。您有一个服务器端REST客户端,使用cURL调用REST服务,浏览器无法看到此过程的任何内容。在您不想为此AJAX客户端构建自己的REST服务之前,这只是一个常规的Web应用程序(从浏览器和AJ的AJAX客户端的角度来看)。正如洛伦兹在评论中所说,你应该像平时那样使用会话。就这样。如果要限制对某些页面的访问,可以使用访问控制解决方案,例如:基于角色的访问控制非常普遍。