https://github.com/onanying/ci-phpsession
CodeIgniter 的 session 类因为无法做到关闭浏览器session就失效,对于开发后台管理有安全隐患,所以我重写了一个使用原生php session的类,可无缝切换。
https://github.com/onanying/ci-phpsession
codeigniter session
Last synced: 2 months ago
JSON representation
CodeIgniter 的 session 类因为无法做到关闭浏览器session就失效,对于开发后台管理有安全隐患,所以我重写了一个使用原生php session的类,可无缝切换。
- Host: GitHub
- URL: https://github.com/onanying/ci-phpsession
- Owner: onanying
- Created: 2016-09-22T09:37:03.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-09-22T10:05:49.000Z (over 8 years ago)
- Last Synced: 2025-01-05T09:42:20.604Z (4 months ago)
- Topics: codeigniter, session
- Language: PHP
- Homepage:
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 简介
CodeIgniter 的 session 类因为无法做到关闭浏览器session就失效,对于开发后台管理有安全隐患;如果强行配置$config['sess_expiration'] = 0; 则会导致服务器session文件不会被清理的问题,既然PHP原生的session本来就很好用,在不改变项目代码的情况下,所以我按CodeIgniter session类的方法重写了一个使用原生php session的类,可无缝切换。
### 使用 Session 类
与CodeIgniter的session类的使用方法一模一样,只是载入的类由session变为nsession,[官方文档](http://codeigniter.org.cn/user_guide/libraries/sessions.html)。
#### 初始化 Nsession 类
先将 Nsession.php 放入 application\libraries 目录。
```
$this->load->library('nsession');
```#### 获取 Session 数据
```php
// 获取单个键值
$_SESSION['item']
// or
$this->nsession->item
// or
$this->nsession->userdata('item');
``````php
// 获取所有键值
$_SESSION
// or
$this->nsession->userdata();
```#### 添加 Session 数据
```php
// 添加多个值
$newdata = array(
'username' => 'johndoe',
'email' => '[email protected]',
'logged_in' => TRUE
);
$this->nsession->set_userdata($newdata);
// 添加一个值
$this->nsession->set_userdata('some_name', 'some_value');
```#### 检查某个 session 值是否存在
```php
isset($_SESSION['some_name'])
// or
$this->nsession->has_userdata('some_name');
```#### 删除 Session 数据
```php
unset($_SESSION['some_name']);
// or
$this->nsession->unset_userdata('some_name');
// or
$array_items = array('username', 'email');
$this->nsession->unset_userdata($array_items);
```#### 销毁 Session
```php
session_destroy();
// or
$this->nsession->sess_destroy();
```