3G上的iPhone cookie /缓存问题,优于wifi

时间:2010-08-10 02:54:21

标签: iphone cookies

我在使用旧的移动前网站时遇到问题,该网站使用PHP,MySQL,Cookie和HTML表单来记录用户,然后跟踪他们的会话(这是一个日历应用和留言板)。当我的iPhone连接到家里的wifi网络时,一切都很顺利,但是当我切换到3G时,cookie不再起作用,会话被丢弃。

我读了另一个帖子: Web site exhibits JavaScript error on iPad / iPhone under 3G but not under WiFi 其中海报在3G上遇到javascript问题但在WiFi上没有问题,并且建议是蜂窝电话运营商(在他的情况下为O2,在我的情况下为Orange UK)本身正在弄乱跨越3G的HTTP数据,而不是WiFi 。修复是使用更多的javascript来防止包含内联。

有没有人认为我的cookie和会话问题可能是由类似的问题引起的,如果没有人能想到另一种解释,理想情况下是修复?

2 个答案:

答案 0 :(得分:3)

啊哈 - 我发现了问题所在。有问题的网站上的cookie控件实际上是由安装phpBB运行的,它使用IP绑定作为安全措施。这将检查会话中连续请求的IP地址,如果不匹配则将其丢弃。必须是这样的情况,通过wifi我有一个不变的IP,而Orange UK必须在我运行3G时围绕几个IP地址反弹。通过关闭phpBB中的IP绑定解决了这个问题(你可以要求它比较整个地址或者仅比较前2或3个字节)。

答案 1 :(得分:0)

我猜你的3G提供商正以某种方式代理你的HTTP。对于一些(在我看来,比较狡猾的)ISP而言,这是常见的。这将解释为什么它在另一个连接上的行为与另一个浏览器的行为不同。

很多人会通过代理商(如Squid)访问您的网站。您需要解决此问题,以便它可以正常工作,或者您可能无意中阻止了对某些人的访问。

我的猜测是,您的代码可能只是以特定方式设置Cookie,这是浏览器原谅但该特定代理不支持的。我开始通过指定域进行故障排除,以不同的方式到期(在域的开头有点,没有域名/路径和没有的引号)以及打开或关闭Cookie2功能或仅HTTP功能。

iPhone浏览器是否有HTTP标头查看器?如果没有尝试将其绑定并在Firefox中使用类似LiveHTTPheaders的东西(请记住,如果您的网络可以检测到网络共享,理论上可以根据您是否系绳来打开/关闭其代理)。

您可能需要发布您的代码或HTTP脚本(只是标题),以便人们进一步诊断。