2010-08-10 54 views
1

我在使用PHP,MySQL,cookies和HTML表單登錄用戶,然後跟蹤他們的會話的舊移動前網站遇到問題(這是一個日曆應用程序和消息板)。當我的iPhone連接到家裏的無線網絡時,一切都很順利,但是當我切換到3G時,Cookie不再起作用並且會話被丟棄。關於3G上的iPhone cookie /緩存問題,可以通過wifi上網

我讀到另一個線程: Web site exhibits JavaScript error on iPad/iPhone under 3G but not under WiFi 在海報正經歷上3G,但沒有WiFi的一個javascript問題,並建議是,移動運營商(O2在他的案件,Orange(英國)在我的情況)本身是與穿越3G的HTTP數據混淆,但不支持WiFi。解決方法是使用更多的JavaScript來防止包含內聯。

有沒有人認爲我的cookie和會話問題可能是由類似問題引起的,如果不是,任何人都可以想到另一種解釋,理想情況下是修復?

回答

0

我猜你的3G提供商以某種方式代理你的HTTP。一些(在我看來,更蹩腳的)互聯網服務提供商做這件事很常見。這將解釋爲什麼它在另一個連接上的相同瀏覽器的行爲不同。

很多人會通過代理(如Squid)訪問您的網站。你需要解決這個問題,否則你可能會無意中阻止訪問某些人。

我的猜測是你的代碼可能只是以特定的方式設置cookie,這是瀏覽器原諒的,但不被該特定代理支持。我會通過指定域名,以不同的方式到期(以域名開頭的域名和不包含域名/路徑的域名/路徑引用)以及打開或關閉Cookie2功能或HTTP專用功能來開始故障排除。

是否有iPhone瀏覽器的HTTP標頭查看器?如果不嘗試將其綁定到Firefox並使用類似LiveHTTPheaders的內容(請記住,如果您的網絡可以檢測到網絡共享,那麼理論上可以根據您是否連線開啓/關閉其代理)。

您可能必須發佈您的代碼或HTTP抄本(只是標題),以供人們進一步診斷。

3

啊哈 - 我發現問題是什麼。相關網站上的cookie控制實際上是通過安裝phpBB來運行的,phpBB使用IP綁定作爲安全措施。這會檢查會話中連續請求的IP地址,如果它們不匹配,則丟棄它。必須是通過WiFi的情況下,我有一個不變的IP,而橙色英國必須反彈幾個IP地址,當我跑過3G。通過關閉phpBB中的IP綁定來解決問題(您可以要求它比較整個地址,或者只是比較前兩個或三個字節)。

相關問題