0

PHPベースのアプリケーションを作成しています。2 人のユーザーが同じブラウザーから異なるタブにログインすると、それぞれのページにアクセスできます。これを防ぐ方法は?

4

4 に答える 4

0

4つの解決策があります:

  1. そのウィンドウ (この場合はタブ) に名前を付けて、JavaScript で特別なウィンドウを検出することもできます。

    if(window.name==4711) {...}
    
  2. Cookie ではなく、GET パラメータを使用してセッションを使用します。

  3. そのサブドメインで動作する通常の Cookie でランダムなサブドメインを使用します。

  4. mod_rewrite を使用して、実際には存在しない「仮想」ディレクトリに制限されている通常の Cookie を使用します。このコメントに基づくアイデア

于 2012-06-10T05:29:20.283 に答える
0

$_SESSIONまたはを使用$_COOKIEして、ユーザーがログインしてデータベースを更新するときに作成される生成キーを保存し、ユーザーがページを変更したときに、その生成キーに基づいて情報にアクセスできるようにします。functionまた、キーをチェックする単純なものを作成し、ページに別の機能を使用する必要がある場合があります。それがメニュー バーやログイン ボックスのようなものである場合は、 if statementlikeで囲みます。

if(checkUser($_COOKIE['MYSID'])){
   // User is logged in so show whatever
} else {
   // Login box here
}
于 2012-06-10T05:32:54.097 に答える
0

アプリケーションは、ユーザーが現在ログインしているかどうかを確認していないため、ユーザーが資格情報を入力してログインするときに最初に行う必要があることは、セッション変数を設定することです

$_SESSION['logged_in'] = "true";

次に、ページの先頭で次のようにインデックス ページに変更を加える必要があります。

<?
if($_SESSION['logged_in']=='true'){
header('location:USERS_SPECIFIC_PAGE_AFTER_LOGIN.EXT')
}
else{
header('location:login_page.ext');
}

?>
于 2012-06-10T06:34:10.793 に答える
0

window.nameブラウザタブを開く時間ごとにプロパティを使用したり、各ユーザーのCookieを設定したりします。

于 2012-06-10T05:47:19.283 に答える