$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/lib/sendmail -oi -t';
@referers = qw(dave.org.uk 209.207.222.64 localhost);
@allow_mail_to = qw(you@your.domain some.one.else@your.domain localhost);
@recipients = ();
%recipient_alias = ();
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
Now what i want to do is stop the check for refererers.Since if a firewall is blocking the check it doesnt work.I tried simply deleting the line..
@referers = qw(dave.org.uk 209.207.222.64 localhost);
but it doesnt stop the check,which i dont understand!.do i need to set it as ..
@referers = qw(o);?
or what?
sub check_url {
my $check_referer = check_referer(referer());
error('bad_referer') unless $check_referer;
}
sub check_referer
{
my $check_referer;
my ($referer) = @_;
unless ($referer) {
return 1 if $allow_empty_ref or !$secure;
}
if ($referer && ($referer =~ m!^https?://([^/]*\@)?([\w\-\.]+)!i)) {
my $refHost;
$refHost = $2;
foreach my $test_ref (@referers) {
if ($refHost =~ m¦\Q$test_ref\E$¦i) {
$check_referer = 1;
last;
}
elsif ( $secure && $test_ref =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/ ) {
if ( my $ref_host = inet_aton($refHost) ) {
$ref_host = unpack "l", $ref_host;
if ( my $test_ref_ip = inet_aton($test_ref) ) {
$test_ref_ip = unpack "l", $test_ref_ip;
if ( $test_ref_ip == $ref_host ) {
$check_referer = 1;
last;
}
}
}
}
}
} else {
return 0;
}
return $check_referer;
};