ホームページ  >  記事  >  バックエンド開発  >  IE およびその他のマルチウィンドウ ブラウザーは複数のウィンドウを同時に開き、システムにログインした後にセッションがブロックされます。

IE およびその他のマルチウィンドウ ブラウザーは複数のウィンドウを同時に開き、システムにログインした後にセッションがブロックされます。

WBOY
WBOYオリジナル
2016-06-23 14:19:211467ブラウズ

ブラウザでページを開いてログインすると、たとえば、A1 アカウントでログインした後、A1 が表示され、ログイン後、ブラウザで新しいページが開きます。 A2 と表示されますが、更新後に前のブラウザに移動すると、ログイン アカウントも A2 に変更されていることがわかりました。これを回避するにはどうすればよいですか?


ディスカッションへの返信(解決策)

たとえば、A1 アカウントでログインした後、ブラウザでページを開いてログインすると、A1 を押した後に新しいページが開くことが表示されることがわかりました。 A2 がログインすると、現在のページに A2 が表示されますが、前のブラウザを更新すると、ログイン アカウントも A2 に変更されます。

異なるアカウントでログインするときに、同じ名前の SESSION が 1 つしかない場合、この問題は明らかに回避できません。
ただし、構造を少し変更することもできます。たとえば、ログインしているアカウントの数を検出し、アカウントごとに異なる SESSION を設定し、その他の影響を与える変更を加えます。
この場合、この問題は回避する必要があります。

指導を求めています。

2 次元配列を使用して実装可能
最初のログイン、SESSION['admin'][user1]
2 番目のログイン、SESSION['admin'][user2]
ログインを決定するには、SESSION['admin ']
どのユーザーが [user1] と [user2] を使用できるかを決定する
user1 と user2 はデータベースから呼び出されるユーザー名にすることができます

2 次元配列を使用して実装できます
最初のログイン、SESSION[' admin'][user1]
2 番目のログイン、SESSION['admin'][user2]
ログインを決定するには、SESSION['admin'] を使用できます
どのユーザーが [user1] と [user2] を使用できるかを決定するには
user1とuser2はデータベースから呼び出すユーザー名にすることができます
よく考えてみると、上記の方法は同じページであれば2つの異なるページでしか使えないようです
。私はこのようなことをしたことがありません。単なる考えです

ブラウザのプロセスを再起動するだけです

マルチタブ ブラウザでは、各タブ ページは Cookie を共有します
変更しない限り、ブラウザはこのように設計されています。ブラウザのカーネル

ブラウザのプロセスを再起動するだけです

マルチタブ ブラウザでは、各タブ ページが Cookie を共有します
ブラウザのカーネルをより具体的に変更しない限り、ブラウザはこのように設計されています


ブラウザのプロセスを再起動するだけです

マルチタブ ブラウザでは、各タブ ページが Cookie を共有します
ブラウザのカーネルをより具体的に変更しない限り、これがブラウザの設計方法です

これを行う必要がありますか具体的に?
これはユーザーの適応の問題です。2 つのアカウントにログインしたい場合は、2 つの IE を開く必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。