세션 실패에 대한 잘못된 진술

巴扎黑
풀어 주다: 2023-03-03 15:34:01
원래의
1138명이 탐색했습니다.

최근 Ajax 요청이 기존 세션을 호출한 다음 해당 세션을 기반으로 일부 처리를 수행하는 문제가 발생했습니다. 세션이 적용되는 경우도 있고 그렇지 않은 경우도 있다는 것을 알았습니다.

세션은 db에 저장되므로, 서로 다른 서버에 접근하여 발생하는 세션 불일치 문제가 없습니다.
처음에는 varnish를 사용하여 페이지를 캐시한 줄 알았는데, php로 요청이 실행되지 않고 http 캐시를 사용하게 된 것입니다. 바니시를 제거한 후에도 여전히 이 문제가 발생합니다.

요청한 페이지를 다시 정리한 결과 페이지 헤더의 중국어 간체 및 번체 링크가 HTML 접미사를 사용하고 있는 것을 발견했습니다. 이로 인해 HTML이 캐싱되어 이 링크를 클릭하면 페이지가 생성될 수 있습니다. 헤더가 실제로 세션을 생성하지 않습니다. 당연히 이 캐시된 페이지의 Ajax를 얻기 위한 세션은 없습니다.

알겠습니다. 해결책은 다음과 같습니다.
1 세션 매개변수를 ajax로 가져와 모든 요청과 함께 가져오면 처리를 위해 세션에 의존할 필요가 없습니다.
2 html을 php로 변경합니다. 그러나 바니시나 다른 캐싱 기술을 사용하는 경우에도 위와 같은 문제가 발생할 수 있습니다. 따라서 세션에 의존하지 않고 첫 번째 방법을 사용하는 것이 가장 좋습니다.


관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!