오늘 클라이언트에 내장된 웹페이지용 PHP 인터페이스를 개발하는 프로젝트에서 매우 짜증나는 문제가 발생했습니다. 테스트에는 5개의 iPhone이 모두 테스트되었으며 한 대만 문제가 발생하지 않았습니다. 9.1 최신 버전의 iPhone 6s가 작동하지 않습니다. 매우 이상하고 이유를 찾을 수 없습니다.
그러다가 fiddler를 사용하여 패킷을 캡쳐한 결과, 이 기기는 쿠키를 생성해야 하는 인터페이스 요청 이후에 쿠키를 생성하지 않아 앞으로 쿠키를 사용해야 하는 인터페이스를 사용할 수 없다는 사실을 발견했습니다. 웹페이지가 클라이언트에 내장되어 있기 때문에 사파리에서 쿠키가 활성화되어 있는지 확인하기 위해 설정에 가보니 쿠키도 활성화되어 있는 것을 발견했습니다.
정말 이상해요! 또 어떤 이유가 있을 수 있나요? 기기의 시간을 보니 현재 시간과 달랐습니다. (당시 날짜를 신경쓰지 않았으니 적어도 하루는 빨랐을 겁니다.) 서버가 설정한 쿠키 만료 시간은 1일이기 때문입니다.) 날짜를 현재 정확한 시간으로 조정한 후 쿠키를 생성할 수 있습니다.
이후 실험에서는 쿠키 설정 만료 시간이 1일일 때, 현재 쿠키 설정 시간이 2016년 3월 24일 22시(서버 시간)이고, 클라이언트 시간은 다음과 같다고 가정합니다. 2016년 3월 25일 22:00시에는 쿠키가 설정되자마자 즉시 만료되므로 쿠키 설정에 성공하지 못합니다.
위 내용은 서버측에서 PHP에 쿠키를 설정하는 방법을 소개하고 있지만, 클라이언트측에서는 적용되지 않는 내용이기도 합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.