我们正在使用CodeIgniter PHP框架开发移动应用程序。应用程序在几个硬件手机和模拟器上进行了测试。一切都运行良好 - 除了诺基亚S40内置浏览器。 通过浏览器浏览时,它显示$ _SERVER ['HTTP_REFERER']根本没有设置 - 即使使用没有框架的直接PHP。 具体来说,应用程序在诺基亚3500 Classic和6300上进行了测试。 此外,在同一部手机上使用Opera Mini时,所有这些都像魅力一样。 服务器是带有PHP5的Apache2,CodeIgniter 1.7,但我不认为这是一个框架问题。
奇怪的是,似乎世界上只有少数人得到或提到了这个问题,没有答案。 嗯,问题是 - 我们错过了什么吗?诺基亚S40内置浏览器是否真的剥离了HTTP_REFERER,还是服务器问题?可以做些什么来修复或减轻它?
答案 0 :(得分:3)
任何浏览器都不需要发送引用者。假设您将从浏览器获取它们,请不要构建任何内容;还有其他东西可以阻止它们的外观(浏览器插件,安全软件等)
答案 1 :(得分:0)
为了存在HTTP_REFERER,需要有一个 HTTP_REFERER标头。如果有人输入,则此标头不存在 直接的URL(即:不跟随页面的链接)。它只是 当有人点击其他页面的链接时存在。还有一些 浏览器不发送它们。
答案 2 :(得分:0)
是的,HTTP_REFERER是optional个http标头。某些运营商或其代码转换器(代理)正在删除HTTP_REFERER标头。