1

PHP ログイン システムについて質問があります。別のログイン システム内にログイン システムを配置することは可能ですか。

例を次に示します。サイトにログインすると、PHP がセッションを作成します。次に、より安全なコンテンツを含む別のページにアクセスしたいので、ユーザーにユーザー名とパスワードを再入力してそのページにアクセスするように依頼します。

これは、別のセッションまたは同じセッションを使用して実行できますか? 元のセッションが終了せず、ユーザーがより安全なコンテンツを含むページを終了すると、以前のページを引き続き使用できるようになれば素晴らしいことです。

これが理にかなっていることを願っています。私を正しい方向に向ける可能性のある情報は大歓迎です!

4

5 に答える 5

3

確かにそれは可能です。ユーザーがすでに実行した認証の種類を保持するだけです。

お気に入り:

$_SESSION['auth_type'] = 'first one'; // when user logged in first time
$_SESSION['auth_type'] = 'more secured one'; // when user logged in second time time

その後、ユーザーが持っている認証の種類を確認できます。

if ($_SESSION['auth_type'] == 'first one') {
    // ask for second auth here
}

等...

于 2010-12-07T02:58:40.983 に答える
1

同じセッションを使用して実行できます。

2 番目のエリアにログインしたら、次のようにします。

$_SESSION['secondArea'] = TRUE;

unset()2 番目のエリアからログアウトすると、それが可能になります。

于 2010-12-07T02:57:53.400 に答える
0

ユーザーがコンテンツを表示するたびにもう一度ログインする場合は、POSTログインフォームを使用し、ページにデータを表示する前に、コンテンツを表示する前にPOSTされたユーザー名とパスワードを確認します。

例(擬似コード)

if request is a POST and username and password are valid:
    display content
else:
    display login form
于 2010-12-07T03:01:16.370 に答える
0

同じセッションを使用できます - 彼の側の同じ Cookie によって識別されます。$_SESSION['hasUserAccess']ただし、さまざまなログイン ステータスを表すさまざまなセッション変数を設定して確認するだけ$_SESSION['hasAdminAccess']です。

あるいは、 、、$_SESSION['accessStatus']などの値を持つことができます。'public''user''admin'

于 2010-12-07T03:29:14.047 に答える
0

さらに安全を確保したい場合は、セッションに MD5 を使用することをお勧めします。

$_SESSION['userAuth'] = 'here-md5-hash';

MD5 を暗号化して保存し (ユーザー名のみ)、保存します。したがって、サーバーは復号化を認識しています。

これにより、誰かが傍受するのが非常に難しくなります。

于 2010-12-07T16:28:22.750 に答える