-
Вебмастеру
(
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? так и должно быть...
|
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 . Ничего не пашет, все в долбанных кукисах! И это перед презентацией. Я с сешн мало работал. Спасибо что глаза открыл, спрошу завтра как с условием что кукисы должны быть обязательно. Вручную передавать в каждой ссылке маразм. Я и взялся за сешн чтобы этого избежать. БЛИН. Иду ладно спать, завтра рано вставать.
|
Цитата:
Цитата 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, большое спасибо за разъяснения
|
Цитата:
Цитата bruder
чтобы автоматически вешать sessid »
|
Тогда он будет более уязвим. Если в сессии хранятся учетные данные, то так не делается... см. session.use_only_cookies
|
Время: 18:31.
© OSzone.net 2001-