Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   session (http://forum.oszone.net/showthread.php?t=105409)

bruder 20-04-2008 13:53 785422

session
 
Вопрос к php-профи. на странице есть iframe. Parent- страница и фрейм инклюдируют свои страницы с php кодом. Была одна проблема, оказаломсь что фрейм не видит SESSION переменные из parenta. Приходится и во фрейме стартовать свою сешн. Не могут быть какие либо проблемы изза этого? Переменные с одинаковыми названиями есть.

Arrest 20-04-2008 22:55 785751

bruder, нет, проблем не может быть, переменные разных сессий хранятся в разных файлах. Но вопрос: "стартовать свою сешн" - это к тому, что вы делаете и там и там session_start? так и должно быть...

Sham 20-04-2008 23:07 785762

bruder, важен домен кукиса - точно на этот домен должны вестись все запросы с фреймов (имеет значение наличие или отстутствие www). Лучше, чтобы везде были относительные запросы.

Могут быть проблемы с настройками безопасности браузера (iframe не шлет кукис с id сессии). Тут видимо нужно ручками к урлу в src добавить сессию (при этом настройки php должны разрешать сессии с урл)...
PHP код:

$tag '<iframe src=/page.php?'.session_name().'='.session_id(); 

вообще юзай плугин firebug в ff для отслеживания запросов (там ясно будет, шлется ли id сессии)...

bruder 21-04-2008 00:50 785810

страница iframa находится в одной и тойже директории что и parent. В FF вижу такое

Set-Cookie PHPSESSID=627f7505a9d1a727115a130e6a691235; path=/

интересно что я отключил куки а эта строка всеравно там! Как так может быть? Или это фича FF или это не куки. Может ли на других платформах быть иначе? Сейчас под виндой все пашет, должен ли я посылать все равно session id и для чего так делается, в смысле посылать вручную id? Можно плиз подробнее, очень важно и интересно. Спасибо заранее

P.S. Только сейчас протестировал без куки. ШОК :o . Ничего не пашет, все в долбанных кукисах! И это перед презентацией. Я с сешн мало работал. Спасибо что глаза открыл, спрошу завтра как с условием что кукисы должны быть обязательно. Вручную передавать в каждой ссылке маразм. Я и взялся за сешн чтобы этого избежать. БЛИН. Иду ладно спать, завтра рано вставать.

Sham 21-04-2008 01:07 785824

Цитата:

Цитата bruder
Set-Cookie PHPSESSID=627f7505a9d1a727115a130e6a691235; path=/ »

это ответ сервера (response) - команда браузеру, чтобы куку поставил, смотри request заголовки (там должен быть PHPSESSID)..
Цитата:

Цитата bruder
страница iframa находится в одной и тойже директории »

важен сам урл запроса (шобы везде домен одинаков был, с учетом www, или относительный урл)...
Цитата:

Цитата bruder
Может ли на других платформах быть иначе? »

ну про настройки брузера уже выше писал... сессию в src iframe лучше вручную прописать imho, потому что настройки браузера могут не позволить iframу отсылать кукис (в твоем случае PHPSESSID)...

bruder 21-04-2008 13:17 786020

интересно а где эта настройка в браузере? По умолчанию так понимаю разрешено. Нашел настройку в php.ini - session.use_trans_sid чтобы автоматически вешать sessid, по умолчанию в xammp стоит 0, но думаю даже из скрипта поменять нет проблем. Что успокоило - тут по правилам если куки отключены можно выдать сообщение что для корректной работы требуются куки и все. Что и сделаю. Однако многое узнал про session, большое спасибо за разъяснения

Sham 23-04-2008 01:38 787195

Цитата:

Цитата bruder
чтобы автоматически вешать sessid »

Тогда он будет более уязвим. Если в сессии хранятся учетные данные, то так не делается... см. session.use_only_cookies


Время: 18:31.

Время: 18:31.
© OSzone.net 2001-