![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GiV |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 13.7.2006 Где: rus|53 Репутация: 4 Всего: 9 |
Да собственно рассказывать не о чем, потому как на шаред хостинге или включено или нет (обычно нет).
Варианта использования shared memory 2-а: 1. Собрать PHP с поддержкой shared memory allocation (mm) --with-mm=[DIR] Однако в комментариях этого делать не советуют из-за конфликтов при работе всего этого дела под Apache (PHP просто вылетает в корку при попытке создании сессии) 2. Воспользоваться возможностями ОС (кроме Windows). А именно tmpfs или md. Собственно у меня под FreeBSD сделано так:
Добавлено через 10 минут и 51 секунду Да... БД, в частности MySQL, тоже позволяют хранить таблицы в памяти, так что по сути доступное всем решение это создание таблиц сессий в базе данных типа HEAP ( или ENGINE = MEMORY ) Так что если не смущает дополнительная нагрузка на сервер БД, то это выход для получения достаточно производительного механизма сессий. Хотя работа напрямую с shared memory все же быстрее, ИМХО. |
|||
|
||||
| Agares |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 376 Регистрация: 20.5.2007 Где: Минск Репутация: нет Всего: нет |
У меня вопрос стоит не в скорости работы, а в качестве, думаю, лучше будет на БД осуществить сессии. Спасибо за тот код, который вы привели, очень помог. Сейчас буду сидеть переписывать ...
Вот еще один вопрос, как передавать session_id пользователю? не делать же постоянно ссылку типа mysite.com?id=clf265k264g265j4okf5glkf242ghpd Есть вариант этот id в куки записывать, но я с куками не умею работать :( |
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Так в них нет ничего сложного. Устанавливаешь куку функцией setcookie(), а при необходимости берешь из глобального массива $_COOCIES. Вот и все
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| Agares |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 376 Регистрация: 20.5.2007 Где: Минск Репутация: нет Всего: нет |
У меня появилась мысль, можно ведь сделать так:
Как думаете? Добавлено через 55 секунд Severyanin, можна примерчик кода записи в куки и чтения из него? |
|||
|
||||
| GiV |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 13.7.2006 Где: rus|53 Репутация: 4 Всего: 9 |
В случае если будете переопределять session_handler (http://ru2.php.net/manual/ru/function.session-set-save-handler.php), то сессия будет сохранятся в куках (особенное если включен session.use_only_cookies) Достаточно узнать IP жертвы, и сессия будет подделана злоумышленником. Два разных пользователя из одной локальной сети (сидящие за proxy-сервером) будут иметь одну и ту же сессию. Идентификатор сессии должен быть: а) уникальным б) с большим элементом случайности Как вариант
http://ru2.php.net/setcookie - достаточно примеров и записи и чтения. Да еще при чтении сессии из кук, стоит проверять полученные данные на "внешнюю похожесть" на ид сессии, либо удалять то чего в ид не может быть, например так:
|
||||||
|
|||||||
| Agares |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 376 Регистрация: 20.5.2007 Где: Минск Репутация: нет Всего: нет |
по поводу куков, я правильно понял:
И еще вопрос, зачем вот эта строчка:
что она делает? Добавлено через 1 минуту и 28 секунд и еще вопрос:
Что это за функции? Добавлено через 4 минуты и 59 секунд да и еще, как удалить куки? Добавлено через 6 минут и 41 секунду Слушайте, так с помощью куков ведь можно сделать автологин!! |
||||||
|
|||||||
| GiV |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 13.7.2006 Где: rus|53 Репутация: 4 Всего: 9 |
Для проверки того, что вместо md5-хэша в session_id в куке плохой дядя не воткнул SQL/CSS инъекцию. Собственно функции для генерации уникальных значений ид.
Сам код должен быть приблизительно таким
Это сообщение отредактировал(а) GiV - 20.8.2007, 12:28 |
||||
|
|||||
| Agares |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 376 Регистрация: 20.5.2007 Где: Минск Репутация: нет Всего: нет |
Аааа понятно, спасибо БОЛЬШОЕ!!!!
Было б у меня 100 сообщений, поставил бы плюсик ;) |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |