Подтвердить что ты не робот

Можно ли использовать ajax для входа в систему?

Я собираюсь включить систему регистрации на свой веб-сайт, но я не думаю, что это хорошая идея для безопасности использовать ajax для отправки и получения подтверждения от внешнего PHP скрипт, называемого login.php и выйти из системы таким же образом с другим logout.php любая рекомендация

4b9b3361

Ответ 1

Я не могу придумать никаких последствий для безопасности при использовании Ajax для обработки входа и выхода из системы. Неважно, что вы отправляете туда и обратно (до тех пор, пока вы не отправляете текстовые пароли от сервера к клиенту) между боковым уровнем ajax и sever, потому что сеанс будет тем, который будет удерживать состояние авторизации.

Однако вам все равно придется обновлять страницу или перенаправлять, чтобы показать соответствующий контент только авторизованному пользователю. Таким образом, я не думаю, что Ajax будет эффективен в этой конкретной ситуации.

Ответ 2

Безопасность

AJAX безопасен, как обычная старая + обновленная страница. В конце это всегда HTTP-запрос. Почему вы так думаете?

Однако, с точки юзабилити, убедитесь, что люди, которые отключили javascript, могут войти в ваше приложение.

Обязательно используйте метод POST для отправки вашего запроса AJAX в виде GET запросов, и их параметров (например, пароль с открытым текстом > ) может закончиться в ваших журналах веб-сервера, unles вы используете HTTPS.

Юзабилити

Как Grégoire указал на это:

Также из точки юзабилити автозаполнение не будет работать для форм AJAX на хроме и для загружаемых AJAX форм в firefox. Браузеры даже не захотят запомнить ваш пароль

Ответ 3

Вход через ajax POST должен быть безопасным, если у вас есть способ предотвратить атаки XSRF. Это можно сделать, установив заголовок X-CSRFToken в ваш запрос ajax. На стороне сервера у вас должно быть какое-то промежуточное программное обеспечение для проверки и проверки вашего токена CSRF из заголовка.

Вы можете установить токен csrf в cookie, а затем запросить его и установить в заголовке:

var csrftoken = $.cookie('csrftoken');

xhr.setRequestHeader( "X-CSRFToken", csrftoken);

(я использовал библиотеку jquery cookie здесь, чтобы illusrtate)

Ответ 4

GET или POST по сравнению с ajax-вызовом имеют одинаковый набор рисков безопасности. Тот или иной не является неявно более рискованным.

Ответ 5

Хорошие сообщения ajax безопасны

Все зависит от вашей кодировки, которую вы должны кодировать, имея в виду все возможные атаки, которые могут произойти.

использовать ajax только для отправки данных и выполнить всю аутентификацию в php и вернуть успешное сообщение

Ответ 6

Вы можете использовать AJAX с SSL-контейнером (HTTPS). Но страница отправителя также должна быть зашифрована. из-за политики перекрестных доменов.