Google Translation API v2:允许某些HTTP引荐来源

时间:2018-03-23 16:27:50

标签: http google-api google-translate

我正在使用客户端Google的翻译API(v2),这意味着我的API密钥将公开显示给所有人。我正在通过AJAX调用 / translate 方法。

在Google>下证书> API密钥 - >关键限制 - >申请限制

我想仅允许从 www.aliceandbob.com 域调用API。

在以下网址添加此域名后: HTTP引荐来源(网站)。我收到403禁止错误,但当我手动将http referer标头设置为我的http请求时,它会通过,API会回答我的回答。

    function sendPost($data)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://translation.googleapis.com/language/translate/v2");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
-->       curl_setopt($ch, CURLOPT_REFERER, "http://www.aliceanbob.com");
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }

传递数据

$ data = array('q'=>'这是世界','目标'=>'de','key'=>“#my_api_key#”);

  

回复OK 200。

但是当我删除时:

curl_setopt($ch, CURLOPT_REFERER, "http://www.aliceandbob.com");

我收到了回复:

  

403来自referer \ u003cempty \ u003e的禁止请求被阻止。

任何想法如何只防止一个网站(域)可以正确调用API调用,但不允许任何其他人手动设置http referer和act域( www.aliceandbob.com )?

1 个答案:

答案 0 :(得分:0)

在“应用程序限制-HTTP引荐来源网址(网站)”中,您必须添加:http://www.aliceandbob.com/*或:http://*.aliceandbob.com/*

enter image description here