| | |
simple scripting question, CGI log
![]() |
•
•
Join Date: Sep 2008
Posts: 8
Reputation:
Solved Threads: 0
hello, i use a simple log script on my site.. very basic..
i would like to modify it, and am having issues..
here is what i would like...
i would like to be able to have it filter out certian HOST names.. but not exact.. say for instance, i dont want it logging yahoo slurp.. the host name changes, but always ends in yahoo.com
so, i would like to filter out djfdk.388338.djdk.yahoo.com
and i would like to be able to add more than one, a list of filtered hosts, not IP's, that will not be logged..
so, i would like to change the $me var, to host, but not exact host, just domain (like i stated earlier) and then to create a list, by coma.
thanks a bunch
pj
here is the script:
i would like to modify it, and am having issues..
here is what i would like...
i would like to be able to have it filter out certian HOST names.. but not exact.. say for instance, i dont want it logging yahoo slurp.. the host name changes, but always ends in yahoo.com
so, i would like to filter out djfdk.388338.djdk.yahoo.com
and i would like to be able to add more than one, a list of filtered hosts, not IP's, that will not be logged..
so, i would like to change the $me var, to host, but not exact host, just domain (like i stated earlier) and then to create a list, by coma.
thanks a bunch
pj
here is the script:
perl Syntax (Toggle Plain Text)
#!/usr/bin/perl $me = "38.117.78.220"; $log = "/home/to/my/log.html"; ############################# if (!$ENV{'REMOTE_HOST'}) {my @subnet_numbers = split (/\./, $ENV{'REMOTE_ADDR'}); $ENV{'REMOTE_HOST'} = gethostbyaddr(pack("C4", @subnet_numbers), 2) || $ENV{'REMOTE_ADDR'}; } $ippjrey = $ENV{'REMOTE_ADDR'}; $hostpjrey = $ENV{'REMOTE_HOST'}; $privatepjrey = $ENV{'HTTP_X_FORWARDED_FOR'}; $getdate = `date +"%A %B %d, %Y, %r"`; chop ($getdate); if ($ENV{'REMOTE_ADDR'} eq $me) { open (LOG, "$log"); @lines = <LOG>; close (LOG); print "Content-type: text/html\n\n"; open (LOG, ">$log"); print LOG @lines; close (LOG); } else { open (LOG, "$log"); @lines = <LOG>; close (LOG); print "Content-type: text/html\n\n"; open (LOG, ">$log"); print LOG " [ <font size=-2 face=Verdana, Arial><B>Time:</B> $getdate ] </font>- \n"; print LOG " [ <font size=-2 face=Verdana, Arial><B>With:</B> $ENV{'HTTP_USER_AGENT'} ]<BR></font>\n"; print LOG " [ <font size=-2 face=Verdana, Arial color=red><B>Host: $ippjrey/$hostpjrey || [ $privatepjrey ] </B>]</font>\n"; print LOG " [ <font size=-2 face=Verdana><B>From:</B> <font color=blue><A HREF=$ENV{'HTTP_REFERER'}>$ENV{'HTTP_REFERER'}</font></A></font>]<BR>\n"; print LOG " [ <font size=-2 face=Verdana><B>Pages:</B> $here $ENV{'DOCUMENT_URI'} ]<BR><BR></font>\n\n"; print LOG @lines; close (LOG); } exit;
Last edited by Tekmaven; Jun 18th, 2009 at 5:22 pm. Reason: Code Tags
•
•
Join Date: Jun 2008
Posts: 49
Reputation:
Solved Threads: 5
So I'm assuming you are looking for things that "end with" such and such,
that being the case a simple regular expression might do?
if ($line =~ m/yahoo.com/i)
{
if ($line =! m/^(www.|http:\/\/).yahoo.com/i)
{
print $line . "\n";
}
That line will basically take and do a search on anything containing
yahoo.com (case insensitive) then if it doesn't start with, www.yahoo.com, or http://yahoo.com
print the line out.
I'm not sure if that helps, hope it does
that being the case a simple regular expression might do?
if ($line =~ m/yahoo.com/i)
{
if ($line =! m/^(www.|http:\/\/).yahoo.com/i)
{
print $line . "\n";
}
That line will basically take and do a search on anything containing
yahoo.com (case insensitive) then if it doesn't start with, www.yahoo.com, or http://yahoo.com
print the line out.
I'm not sure if that helps, hope it does
![]() |
Similar Threads
- Simple Winsock Question? (C++)
- Simple Map Question (C++)
- Help needed python unicode cgi-bin (Python)
- Simple array question (C++)
- Very Simple Scripting Question (Shell Scripting)
- Basic scripting question (Getting Started and Choosing a Distro)
Other Threads in the Perl Forum
- Previous Thread: Assist with code.
- Next Thread: Duplicate lines in a text file
| Thread Tools | Search this Thread |





