воспламенитель кода, передающий базу данных session_id в поле зрения - PullRequest
1 голос
/ 11 июля 2011

Я пытаюсь заставить Uploadify работать с воспламенителем кода, но у меня та же проблема, что и у всех, кто создает новый сеанс для «ShockWave Flash» вместо того, чтобы забрать уже созданный сеанс.

У меня есть следующие настройки

$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;

Таблица сеансов Code Igniter выглядит примерно так С БРАУЗЕРОМ

   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: 

Я пытаюсь взломать это и добавить браузер session_id в качестве get для php, например, чтобы при uploadify я мог получить данные сеанса пользователя, используя идентификатор сеанса.

              $(document).ready(function() {   
                $('#uploadify').uploadify({  
                  'uploader'  : '/uploadify/uploadify.swf',   
                  'script'    : '/index.php/upload/uploadify/'.$this->session->userdata('session_id').'',  

Мой вопрос: 1) плохо ли, что я показываю session_id публично в источнике, доступен ли session_id независимо от того, даже если я этого не делаю? 2) На контроллере «upload», как я могу «загрузить» этот session_id или получить из него данные?

1 Ответ

2 голосов
/ 11 июля 2011
  1. Единственный способ создать проблему - это если вы шифруете cookie session_id, иначе вы не дадите пользователю больше реальных данных.(Так что да, в большинстве случаев они могут получить эти данные в любом случае)
  2. Вам нужно будет перезаписать sess_read() или __construct в вашем классе MY_Session, чтобы посмотреть пользовательскую переменную, или вы можете изменитьпеченье

В основном это:

public function __construct( $id )
{
   // a hack, but you need a hack
   $_COOKIE[ $this->sess_cookie_name ] = $id;
   parent::__construct();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...