PHP安全性,访问控制允许 - 来源:*

时间:2012-03-27 16:53:42

标签: php api rest

背景
我正在创建一个REST api,它要求用户只使用一个JavaScript文件,因为我做了一个从服务器获取数据的ajax请求。
为了做到这一点,我在php中写了以下内容:

Access-Control-Allow-Origin: *

我有几个问题:
1)如果我打开其他域与我交互的能力,那么存在的安全漏洞是什么? (访问控制 - 允许 - 原点:*)
2)我该怎样做才能确保它? 3)这个“Allow-Origin”是否适用于所有浏览器? (移动......) - 或者没关系?

1 个答案:

答案 0 :(得分:2)

如果您使用通配符,则表示任何域都可以向您的域发出跨域请求并获取该页面。例如,假设您已登录到您的GMail帐户。当然,当你打开一个http://gmail.com的窗口时,你会立即看到你的电子邮件和消息(有一些重定向发生,但我们假设不是为了示例和简单)。

好吧,如果我创建一个网站(无论如何),我设法让你进入该网站,或者我设法修改你经常去的网站,我可以向GMail提出AJAX请求,如果GMail有Allow-Origin:*并且您已登录,AJAX请求将返回通常显示给您的页面的HTML;您的电子邮件列表。在最坏的情况下,我会得到您所有电子邮件的列表以及您发送给他们的人员,我最多也可以操纵这些请求并获取更多信息。

如果我是你,我不会使用通配符;我会使用某种可信域列表。

允许来源是强制服务器端。至于跨源AJAX支持,大多数浏览器都支持它。对于旧版本的IE,您必须使用其他对象来发出请求。

相关问题