You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by nmittal <nm...@rblt.com> on 2009/10/22 00:12:48 UTC

Apache2::Request->param fails with POST

Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to an
authentication script.
<form method=POST
action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618"> 
<table> 
<tr> 
	<td align=right>User(or email): </td> 
	<td><input type=text name=email value=""></td></tr> 
<tr> 
	<td align=right>Password: </td> 
	<td><input type=password name=password></td></tr></table> 
<input type=submit value=Login><BR> 
</form> 

on the server side.. I have the following code...

use Apache2::Request;
use Apache2::SubRequest;
use Apache2::RequestRec ();
use Apache2::Upload;
use Apache2::URI;

	my $r = shift;
	my $req = Apache2::Request->new($r);

	#Get the Query String and POST data
	log("PROCESS", "MESSAGE", "Inside");
	my @keys = $req->param;
	log("PROCESS", "PARAMS", Dumper($req->param));

when I post the form, the logs show till "Inside" and the browser keeps
loading the page, the CPU consumption on the server is 100% by httpd.

however, if I change the form so it uses GET instead of POST, everything
works fine. 

Any help is appreciated.

thanks
Nishant


-- 
View this message in context: http://www.nabble.com/Apache2%3A%3ARequest-%3Eparam-fails-with-POST-tp26001117p26001117.html
Sent from the mod_perl - General mailing list archive at Nabble.com.


Re: Apache2::Request->param fails with POST

Posted by Ryan Gies <ry...@livesite.net>.
This may be obvious, however note that calling $req->param will invoke 
the input filters, should have have any configured.

On 10/21/2009 06:12 PM, nmittal wrote:
> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to an
> authentication script.
> <form method=POST
> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618">
> <table>
> <tr>
> 	<td align=right>User(or email):</td>
> 	<td><input type=text name=email value=""></td></tr>
> <tr>
> 	<td align=right>Password:</td>
> 	<td><input type=password name=password></td></tr></table>
> <input type=submit value=Login><BR>
> </form>
>
> on the server side.. I have the following code...
>
> use Apache2::Request;
> use Apache2::SubRequest;
> use Apache2::RequestRec ();
> use Apache2::Upload;
> use Apache2::URI;
>
> 	my $r = shift;
> 	my $req = Apache2::Request->new($r);
>
> 	#Get the Query String and POST data
> 	log("PROCESS", "MESSAGE", "Inside");
> 	my @keys = $req->param;
> 	log("PROCESS", "PARAMS", Dumper($req->param));
>
> when I post the form, the logs show till "Inside" and the browser keeps
> loading the page, the CPU consumption on the server is 100% by httpd.
>
> however, if I change the form so it uses GET instead of POST, everything
> works fine.
>
> Any help is appreciated.
>
> thanks
> Nishant
>
>
>    

Re: Apache2::Request->param fails with POST

Posted by nmittal <nm...@rblt.com>.
thanks for your reply Adam
There is nothing in the error logs.
I think the version is 3.7.1 (/usr/lib64/libapreq2.so.3.7.1)

could this be a result of virtual hosts?



Adam Prime wrote:
> 
> nmittal wrote:
>> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to
>> an
>> authentication script.
>> <form method=POST
>> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618"> 
>> <table> 
>> <tr> 
>> 	<td align=right>User(or email): </td> 
>> 	<td><input type=text name=email value=""></td></tr> 
>> <tr> 
>> 	<td align=right>Password: </td> 
>> 	<td><input type=password name=password></td></tr></table> 
>> <input type=submit value=Login><BR> 
>> </form> 
>> 
>> on the server side.. I have the following code...
>> 
>> use Apache2::Request;
>> use Apache2::SubRequest;
>> use Apache2::RequestRec ();
>> use Apache2::Upload;
>> use Apache2::URI;
>> 
>> 	my $r = shift;
>> 	my $req = Apache2::Request->new($r);
>> 
>> 	#Get the Query String and POST data
>> 	log("PROCESS", "MESSAGE", "Inside");
>> 	my @keys = $req->param;
>> 	log("PROCESS", "PARAMS", Dumper($req->param));
>> 
>> when I post the form, the logs show till "Inside" and the browser keeps
>> loading the page, the CPU consumption on the server is 100% by httpd.
>> 
>> however, if I change the form so it uses GET instead of POST, everything
>> works fine. 
> 
> Obviously that shouldn't happen.  Is there anything in the error log? 
> What version of apreq are you using?
> 
> Adam
> 
> 

-- 
View this message in context: http://www.nabble.com/Apache2%3A%3ARequest-%3Eparam-fails-with-POST-tp26001117p26002722.html
Sent from the mod_perl - General mailing list archive at Nabble.com.


Re: Apache2::Request->param fails with POST

Posted by Adam Prime <ad...@utoronto.ca>.
nmittal wrote:
> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to an
> authentication script.
> <form method=POST
> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618"> 
> <table> 
> <tr> 
> 	<td align=right>User(or email): </td> 
> 	<td><input type=text name=email value=""></td></tr> 
> <tr> 
> 	<td align=right>Password: </td> 
> 	<td><input type=password name=password></td></tr></table> 
> <input type=submit value=Login><BR> 
> </form> 
> 
> on the server side.. I have the following code...
> 
> use Apache2::Request;
> use Apache2::SubRequest;
> use Apache2::RequestRec ();
> use Apache2::Upload;
> use Apache2::URI;
> 
> 	my $r = shift;
> 	my $req = Apache2::Request->new($r);
> 
> 	#Get the Query String and POST data
> 	log("PROCESS", "MESSAGE", "Inside");
> 	my @keys = $req->param;
> 	log("PROCESS", "PARAMS", Dumper($req->param));
> 
> when I post the form, the logs show till "Inside" and the browser keeps
> loading the page, the CPU consumption on the server is 100% by httpd.
> 
> however, if I change the form so it uses GET instead of POST, everything
> works fine. 

Obviously that shouldn't happen.  Is there anything in the error log? 
What version of apreq are you using?

Adam

Re: Apache2::Request->param fails with POST

Posted by Adam Prime <ad...@utoronto.ca>.
It seems like your libapreq install is broken or something.  Did it pass 
all the tests when you built it?

Adam

nmittal wrote:
> I have tried that but it still doesnt work. I even tried to POST an empty
> form (with no GET or POST params) with same results
> 
> 
> Michael Peters wrote:
>> On 10/21/2009 06:12 PM, nmittal wrote:
>>> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to
>>> an
>>> authentication script.
>>> <form method=POST
>>> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618">
>> Try not mixing GET and POST parameters. Put that sid as a hidden input 
>> in the form instead of a GET parameter on the query string? Technically 
>> you're not supposed to mix the 2, but most systems allow it anyways. But 
>> maybe it's tickling a bug here.
>>
>> -- 
>> Michael Peters
>> Plus Three, LP
>>
>>
> 


Re: Apache2::Request->param fails with POST

Posted by nmittal <nm...@rblt.com>.
I have tried that but it still doesnt work. I even tried to POST an empty
form (with no GET or POST params) with same results


Michael Peters wrote:
> 
> On 10/21/2009 06:12 PM, nmittal wrote:
>> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to
>> an
>> authentication script.
>> <form method=POST
>> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618">
> 
> Try not mixing GET and POST parameters. Put that sid as a hidden input 
> in the form instead of a GET parameter on the query string? Technically 
> you're not supposed to mix the 2, but most systems allow it anyways. But 
> maybe it's tickling a bug here.
> 
> -- 
> Michael Peters
> Plus Three, LP
> 
> 

-- 
View this message in context: http://www.nabble.com/Apache2%3A%3ARequest-%3Eparam-fails-with-POST-tp26001117p26009752.html
Sent from the mod_perl - General mailing list archive at Nabble.com.


Re: Apache2::Request->param fails with POST

Posted by Michael Peters <mp...@plusthree.com>.
On 10/21/2009 06:12 PM, nmittal wrote:
> Hi I am using Apache2.2 and mod_perl. I have a login page that POSTs to an
> authentication script.
> <form method=POST
> action="/authenticate?sid=06eff4cdc3231db0236cdbe2c51e6618">

Try not mixing GET and POST parameters. Put that sid as a hidden input 
in the form instead of a GET parameter on the query string? Technically 
you're not supposed to mix the 2, but most systems allow it anyways. But 
maybe it's tickling a bug here.

-- 
Michael Peters
Plus Three, LP