2

管理部分を保護するために、次の手段があります。

  • セッション内には、次の部分があります。

is_logged_in -> これは 0 または 1 です

admin -> ユーザーが管理者かどうかをチェックします (値は 0 または 1 です)

また、Web サイトの管理に関係する管理コントローラーまたはコントローラー内の関数の前に、関数を呼び出して、ユーザーがログインしているかどうか、および彼が管理者であるかどうかを確認します。これで十分ですか?そうでない場合、管理部分をより安全にするために何ができますか?

4

2 に答える 2

3

セッションの簡単な形式の1つは

$data = array(
    "admin" => $username,
    "is_logged_in"  => true
);
$this->session->set_userdata($data);

ただし、ID(必要な場合)またはその他のものをセッションに保存することもできます。

そして、あなたがそれをチェックしたいなら、あなたはこのようにそれをすることができます

if (!isset($this->session->userdata['admin'])) {
    redirect('admin/login'); // for example
}

私はDBにセッションを保存することを好みます。

詳細については、 http://ellislab.com/codeigniter/user-guide/libraries/sessions.htmlをご覧ください。

于 2013-02-04T22:24:24.057 に答える
2

こちらの Phil Sturgeon のブログ投稿をご覧ください。

個別の認証を必要とするセクション全体がある場合、CI_Controller を拡張すると、多くのコードが節約され、よりクリーンになります。

于 2013-02-04T22:32:53.483 に答える