Я изучаю AJAX и у меня есть сомнения по поводу безопасности.
У меня есть эта функция PHP, которая проверяет состояние сессий.
public function index()
{
$logged = is_logged_APP();
if(!$logged)
{
echo "0";
}
}
Здесь у меня есть вызов ajax, который получает статус сеанса.
$.post(base_URL+"/MainAPP",function(data)
{
if(data == 0)
{
alert('not logged in');
}
else
{
alert('logged in');
}
}).fail(function()
{
alert( "error" );
});
Если я изменю статус условия if и сохраню файл js, в который я вошел, я что-то упустил?
Спасибо
Вы должны использовать сеансы с php, чтобы доставлять контент только для авторизованного сеанса.
Для решения вашей проблемы это было бы эквивалентно установке оповещения в «залогинен» путем добавления кода:
alert("logged in..");
Вы можете сделать это, просто попросив браузер сделать это без хитрости с вашей условной или вызываемой функцией, но какой смысл в том, чтобы имитировать страницу входа, если ваши данные на стороне клиента уже не содержат данных, которых не должно быть?
По сути, ваш php является привратником для вашего клиента. Все, что находится в javascript, должно рассматриваться как общедоступное после отправки клиенту.
Редактировать: у вас есть несколько вариантов перенаправления страницы, но смысл состоит в том, чтобы проверить аутентификацию пользователя, как только вы получите доступ к ограниченному контенту, поэтому вам нужно будет убедиться, что это они, когда вы попадете на эту страницу. Вы можете использовать функцию заголовка php:
header("Location: auth.php");
Заметьте, что я указываю на файл php? Вы захотите использовать что-то вроде файлов cookie или переменных сеанса, которые уникальны и не повторяются для каждого пользователя, чтобы убедиться, что это они, когда они попадают на эту страницу. Затем вы можете отобразить соответствующую информацию в зависимости от того, какой пользователь это. Сбрасывать html-файл в общую папку, а затем проверять пароли, чтобы просто перенаправить на эту страницу, бессмысленно. Вы даже можете использовать JavaScript, чтобы перенаправить страницу с помощью:
window.location = "auth.php";
Но проблема останется в том, что вам придется проверять их в php, поэтому на самом деле нет смысла (или даже положительного аспекта безопасности) включать ajax в процесс входа в систему / аутентификации, за исключением того, что вы хотите, чтобы php предоставил значения обратно редактировать текущую страницу.
Других решений пока нет …