【发布时间】:2012-03-07 18:56:15
【问题描述】:
所以我一直读到我的眼睛在流血,所以这是我的问题......
我的后端是 PHP
我想在网上推出一项服务,我们称之为 GREATSERVICE.com。我想让人们注册一个 API 密钥并按域限制它,以便只有 http://www.????.com 可以使用它。 我知道我可以只存储该人输入数据库的 API 和域。
我不知道如何验证该服务是否被正确的网站访问。
我的意思是说我正在使用域地址 temp-13-43.xfinity.com 浏览网络,然后我会访问网站 servicehost.com。 servicehost.com 有一个 API 密钥....我如何识别服务是从 servicehost.com 访问的,而不是客户端 temp-13-43.xfinity.com 地址...
所以我想弄清楚的是在客户端的 javascript 中。有点像谷歌地图。地图只是使用 API 密钥将一些 javascript 加载到页面上,但 API 密钥会检查网站的 URL,而不是访问网站的客户端。
那是我迷路的地方。我如何检查用户访问的站点的 DOMAIN,并且只有当它使用正确的 API 时它是正确的,然后才呈现服务。
所以在头部我有 javascript
So on the SERVICEHOST site I give them the code so that they can use the mygreatservice widget. Think along the lines of the twitter embeded viewer
<SCRIPT type="text/javascript" src="http://mygreatservice.com/service.php?api=asdfasdfasdfa></SCRIPT
标签指向一个PHP页面返回需要的javascript。同样,我只是想确保我要返回的小部件在适当的站点上用于轻度安全/跟踪目的。
谢谢
【问题讨论】:
-
会员必须注册才能为其应用获取唯一令牌。然后,将他们的域和令牌添加到数据库。您需要做的就是检查这些详细信息是否与 API 请求匹配。如果可以的话,看看 Facebook Developers。
-
好的,但是每当客户访问它时,我如何将 servicehost 站点的值返回到我的脚本。您的评论是我所知道的理论,但在实践中我需要确保 servicehost.com 是请求信息的站点。
标签: javascript security api web key