0

我们正在使用 CodeIgniter PHP 框架开发移动应用程序。应用在多款硬件手机和模拟器上进行了测试。任何地方都可以正常工作 - 除了诺基亚 S40 内置浏览器。通过 thatbrowser 浏览时,它显示 $_SERVER['HTTP_REFERER'] 根本没有设置 - 即使使用没有框架的直接 PHP 也是如此。具体来说,应用程序在诺基亚 3500 Classic 和 6300 上进行了测试。此外,当在同一部手机上使用 Opera Mini 时,一切都像魅力一样。服务器是 Apache2 和 PHP5,CodeIgniter 1.7,但我不认为这是一个框架问题。

奇怪的是,世界上似乎只有少数人得到或提到了这个问题,却没有答案。好吧,问题是——我们错过了什么吗?诺基亚 S40 内置浏览器真的去掉了 HTTP_REFERER,还是服务器问题?可以做些什么来修复或减轻它?

4

3 回答 3

3

任何浏览器都不需要发送推荐人。不要构建任何东西,假设您将从浏览器中获取它们;还有其他可以阻止其外观的东西(浏览器插件、安全软件等)

于 2009-06-16T10:01:41.113 回答
0

是的,HTTP_REFERER 是可选的http 标头。某些运营商或他的转码器(代理)正在删除 HTTP_REFERER 标头。

于 2009-06-17T20:53:26.343 回答
0

为了使 HTTP_REFERER 存在,需要有一个 HTTP_REFERER 标头。如果有人直接输入 URL(即:不跟随指向页面的链接),则此标头不存在。它仅在有人单击另一个页面的链接时才存在。而且,有些浏览器不发送它们。

于 2009-06-16T10:03:53.933 回答