在AJAX请求中保护“秘密”密钥

时间:2016-05-24 13:41:33

标签: jquery ajax security

假设我正在使用API来自AJAX的数据。 (例如,himoviedb)

现在API需要API密钥才能从中获取数据,但我不想在滥用此密钥时向公众显示此API密钥。

是否有解决方案确保此密钥是安全/隐藏的,而不是通过PHP函数进行路由?

$.ajax({
    type: "POST",
    url: "http://api.themoviedb.org/3/search/movie?query=" + data + "&api_key=xxxxxxxxxxxxxxxxxxxxxx",
    dataType: 'jsonp',
    data: {
        data: data,
    },

    success: function (resData) {
        // whatever functions here
    }
})

1 个答案:

答案 0 :(得分:6)

不,没有。这完全不可能。

不是将您的密钥分发给客户端,而是存储密钥服务器端并通过公开您自己的API来“代理”资源,该API可以为客户端提出第三方请求。

您自己的API可以使用您希望的任何形式的限制和身份验证。