[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка файлов в Google Chrome
Страницы: 1, 2, 3, 4
zvezda_t
Цитата
Странно, может какая то защита от CSRF используется?

где это проверить?
и почему проблема только с Chrome и IE ?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
А что происходит когда не удаётся загрузить? Долго думает, или сразу вываливается? Включи отображение ошибок.
killer8080
Цитата (zvezda_t @ 28.03.2013 - 10:55)
где это проверить?

ну возможно какие то дополнительные модули подключаешь...
zvezda_t
killer8080вроде ничего не подключаю.
отображение ошибок у меня включено
думает минуты две, а потом выдает:

An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.




_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Winston
Я вообще не понимаю зачем использовать стандарный класс CI для работы с сессиями, который работает только на куках.. от него одни проблемы.. Проще написать свою обертку которая будет использовать стандартные сессии php. Кстати в одной из версий CI видел возможно переключать драйвера сессий, один работает на куках, другой использует стандартные php сессии.
zvezda_t
Winston, если не пойму в чем беда, тогда в этом контроллере придется отключить сессии.


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
zvezda_t а каково назначении сессии? Авторизация же не используется?
zvezda_t
killer8080
для авторизации использую родные сессии пхп
а ci_session для статусных сообщений:
Цитата
CodeIgniter поддерживает "flashdata" — данные сессии, которые доступны только для следующего запроса, и затем автоматически удаляются. Это может быть полезно для отображения статусных сообщений.


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
Цитата (zvezda_t @ 28.03.2013 - 12:43)
а ci_session для статусных сообщений:

ну так и выкинь их, эта задача решается в пару строчек кода, смысл для этого либу тянуть.
Winston
Цитата (zvezda_t @ 28.03.2013 - 12:43)
для авторизации использую родные сессии пхп
а ci_session для статусных сообщений:

Цитата (zvezda_t @ 28.03.2013 - 12:43)
для авторизации использую родные сессии пхп
а ci_session для статусных сообщений:

Я флешдату уже давно сделал хелпером, который использует стандартные php сессии
вот, можешь использовать
Свернутый текст
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

define('FLASHDATA_KEY', 'flash');
define('FLASHDATA_NEW', ':new:');
define('FLASHDATA_OLD', ':old:');
define('FLASHDATA_EXP', ':exp:');

_flashdata_sweep();
_flashdata_mark();


function get_session($item = null)
{
if(!is_null($item))
return isset($_SESSION[$item]) ? $_SESSION[$item] : false;
else
{
if(!isset($_SESSION))
my_session_start();
return $_SESSION;
}
}


function unset_session()
{
if(isset($_SESSION))
session_destroy();
}

function unset_session_item($item)
{
unset($_SESSION[$item]);
}

function set_session($data, $val = '')
{
if(is_string($data))
$data = array($data => $val);

if(is_array($data))
{
foreach($data as $key => $val)
$_SESSION[$key] = $val;
}
else
return
false;
}

function set_flashdata($newdata = array(), $newval = '')
{
// Wrap item as array if singular
if (is_string($newdata))
{
$newdata = array($newdata => $newval);
}

// Prepend each key name and set value
if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
$flashdata_key = FLASHDATA_KEY.FLASHDATA_NEW.$key;
set_session($flashdata_key, $val);
}
}
}


function flashdata($key)
{
// Prepend key and retrieve value
$flashdata_key = FLASHDATA_KEY.FLASHDATA_OLD.$key;
return get_session($flashdata_key);
}

/**
* Removes all flashdata marked as 'old'
*
*
@access protected
*
@return void
*/

function _flashdata_sweep()
{
$userdata = get_session();
foreach ($userdata as $key => $value)
{
if (strpos($key, FLASHDATA_OLD))
{
unset_session_item($key);
}
}
}


function _flashdata_mark()
{
$userdata = get_session();
foreach ($userdata as $name => $value)
{
$parts = explode(FLASHDATA_NEW, $name);
if (is_array($parts) && count($parts) === 2)
{
$new_name = FLASHDATA_KEY.FLASHDATA_OLD.$parts[1];
set_session($new_name, $value);
unset_session_item($name);
}
}
}


function all_flashdata()
{
$out = array();

// loop through all userdata
foreach (get_session() as $key => $val)
{
// if it contains flashdata, add it
if (strpos($key, FLASHDATA_KEY.FLASHDATA_OLD) !== FALSE)
{
$key = str_replace(FLASHDATA_KEY.FLASHDATA_OLD, '', $key);
$out[$key] = $val;
}
}

return $out;
}

function keep_flashdata($key)
{
// 'old' flashdata gets removed. Here we mark all flashdata as 'new' to preserve it from _flashdata_sweep()
// Note the function will return NULL if the $key provided cannot be found

$old_flashdata_key = FLASHDATA_KEY.FLASHDATA_OLD.$key;
$value = get_session($old_flashdata_key);

$new_flashdata_key = FLASHDATA_KEY.FLASHDATA_NEW.$key;
set_session($new_flashdata_key, $value);
}

function my_session_start()
{
static $my_session_started = FALSE;

// Check if session already started
if ($my_session_started && session_id())
return;

session_cache_limiter(FALSE);

// Check session id
$my_session_id = NULL;
if (isset($_COOKIE['PHPSESSID']))
$my_session_id = $_COOKIE['PHPSESSID'];
elseif (isset($_GET['PHPSESSID']))
$my_session_id = $_GET['PHPSESSID'];

if (empty($my_session_id) || !preg_match('/^[a-z0-9]{16,32}$/', $my_session_id))
{
// Create new session id
$my_session_id = my_random_key(32, FALSE, TRUE);
session_id($my_session_id);
}

session_start();
if (!isset($_SESSION['initiated']))
{
session_regenerate_id();
$_SESSION['initiated'] = TRUE;
}

$my_session_started = TRUE;
}

// Generate a random key of length $len
function my_random_key($len, $readable = false, $hash = false)
{
$key = '';

if ($hash)
$key = substr(sha1(uniqid(rand(), true)), 0, $len);
else if ($readable)
{
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';

for ($i = 0; $i < $len; ++$i)
$key .= substr($chars, (mt_rand() % strlen($chars)), 1);
}
else
for
($i = 0; $i < $len; ++$i)
$key .= chr(mt_rand(33, 126));

return $key;
}

Функционал тот же что и у стандарного класса, только используются сессии php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.