|
|
|
| Здравствуйте.
У меня ситуация такова: авторизация на сайте происходит с помощью сессий, соответственно на каждой странице перед выполнением скриптов стартует сессия - session_start();
Проблема заключается в том, что при первом заходе на сайт к url всех ссылок добавляется идентификатор сессии и получается вместо ссылки, например, /post/9/ вот что - post/9/?PHPSESSID=f009f1883968a6ffd7acacc269c3b2d2 и это при том, что если посмотреть код при первом заходе, то ...?PHPSESSID=... вписывается в сам html-код, а потом также пропадает и не появляется даже если вернуться на изначально загруженную страницу.
Подскажите, пожалуйста, с чем это может быть связано и как это можно устранить?
Заранее благодарен всем, кто откликнется.
Спасибо за внимание. | |
|
|
|
|
|
|
|
для: enso
(16.04.2010 в 22:45)
| | если нужно чтобы такого не появлялась насколько понимаю надо поменять метод авторизации на POST | |
|
|
|
|
|
|
|
для: Рэшад
(16.04.2010 в 23:34)
| | Спасибо, Рэшад
А можно по конкретней как это понимать - поменять метод авторизации на POST.
Что конкретно сделать?
У меня авторизация происходит через форму с методом post на отдельной странице.
Видимо я не совсем Вас понял. | |
|
|
|
|
|
|
|
для: Enso
(17.04.2010 в 00:04)
| | ну видимо всёж таки какая-то переменная передаётся методом GET, потому что когда POST все операции принимаются сразу на сервер и выдаётся клиент только результат без побочных переменных которые у вас выходят в браузере, может гдето ошибаюсь лучше подождать более профессиональных в этом деле людей, так как сам нахожусь на стадие интенсивного обучения и набора опыта в php:) | |
|
|
|
|
|
|
|
для: Рэшад
(16.04.2010 в 23:34)
| | Порой лучше просто промолчать.. | |
|
|
|
|
|
|
|
для: enso
(16.04.2010 в 22:45)
| | Немного о сессиях: сессии - это не абстрактное понятие, как кажется с первого взгляда. Каждая отдельная сессия - это таки новый файл на сервере, в котором сохранены переменные этой самой сессии.
Но как мы узнаем, что с пользователем уже начата сессия? Естессно, по некому идентификатору. Итак, f009f1883968a6ffd7acacc269c3b2d2 - это идентификатор сессии.
У пользователя он может хранится в кукисах, либо передаваться через GET параметр.
Зависит это от двух факторов:
1. Настройки PHP
2. Настройки браузера у пользователя.
В php.ini есть две весчи, которые отвечают за хранение идентификатора в кукисах:
session.use_cookies
и
session.use_only_cookies
По идее, первая по умолчанию стоит в 1, так что в гет параметр вылезать это не должно.
Можно и второй параметр выставить в 1 (с версии 5.3.0 так и сделано по умолчанию), не думаю, что много пользователей отключают кукисы.
Вот, кстати, статья с вдумчивым пересечением с манулом, а не отсебятины в час ночи.. | |
|
|
|
|
|
|
|
для: neadekvat
(17.04.2010 в 01:06)
| | Спасибо! | |
|
|
|
|
|
|
|
|
для: bab-nike
(17.04.2010 в 12:03)
| | Спасибо! | |
|
|
|