3

curl(PHP)を使用してコードを作成しました。これにより、リファラーをスプーフィングするか、リファラーを空白にして、スプーフィングされたリファラーを使用してユーザーを別のページに誘導できます。

ただし、これの欠点は、ヘッダーのIPアドレスが常にサーバーのIPになることです。これは、有効なソリューションではありません。

質問;

クライアント側のスクリプト、つまり(xmlhttprequest)を使用してリファラーを「変更」し、ユーザーを新しいページに誘導することは可能ですか?

したがって、ユーザーのIPアドレスはそのまま維持しますが、リファラーをスプーフィングします。

はいの場合、助けていただければ幸いです。

ありがとう!

4

4 に答える 4

10

ページがレンダリングされるときの最新のブラウザのjavascriptからではありません。

更新:技術的にリファラーをスプーフィングできるいくつかの手動ツールやその他のjavascriptベースのプラットフォームに関するコメントを参照してください。Webリクエストの作成に関連していると思われる8年前の元の質問のコンテキストでは、答えは依然として一般的に「いいえ」です。

私は10年前の答えをすべて編集するつもりはありませんが、反対派はそうです。未来を正しく予見できず、永遠に続く答えを提供してくださったことを、あらかじめお詫び申し上げます。

于 2010-02-26T14:57:22.577 に答える
1

これはFirefoxJavascriptコンソールで機能するようです。

var xhr = new XMLHttpRequest; 
xhr.open("get", "http://www.example.com/", true); 
xhr.setRequestHeader( 'Referer', 'http://www.fake.com/' ); 
xhr.send();

サーバーログに次のように表示されます。

referer: http://www.fake.com/
于 2010-02-26T15:06:51.177 に答える
0

テーブルに少し遅れましたが、前回の投稿から変更があったようです。

Chrome(おそらく現時点で最も最近のブラウザ)では、「リファラー」をプログラムで変更することはできなくなりました。これは静的なものになりました。

ただし、カスタムヘッダーを送信することはできます。例えば:

var xhr = new XMLHttpRequest; 
xhr.open("get", "http://www.example.com/", true); 
xhr.setRequestHeader('CustomReferer', 'http://www.fake.com/'); 
xhr.send();

PHPでは、そのヘッダーは「HTTP_(大文字のヘッダー)」を介して読み取ることができます。

$_SERVER['HTTP_CUSTOMREFERER'];

それが私のプロジェクトの秘訣でした...

私たちの多くにとってはおそらく常識ですが、うまくいけば役立つ人もいます!

于 2019-05-16T20:53:19.693 に答える
0

Fetch APIを使用して、ヘッダーを部分的に変更できます。Referer

fetch(url, {
  referrer: yourCustomizedReferer, // Note: it's `referrer` with correct spelling, and it's NOT nested inside `headers` option
  // ...
});

ただし、元のリファラーヘッダーと必要なリファラーヘッダーが同じドメインにある場合にのみ機能すると思います。そして、Safariでは動作しないようです。

とにかくこれを行うための他のトリック(例えば)があるとここで主張されRefererていますが、ヘッダーを変更できるようにすることはまったく予想外です。pushState()

于 2021-02-24T15:52:30.393 に答える