有没有办法确保包含服务器密钥的php脚本只能通过来自特定原始服务器(在本例中为我的firebase应用服务器)的调用来运行(和查看)?怎么样? htaccess的?
我有这个PHP脚本,持有服务器密钥,以生成一个令牌,托管在另一个服务器'因为firebaseserver不运行php服务器软件。
<?php
include_once "FirebaseToken.php";
$uid = $_POST['uid'];
$level = $_POST['level'];
$tokenGen = new Services_FirebaseTokenGenerator("<secretkey>");
$token = $tokenGen->createToken(array("uid" => "custom:BAAJ"), array("admin" => False));
echo $token;
?>
脚本通过firebaseserver上的javascript代码调用,包含php脚本文件的完整路径,对于对密钥感兴趣的任何人都可以看到。然而,使用php生成令牌的整个想法是为了避免密钥的可见性......
function createToken(user) {
$.post('https://anotherwebserver/fullpath/maketokenscript.php', {uid: user, level: 'docent'}).done(doneCallback).error(function(error){
alert("Create token mislukt: "+error);
});
};
function doneCallback(token) {
ref.authWithCustomToken(token, authHandler);
}