2017-06-09 3 views
0

ウェブページへのアクセスを特定のユーザに許可することは可能かどうかを判断しようとしていますが、正しいユーザとしてログインしていない場合は拒否してインデックスページにリダイレクトします。特定のユーザのみがアクセスできるページPHP


このような

if ($SESSION["username"] == "... and ... " { 
allow access 
} else { 
deny access 
} 


何かPHPでのセッションでの作業?

+0

ロールを使用してユーザーにロールを割り当て、ロールによってページを制限します。ユーザー名によって制限する場合は、多くの条件があります。 – kRicha

+0

ユーザーロールによるアクセスを許可することをお勧めします。ユーザー名の代わりに。セッションを使用する上記の方法は、ユーザーのアクセスをチェックする方法の1つです。しかし、ユーザー名を使用することはお勧めしません。ハードコーディングが多すぎます。 –

+0

データベースにロール列を追加して、ユーザーのセッションが存在し、そのユーザーがそのページにアクセスする役割を持っているかどうかを確認してください。認証と承認の意味 –

答えて

4

はここ

は、ユーザーテーブルにフィールドを追加し、それに役割を割り当てる..あなたが欲しいものです。このような(当然のデータベースから...)利用者、管理者等...

あなたのセッションを開始すると、セッション変数を設定し、ユーザーを割り当てる役割

$_SESSION['role'] == "admin"; 

最後に、あなたが使用することができますようにこのようなことを確認するには -

if((isset($_SESSION['role']) && $_SESSION['role'] == "admin")){ 
    header("location: admin.php"); 
}else{ 
    header("location: index.php"); 
} 

私はこれが役立ちます。

0

はい、これが可能

です例:

<?php 
    if(isset($_SESSION['admin'] && $_SESSION['admin'] != ""){ 
      Allow Access; 
      header("location:admin.php"); 
    } else if(isset($_SESSION['user'] && $_SESSION['user'] != ""){ 
      Allow Access; 
      header("location:user.php"); 

    } 
+0

ありがとうございます!しかし、私はadminアカウントのような何ものも得ていない。例えば「bert」、「jack」、「maus」のみがページにアクセスできます – maus

+0

ログイン時に大丈夫、セッションで名前を保存し、このようなページヘッダーでセッションを確認してください if($ _ SESSION ['name'] == "bert" || $ _SESSION ['name'] == "maus" || $ _SESSION ['name'] == "jack"){ アクセスを許可します。 } –

関連する問題