PHPで
$_SERVER['HTTP_REFERER'];
を実行すると、リンク元のURLを取得することが出来ます。
これを利用するとダイレクトアクセスを防いだり、どこから飛んできたのかを調べることが出来るのですが、Javascriptの
location.href = "リンク先URL";
で飛んでこられると、取得できない場合が有ります。
どういう場合かというと、「IE8以下」の場合。
またお前か・・・
素直に「a href="リンク先URL"」を使うか、formのsubmit、PHPの「header("リンク先URL");」などの方法で飛ばすことにしましょう。
最近はIE9やFirefoxでチェックしてしまうので、見落としがちになってしまいます。注意せねば。