Я использую Zend с истечением срока действия сеанса до 1800 секунд. Мне было интересно, обновляется ли это время окончания сеанса до 1800 секунд каждый раз, когда я делаю запрос от браузера на сервер от имени пользователя, а также когда пользователь загружает новую страницу или он просто обновляется, когда пользователь загружает новая страница?Истечение срока действия PHP - когда оно обновляется?
ответ
Когда пользователь загружает новую страницу, то есть браузер, выполняющий запрос на сервер от имени пользователя. Таким образом, два сценария, которые вы нарисовали выше, - это одно и то же.
Когда сеанс запущен, идентификатор сеанса отправляется в браузер, который обычно хранит его в файле cookie. Затем браузер использует файл cookie для передачи идентификатора сеанса на сервер с каждым запросом на идентификацию пользователя. Сервер отслеживает, когда сеанс истекает, и эта область может немного запутаться (см. How do I expire a PHP session after 30 minutes?)
Но пока вы используете тот же браузер для выполнения запросов, истечет срок действия сеанса в двух сценариях вы дали.
Файл cookie, содержащий идентификатор сеанса (и все другие файлы cookie, исходящие с целевого сервера), перемещается вместе с каждым запросом, который вы делаете на сервер, будь то обновление страницы или вызов ajax.
Так что да, сеанс обновляется при любом взаимодействии с сервером.
В основном это зависит от многих факторов. Во многом браузер и версия браузера. Вы можете прочитать это сообщение: How do I expire a PHP session after 30 minutes?
Когда вы выполняете session_start(), если это первый вызов, сервер сохраняет информацию о сеансе в файле в папке/tmp и отправляет в ваш браузер файл cookie с этим идентификатором файла, иначе сервер получит идентификатор файла cookie и загрузит информацию о файле. Продолжительность этого файла cookie по умолчанию в конфигурации php составляет 30 минут.
Вы можете увеличить время создания этого файла cookie в директиве php.ini или вручную с помощью функции ini_set или в файле .htacces. Вы устанавливаете директиву session.cookie_lifetime. Значения - это количество секунд или если установлено значение cookie, действительны до тех пор, пока вы не закроете браузер
Другое решение - это сделать маркерную систему для пользователей, например, вы вручную отправляете cookie в браузер, срок действия которого истекает через 2 месяца ширина маркера (большой случайный ключ, сохраненный в таблице базы данных с полем идентификатора пользователя). Когда сеанс недоступен, вы проверяете, существует ли файл cookie, и вы можете воссоздать сеанс входа в систему, введя пользователя вручную с маркером cookie.
- 1. Истечение срока действия PHP
- 2. истечение срока действия php
- 3. Истечение срока действия PHP
- 4. истечение срока действия Symfony
- 5. JsonWebToken: истечение срока действия по активности и истечение срока действия
- 6. Истечение срока действия BigQuery
- 7. Истечение срока действия аутентификации
- 8. Сессия/Cookies Истечение срока действия
- 9. Истечение срока действия ключа подписи
- 10. Android: истечение срока действия geofence
- 11. Истечение срока действия пароля login.defs
- 12. NodeJS - Истечение срока действия сообщений
- 13. Asp.net MVC 2.0 истечение срока действия TempData
- 14. Истечение срока действия Appengine с Objectify
- 15. истечение срока действия memcached установлен на 0
- 16. истечение срока действия учетной записи/истечение срока действия пароля в активной директории
- 17. Проверка на истечение срока действия профайла
- 18. Истечение срока действия токена обновления Azure
- 19. Истечение срока действия пароля в Служб Google
- 20. Истечение срока действия встроенного подписи Docusign
- 21. Angularjs: истечение срока действия для $ cacheFactory
- 22. Истечение срока действия ASP.NET - Идентификатор события 1309
- 23. Google App Engine - истечение срока действия Memcache
- 24. Истечение срока действия в Java (Wicket)
- 25. ASP.Net HttpCookie Истечение срока
- 26. Аутентификация форм - истечение срока действия проезда
- 27. Истечение срока действия в zend framework 2
- 28. Проверка и истечение срока действия сеанса
- 29. Истечение срока действия не работает в DocuSign
- 30. Истечение истечения срока действия байпаса в javascript
вы можете установить его на 5 секунд и проверить его. – goat
Вероятно, это зависит от того, как вы используете сеанс и какие параметры и конфигурации вы используете. – RockyFord