Как я могу получить API от авторизованного пользователя? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу получить API от авторизованного пользователя? [закрыто]

Сообщение Anonymous »

Я разработал API REST с использованием PHP с аутентификацией на основе сеансов. Как я могу получить API от авторизованного доступа? Если пользователь входит в систему через браузер и копирует Session_id, он может попытаться получить доступ к API, используя такие инструменты, как Postman или Curl. Как я могу это предотвратить?. < /P>
Вместо использования сеансов я попытался использовать токены JWT и OAuth. Тем не менее, их также можно увидеть в инструментах разработчика браузера. Пользователь может скопировать токен и установить необходимые заголовки, чтобы имитировать запрос браузера, что позволяет легко получить доступ к API.`if (!isset($_SESSION['auth'])) {
header('Location: index.php');
exit();
}

if (
$_SESSION['pdf_token_ip'] !== $_SERVER['REMOTE_ADDR'] &&
$_SESSION['pdf_token_ua'] !== $_SERVER['HTTP_USER_AGENT']
) {
http_response_code(403);
exit("Access denied: token origin mismatch.");
}

$file = __DIR__ . '/secure_pdfs/confidential.pdf';
if (!file_exists($file)) {
http_response_code(404);
exit("File not found.");
}

header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="confidential.pdf"');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;`
< /code>
Это мой PHP -код, который возвращает файл PDF. Тем не менее, это не видно в сети Chrome или Edge Browsers Devtools. Я использую pdf.js с холстом, чтобы отобрать PDF на стороне клиента. Я хочу, чтобы этот API был доступен только через браузер. Если кто -то пытается использовать такие инструменты, как Postman или Curl, PDF выявляется как файл или Base64. Вот почему я хочу предотвратить доступ от сторонних инструментов.

Подробнее здесь: https://stackoverflow.com/questions/797 ... rized-user
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»