The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Вопросик по Web программингу"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Вопросик по Web программингу"
Сообщение от clucluc emailИскать по авторуВ закладки on 21-Июл-03, 18:30  (MSK)
Народ, может кто слышал о такой ситуации - при выполнении скрипта на Perl под Апачем, нехотят передаваться параметры методом POST.
Проверка переменной $CGI::POST_MAX и LimitRequestBody в httpd.conf результатов не дала. Все ОК.
При этом значение $ENV{'CONTENT_LENGTH'} не нулевое.
Если у кого есть идеи и предложения, буду благодарен
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Вопросик по Web программингу"
Сообщение от Simps Искать по авторуВ закладки on 24-Июл-03, 16:46  (MSK)
>Народ, может кто слышал о такой ситуации - при выполнении скрипта на
>Perl под Апачем, нехотят передаваться параметры методом POST.
>Проверка переменной $CGI::POST_MAX и LimitRequestBody в httpd.conf результатов не дала. Все ОК.
>
>При этом значение $ENV{'CONTENT_LENGTH'} не нулевое.
>Если у кого есть идеи и предложения, буду благодарен

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});                                                                
@pairs = split(/&/, $buffer);                                                                                
foreach $pair (@pairs)                                                                                        
    {                                                                                                        
        ($name, $value) = split(/=/, $pair);                                                                  
        $value =~ tr/+/ /;                                                                                    
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;                                          
        $FORM{$name} = $value;                                                                                
    }                                    

Потом получаешь доступ так $cladd=$FORM{'имя_параметра'};

Изящно скажи же =))) Ищется в google на ура

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Вопросик по Web программингу"
Сообщение от XMan Искать по авторуВ закладки on 24-Июл-03, 18:23  (MSK)
Может я чего незнаю или не понял, но в perl имеется такая полезная функция, как "param(ключ)". Как раз для CGI сделана. У меня прекрасно работает и с POST и с GET :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Вопросик по Web программингу"
Сообщение от clucluc emailИскать по авторуВ закладки on 24-Июл-03, 21:58  (MSK)
>>Народ, может кто слышал о такой ситуации - при выполнении скрипта на
>>Perl под Апачем, нехотят передаваться параметры методом POST.
>>Проверка переменной $CGI::POST_MAX и LimitRequestBody в httpd.conf результатов не дала. Все ОК.
>>
>>При этом значение $ENV{'CONTENT_LENGTH'} не нулевое.
>>Если у кого есть идеи и предложения, буду благодарен
>
>read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
>@pairs = split(/&/, $buffer);
>foreach $pair (@pairs)
>    {
>        ($name, $value) = split(/=/,
>$pair);
>        $value =~ tr/+/ /;
>
>        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>
>        $FORM{$name} = $value;
>    }
>
>Потом получаешь доступ так $cladd=$FORM{'имя_параметра'};
>
>Изящно скажи же =))) Ищется в google на ура


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Вопросик по Web программингу"
Сообщение от clucluc emailИскать по авторуВ закладки on 24-Июл-03, 22:04  (MSK)
>>Народ, может кто слышал о такой ситуации - при выполнении скрипта на
>>Perl под Апачем, нехотят передаваться параметры методом POST.
>>Проверка переменной $CGI::POST_MAX и LimitRequestBody в httpd.conf результатов не дала. Все ОК.
>>
>>При этом значение $ENV{'CONTENT_LENGTH'} не нулевое.
>>Если у кого есть идеи и предложения, буду благодарен
>
>read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
>@pairs = split(/&/, $buffer);
>foreach $pair (@pairs)
>    {
>        ($name, $value) = split(/=/,
>$pair);
>        $value =~ tr/+/ /;
>
>        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>
>        $FORM{$name} = $value;
>    }
>
>Потом получаешь доступ так $cladd=$FORM{'имя_параметра'};
>
>Изящно скажи же =))) Ищется в google на ура

Извиняюсь случайно нажал отправить.
Изящно, спору нет.
Но это я уже пробывал.
При передаче параметров функция param() не работает (для моего второго собеседника). А чтение из потока STDIN дает те же результаты.

У меня код приблизительно такой же:
use CGI;
if ($ENV{'REQUEST_METHOD'}=='POST')
{
read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
my @pairs=split(/&/,$in);
print start_html();
foreach (@pairs)
{
my ($var1, $var2)=split(/=/, $in, 2);
print "$var1 $var2";
}
print end_html();
}
else {}

Так вот если это делать через perl *.pl, то все рулит. А через веб интерфейс неа . Может что с Апачем не то, непойму. Еще идеи :-)
Кстати третий день уже пытаюсь. :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Вопросик по Web программингу"
Сообщение от XMan Искать по авторуВ закладки on 25-Июл-03, 00:40  (MSK)
Есть, конечно, вариант... В настройках апача с помощью директивы <Limit> можно многое запретить, в том числе и GET с POST-ом. Что-то типа:

...
<Limit GET POST>
  Order Deny, Allow
  Deny from all
</Limit>
...

Ты случайно этого не сделал ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Вопросик по Web программингу"
Сообщение от clucluc emailИскать по авторуВ закладки on 29-Июл-03, 10:24  (MSK)
>Есть, конечно, вариант... В настройках апача с помощью директивы <Limit> можно многое запретить, в том числе и GET с POST-ом. Что-то типа:
>
>...
><Limit GET POST>
>  Order Deny, Allow
>  Deny from all
></Limit>
>...
>
>Ты случайно этого не сделал ?

Да нет, вроде все ОК. Могу httpd.conf выслать, может ты что увидишь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Вопросик по Web программингу"
Сообщение от XMan Искать по авторуВ закладки on 30-Июл-03, 18:13  (MSK)
Давай. И скрипт заодно.
Адрес: _xman_@mail.ru
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Вопросик по Web программингу"
Сообщение от konst emailИскать по авторуВ закладки on 25-Июл-03, 15:22  (MSK)
>>>Народ, может кто слышал о такой ситуации - при выполнении скрипта на
>>>Perl под Апачем, нехотят передаваться параметры методом POST.
>>>Проверка переменной $CGI::POST_MAX и LimitRequestBody в httpd.conf результатов не дала. Все ОК.
>>>
>>>При этом значение $ENV{'CONTENT_LENGTH'} не нулевое.
>>>Если у кого есть идеи и предложения, буду благодарен
>>
>>read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
>>@pairs = split(/&/, $buffer);
>>foreach $pair (@pairs)
>>    {
>>        ($name, $value) = split(/=/,
>>$pair);
>>        $value =~ tr/+/ /;
>>
>>        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>
>>        $FORM{$name} = $value;
>>    }
>>
>>Потом получаешь доступ так $cladd=$FORM{'имя_параметра'};
>>
>>Изящно скажи же =))) Ищется в google на ура
>
>Извиняюсь случайно нажал отправить.
>Изящно, спору нет.
>Но это я уже пробывал.
>При передаче параметров функция param() не работает (для моего второго собеседника). А
>чтение из потока STDIN дает те же результаты.
>
>У меня код приблизительно такой же:
>use CGI;
>if ($ENV{'REQUEST_METHOD'}=='POST')
if ($ENV{'REQUEST_METHOD'}  eq 'POST')

>{
>read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
>my @pairs=split(/&/,$in);
>print start_html();
>foreach (@pairs)
>{
>my ($var1, $var2)=split(/=/, $in, 2);
>print "$var1 $var2";
>}
>print end_html();
>}
>else {}
>
>Так вот если это делать через perl *.pl, то все рулит. А
>через веб интерфейс неа . Может что с Апачем не то,
>непойму. Еще идеи :-)
>Кстати третий день уже пытаюсь. :)


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру