Xwab
Форумыnavigate_nextПрограммирование на PHP

Помогите устранить ошибку
Сообщения
Ant0ha

можно заменить error handler на ErrorException и запускать сессию в try


function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

try {
    session_start();
}
catch(ErrorException $e) {
    die('Не удалось запустить сессию. Возможно, неверный идентификатор');
}

11 Май 2011, 7:32
Akdmeh

11, не сказал бы, что это идеальный вариант - так как придется ловить все ошибки.

11 Май 2011, 10:14
Ant0ha

а почему бы и нет?) как по мне, так удобней работать с ErrorExcepton, нежели собачить всё подряд)

11 Май 2011, 10:43
gogman

у мя имена сессий $_SESSION['user'],$_SESSION['pass'], а как вывести их идентификаторы в зашифрованном виде, чтоб потом можно было их фильтровать


__________
посл.ред. 11 Май 2011, 10:48; всего 4 раз(а) 11 Май 2011, 10:43
Ant0ha

ну, и не всё ловить, а только то что нужно

11 Май 2011, 10:43
gogman

походу разобрался, так правильно будет
if(preg_match("/[^0-9a-zA-Z_]+/",session_id())){
echo 'Некоректные символы в сессии
';
include 'inc/foot.php';
exit();
}
if(strlen(session_id())>32){
echo 'длина сессии более 32 символов';
include 'inc/foot.php';
exit();
}

11 Май 2011, 11:20
OZ_

gogman, а разве пользователь генерирует символы сессии, что ты ему 'exit' делаешь? Ты их сам генерируешь, так что генерируй их по-другому.

11 Май 2011, 11:27
gogman

а как по другому?Я же идентификатор сессии проверяю на наличие ошибок. Разве не так нада?

11 Май 2011, 11:35
OZ_

gogman, русский язык учить надо. Идентификатор сессии создаёшь ты. Значит ты можешь изменить алгоритм его создания, чтобы не допустить ошибки.

11 Май 2011, 11:44
gogman

а как это сделать?Извени за глубый вопрос, совсем запутался

11 Май 2011, 11:47
Ответить на тему