Вы входите в систему с помощью ajax.
Серверная сторона проверяет логин и начинает сеанс.
Даже если клиент игнорирует ответ от вызова ajax, важно, чтобы любые вызовы ajax проверяли, был ли сеанс правильно создан при входе в систему, и отказывались делать то, что запрашивалось, если сеанс не был должным образом открыт во время входа в систему.
В PHP (пример):
Логин:
<?php
header('Content-type: text/json');
session_start();
if ( check_password() ) {
// send ok response
}
else {
// send not ok response
}
// if that session variable exists, then we logged in successfully
$_SESSION['user'] = $user;
другие вызовы ajax:
<?php
header('Content-type: text/json');
session_start();
if ( ! isset($_SESSION['user'] )) {
// send not ok response
// on the client, this will redirect to the login page
exit;
}
$user=$_SESSION['user'];
... rest of the code here
Для каждого вызова ajax, когда приходит ответ, вы должны сначала проверить, в порядке ли ответ, - до вас, чтобы определить, как вы хотите, чтобы это было представлено.
В качестве примера ответ может выглядеть в JSON как
- не зарегистрировано:
{ "ok":"N","error":"not logged in"}
- зарегистрировано:
{ "ok":"Y","data":[{"name":"xxxx","age":19},{"name":"yyy","age":91}]}
- или
{ "ok":"Y","data":"Some text"}
и т. Д., И т. Д. *
Если все в порядке, вы приступаете к обработке ответа. Если нет, вы можете, например, перенаправить на страницу входа.
Обратите внимание, что в PHP каждый вызов ajax автоматически включает идентификатор сеанса (это cookie), поэтому PHP знает, какой сеанс связан с конкретным запросом.