#!/usr/bin/perl # # Copyright (c) 2007, Gregory Fleischer (gfleischer@gmail.com) # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # 3. The names of the authors may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # use strict; use IO::File; use Fcntl ':flock'; # this would be better written as a module # might want to disallow remote access to log file in .htaccess my $fh = new IO::File("./scanlog.log", "a"); if ($fh and flock($fh, LOCK_EX)) { eval { print $fh "=" x 32, "\n"; print $fh "time: ", scalar(localtime()), "\n"; print $fh "addr: ", $ENV{'REMOTE_ADDR'}, "\n"; print $fh "resp: ", $ENV{'QUERY_STRING'}, "\n"; }; flock($fh, LOCK_UN); undef $fh; print STDERR $@ if $@; } print "Content-Type: text/html\n\n"; print "\n"; # eof