Hi,
Been seeing problems with an Authenticate script lately. It was working fine up to the time I started getting slammed with traffic. I don't see any connection problems in the log file at all. But what I have noticed on the site is, I will click to go to download a file from the secure area, and it won't prompt me for a username and password until minutes later, like it is being delayed or something. Is this normal behavior from high traffic?
More Info:
The server isn't even being over worked, it has 4 cpus and on high traffic hours, it is around 2 on cpu load. So it can only be two possibilities, the script or apache configuration. The apache version I am using http-2.0.53, and mod_perl-2.0.0-RC4.
Here is the code:
package My::Authenticate;
use strict; use ModPerl::Util (); use Apache::Const qw(OK DECLINED AUTH_REQUIRED); use Apache::Log; use DBI;
sub handler{ my $r = shift; my $s = Apache->server;
return Apache::DECLINED unless $r->is_initial_req;
my ($status,$password) = $r->get_basic_auth_pw; my $username = $r->user;
return $status unless $status == Apache::OK;
my $hostname = $r->hostname;
$hostname=~/(.*?\.)?(.*?)\.[a-z]{3}$/;
my $table_access = $2."_access";
my $dbh = DBI->connect('DBI:mysql:database=site_authentication;host=xxx.xxx.xxx.xxx','xxx','xxx');
my $rs = $dbh->prepare("select 1 from $table_access where username='$username' and passwd='$password'");
$rs->execute;
my ($result) = $rs->fetchrow_array;
$rs->finish();
$dbh->disconnect();
if ($result){ return Apache::OK; }
$r->note_basic_auth_failure; return Apache::AUTH_REQUIRED; }
1;
Any assistance on this issue would be greatly appreciated.