Я собираюсь включить систему регистрации на свой веб-сайт, но я не думаю, что это хорошая идея для безопасности использовать ajax для отправки и получения подтверждения из внешнего php-скрипта под именем login.php и выхода из системы таким же образом с помощью еще одна logout.php любая рекомендация
Я не могу придумать никаких последствий для безопасности при использовании Ajax для обработки входа и выхода из системы. Неважно, что вы отправляете туда и обратно (до тех пор, пока вы не отправляете текстовые пароли от сервера к клиенту) между боковым уровнем ajax и sever, потому что сеанс будет тем, который будет удерживать состояние авторизации.
Однако вам все равно придется обновлять страницу или перенаправлять, чтобы показать соответствующий контент только авторизованному пользователю. Поэтому я не думаю, что Ajax будет эффективен в этой конкретной ситуации.
AJAX безопасен, как простая старая страница + обновить страницу. В конце концов, это всегда HTTP-запрос. Почему вы так думаете ?
Однако, с точки юзабилити, убедитесь, что люди, которые отключили javascript, могут войти в ваше приложение.
Не забудьте использовать метод POST
для отправки запроса AJAX, как и запросы GET
, и их параметры (такие как, скажем, пароль с открытым текстом ) могут закончиться в ваших журналах веб-сервера, а вы используете HTTPS.
Как сказал Грегуар :
Кроме того, из точки удобства использования автозаполнение не будет работать для форм AJAX на хроме и для загружаемых AJAX форм в firefox. Браузеры даже не захотят запомнить ваш пароль
Вход через ajax POST должен быть безопасным, если у вас есть способ предотвратить атаки XSRF. Это можно сделать, установив заголовок X-CSRFToken в ваш запрос ajax. На стороне сервера у вас должно быть какое-то промежуточное программное обеспечение для проверки и проверки вашего токена CSRF из заголовка.
Вы можете установить токен csrf в файл cookie, а затем запросить его и установить в заголовке:
var csrftoken = $ .cookie ('csrftoken');
xhr.setRequestHeader ("X-CSRFToken", csrftoken);
(Я использовал библиотеку jquery cookie здесь, чтобы illusrtate)
GET или POST по сравнению с ajax-вызовом имеют одинаковый набор рисков безопасности. Тот или иной не является неявным рискованным.
Вы можете использовать AJAX с SSL-контейнером (HTTPS). Но страница отправителя также должна быть зашифрована. из-за перекрестной политики домена.
Хорошие сообщения ajax безопасны
Все зависит от вашей кодировки, которую вы должны кодировать, имея в виду все возможные атаки, которые могут произойти
использовать ajax только для отправки данных и выполнить всю аутентификацию в php и вернуть успешное сообщение