![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
lancelot555 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 19.2.2005 Репутация: нет Всего: нет |
В общем есть скрипт авторизации построенный на куках. В index.php есть форма для ввода логина пароля, затем создается кука
На остальных страницах вот такой код проверяет логин пароль:
На локальном сервере все работает как надо, но хосте не работает... Кука создается, к примеру если написать echo $auth; то выводится сериализнутый массив а если сделать $mass=unserialize($auth); то почему то функция не выполняется, то есть массис mass оказывается пустым и echo mass['login'] не выводит ничего ![]() Это сообщение отредактировал(а) lancelot555 - 9.1.2006, 15:25 --------------------
Hи что так не поpтит цель, как попадание! =) |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Пароль охранять в сессию не надо.
Глянь тут: http://vingrad.ru/PHP-ART-002849, что надо сохранять в куки. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Это глюк PHP.
![]() Бывает, что у него не получается рассериализировать свой же массив. Редко, но бывает. Я так и не нашел закономерности... |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Cheba сколько исходных комбинация может быть для результата md5?
Вот тут в принципе такая же фигня. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Mal Hack, не то. MD5 - это хеш. Он из любой строки (любой длины) сделает тебе хеш в 128 бит. Потому и есть разные строки для которых хеш одинаков.
Serialize - совсем другое дело. Он как-раз для того и был придуман, чтобы восстанавливать структуру массива из строки. Он сохраняет структуру, типы и длины элементов. Длина сериализированного массива (строки - результата serialize) всегда длиннее суммы длин элементов массива в строковом представлении. Это именно глюк, к сожалению. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Хм... Но ведь смысл похож. В принципе, мы же просто шифруем массив, и пытаемся потом расшифровать. При этом КЛЮЧ он нигде не хранит...
Хотя фиг его знает, как это во внутреннем представлении PHP сделано. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Не похож смысл.
![]() Попробуй из md5 (да вообще из любого хеша) достать исходную строку. ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Cheba это-то понятно, что из md5 ты ничего не достанешь. Я имел ввиду другое.
Мы один и тот же хэш можем получить разными входными строками. Вот в сериализации ИМХО, может быть тоже самое. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Не должно быть такого. Именно для того и придумывали serialize/unserialize чтобы иметь однозначный результат. Можешь воспринимать это как двустороннее шифрование по пустому ключу.
|
|||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
кстати, serialize ничего не шифрует.
Для эксперимента попробуй вывести результат на экран... serialize() возвращает строку с байтово-поточным представлением значения value, которое может храниться где угодно. Это используется для хранения или передачи PHP-значений повсюду без потери их типа и структуры. -------------------- |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Я знаю, но аналогия вполне уместна ведь по сути это преобразование формата данных. Вот только проблема в том, что unserialize'у не всегда удается восстановить структуру исходных данных.
|
|||
|
||||
RaZoR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 6.5.2004 Где: Оренбург Репутация: нет Всего: 1 |
попробуй так:
|
|||
|
||||
Wiedzmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Что делать если такое выходит? В сериализованом массиве есть тексты не такой уж маленькой длины... |
|||
|
||||
therik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.9.2005 Репутация: нет Всего: нет |
В общем нашел я в чем проблема. На самом деле когда в сериализованной строке встречаются кавычки, то php перестает их десериализировать.Выход один обрабатывать сериализуемые данные и удалять кавычки, ну либо еще что придумать, добавляя слэш, не дали заметного результата.
|
|||
|
||||
Vovarza |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 3.5.2009 Репутация: нет Всего: нет |
Cпасибо, помогло! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |