PHP Web-Server Error Tracker - 02/26/04 05:17 AM
Ok, I'm working on making an error handling script so that I can see who's exactly linking to what files... How it works is when a user clicks the link from an external site (such as google's link down below) it'll forward the person to the 403.php page which is my custom error page for access denied.
The script simply takes the server relayed data and inserts it into a mysql table "ugn_errors" on database "undergroundc". script_uri is only valid if the page has a referrer, if they don't have a referrer they wouldn't get the 403 error since it's set to allow nonexistant referrals.
Now, the problem is, when the page loads it loads fine, I couldn't ask for more, well other than it work. It doesn't give out ANY errors whatsoever, I had an if/else statement and it kept saying that it parsed correctly. However the data never got entered into the database.
Anyone care to take a shot?
MySQL table
connect.php
403.php
#6 on the list will send you to the 403 error page (till I re-add google to my .htaccess file).
The script simply takes the server relayed data and inserts it into a mysql table "ugn_errors" on database "undergroundc". script_uri is only valid if the page has a referrer, if they don't have a referrer they wouldn't get the 403 error since it's set to allow nonexistant referrals.
Now, the problem is, when the page loads it loads fine, I couldn't ask for more, well other than it work. It doesn't give out ANY errors whatsoever, I had an if/else statement and it kept saying that it parsed correctly. However the data never got entered into the database.
Anyone care to take a shot?
MySQL table
Code
CREATE TABLE ugn_errors ( id int(15) NOT NULL auto_increment, type char(3) NOT NULL default '', date timestamp(14) NOT NULL, ip varchar(15) NOT NULL default '', referrer text NOT NULL, file text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;
Code
<?php // Change below to your MySQL Host. $host = "127.0.0.1"; // change below is your assigned mySQL username $user = "myusername"; // change to the pw below is your assigned mySQL password $pw = "mypassword"; // change to the database you have permission to connect to $db = "mydb"; ?>
Code
<?php require "connect.php"; ?> <?php $mysql_access = mysql_connect($host, $user, $pw) or die(mysql_error()); mysql_select_db($db) or die(mysql_error()); ?> <?php $ip = $_SERVER["REMOTE_ADDR"]; $refer = $_SERVER["HTTP_REFERER"]; $company = "VNC Web Design"; $companylink = "http://www.virtualnightclub.net/"; $scriptname = "Custom Error Manager"; $linked = $_SERVER["SCRIPT_URI"]; $type = "403"; $name = "Access Denied"; { ?> <?php mysql_query("INSERT INTO ugn_errors (type , date , ip , referrer , file) VALUES ('$type', NOW(), '$ip', '$refer', '$linked'"); ?> <html><head> <title>Error <?php echo"$type"; ?> :: <?php echo"$name"; ?></title> </head><body> <center><b>403 Error: Access Denied</b> </center> <center>Your IP address of <?php echo"$ip"; ?> has been logged with the referrer of: <?php echo"$refer"; ?></center> <center> You are not authorized to view this page or file. Most likely the address that you're linking to this file from is not authorized in our .htaccess file. Please ASK to be added to this file, we don't appreciate direct linking to our files from un-authorized sites. We spend a lot on our bandwidth monthly just to have our generosity tornto shreads by sites who are too lazy to find their own original content. </center> <center> Since you probably don't care about this issue (since all we wanted was the log of this error), for your convieniance, the requested file that you were linking to is: <a href="<?php echo"$linked"; ?>"><?php echo"$linked"; ?></a> </center> <hr> <a href="<?php echo"$companylink"; ?>"><?php echo"$company"; ?></a> :: <?php echo"$scriptname"; ?> :: Error <?php echo"$type"; ?> :: <?php echo"$name"; ?> </body></html> <?php } ?>