0

我一直想知道我的应用程序的安全方面。我正在为我的项目使用 CodeIgniter PHP 框架。

我想知道对此的一些“专家”意见。我有登录功能。当用户登录时,会话存储在数据库中。我在信息会话中添加了用户 ID 等信息。用户可以创建公司。但要做到这一点,我首先检查他的帐户,看看他是否已经有一个。这个会话用户 ID 允许我运行一个数据库请求来找出它。例如 :

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');
    }

}

如果他有,我可以打印公司编辑/删除面板。它允许我避免在 url 中使用 id 参数,例如:myserver.com/company/edit/[id]

所以说到重点,我想知道,就安全性而言,这是否可行,或者存在某种漏洞。

欢迎任何建议!

4

2 回答 2

0

会话劫持将是一种威胁,在下面的线程中已经解释了如何避免这种情况。

防止会话劫持的最佳方法是什么?

于 2012-10-01T11:25:48.190 回答
0

如果会话数据存储在数据库中并且会话 cookie 是加密的,那么使用来自会话的数据是非常安全的。

会话 cookie 仅保存会话 ID、用户代理和 IP 地址。此外,会话每 5 分钟到期(默认情况下),因此为了劫持会话,需要有人破解 cookie 加密,将 IP 和用户代理设置为存储在 cookie 中的 IP 和用户代理,并在 5会话 ID 更改前的分钟窗口。

这(在我看来)极不可能。

You may also want to enable the Cross Site Request Forgery (CSRF) option in your config file to increase your forms security (though nothing replaces proper user-data validation)

于 2012-10-01T11:33:52.150 回答