【问题标题】:Android browser php cookiesAndroid 浏览器 php cookie
【发布时间】:2011-10-06 02:50:16
【问题描述】:

我无法在原版安卓浏览器上通过 php 操作 cookie。 (版本 2.3.4)

浏览器选项设置为接受 cookie,并且某些网站确实允许我正常登录(尽管不是全部)。

我制作了一个非常简单的测试脚本来尝试查看是否设置了 cookie:

setcookie("TestCookie", "cookievalue", time()+3600);

在下一页

echo $_COOKIE["TestCookie"];

在我的桌面浏览器或 firefox 手机上,它显示“cookievalue”这个词,但在 android 浏览器上它是空白的。这个问题也不会让我在会话 cookie 中存储任何内容,因为它不会持续存在。

我错过了什么吗?

【问题讨论】:

  • 您是否正在针对域名或 IP 地址/和或(不)使用端口进行测试?
  • 我正在使用域名进行测试。在 php 方面,我尝试指定 cookie 的域,在客户端,我尝试使用和不使用子域。
  • 对我朋友手机的更多调查让我相信这可能与我们的数据提供商有关。他完全不同的手机和浏览器版本在 phpbb.com 等网站上存在此问题,但 firefox 浏览器没有此问题。
  • 检查一个不在 PHP 下运行并且也使用 cookie 的站点。
  • 只依赖事实。例如,收集所有硬数据,如浏览器供应商、通过(或不通过)的标头等。您需要对此进行调试以了解更多信息,做出任何假设和猜测的时间已经结束。只是确凿的事实。是时候了,这可能需要一些时间(最多一个月),但最好尽早开始。

标签: php android


【解决方案1】:

在仔细检查并尝试了所有选项后,我发现当 android 配置为在 APN 设置中使用端口和代理时,这确实是股票浏览器如何处理 cookie 的问题。我怀疑当这些设置打开时,在某些条件下将 cookie 与其域相关联时会出现问题。 (cookies 正在设置,但一旦页面重定向或链接被点击就丢失了)。

默认情况下,我的提供商在那里有这些。删除它们以使字段为空白已解决此问题。

其他遇到此问题的人,我建议进入您的无线网络选项,找到接入点名称设置,选择活动 APN 并清除端口和代理字段(如果已填写)。(先写下来,以防出现这种情况不适合你)

执行此操作后,您必须通过搜索可用网络并再次选择它来重新注册您的网络。

【讨论】:

    【解决方案2】:

    该代码将不起作用。带有setcookie 的 Cookie 数据集在下一个页面请求之前不可用。

    【讨论】:

    • 首先,只要刷新页面就可以了。其次,你忽略了我的问题。这会影响整个页面以及会话状态。
    • 如果您在其他非您制作的网站上遇到此问题,则不是 PHP 问题,而是您的手机问题。 Android 和 PHP 与 cookie 配合得很好。
    • 我也在朋友的另一部手机上对此进行了测试,发现了同样的问题。他正在运行2.3.3。对于为什么会发生这种情况,我希望得到一个知识渊博的答案。
    • 您摘录的代码在我可用的三款 Android 测试设备上运行良好。知识渊博的答案是“这不应该发生,请调查其他原因”。
    猜你喜欢
    • 2012-02-02
    • 2017-12-21
    • 2019-11-23
    • 1970-01-01
    • 2011-08-07
    • 2019-07-25
    • 2011-11-18
    • 2023-03-17
    • 2014-06-06
    相关资源
    最近更新 更多