![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Здравствуйте форумчане.
Я недавно дописал одному из своих сайтов модуль регистрации и авторизации. Сессия для пользователя запускается на каждой странице, вида:
При сканировании сайта извне, сервер отдает вместе с простыми страницами, например index.php, еще несколько десятков странных страниц с запущенной сессией, типа index.php?PHPSESSID=********. Причем страниц таких всего штук 20, а код запуска сессии на всех страницах сайта одинаков. Что самое интересное, что сначала отдает простую страницу, а следом ту же самую, но с запущенной сессией. Так и должно быть? По идее не должен php генерировать сессию для не авторизованного пользователя, тем более для бота. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
можно поподробнее про "несколько десятков странных страниц"?
может быть, это только я такой непонятливый, но представить себе что происходит не неведомо мне серверу по такому описанию я не в состоянии. единственное что могу сказать твердо: сервер сам никогда ничего никому не отдает. только по запросу. то есть, если он отдает подряд две одинаковых страницы, то это значит, что у него запросили эти страницы. |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Как же объяснить......
В общем решил сделать сайту Sitemap, запустил генератор, который сначала сканирует все страницы сайта. И в результатах сканирования вижу такую картину: примерно 20 страниц с сайта дублируются с запущенной сессией, то есть генератор нашел index.php и index.php?PHPSESSID=12kj1kh1h51l и по такому же типу еще 20 страниц, хотя на всех страницах сайта код одинаковый, разный только контент. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
ну, надо с этим генератором разбираться - что он там у кого запрашивает.
ограничьте глубину сканирования 1 уровнем, смотрите лог - какие страницы оно запрашивает. |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Да проблема не в генераторе. Я просто пробовал сканировать сайт "снаружи", все равно лезут эти непонятные страницы с запущенной сессией. Я боюсь, что поисковые системы плохо отнесутся к таким страницам, получится что при каждом обращении робота к такой странице ее урл будет меняться...
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
еще раз.
смотрите лог генератора - какие страницы оно запрашивает. вы понимаете, что сидеть и жаловаться на форуме можно хоть сто лет, но с таким "внятным" объяснением своих проблем, никакого ответа все равно не получить? вы поняли, что сам РНР никогда две страницы на один запрос не отдаст? вы понимаете что такое лог? вы можете посмотреть, какие запросы вызывают отдачу "странных" страниц? ну так постарайтесь понять. Добавлено через 10 минут и 3 секунды генератор - не ответ на вопрос, которого вы ждете, как манны небесной. генератор - это средство. средство приблизиться к ответу на вопрос. далеко не всегда в программировании ответ находится в одной действие. часто приходится совершить очень много телодвижений, чтобы найти ошибку. причем именно телодвижений, а не сидения сложа руки: исправлений кода, анализа ошибок, написания тестовых процедур. привыкайте. дальше будет еще хуже. |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Бог его знает где там у него логи, не нашел.
Сейчас уже смотрю в панеле вебмастера в Яндексе появились эти страницы с сессией, когда сам на эти страницы захожу из браузера естесвенно никакой сессии не генерируется...как вообще такое может быть если код на ВСЕХ страницах сайта одинаков??? |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Ура! Нашел ошибку! Естесвенно сам дурак: на одной из 1500 страниц сайта каким-то образом оказалось заместо
if (isset($_REQUEST[session_name()])) session_start(); просто session_start(); И эта злополучная страничка "поганила" все остальные.... Ипатьев спасибо что отозвались и пытались помочь. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Вот именно лог генератора сразу бы и показал, где та проблемная страница.
А их точно 1500? Что-то многовато. Кстати, можно было просто отключить session_use_trans_sid, тем более, что это рекомендуется по соображениям безопасности. |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Можно и отключить.....
Тогда еще одни вопрос: session_use_trans_sid и session_save_path будет достаточно выполнить всего 1 раз на сервере и настройки сохранятся? Или же их нужно выполнять каждый раз при старте сессии? |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
смотря где вы их прописываете.
где они, по вашему, сохранятся? |
|||
|
||||
Primitive |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 7.4.2009 Репутация: нет Всего: нет |
Ну это, если я не ошибаюсь, директивы php.ini ?
Тогда по идее там и сохранятся изменения....нет? |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
настройки РНР можно задавать в десятке разных мест - от php.ini до конфига веб-сервера.
все описано в документации. те, что заданы во время исполнения скрипта, разумеется, не сохранятся те, что прописаны в конфигах - ну, если вы файл сохранили, то сохранятся в этом файле. я думал, это очевидно |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |