我是REST API
创作的初学者。
我创建了一个REST AP
I(提供JSON输出),我可以访问多个用户(每个用户都有API key)
。
我希望每个用户只能在特定网站上使用API,而不能用于其他网站。
示例:
User-A(使用唯一的API密钥)将我的API用于“example1.com”。
User-B(使用唯一的API密钥)将我的API用于“example2.com”。
所以我的API应该在这两个网站上运行,他们无法在“example3.com”中运行它。
我如何限制它们?
答案 0 :(得分:0)
对于你想要完成的事情,请看CORS(跨源资源共享)这里另一个post
基本上在服务器端(PHP)
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With, content-type, access-control-allow-origin, access-control-allow-methods, access-control-allow-headers');
在你的情况下,你可以做类似的事情:
$http_origin = $_SERVER['HTTP_ORIGIN'];
if ($http_origin == "http://www.domain1.com" || $http_origin == "http://www.domain2.com" || $http_origin == "http://www.domain3.info")
{
header("Access-Control-Allow-Origin: $http_origin");
}
有关更多资源,请查看此post