2011-01-11 17 views
49

私のサイトのURLがインターネットの一部のページでハイパーリンクとして指定されているとします。そのページはインターネット、ブログ、orkut、yahoo、さらにはstackoverflowなどであってもよく、誰かがそれをクリックして自分のサイトにアクセスしました。だから、訪問者が私のページに来た前のURLをPHPで知ることができますか?PHPを使用して前のURLを取得する方法

答えて

91

ヘッダーを使用しますが、リンクをクリックしたかどうかにかかわらず、誰でもいつでも偽装できます。

+0

クロスブラウザソリューションですか? – NullPointer

+0

@NullPointer:私は私の答えで言ったように、誰でもそれを偽装することができるので、あなたの質問に対する答えはノーだと思います。 – BoltClock

+0

いいえ、別の方法でお尋ねしたいと思います。 – NullPointer

19

$_SERVER['HTTP_REFERER']はあなたに不完全なURLを与える答え

13

$_SERVER['HTTP_REFERER']です。

http://bawse.3owl.com/jayz__magna_carta_holy_grail.phpをご希望の場合は、$_SERVER['HTTP_REFERER']http://bawse.3owl.com/となります。

0

しかし、すべてのfromurlにリンクを張ることができます。

例:この例ではhttp://example.com?auth=holasite

あなたのサイトがある:example.com

誰かがそのリンクを開くと、それはあなたの認証変数のholasite価値を与えるのです。

次に、$ _GET ['auth']と変数があります。しかし、データベースを作成して格納し、承認する必要があります。

同様: $ holasite = http://holasite.com (あなたはあまりにもMySQLを使用することができます。)

そして、ちょうどそれに合わせて、あなたはURLを持っています。

この方法は少し複雑ですが、機能します。このメソッドは、refferalシステム認証に適しています。しかし、サイト名はどこにありますか?あなたはidを書いて、そのidで動くべきです。

関連する問題