0

アプリケーションのセキュリティ面について疑問に思っています。プロジェクトに CodeIgniter PHP フレームワークを使用しています。

これについて「専門家」の意見を知りたいです。ログイン機能があります。ユーザーがログインすると、セッションがデータベースに保存されます。説明会にユーザーIDなどの情報を追記しました。ユーザーは会社を作成できます。しかし、それを行うには、まず彼のアカウントをチェックして、彼がすでにアカウントを持っているかどうかを確認します. このセッション ユーザー ID を使用すると、DB 要求を実行してそれを見つけることができます。例えば ​​:

function create(){
    $hasCompany = $this->Accountmodel->hasCompany($this->session->userdata('id'));
    if($hasCompany){
        $data['company'] = $this->Companymodel->getCompanyInfo($this->session->userdata('id');
        $this->load->view('company/panel', $data);
    }
    else{
        $this->load->view('company/create');
    }

}

そして、彼が持っている場合は、会社の編集/削除パネルを印刷できます。myserver.com/company/edit/[id] のような URL での id パラメータの使用を避けることができます。

要するに、セキュリティの観点から、これで問題ないのか、それとも何らかの脆弱性があるのか​​ 疑問に思っていました.

どんなアドバイスも大歓迎です!

4

2 に答える 2

0

セッション データがデータベースに格納されセッション Cookie が暗号化されている場合、セッションからのデータの使用は非常に安全です。

セッション Cookie は、セッション ID、ユーザー エージェント、および IP アドレスのみを保持します。さらに、セッションは 5 分ごとに (デフォルトで) 期限切れになるため、誰かがセッションをハイジャックするには、Cookie の暗号化を破る必要があり、IP とユーザーエージェントを Cookie に保存されているものに設定し、これらすべてを 5.セッション ID が変更されるまでの分ウィンドウ。

これは(私の意見では)非常にありそうもないことです。

構成ファイルでクロス サイト リクエスト フォージェリ (CSRF) オプションを有効にして、フォームのセキュリティを強化することもできます (ただし、適切なユーザー データの検証に取って代わるものはありません)。

于 2012-10-01T11:33:52.150 に答える
0

セッションハイジャックは脅威です。以下のスレッドで、それを回避する方法が説明されています。

セッションハイジャックを防ぐ最善の方法は何ですか?

于 2012-10-01T11:25:48.190 に答える