IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Злость на Сессии , или расскажите как? (http://www.imho.ws/showthread.php?t=58182)

Jlamepok 08.05.2004 23:53

Злость на Сессии , или расскажите как?
 
Вот.. злой как собак... Сидел тут пробовал сс куками, а потом подумал, что надо с сессиями разобраться... просмотрел все 20 страниц поиска, а потом понял.. там 100% нет того, чего мяне надо, да еще 3 фака(даже тот, мега фак, который на спб)

Вот главное..
1. Ограничение времени сесии(там сказано только в пхп ини), а мне ведь надо сделать свое, а изменить то я пхп ини не могу.. (я ведь только за хостинг плачу..)

2. Безопастность. Безопастно вообще юзать Сессии при передачи информации через формы?

3. И каждый наверное знает, что у Оперы есть Манагер Куков, так вот обьясните, почему мои сессии не просматриваются нормально и удалить их нельзя А другие и просматриваются и удаляются. (мож заполнены не так?)

И последнее.. шапка у меня в руках.. Люди добрые, поможите разабраться.. ведь это index.php?PHPSESSID=888 - это сессия в папке, или постоянно передаваемая..

Если можно напишите примерный, правильный код сессиии, в начале файла.. ну, как Вы там робите..

Все, заранее благодарен, если кого-то ввел в заблуждение, звиняйтэ, бо зол однако.. И сорри

Hubbitus 09.05.2004 00:47

1. Есть функция session_set_cookie_params() в ней можно установить параметры, в том числе и время жизни куки. Но действие этой функции распространяется только на период работы скрипта. Также можешь использовать функцию ini_set() (смотри МАН), если нету доступа к php.ini. А вообще можно и хостинг взять нормальный, где тебе выделяется отдельный экземпляр Апача и есть свой php.ini (конечно и в этом случае не абсолютно все можно)
2. Что ты подразумеваешь под безопасностью при работе с формами и сессиями? Сессии хранятся на стороне сервера. На него из формы нужно передать данные естественно. Если протокол не шифрованный, то естественно существует возможность их перехвата злоумышленниками. Но ведь их ты в любом случае будешь передавать на сервер, используешь ты сессии или нет. Сессии более защищены чем хранение данных в куках пользователя.
3. Что значит не просматириваются? Они же на сервере! В куках может только идентификатор сессии "просматриваться", если определено его хранение в куках.
Цитата:

Jlamepok:
И последнее.. шапка у меня в руках.. Люди добрые, поможите разабраться.. ведь это index.php?PHPSESSID=888 - это сессия в папке, или постоянно передаваемая..
Это я совсем вопроса не понял... какая шапка, какая папка?

И какой код нужно написать?

Jlamepok 09.05.2004 11:58

ага, Hubbitus , спасибо , что пояснил..

Насчет ?PHPSESSID=888 - как такую вот получить... (или что-то такое header("location: index.php?$sid");)

И напиши пожалуйста, как ты начинаешь сессии

Спасибки..

Hubbitus 09.05.2004 13:58

Ах вот о чем ты... :)
Если у тебя настроенно хранение идентификатора сессии в куках, то и не обязательно его передавать явно. С другой стороны, для надежности, можно. В php.ini название переменной, содержащей идентификатор сессии, определяется в session.name. По-умолчанию переменная называется $PHPSESSID, но очень многие хостеры ее переименоывывают в $SID, поэтому смотри что конкретно у тебя (например функция phpinfo() и ищешь параметр session.name).
Используется приблизительно как ты привел сам: header("location: index.php?SID=$SID); (если идентификатор в $SID).
Цитата:

Jlamepok:
И напиши пожалуйста, как ты начинаешь сессии
Опять не понял вопроса! Если включен автостарт сессий - то никак не надо их начинать - просто юзай и все (session.auto_start в php.ini). Но чаще всего он выключен, ну дак начинаю функцией session_start()....

Jlamepok 09.05.2004 15:29

Hubbitus обьясни пожалуйста а нужно в сессии например @_session['id']; (@_session['id']=trim(intval(@_session['id'])); проверять на целое и всю такую бойду (для безопасности), или хош передовай, хош не передовай.. И есть ли возможность перехватить сессию

Hubbitus 09.05.2004 21:21

Не думаю что это имеет смысл такая проверка.
Цитата:

Jlamepok:
проверять на целое и всю такую бойду (для безопасности)
А что это даст? Если кто-то пытается подделать идентификатор сессии, то когда он неправильный - и так сессии такой не будет. А когда злоумышленник подберет (или другим способом узнает) идентификатор существующей сессии то и проверку эту он пройдет!
Цитата:

Jlamepok:
И есть ли возможность перехватить сессию
Что ты под этим подразумечаешь? Перехватить идентификатор - можно, если например фильтруешь трафик. Есть и другие способы "угнать" его, например уязвимости на компах пользователя, связанные с куками.... Я думаю, если это так важо в твоем случае, просто устанавливай время жизни сессии до закрытия браузера (соединения) - это должно решить большинство проблем связанных с безопасностью.

А бывает ли панацея вообще?

Seamore 15.05.2004 13:16

А вообще, лучший способ хорошо разобраться во всем - в том числе и с сессиями, попробовать прочесть курс Руслана Курепина -вот тут : http://www.kurepin.ru/php/
Мне помогло лучше всяких заумных руководств. Руководства тоже нужны, но уже когда въехал в сущность явления :)


Часовой пояс GMT +4, время: 21:24.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.