На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
Закрыто SergeS 10-09-2004: см посл пост
  
  • закрыта
> Глюк ли PHP? , Некорректная вставка SID в URL
    Имеется некий код, исполняющийся на PHP 4.3.8.

    Куки запрещены, и SID цепляется к URL... Но как! Пример:

    ExpandedWrap disabled
       
      <A class=menu target="_self" href="./../blabla1/blabla2.php?target_mode=1&view_mode=1&deduction=view-table&pagesize=25&blah_id=&
      ... до кучи всякого разного в УРЛ, кавычек нет, корректно urlencoded, весь УРЛ где-то под 512 символов длиной ...
      pagesize=25"?PHPSESSID=495dd884399497425f44d0bee2468295>


    Соседний УРЛ такой же, от предыдущего отличается на 2 или 3 циферки, и PHPSESSID на месте. Интересно, почему оно промахивается?

    Кстати, другой случай. <a href="...тоже длинный урл..." &phpsessid=495dd884399497425f44d0bee2468295>

    Может, кто-то встречался? Молчит и этот форум, и bugs.php.net, и Google.
      что значит промахивается?
      методом GET можно передавать не бесконечное число параметров и не бесконечного объема. может быть у тебя с этим проблемы? попробуй использовать метод POST - он менее придирчив ко всему этому.
        POST низзя, но в том-то и дело, что "промахи" случаются безо всякой системы. Полные теги таковы:

        Цитата

        <a target="_blank" href="./../bla/bla1.php?par1=val1&par2_id=7&is_window_close=1"&PHPSESSID=98865849037ebc7004c30c8ded47215d>


        Я не могу этого понять, т.к. рядышком теми же операторами (в цикле) создано такое:

        Цитата

        <a target="_blank" href="./../bla/bla1.php?par1=val1&par2_id=9&is_window_close=1&PHPSESSID=98865849037ebc7004c30c8ded47215d">


        И урл не длинный, и валидны оба. И пост не проканает... Т.к. не форма это.

        Добавлено в :
        Вдогонку. Проверено, что ошибается на одних и тех же ссылках вне зависимости от сессии, погоды и т. п. В зависимости от чего -- не знаю, иначе бы не спрашивал. Во-вторых, может ли на это поведение влиять то, что сайт на SSL (не должен, но хзъ...)? Ну и в третьих. Малость неприятный баг: после session_destroy() зараза передает пустой SID повсюду (&PHPSESSID=), хорошо, что в адресной строке...
          Я не понял в чем проблема, если ты сам циклом генеришь эту последовательность параметров, напиши тогда сам цикл, поскольку как я вижу, у тебя просто ковычка не туда пихается, иногда перед & иногра в конце. Условие где-нибудь не верное. И вообще зачем ты сам добавляешь PHPSESSID если он сам должен добавляться.
            Вот _именно_! Руками я ничего не добавляю, это _автоподстановка_ так работает! Я еще не настолько глуп, чтоб не предположить поначалу, что это мои грабли...
              1. Некоторые браузеры имеют ограничение на длину аттрибута href.

              2. ПРИЧИНА. Сессии живут недолго (обычно не более 15 минут после последнего обращения), поэтому ссылка просто невалидна. Сессия с идентификатором, передаваемым в PHPSESSID, скорее всего, давно уже уничтожена сборщиком мусора (или вызовом session_destroy()).
                А причем здесь браузер? Это же сервер мимо кавычек атрибут поставил... Не надо _аж_так_ шутить... Ладно, тему закрываем за ненадобностью -- ответственные обещали разобраться как следует (и наказать кого попало), так что это уже не мое дело :)

                Но уж извините: в разделе серверных технологий я бы не стал плакаться на браузеры, во-вторых, все решается _до_ них (генерацией кривого кода, от меня не зависящей -- локально все работает на версии ПХП 4.3.3), в третьих -- нормально отгенеренная ссылка рядом работает. Два примера привел выше. Я мог бы их хоть curl'ем доставать, результат один и тот же. Сразу оговорюсь: смотрелось в ИЕ и Мозилле (на последнюю нечего думать всякое).

                Пожалуйста, читайте чуть внимательней, а то тему в смехогрех за "просто так" выбросят. Если бы не было грустно, я бы сам посмеялся...
                Сообщение отредактировано: Ho Im -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:
                Закрыто SergeS 10-09-2004: см посл пост


                Рейтинг@Mail.ru
                [ Script execution time: 0,0234 ]   [ 15 queries used ]   [ Generated: 28.04.24, 16:25 GMT ]