0

CodeIgniter を使用して管理システムを構築しています。しかし、セキュリティに関して問題があります。

例を挙げましょう: ユーザーがログインに成功し、管理システムのメイン ページにリダイレクトされます。ユーザーがブラウザの「戻る」ボタンを押すと、ログインページに送り返されます。ここで「次へ」ボタンを押すと、管理システムのメイン ページに戻ります。

ユーザーがログイン後にログインページに移動したら、管理システムのメインページに送り返されないようにしたくありません。どうすればこれを達成できますか。

前もってありがとう、
マーク

編集:
すべてのアイデアに感謝しますが、私にはうまくいきません。つまり、誰かがログインすると、システムのメイン ページにリダイレクトされるということです。次に、ブラウザの上部にある URL バーの左側にある「戻る」ボタンをクリックします。

4

4 に答える 4

0

PHP will returns to the login page if it exists on cache and will not actually reloads from server, So we need to force PHP to load it from server when comes to the login page check. So you can use,

header("Cache-Control: no-cache, must-revalidate");

if(isset($_SESSION['user']))
{
      //Write your redirect code
}
else
{
      //Redirect to login page
}

in the page where you are check whether login exists or not. So that PHP will reloads each time from the server without loading from cache. And if session exists, you will be resirected to the corresponding page

于 2012-08-14T11:24:19.077 に答える
0

ログイン ページで最初に、セッションをチェックして、ユーザーが既にログインしているかどうかを確認します。

ユーザーがログインしている場合はheader (“Location: $URL”);、$URL がメイン ページであるような php リダイレクトを使用します。

于 2012-08-14T11:04:48.413 に答える
0

ログインページでセッションを使用するだけです:

if(isset($_SESSION['admin_loggedin'])){
header("location: admin_index.php");
exit();
}
于 2012-08-14T11:06:39.597 に答える
0

ログインページのキャッシュをクリアしてみる PHPでブラウザのキャッシュをクリアするには? 、ユーザーが承認されているかどうかを確認し、$authorized==true の場合はリダイレクトします。

SESSION や Cookie などをチェックすることで承認を確認できます...

于 2012-08-14T11:06:53.083 に答える