0

CodeIgniter PHP フレームワークを使用してモバイル アプリケーションを開発しています。アプリは、いくつかのハードウェア電話とエミュレーターでテストされました。Nokia S40 の組み込みブラウザを除いて、すべてがどこでも問題なく動作します。そのブラウザでブラウジングすると、$_SERVER['HTTP_REFERER'] がまったく設定されていないことがわかります - フレームワークなしのストレート PHP を使用していても。具体的には、アプリは Nokia 3500 Classic と 6300 でテストされました。また、同じ電話で Opera Mini を使用すると、すべてが魅力的に機能しました。サーバーは PHP5 の Apache2、CodeIgniter 1.7 ですが、フレームワークの問題ではないと思います。

奇妙なことに、この問題を理解した、または言及した人は、世界中でほんの数人だけで、答えはないようです。さて、問題は、何かが足りないかどうかです。Nokia S40 のビルトイン ブラウザは本当に HTTP_REFERER を取り除きますか、それともサーバーの問題ですか? それを修正または軽減するために何ができるでしょうか?

4

3 に答える 3

3

どのブラウザからもリファラーを送信する必要はありません。ブラウザーから取得することを想定して、何もビルドしないでください。それらの外観をブロックする可能性のある他のものがあります (ブラウザ プラグイン、セキュリティ ソフトウェアなど)。

于 2009-06-16T10:01:41.113 に答える
0

HTTP_REFERER が存在するためには、HTTP_REFERER ヘッダーが必要です。誰かが URL を直接入力した場合 (つまり、ページへのリンクをたどらない場合)、このヘッダーは存在しません。誰かが別のページからのリンクをクリックしたときにのみ存在します。また、一部のブラウザはそれらを送信しません。

于 2009-06-16T10:03:53.933 に答える
0

はい、HTTP_REFERER はオプションのhttp ヘッダーです。一部の通信事業者またはそのトランスコーダー (プロキシ) は、HTTP_REFERER ヘッダーを削除しています。

于 2009-06-17T20:53:26.343 に答える