Я реализовал простую страницу PHP, которая показывает данные в реальном времени со встроенного устройства.
Javascript периодически отправляет POST-запрос сценарию CGI на сервере, и сервер отвечает запрошенными данными.
Проблема в том, что я использую аутентификацию пользователя / пароля Apache на веб-сервере (включая каталог cgi-bin по соображениям безопасности).
Когда я загружаю страницу, браузер запрашивает пользователя / пароль, и это нормально.
Проблема в том, что когда логин истекает, но JavaScript продолжает отправлять POST-запросы.
Он запрашивает у меня user / pass при каждом запросе, но, поскольку запросы разнесены на 500 мсек, у меня нет времени для их полного заполнения.
Это заставляет выйти из браузера на рабочем столе и приводит к сбою браузера на мобильном телефоне.
Можно ли разрешить javascript отправлять запросы только после действительной аутентификации? Или просто прекратить отправлять их, пока пользователь не войдет в систему?
Вот некоторые выдержки из кода.
setInterval(refreshTelemetry, 500);
function refreshTelemetry()
{
getTelemetry();
}
function getTelemetry()
{
xmlrequest.open('POST', "cgi-bin/telemetry.php", true);
xmlrequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
telemxhr.send("action=gettelemetry");
}
Спасибо всем заранее!