Javascript 如何使用php隐藏api密钥?
各位。我正在尝试创建传奇联盟api,但我需要隐藏api密钥。我知道没有办法从前端隐藏钥匙,所以我就是这样做的,我不确定这是最好的方法。请帮帮我!!谢谢 HTML.fileJavascript 如何使用php隐藏api密钥?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,各位。我正在尝试创建传奇联盟api,但我需要隐藏api密钥。我知道没有办法从前端隐藏钥匙,所以我就是这样做的,我不确定这是最好的方法。请帮帮我!!谢谢 HTML.file var getID = function(playerName) { $.ajax({ type: "POST", url:"test.php", dataType:'json', data: {'url': "api/lol/na/v1.4/summoner/by-name/"+
var getID = function(playerName) {
$.ajax({
type: "POST",
url:"test.php",
dataType:'json',
data: {'url': "api/lol/na/v1.4/summoner/by-name/"+playerName+"?"},
success: function(data){
playerID = data[playerName].id;
console.log(playerID);
}
});
};
因此,每次调用ajax时,我都会向test.php文件发出ajax请求,并将url传递给它,然后php代码将使用url从游戏服务器获取请求,并将结果发送回前端
test.php
<?php
header('Content-Type: application/json');
$url = $_POST['url'];
$json = file_get_contents('https://na.api.pvp.net/'.$url.'api_key=key');
$obj = json_decode($json);
echo json_encode($obj, JSON_PRETTY_PRINT);
?>
只要Ajax请求只针对具有已建立会话的有效、经过身份验证的用户触发,这看起来就不错。否则,任何人都可以用任意的“playerNames”来称呼它
它肯定会防止您的API密钥被公开 只要
$json
中的所有内容都是公共的,我就觉得不错。否则,在编码并返回之前,必须先取消设置某些元素。