こんにちは私はプロジェクト(PHP-CodeIgniter、MySQL)に取り組んでいます。私のアプリケーションでは、ユーザーによるログインが成功した後、ユーザーデータ(userid、username)のセッションを作成し、サインアウト後にセッションの設定を解除しています。
「ブラウザの戻るボタンをクリックすると、サインアウト後にアプリケーションで以前にアクセスしたページも表示されることが主な問題です」。
codeigniterでこれをどのように防ぐことができますか?
前もって感謝します
こんにちは私はプロジェクト(PHP-CodeIgniter、MySQL)に取り組んでいます。私のアプリケーションでは、ユーザーによるログインが成功した後、ユーザーデータ(userid、username)のセッションを作成し、サインアウト後にセッションの設定を解除しています。
「ブラウザの戻るボタンをクリックすると、サインアウト後にアプリケーションで以前にアクセスしたページも表示されることが主な問題です」。
codeigniterでこれをどのように防ぐことができますか?
前もって感謝します
(Raheelが述べたように)戻るボタンの使用を停止するJavaScriptの方法はいくつかありますが、この種の動作を確実に制御するには注意が必要です。ユーザーがページ上にいてそれを見ることができた場合、たとえば、スクリーンショットを撮るのを止めることはできません。
また、ページがキャッシュされないように、正しいヘッダーを送信していることを確認する必要があります。
$this->output->set_header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0", false);
$this->output->set_header("Pragma: no-cache");
ソース:http ://codeigniter.com/forums/viewthread/137096/#675799
それでも、すべてのブラウザがヘッダーに従うかどうかはわかりませんが、良いスタートです。
前のページにアクセスできてもアクティビティを実行できないにもかかわらず、ログアウトした場合。アクティビティを実行する場合は、最初にログインページにリダイレクトする必要があります。
.htaccess
これらの行を後に追加するだけですRewriteEngine on
<Files *>
Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
.htaccess
これを1か所( )に追加するだけで、アプリケーション全体に影響するため、これが好きです。