2010-12-07 7 views
1

PHPログインシステムに関する質問があります。別のログインシステム内にログインシステムを持つことは可能ですか?ダブルログインPHPシステム

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

これは、異なるセッションまたは同じセッションを使用して行うことができますか?元のセッションが終了していない場合は、セキュリティ保護されたコンテンツを持つページでユーザーが終了すると、前のページを使用し続けることができます。

これは意味があると思いますが、正しい方向に私を向ける可能性のある情報は非常に高く評価されます!

答えて

1

同じセッションを使用して行うことができます。

2番目の領域にログインすると、このようなことをしてください。

$_SESSION['secondArea'] = TRUE; 

あなたunset()ことができ、彼らは第二領域からログアウトするときに。

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 
} 

等...

0

をあなたがログインするためのユーザーを希望した場合もう一度彼らはコンテンツを表示し、POSTログインフォームを使用し、ページにデータを表示する前に、POSTされたユーザー名とPAを確認することができますsswordを使用してコンテンツを表示します。

(擬似コードで)

if request is a POST and username and password are valid: 
    display content 
else: 
    display login form 
0

同じセッションを使用することができます。同じセッションを使用することができます。しかし、様々なログイン変数を表すために異なるセッション変数を設定してチェックするだけです:$_SESSION['hasUserAccess']$_SESSION['hasAdminAccess']

それとも:$_SESSION['accessStatus']'public''user''admin'のような値を持つことができます。

0

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

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

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

これは、誰かを傍受することを非常に困難にします。