在AJAX请求中保护"秘密"密钥

Lia*_*iam 1 security ajax jquery

假设我正在从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
    }
})
Run Code Online (Sandbox Code Playgroud)

mea*_*gar 6

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

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

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