Есть ли способ убедиться, что php-скрипт, содержащий ключ сервера, может быть запущен (и просмотрен) только при вызове с определенного исходного сервера, в данном случае мой сервер приложений firebase? Как? .htaccess?
У меня есть этот php-скрипт, содержащий секретный ключ сервера, для генерации токена, размещенного на «anotherwebserver», так как 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;
?>
Сценарий вызывается с помощью следующего кода javascript на firebaseserver, содержащего полный путь к файлу сценария 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);
}
Задача ещё не решена.
Других решений пока нет …