1

外部リファラーへのアクセスをブロックしている別のサーバー上のいくつかの音楽ファイルへのリンクがあるページを書いています。このWebサイトでは、ファイルに直接アクセスすることもできます(ブラウザーのアドレスバーにURLを貼り付けることにより)。

何時間も検索して試した後、私はあきらめるつもりでしたが、何か衝撃的なことが起こりました!Gmail経由でリンクを送信すると、Gmailをクリックすると別のページにリダイレクトされ、ファイルのダウンロードが開始されます。つまり、Gmailはリファラーを設定せずにリダイレクトしています。コードでそれを行うにはどうすればよいですか?

tl; dr:ユーザーがリンクをクリックすると、リファラーデータを送信せずにユーザーを外部URLにリダイレクトしたいです!

4

1 に答える 1

1

残念ながら、これは一貫性のない実装です。

ここで指摘したように

  • window.location.href以下のブラウザで 変更すると、HTTPリファラーヘッダー(HTTP-Referer)が設定されます。
    • MSIE 9 (ただし、おそらく 9 より上のすべてのバージョン)
    • Firefox (少なくとも 3.0、3.5、4.0、5.0、ただしおそらくすべてのバージョン)
    • Chrome (少なくとも 9、しかしおそらくすべてのバージョン)
    • Safari (少なくとも 5 つ、おそらくすべてのバージョン)
    • Opera (少なくとも 11、しかしおそらくすべてのバージョン)
  • MSIE (少なくとも 6、7、8) : 変更時にリファラーが設定されていませんwindow.location.href

を通じてクリックすることを検討することも<iframe>できますが、さまざまなブラウザーで異なる結果が表示されます。

別の提案は、サーバーを介してリクエストをプロキシし、リクエストを実行するときにリファラーを設定しないことです。帯域幅が限られている場合、これは問題になる可能性があります。

于 2013-03-10T17:54:05.713 に答える