Php 代码点火器在视图中传递数据库会话\u id
我正在尝试使用CodeIgniter进行上传,但是我和每个人都有相同的问题,都是为“ShockWave Flash”创建了一个新会话,而不是拾取已经创建的会话 我有以下设置Php 代码点火器在视图中传递数据库会话\u id,php,codeigniter,Php,Codeigniter,我正在尝试使用CodeIgniter进行上传,但是我和每个人都有相同的问题,都是为“ShockWave Flash”创建了一个新会话,而不是拾取已经创建的会话 我有以下设置 $config['sess_cookie_name'] = 'session'; $config['sess_expiration'] = 7200; $config['sess_expire_on_close'] = FALSE; $config['sess_encrypt_cookie'] = TRU
$config['sess_cookie_name'] = 'session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 300;
代码点火器会话表如下所示
带浏览器
session_id: 73b05af777af0e6a56e7bbba8f9714f6
ip_address: 127.0.0.1
user_agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/53
last_activity: 1310341663
user_data: a:6:{s:5:"email";s:32:"test@hotmail.com"}
上传
session_id: d39bce3d9c734081379b286449cf56ce
ip_address: 127.0.0.1
user_agent: Shockwave Flash
last_activity: 1310341167
user_data:
我正试图破解这个问题,并添加浏览器会话id作为访问php的途径,就像这样,当uploadify提交时,我可以根据会话id检索用户会话数据
$(document).ready(function() {
$('#uploadify').uploadify({
'uploader' : '/uploadify/uploadify.swf',
'script' : '/index.php/upload/uploadify/'.$this->session->userdata('session_id').'',
我的问题是:
1) 我在源代码中公开显示session\u id是否很糟糕,即使我不这样做,该session\u id是否仍然可用?
2) 在“上传”控制器上,我如何实质上“加载”该会话id或从中获取数据
MY\u会话
类中覆盖sess\u read()
或\u构造
,以查看自定义变量,或者您可以修改cookiepublic function __construct( $id )
{
// a hack, but you need a hack
$_COOKIE[ $this->sess_cookie_name ] = $id;
parent::__construct();
}
非常感谢你!因此,我实际上是在加密会话cookie,以便对用户加密cookie,也许我可以对会话id进行一些自定义加密,以确保对公众安全。今晚我将尝试上面的代码,谢谢!两个问题1)如果我像上面所示修改会话类的构造函数,我如何指定输入$id?什么是正确的流程。2) 我试图简单地修改sess_read()函数,并用我的session id参数手动调用它,从技术上讲,这是可行的,但问题是sess_read会被调用两次,一次是自动上载,第二次是在我的控制器顶部手动调用,所以我认为我真的需要修改构造函数。3) 如何扩展代码点火器库?它似乎与系统类不同……1$此->加载->库('session',$id);2.如果您正在手动设置会话id,那么无论您调用它的频率有多高,都不应该影响它。有错误吗?3.在应用程序/库下创建一个名为MY_Session.php的文件。将类MY_Session放在其中,并将其子类CI_Session放在该行末尾需要一个分号