Intereting Posts
Ошибка HY093 с запросом MySQL PDO API-интерфейс Google Drive PHP – простая загрузка файлов обновить существующую строку в mysql, используя php-кодирование Laravel 4 Аутентификация не работает с субдоменами Если текущее время превышает 30 секунд за прошлый промежуток времени X (из базы данных) В чем разница между государственным, частным и защищенным? Длительный опрос в функции Laravel (sleep () делает замораживание приложения) Статические методы в PHP: зачем? JSON показывает ошибку 403, пытаясь извлечь данные из базы данных в android Codeigniter – отправка формы формы из разных действий контроллера Прокси-серверы PHP Как использовать FQL с php api? и токен доступа получение пустых результатов массива с использованием preg_match_all для значений, которые не соответствуют PHP Regex: как совместить \ r и \ n, не используя ? Изменение следующего раскрывающегося списка с предыдущим выпадающим событием onchange

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

Я собираюсь включить систему регистрации на свой веб-сайт, но я не думаю, что это хорошая идея для безопасности использовать 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 и вернуть успешное сообщение