【问题标题】:iPhone cookie/caching issue on 3G, fine over wifi3G 上的 iPhone cookie/缓存问题,通过 wifi 正常
【发布时间】:2010-08-10 02:54:20
【问题描述】:

我在使用 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 而不是 WiFi 的 HTTP 数据.解决方法是使用更多的 javascript 来防止内联包含。

是否有人认为我的 cookie 和会话问题可能是由类似问题引起的,如果不是,是否有人能想到另一种解释,最好是解决方法?

【问题讨论】:

    标签: iphone cookies


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我猜您的 3G 提供商正在以某种方式代理您的 HTTP。一些(在我看来,更糟糕的)ISP 这样做很常见。这将解释为什么它在另一个连接上与同一浏览器的行为不同。

      很多人会通过 Squid 等代理访问您的网站。您需要解决此问题以使其正常工作,否则您可能会无意中阻止某些人的访问。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多