URI too long

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: URI too long

Непрочитанное сообщение zingel » 2008-08-30 16:48:37

заканчиваем флудить
Z301171463546 - можно пожертвовать мне денег

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: URI too long

Непрочитанное сообщение zg » 2008-08-30 17:42:34

lerryc писал(а):Поверь, гораздо больше было бы пользы и ответы были бы более конструктивны если б ты привел исходный код своего обработчика а не пинался своей ссылкой....
давно уже выложил, но увы...
lerryc писал(а):я плохо пишу по-русски, еще хуже читаю....поэтому немного не уловил твою мысль в твоем примере....
:unknown:
zingel писал(а):заканчиваем флудить
ок

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: URI too long

Непрочитанное сообщение zingel » 2008-08-30 17:43:55

просто выяснять у кого 8======э длинее лучше в треде "/dev/null"
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: URI too long

Непрочитанное сообщение kozak » 2008-08-30 18:11:59

Прошу прощения, но вы (lerryc, zg и zingel) пишите тут вобще неизвестно что, мне если честно читать иногда влом.
Бесспорно вы что-то знаете и рады помочь... Но порой кто-то из вас напишет что-то леваковое в ответ по типу:
When you wish to submit a form containing many fields, which would otherwise produce a very long URL, the standard solution is to use the POST method rather than the GET method:
и кто-то отвечает:
мултипарт выгоден когда предусматривается передача файла с киентской машины.
в форме сменить метод Post на GET однозначно.
Какой-то спор за GET | POST пошел.... Откуда все это? Кто вообще начал говорить за multipart/form-data!???

ВООБЩЕ НЕ БЫЛО ТАКИХ ВОПРОСОВ!!!!
lerryc писал(а):автор давно решил свои проблемы и свалил уже нафиг
Автор свои проблему не решил, т.к. весь топик ему ни фига ничем помочь вообще не смог!

Автор перекомпилировал httpd.h в апаче

Код: Выделить всё

#ifndef DEFAULT_LIMIT_REQUEST_LINE
#define DEFAULT_LIMIT_REQUEST_LINE 81900 /* 8190 */
#endif /* default limit on bytes in Request-Line (Method+URI+HTTP-version) */
#ifndef DEFAULT_LIMIT_REQUEST_FIELDSIZE
#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 81900 /* 8190 */
#endif /* default limit on bytes in any one header field  */
#ifndef DEFAULT_LIMIT_REQUEST_FIELDS
#define DEFAULT_LIMIT_REQUEST_FIELDS 100
#endif /* default limit on number of request header fields */
...и все еще заходит в этот топик может что умное найти...
lerryc писал(а):Помогать лентяю, который ленится полистать мануал - неблагодатное занятия да и пользы не будет - будет очередная соска, только и умеющая копи\пастэ в общем такова моя позиция по жизни
В левом верхнем углу есть кнопочка Выход [ lerryc ]. Можешь нажать ее и вообще не париться.
lerryc писал(а):ты послал меня RTFM php.net - но я стесняюсь спросить - а сам то дочитал до конца? с сокетами работал? протокол HTTP 1.x трогал?
А ты на Т-72 БМ с комплексом ВДЗ ездил?
lerryc писал(а):ЗАДАЧА: найти ДВА!!!! различия в передаче по GET & POST сами переменные передаются одинаково : x=1&y=2&z=3&auth=0 - о чем я и говорил ранее
Кто вам поставил такую задачу!?
lerryc писал(а): О,Господи!!!!
А апач какого бреда ты сюда притянул? АПАЧ ПРИ ЧЁМ?????
Без комментариев....
lerryc писал(а): PS Я потратил энное количество минут своей жизни на этот ответ - но ей Богу не знаю зачем.... ;(
Я бы не тратил...
lerryc писал(а): Чего не знаю - значит мне это не нужно....
:shock: Ты не блондин!?
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: URI too long

Непрочитанное сообщение zingel » 2008-08-30 18:20:57

поспокойнее, а то начну зверствовать
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: URI too long

Непрочитанное сообщение ProFTP » 2008-08-30 18:25:13

zingel, а Вы разве админ? :Search:
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: URI too long

Непрочитанное сообщение zingel » 2008-08-30 18:27:58

:[hint]:

для того, чтобы мне начать зверствовать, мне не обязательно иметь супер права. (с)
Z301171463546 - можно пожертвовать мне денег

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: URI too long

Непрочитанное сообщение zg » 2008-08-30 18:30:59

VladB писал(а):Автор свои проблему не решил, т.к. весь топик ему ни фига ничем помочь вообще не смог!

http://zlobnygrif.fatal.ru/php-cli.cgi я написал три формы, GET, POST и POST мульти-дата

первая

Код: Выделить всё

<form method="GET">
<input type="text" name="var1" value="asdsa" />
<input type="text" name="arr[]" value="addd" />
<input type="submit" value="Send get form" />
</form>
======= даёт
Request URI: /php-cli.cgi?var1=asdsa&arr%5B%5D=addd 
как только данные будут вырастут будет твоя ошибка - URI too long

вторая форма

Код: Выделить всё

<form method="POST" action="?">
<input type="text" name="var1" value="asdsa" />
<input type="text" name="arr[]" value="addd" />
<input type="submit" value="Send post form" />
</form>
======== даёт
Content-Type: application/x-www-form-urlencoded 
Request URI: /php-cli.cgi 
Request method: POST 

var1=%F4%FB%E2%F4%FB%E2%FB%F4&arr%5B%5D=addd%F4%FB%E2%F4%FB%E2
URI не будет изменяться, поэтому ошибки не будет. Данные передаются в закодированном виде.

третья форма

Код: Выделить всё

<form method="POST" action="?" enctype="multipart/form-data">
<input type="text" name="var1" value="asdsa" />
<input type="text" name="arr[]" value="addd" />
<input type="submit" value="Send post/multipart form" />
</form>
======== даёт
Content-Type: multipart/form-data; boundary=----------vzrgMrg3GGh1HzHjmuYt8f 
Request URI: /php-cli.cgi 
Request method: POST 

------------vzrgMrg3GGh1HzHjmuYt8f
Content-Disposition: form-data; name="var1"

фывфыв
------------vzrgMrg3GGh1HzHjmuYt8f
Content-Disposition: form-data; name="arr[]"

adddфывфыв
------------vzrgMrg3GGh1HzHjmuYt8f--
URI также не меняется, но данные передаются "как есть", что несколько увеличивает размер запроса, но позволяет передавать очень большие формы.

В зависимости от метода передачи данных GET или POST в пхп заполняются разные массивы $_GET или $_POST соотвественно. Однако есть ещё массив $_REQUEST, который заполняется как из GET так и из POST, что удобно, когда неизвестно каким методом передаются данные.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35418
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: URI too long

Непрочитанное сообщение Alex Keda » 2008-08-30 21:38:54

зобаню фсех
Убей их всех! Бог потом рассортирует...

lerryc
сержант
Сообщения: 191
Зарегистрирован: 2008-07-10 7:28:37
Откуда: Vladivostok

Re: URI too long

Непрочитанное сообщение lerryc » 2008-08-31 1:44:35

VladB писал(а):
Автор свои проблему не решил, т.к. весь топик ему ни фига ничем помочь вообще не смог!

Автор перекомпилировал httpd.h в апаче

Код: Выделить всё

#ifndef DEFAULT_LIMIT_REQUEST_LINE
#define DEFAULT_LIMIT_REQUEST_LINE 81900 /* 8190 */
#endif /* default limit on bytes in Request-Line (Method+URI+HTTP-version) */
#ifndef DEFAULT_LIMIT_REQUEST_FIELDSIZE
#define DEFAULT_LIMIT_REQUEST_FIELDSIZE 81900 /* 8190 */
#endif /* default limit on bytes in any one header field  */
#ifndef DEFAULT_LIMIT_REQUEST_FIELDS
#define DEFAULT_LIMIT_REQUEST_FIELDS 100
#endif /* default limit on number of request header fields */
...и все еще заходит в этот топик может что умное найти...
менять дефолтовые установки разработчика - не есть хорошая идея.
если ограничения устанавливались - значит были на то соображения.
если ты делаешь систему "под себя \ свои задачи" - то можно двигаться и в том направлении куда пошел
если система - для клиентов из мира - то подход неверный

пройдет полгода, давно позабудешь про эту возникшую проблему но возникнут другие
1) куда девается память и почему пхп такой жадный
2) почему не доходят данные
3) увязать синий экран смерти на клиентской винде с перекомпиляцией твоего пхп - вообще шаманом надо быть
Есть страница с формой, посылающей POST-запрос, и есть второй файл принимающий данные с этой формы GEТ запросом.

Все работало нормально пока не столкнулся с проблемой [Tue Aug 26 10:11:57 2008] [error] [client 10.10.10.10] request failed: URI too long (longer than 8190).

Как убрать установленный лимит?
1) если передаешь POST то и обрабатывай как POST (был уже такой совет)
2) найти страницу, рождающую слишком длинный URI и исправить ошибку там
шаманское предположение: если URI как-то связаны с генерацией в скрипте, то одна из возможных причин в потере перевода строки в посылке HTTP запроса - ошибка глупая, но не сразу заметная - сервер , не видя перевода строк, считает весь поток как один очень длинный URI, хотя истинный URI маленький и правильный. И проверить что перевод строки это \r\n а не \n в свое время я два дня убил на отлов этой ошибки.

и немного личного.

8k в URI - я не могу себе представить что тут можно передать разумного .... "Война и мир" цитируется?
если не затруднит пришли в личку пример этого длинного URI (будешь присылать - может сам ошибку увидишь)
машина думать не может, машина должна ехать

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: URI too long

Непрочитанное сообщение kozak » 2008-09-01 9:43:54

lerryc писал(а):8k в URI - я не могу себе представить что тут можно передать разумного .... "Война и мир" цитируется?
если не затруднит пришли в личку пример этого длинного URI (будешь присылать - может сам ошибку увидишь)
Ошибок нет.

Бинарный файл + несколько текстовых форм.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

lerryc
сержант
Сообщения: 191
Зарегистрирован: 2008-07-10 7:28:37
Откуда: Vladivostok

Re: URI too long

Непрочитанное сообщение lerryc » 2008-09-01 9:52:51

VladB писал(а): Ошибок нет.

Бинарный файл + несколько текстовых форм.
а ты из формы точно по POST передаешь?
покажи кусок начала из формы
<form ..... и т.д. ..... >
машина думать не может, машина должна ехать

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: URI too long

Непрочитанное сообщение kozak » 2008-09-01 10:21:28

lerryc писал(а):а ты из формы точно по POST передаешь?
покажи кусок начала из формы
<form ..... и т.д. ..... >

Код: Выделить всё

<form name="EditMaterialForm" action="editmaterial_proc.php" id="AddMaterialForm" method="POST" enctype="multipart/form-data" target="upl_frame">
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

lerryc
сержант
Сообщения: 191
Зарегистрирован: 2008-07-10 7:28:37
Откуда: Vladivostok

Re: URI too long

Непрочитанное сообщение lerryc » 2008-09-01 11:42:47

ну здесь всё железобетонно правильно....
VladB писал(а): Есть страница с формой, посылающей POST-запрос, и есть второй файл принимающий данные с этой формы GEТ запросом.
давай посмотрим обработку....
это была опечатка?
1) как идет обработка в приемнике?
2) насколько стабильна ошибка? можешь её вызвать по желанию или дважды повторить?

если можешь повторить - то поставь самым первым оператором phpinfo();
машина думать не может, машина должна ехать

Аватара пользователя
krilya
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-03-11 4:42:29
Откуда: Комсомольск-на-Амуре

Re: URI too long

Непрочитанное сообщение krilya » 2008-09-03 2:20:29

VladB писал(а):Бинарный файл + несколько текстовых форм.
обратите внимание на размер файла, в php.ini есть два параметра, которые это регулируют:

Код: Выделить всё

upload_max_filesize
post_max_size
p.s. посмотреть в каком массиве GET или POST оказались данные, можно сделав

Код: Выделить всё

var_dump($some_var);

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: URI too long

Непрочитанное сообщение kozak » 2009-05-29 14:01:29

Трабл был в длине запроса из-за blob-файла ))

И нафиг я с хранением фалов в MySQL BLOB-формате связался? :-o
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: URI too long

Непрочитанное сообщение zg » 2009-05-29 16:44:04

kozak писал(а):Трабл был в длине запроса из-за blob-файла ))
гм.. а блоб то тут при чём?
kozak писал(а):И нафиг я с хранением фалов в MySQL BLOB-формате связался?
если код выложишь, скажу, где у тебя трабла сидит.