2012-01-31 48 views
2

私は1つのログオンとは異なるシステムにユーザーを自動的にログインさせるPHP/Javascriptページを用意しています。これらは外部サイトであり、ユーザーが戻るボタンを押した場合を除き、すべて正常に機能します。その後、彼らはどこから来たのかを直ちにリダイレクトします。戻るボタンを押したときにDocument.referrerが間違っています

私はメインのウェブサイトにリダイレクトされ、このリダイレクトの悪夢に陥るのを避けたいと考えています。だから私はdocument.referrerを試しましたが、それは私が参照しているサイトではなく、現在のページをつかむように見えるだけです。間違っているのですか、これはこのようにすることはできませんか?

function myfunc() { 
    var frm = document.getElementById("loggedin1"); 
    if(document.referrer != 'https://someurl') { 
     alert(document.referrer);//Just used to see output 
     frm.submit(); 
    } 
} 

window.onload = myfunc; 

私はそれは私がそこにelseを追加し、それが戻って私のウェブサイトに行くだろうに機能するために得ることができれば。

ありがとうございます!

答えて

5

あなたのページのウェブサイト内にない前のページに戻っているようですね?

いくつかのポイント:人はリンクを介して現在のページになった、あるいは、彼らは他の手段を介してリダイレクトされたいない場合は....何かをクリックした場合
1)document.referrerのみ動作します。
2)ブラウザのセキュリティ実装により、他のサイトのjavascript履歴にアクセスすることはできません。したがって、サイトAからサイトBにログインすると、サイトBのサイトAの履歴にアクセスすることはできません。

前のページに戻す必要がある場合は、あなたのサイトでは、iframeを使って外部ページを読み込めますか?あなたのサイトから離れることはありませんか?または、ウィンドウポップアップ?

あなたが達成しようとしているものがサイトログインの場合は、利用可能なapiを調べましたか? facebookのようなサイトには、あなたのサイトにログインするためのapiがあります。

乾杯!

+0

ありがとうございました。彼らが私のサイトに戻るために戻るボタンを押すとどこから来たのかを検出する方法はありますか? –

+0

Hmmm ...何とか隠しフォームを使用できますか?フォームの情報は、バックボタンを押してもブラウザに残っている傾向がありますが、これがどれだけ信頼できるかはわかりません。いくつかのアイデアについては、http://stackoverflow.com/questions/829046/how-do-i-detect-if-a-user-has-got-to-a-page-using-the-back-buttonをご覧ください – Rebecca

+0

@Rebeccaこれには解決策がありましたか? – yathirigan

関連する問題