2010-08-10 5 views
1

PHP, MySQL, 쿠키 및 HTML 양식을 사용하여 사용자를 로그인 한 다음 세션을 추적하는 예전의 모바일 사전 웹 사이트에 문제가 있습니다. 앱 및 메시지 보드). 집에서 Wi-Fi 네트워크에 iPhone을 연결하면 모두 정상이지만 3G로 전환하면 쿠키가 더 이상 작동하지 않고 세션이 삭제됩니다. 3G에서의 쿠키/캐싱 문제가 발생했습니다.

나는 다른 스레드 읽기 : Web site exhibits JavaScript error on iPad/iPhone under 3G but not under WiFi 하는 포스터가 3G에 있지만 무선 랜에 자바 스크립트 문제가 발생했습니다 및 제안 자체가 휴대 캐리어 (자신의 경우 O2, 내 경우에는 오렌지 UK)이었다이었다 3G를 거쳐가는 HTTP 데이터를 망친다.하지만 WiFi는 안된다. 수정 사항은 include의 인라인을 방지하기 위해 더 많은 자바 스크립트를 사용하는 것이 었습니다.

내 쿠키와 세션 문제가 비슷한 문제로 인해 발생할 수 있다고 생각하는 사람이 있습니까? 그렇다면 누군가가 대체 설명과 이상적인 해결책을 생각할 수 있습니까?

답변

0

3G 제공 업체가 HTTP를 어떻게 든 프록시하고 있다고 생각합니다. 제 생각에는 일부 ISP들이 이것을하는 것이 일반적입니다. 그것은 다른 연결에서 동일한 브라우저와 다르게 작동하는 이유에 대한 설명입니다.

많은 사람들이 Squid와 같은 프록시를 통해 사이트에 액세스합니다. 이 문제를 해결하여 제대로 작동해야하거나 실수로 일부 사용자의 액세스를 차단할 수 있습니다.

내 생각에 귀하의 코드는 브라우저에서 용서되지만 특정 프록시가 지원하지 않는 특정 방식으로 쿠키를 설정하는 것 같습니다. 도메인을 지정하고 다른 방법으로 만료 (도메인 시작/종료, 도메인/경로 및 따옴표없이 따옴표 붙이기)하고 Cookie2 기능 또는 HTTP 전용 기능을 켜거나 끄면 문제를 해결할 수 있습니다.

iPhone 브라우저 용 HTTP 헤더 뷰어가 있습니까? 테 더링을 시도하지 않고 Firefox에서 LiveHTTPheaders와 같은 것을 사용하십시오 (네트워크가 테 더링을 감지 할 수 있다면 테 더링 여부에 따라 프록시를 켜거나 끌 수 있음을 명심하십시오).

사람들은 더 이상 진단 할 수 있도록 코드 또는 HTTP 스크립트 (헤더 만)를 게시해야 할 것입니다.

3

아하 - 문제가 무엇인지 알아 냈습니다. 해당 사이트의 쿠키 제어는 IP 바인딩을 보안 수단으로 사용하는 phpBB 설치에 의해 실제로 실행되었습니다. 이렇게하면 세션 내의 연속 된 요청의 IP 주소를 확인하고 일치하지 않는 경우이를 삭제합니다. 내가 3G를 돌릴 때 Orange UK는 여러 개의 IP 주소를 반송해야하는 반면, 나는 변하지 않는 IP를 가지고있는 경우가되어야합니다. phpBB에서 IP 바인딩을 해제하여 문제를 해결했습니다 (전체 주소 또는 처음 2 ~ 3 바이트를 대신 비교하도록 요청할 수 있음).

관련 문제