Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.17.128] |
|
Сообщ.
#1
,
|
|
|
Имеется некий код, исполняющийся на PHP 4.3.8.
Куки запрещены, и SID цепляется к URL... Но как! Пример: <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. |
Сообщ.
#2
,
|
|
|
что значит промахивается?
методом GET можно передавать не бесконечное число параметров и не бесконечного объема. может быть у тебя с этим проблемы? попробуй использовать метод POST - он менее придирчив ко всему этому. |
Сообщ.
#3
,
|
|
|
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=), хорошо, что в адресной строке... |
Сообщ.
#4
,
|
|
|
Я не понял в чем проблема, если ты сам циклом генеришь эту последовательность параметров, напиши тогда сам цикл, поскольку как я вижу, у тебя просто ковычка не туда пихается, иногда перед & иногра в конце. Условие где-нибудь не верное. И вообще зачем ты сам добавляешь PHPSESSID если он сам должен добавляться.
|
Сообщ.
#5
,
|
|
|
Вот _именно_! Руками я ничего не добавляю, это _автоподстановка_ так работает! Я еще не настолько глуп, чтоб не предположить поначалу, что это мои грабли...
|
Сообщ.
#6
,
|
|
|
1. Некоторые браузеры имеют ограничение на длину аттрибута href.
2. ПРИЧИНА. Сессии живут недолго (обычно не более 15 минут после последнего обращения), поэтому ссылка просто невалидна. Сессия с идентификатором, передаваемым в PHPSESSID, скорее всего, давно уже уничтожена сборщиком мусора (или вызовом session_destroy()). |
Сообщ.
#7
,
|
|
|
А причем здесь браузер? Это же сервер мимо кавычек атрибут поставил... Не надо _аж_так_ шутить... Ладно, тему закрываем за ненадобностью -- ответственные обещали разобраться как следует (и наказать кого попало), так что это уже не мое дело
Но уж извините: в разделе серверных технологий я бы не стал плакаться на браузеры, во-вторых, все решается _до_ них (генерацией кривого кода, от меня не зависящей -- локально все работает на версии ПХП 4.3.3), в третьих -- нормально отгенеренная ссылка рядом работает. Два примера привел выше. Я мог бы их хоть curl'ем доставать, результат один и тот же. Сразу оговорюсь: смотрелось в ИЕ и Мозилле (на последнюю нечего думать всякое). Пожалуйста, читайте чуть внимательней, а то тему в смехогрех за "просто так" выбросят. Если бы не было грустно, я бы сам посмеялся... |