1

こんにちは私はプロジェクト(PHP-CodeIgniter、MySQL)に取り組んでいます。私のアプリケーションでは、ユーザーによるログインが成功した後、ユーザーデータ(userid、username)のセッションを作成し、サインアウト後にセッションの設定を解除しています。

「ブラウザの戻るボタンをクリックすると、サインアウト後にアプリケーションで以前にアクセスしたページも表示されることが主な問題です」。

codeigniterでこれをどのように防ぐことができますか?

前もって感謝します

4

3 に答える 3

7

(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

それでも、すべてのブラウザがヘッダーに従うかどうかはわかりませんが、良いスタートです。

于 2012-04-07T08:04:09.373 に答える
1

前のページにアクセスできてもアクティビティを実行できないにもかかわらず、ログアウトした場合。アクティビティを実行する場合は、最初にログインページにリダイレクトする必要があります。

于 2012-04-07T06:59:58.837 に答える
0

.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か所( )に追加するだけで、アプリケーション全体に影響するため、これが好きです。

于 2012-07-12T10:27:02.630 に答える