>백엔드 개발 >PHP 문제 >PHP 세션 점프가 실패하면 어떻게 해야 할까요?

PHP 세션 점프가 실패하면 어떻게 해야 할까요?

藏色散人
藏色散人원래의
2020-08-10 09:46:302948검색

잘못된 PHP 세션 점프에 대한 유일한 해결책은 다음과 같습니다: 1. "session.save_path"의 액세스 권한을 확인하고 수정합니다. 2. "session.use_trans_sid" 및 "session.use_only_cookies"의 설정을 수정합니다.

PHP 세션 점프가 실패하면 어떻게 해야 할까요?

권장: "PHP Video Tutorial"

일반적으로 페이지 간 세션 실패가 발생하며 이는 기본적으로 PHP 구성과 관련이 있습니다.

1. session.save_path에는 접근 권한이 부족하거나, 경로에 문제가 있습니다.

2. session.use_trans_sid 및 session.use_only_cookies 설정에 문제가 있습니다.

php.ini 확인:

경로가 정상이고 세션 값이 파일에 정확하게 기록되어 있으므로 session.save_path는 괜찮습니다.

그런 다음 session.use_trans_sid를 확인하고 다음을 찾으세요.

세션을 전달하는 방법에는 두 가지가 있습니다. 하나는 쿠키 전달을 기반으로 하고 다른 하나는 URL을 기반으로 합니다. 통과.

쿠키 전달이란 클라이언트의 세션 정보를 쿠키를 통해 저장했다가 서버에 요청을 보낼 때 자동으로 쿠키 정보를 가져와 서버가 읽을 수 있도록 하는 것을 의미합니다. 이는 일반적으로 사용되는 방법입니다.

URL 전달은 a.php?sessid=... 와 같은 점프 링크를 클릭한 후 세션 정보를 자동으로 추가한 다음 자동으로 $_GET['sessid'] 새 페이지에서 읽어오는 것입니다. 이 프로세스는 자동으로 숨겨져 있으며 쿠키를 통과하는 것처럼 눈에 띄지 않습니다.

그리고 session.use_trans_sid는 URL을 사용하여 세션을 전달할지 여부를 나타내므로 session.use_trans_sid 값이 0이고 사용자의 브라우저가 쿠키를 비활성화하면 페이지 전체에서 세션이 유효하지 않게 됩니다.

하지만 session.use_trans_sid를 1로 설정한 후에도 세션이 여전히 실패하므로 session.use_only_cookies를 확인하고 다음을 찾아야 합니다.

Session.use_only_cookies는 세션 전달을 위해 쿠키만 사용할지 여부를 나타내므로 1로 설정하면 session.use_trans_sid=1이더라도 URL 전달이 사용되지 않습니다.

따라서 URL 전달 방법을 활성화하려면 session.use_trans_sid=1, session.use_only_cookies=0을 설정해야 합니다.

위 내용은 PHP 세션 점프가 실패하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.