#!/usr/bin/python
# Client Tracker
# by Adrian Silvescu : www.cs.iastate.edu\~silvescu
import sys
import os
import cgi
import cgitb
import time
import socket
cgitb.enable();
def main(argv, stdout, environ):
form = cgi.FieldStorage()
print "Content-type: text/html"
print ""
logfile = file(form["logfile"].value, "a")
logfile.write(os.environ["REMOTE_ADDR"] + "\t")
logfile.write(time.strftime("%c", time.localtime()) + "\t")
try: #DK
res = socket.gethostbyaddr(os.environ["REMOTE_ADDR"])[0]
except socket.herror, err: #DK
res = "reverse lookup failed!" #DK
logfile.write(res + "\t")
logfile.write(os.environ["HTTP_USER_AGENT"] + "\t")
if os.environ.has_key("HTTP_REFERER"):
referer = os.environ["HTTP_REFERER"]
else:
referer = "no referrer"
logfile.write(referer + "\t")
logfile.write(os.environ["DOCUMENT_URI"])
logfile.write("\r\n")
logfile.close()
if (form["logfile"].value == "../var/log/test.log") :
print time.strftime("%c", time.localtime())
print "
"
print res
cgi.print_environ();
print "
"
if __name__ == "__main__":
main(sys.argv, sys.stdout, os.environ)