Являются ли сеансы PHP более безопасными, чем вызовы ajax, при условии, что для обоих используется https? - PullRequest
0 голосов
/ 14 апреля 2019

Я пишу систему входа в систему для веб-приложения. В настоящее время я создаю сеанс php и генерирую токен, который хранится в переменной сеанса PHP перед любым выводом HTML или другим. Этот токен читается в JavaScript из сеанса php с помощью простого встроенного эхо-кода PHP и кратко сохраняется в переменной javascript. Затем он отправляется во всех запросах ajax, и если токен, отправленный в запросе ajax, не совпадает с токеном, хранящимся в сеансе PHP, вызов ajax прерывается. Альтернативой может быть сделать ajax-вызов DOMContentLoaded в php-скрипте, сгенерировать токен, сохранить хеш-код mysql, вернуть неперехваченный токен через ответ ajax и сохранить его в переменной JavaScript. При последующих вызовах ajax на той же странице я мог возвращать новый токен каждый раз, чтобы использовать его в последующем вызове ajax.

Мой вопрос заключается в том, является ли сохранение токена в основном в сеансе PHP, но все же чтение его через php echo в переменную JavaScript более безопасным, чем возвращение токена через ajax и сохранение его в переменной JavaScript. Преимущество метода ajax состоит в том, что он позволяет генерировать новый токен и возвращать его при каждом вызове ajax.

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

...