package MyAuth; sub Authorize { $ENV{HTTP_AUTHORIZATION}=~/^Basic (.*)/i ){ my $up = $1 || ''; my ($user,$pass)=split(/:/,BASE64_DECODE( $up ),2); if( db_query($user,$pass) ){ $ENV{REMOTE_USER} = $user; return "success"; }else{ print "Status: 401 Authorization Failed\r\n"; print "WWW-Authenticate: Basic realm=\"whatever\"\r\n"; print "Content-type: text/html\r\n\r\n"; print "Content to be displayed on a canceled login."; exit; } } #### #!/usr/bin/perl use MyAuth; MyAuth::Authorize; # below this line I am authorized # do whatever else