2012-03-01 9 views
3

私のWebサイトではセッションを破棄しますが、ユーザーがブラウザを押すと最後のページを見ることができます。戻るボタンをクリックすると最後に保護されたページが表示されます

どうすればこの問題を解決できますか?私はjavascriptを試みたが動作しなかった。私は未設定またはセッションを破棄しようとしましたが、それも動作しません。私は何ができますか ?

私はヘッダーでこれらのコードを使用します。

Header('Cache-Control: no-cache'); 
Header('Pragma: no-cache'); 

これをどのように解決できますか。ご協力いただきありがとうございます。

+0

なぜ重要ですか?あなたのアプリが認証などを正しく行うと、何とか何もできなくなります。 – cHao

+0

私の雇用主はそのページを見たくありません:)、@cHao –

+0

さて、あなたの雇用主はウェブブラウザの仕組みを知っている。 – cHao

答えて

2

できません。ページはクライアントに送信されました。クライアントは、そのページで何をすべきかを決定します。

この動作と写真メモリを持つユーザーとの違いは何ですか?

本当の質問は次のとおりです。なぜこれをしたいですか?

+0

これは、クライアントがメモリまたはディスクキャッシュからページをロードする場合にのみ該当します。おそらく@SahinYanlıkは、これが当てはまるかどうかを確認する必要があります(たとえば、Webサーバーのログを確認するなど)。 –

+0

@AnotherCodeクライアントがページを前に見た場合、それはアクセスしたことを意味します(サーバーまたはキャッシュからは無関係です)。だからあなたは彼らがそれを再訪するのを防ぐことは決してできません。 –

0

ブラウザにキャッシュがある場合、それを正確に制御することはできません。あなたができるベストは、作成時にタイムスタンプ(おそらく隠されたフィールドを使用する)です。タイムスタンプがある制限を超えてから時間が経過すると、ページをリダイレクトまたはフォーマットするjavascript onLoadがあります。

しかし、これは誰か他の人の歴史を見ている人を防ぐことはできません。自分の履歴をクリアするだけでそれが可能になります。

0

DOM:loadedイベントでjavascript(おそらくAJAX)でセッションを確認する必要があります。セッションが破棄された場合は、ユーザーをリダイレクトできます。また、この方法を選択した場合は、セッションの検証後にAJAXでコンテンツを取得する必要があります。

関連する問題