version 1.6, 2007/04/17 23:18:42
|
version 1.9, 2011/10/17 17:23:25
|
Line 30 $|=1;
|
Line 30 $|=1;
|
|
|
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use Apache::lonnet; |
use Apache::lonnet; |
|
use LONCAPA::loncgi; |
|
use LONCAPA::lonauthcgi; |
|
|
my $testhost=$ENV{'QUERY_STRING'}; |
print("Content-type: text/plain\n\n"); |
$testhost=~s/\W//g; |
|
|
|
print("Content-type: text/plain\n\n". |
&main(); |
&Apache::lonnet::reply('ping',$testhost)."\n"); |
|
|
sub main { |
|
my $remote_ip = $ENV{'REMOTE_ADDR'}; |
|
my $allowed; |
|
my @hosts = &Apache::lonnet::get_hosts_from_ip($remote_ip); |
|
if (@hosts > 0) { |
|
$allowed = 1; |
|
} elsif (&LONCAPA::lonauthcgi::check_ipbased_access('ping',$remote_ip)) { |
|
$allowed = 1; |
|
} elsif (&LONCAPA::loncgi::check_cookie_and_load_env()) { |
|
if (&LONCAPA::lonauthcgi::can_view('ping')) { |
|
$allowed = 1; |
|
} |
|
} |
|
if ($allowed) { |
|
my $testhost=$ENV{'QUERY_STRING'}; |
|
$testhost=~s/\W//g; |
|
if (&Apache::lonnet::hostname($testhost) ne '') { |
|
print &Apache::lonnet::reply('ping',$testhost)."\n"; |
|
} else { |
|
print 'unknown_host'; |
|
} |
|
} else { |
|
print 'forbidden'; |
|
} |
|
return; |
|
} |