简体   繁体   English

诺基亚 HTTP_REFERER 问题

[英]Nokia HTTP_REFERER issue

We've developing mobile application using CodeIgniter PHP framework.我们使用 CodeIgniter PHP 框架开发移动应用程序。 App was tested on several hardware phones and emulators.应用程序在多个硬件手机和模拟器上进行了测试。 Everything works fine everywhere - except Nokia S40 built-in browser.一切都在任何地方都很好——除了诺基亚 S40 的内置浏览器。 When browsing via thatbrowser, it reveals that $_SERVER['HTTP_REFERER'] is not set at all - even using straight PHP with no frameworks.当通过那个浏览器浏览时,它显示 $_SERVER['HTTP_REFERER'] 根本没有设置 - 即使使用没有框架的直接 PHP。 Specifically, app was tested on Nokia 3500 Classic and 6300. Also, when using Opera Mini on the same phones, all worked like a charm.具体来说,应用程序在诺基亚 3500 Classic 和 6300 上进行了测试。此外,当在同一部手机上使用 Opera Mini 时,一切都很顺利。 Server is Apache2 with PHP5, CodeIgniter 1.7, but I don't think it's a framework issue.服务器是 Apache2 PHP5,CodeIgniter 1.7,但我不认为这是一个框架问题。

Strange thing is, it seems that only a few people in the world got, or mentioned, this issue, with no answer.奇怪的是,世界上似乎只有少数人得到或提到了这个问题,没有答案。 Well, the question is - do we missing something?好吧,问题是——我们是否遗漏了什么? Does Nokia S40 built-in browser really strips out HTTP_REFERER, or is it server issue? Nokia S40内置浏览器真的去掉了HTTP_REFERER,还是服务器问题? What could be done to fix or mitigate it?可以做些什么来修复或减轻它?

Referers are not required to be sent by any browser.任何浏览器都不需要发送引用。 Do not build anything assuming you will be getting them from a browser;假设您将从浏览器中获取它们,请不要构建任何东西; there are other things that can block their appearance (browser plugins, security software, etc.)还有其他东西可以阻止它们的出现(浏览器插件、安全软件等)

In order for HTTP_REFERER to exist, there needs to be a HTTP_REFERER header. This header does not exist if someone types in the URL directly (ie: does not follow a link to the page).为了使 HTTP_REFERER 存在,需要有一个 HTTP_REFERER header。如果有人直接输入 URL(即:不跟随页面链接),则此 header 不存在。 It only exists when someone clicks on a link from another page.它仅在有人单击另一个页面的链接时存在。 And, some browsers don't send them.而且,某些浏览器不发送它们。

Yes, HTTP_REFERER areoptional http headers.是的,HTTP_REFERER 是可选的 http 标头。 Some carrier, or his transcoders (proxies), are deleting HTTP_REFERER header.某些运营商或其转码器(代理)正在删除 HTTP_REFERER header。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM