2

Web ページが常にサード パーティが所有する iframe 内にあることを確認する必要があります。このサードパーティは、src="../index.php" を使用してランディング ページを参照しています。

ここで私の質問は、リファラーを使用して、ページが自分自身またはサードパーティから要求されたことを確認し、サードパーティのサイトのリロードを強制しない場合、注意すべき大きな落とし穴はありますか?

たとえば、リファラー ルールに従わない特定の一般的なブラウザーはありますか?

ありがとうございました。

4

6 に答える 6

5

リファラーのスプーフィングのため、リファラーを使用して Web ページが常に別の場所から呼び出されていることを「保証」することはできません。

于 2009-06-01T20:40:03.823 に答える
4

リファラーは必須ではありません。ブラウザがそれを提供しない場合、エンドレス リダイレクト ループに陥ります。リファラーは事実上、Cookie、Java、および JavaScript と同様に「自発的」です。

それでも。IP と最後にリダイレクトされた時間のログを保持できます。5 分以上前のログを整理し、5 分に 1 回以上リダイレクトしないようにします。99.9% のユーザーをキャッチする必要がありますが、残りの無限のリダイレクト ループは回避してください。ログはブラウザーの何にも依存できないため (これが元の問題です)、Cookie もセッションもありません。シンプルな 2 列のデータベース テーブルで十分です。

于 2009-06-01T20:42:02.010 に答える
1

よく知られている形式でさえ、変更される可能性があります...

Google はリファラー URL を変更したようです。2009 年 4 月 14 日、Google.com の検索リファーラルに対する今後の変更。Google アナリティクスは影響を受けません:

今週から、Google 検索結果ページからの訪問者向けの新しい参照 URL 形式が見られるようになる可能性があります。これまで、たとえば「花」という用語の検索結果をクリックした場合の通常のリファラーは次のようになります。

  http://www.google.com/search?hl=ja&q=flowers&btnG=Google+検索

これで、次のようなリファラー文字列が表示されるようになります。

  http://www.google.com/url?
    sa=t&source=web&ct=res&cd=7
    &url=http%3A%2F%2Fwww.example.com%2Fmypage.htm
    &ei=0SjdSa-1N5O8M_qW8dQN&rct=j
    &q=花
    &usg=AFQjCNHJXSUh7Vw7oubPaO3tZOzz-F-u_w
    &sig2=X8uCFh6IoPtnwmvGMULQfw

( Google がリファラー URL を /search から /url に変更することも参照してください。既知の問題はありますか? )

于 2009-10-08T11:50:45.987 に答える
1

これを行う唯一の方法は、リファラー操作のためにリクエストを直接承認することです..

緩くしたい場合、または含むクライアント/システムにiframeに表示されるリクエストの認証Cookieがあることを要求する場合は、リクエストを一連のIPアドレスに制限できます。

幸運を

于 2009-06-01T20:42:00.963 に答える
0

Internet Explorer (すべてのバージョン) は、ユーザーが JavaScript の結果としてリンクに移動するたびに、HTTP REFERRER を具体的に省略していることに注意してください。(バグレポート)

例えば

function doSomething(url){
  //save some data to the session
  //...
  location.href = url;//IE will NOT pass the HTTP REFERRER on this link
}
于 2009-06-01T21:12:27.907 に答える