http-equiv =“ refresh”は、リファラー情報とメタデータを保持しますか?
-
24-10-2019 - |
質問
このようなページを設定した場合:
<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>
ブラウザは、リダイレクトが実行されたときにリファラー情報やその他のメタデータを送信しますか?
解決
ここでのテストでは、FirefoxとIE しない しかし、クロム します 同じドメインに行くかどうかに関係なく、リファラーを送信します(これも一貫性がありません)。
何を述べている仕様が見つからないので見ています したほうがいい 標準的な動作であり、W3Cは一般的にメタリダイレクトを思いとどまらせます。これが一貫していることに依存できるかどうかはわかりません。
他のヒント
これで追加のテストを行いました。 3つのURIが関与していました(すべて同じドメインに):
/page.html
メタリフレッシュへのリンクがありました/refresh.html
目的地にメタリフレッシュを使用しました/destination.html
JavaScriptを使用して、リファラーをページに書き込みました。
いくつかのブラウザでテストを開いて実行しました page.html
リンクをクリックして、リファラーが目的地にあるものを観察します。ここに結果があります:
- インターネットエクスプローラ - リファラーはありません
- Firefox - リファラーはありません
- クロム - リファラー:
http://example.com/refresh.html
- サファリ - リファラー:
http://example.com/refresh.html
- オペラ - リファラー:
http://example.com/refresh.html
ブラウザはどれも示しませんでした http://example.com/page.html
301または302のリダイレクトを使用して、リファラーとして。したがって、メタリフレッシュは、リファラーをあいまいにするためにある程度使用できます。
- リンクがある特定のページを非表示にします
- リファラーからクエリ文字列を削除します
- サードパーティのサイトが更新をホストした場合、リンクした特定のサイトを非表示にします
- 着信トラフィックの外部リファラーを削除します(状況で役立ちます このような)
確かに、トリックすることは可能です Firefox と インターネットエクスプローラ, 、同じリダイレクト結果を取得します 保存されたリファラー, 、延期された送信でフォームを使用するだけです。
例:
<form action="URL" method="GET" name="redirected"></form>
<script>
setTimeout(function() {
document.forms.redirected.submit();
}, 1000);
</script>
所属していません StackOverflow