@fastboot

JS скрипт вызывает .PHP файл, а PHP должен понять что обращаются с сервера?

host/test.php
---
host/index.html JS запускает в фоне /test.php
test.php должен понять что запрос идёт от локальной машины, иначе любой желающий может обращаться к /test.php и получать от скрипта ответ.
---
как называется это защита? как понять эту логику?
  • Вопрос задан
  • 186 просмотров
Решения вопроса 3
@fastboot Автор вопроса
как вариант $_SERVER['HTTP_REFERER']
но я предполагаю что это слабая защита
Ответ написан
sasmoney
@sasmoney
возможно оно
$success = 123;
$result = array(
'success' => "$success"
); /* какой-то результат */
if($result == NULL){ /* результат отсутствует */
header("Location: /");
exit();
}else{
echo json_encode($result);
}
?>
Ответ написан
Комментировать
@wadowad
В начале файла test.php разместите следующее:

if (!strstr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) {
	die();
}


P.S. Просто предупрежу, что на ios в Сафари может работать не так, как задумывалось, например, в рефере могут отсутствовать get параметры.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Canti
host/index.html доступен отовсюду? Как вы его открываете?

Может передавать в параметрах token:
host/index.htm?token=secret_token

Этот же токен будет пробрасываться дальше в test.php и там проверятся. Если валидный, то скрипт запускается, если нет то ничего не будет работать.
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Никак это не нужно защищать, если ресурс открытый (публичный).
Если же маршрут закрыт авторизацией, то и вопрос отпадает.
Ответ написан
Комментировать
Это называется , черт знает что ...

Для того что бы взаимодействовал клиент и сервер передают в заголовках/параметрах_запроса ключ авторизации , далее уже на уровне приложения решаете что делать с этим клиентом , еще можно делать проверку по белому списку ip , для данного случая вам может подойти , то есть если у вас белый ip локальноц машины , то просто разрешите запросы только с нее
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 20:09
9000 руб./за проект
28 апр. 2024, в 19:54
2000 руб./за проект
28 апр. 2024, в 19:54
5000 руб./за проект