14. august 2004 - 11:41Der er
52 kommentarer og 1 løsning
ip log
Hej alle eksperter !
jeg var inde på www.thomaslunde.dk og blev forbavset over han kunne se min ip og hvor jeg var på siden. så jeg tænkte om ikke det var nogen her inde der kan det samme....
Nej - det er en noget større opgave. Den viser kun eens ip og url man kigger på. Det kræver bl.a at alle dine sider bliver lavet om til php - ellers tror jeg ikke det er muligt.
På de sider du gerne vil logge folk tilføjer du disse linjer i toppen af side:
<?PHP /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF; $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } //Du skal connecte til databasen i denne linje skal rettes server navn, bruger navn, og pasasword så det passer med dit //mysql_connect(databasenav, brugernavn, password); mysql_connect("localhost", "minside_dk", "mitpassword"); //Denne connecter til din database ret den til så det passer med dit database navn //mysql_select_db(database navn) mysql_select_db("minside_dk"); InsertUser(); /* her til */ ?>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <?PHP //Du skal connecte til databasen i denne linje skal rettes server navn, bruger navn, og pasasword så det passer med dit //mysql_connect(databasenav, brugernavn, password); mysql_connect("localhost", "codeone_dk", "eksperten123456"); //Denne connecter til din database ret den til så det passer med dit database navn //mysql_select_db(database navn) mysql_select_db("codeone_dk");
function ShowUsers() {
$time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE date < $usersec -100"); $countusers = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
I phpmyadmin skal du oprette en tabel i din mysql database som ser sådan her ud:
CREATE TABLE online_users ( id int(11) NOT NULL auto_increment, ip varchar(255) NOT NULL default '', host varchar(255) NOT NULL default '', date int(11) NOT NULL default '0', browser varchar(255) NOT NULL default '', page varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;
På de sider som du gerne vil logge en bruger/IP-adresse er på tilføjer du koden som vist i 17/08-2004 17:41:55 i toppen af filen. Den viste kode gemmer så IP-nummer og navnet på siden. Du skal ikke rette andet end: mysql database navn, mysql bruger navn, og mysql password. Du skal ikke tænke på hvad filen hedder det finder scriptet selv ud af...
<HTML> <HEAD> <TITLE>List online users</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <?PHP /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF; $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } //Her under skal du skrive dine MySQL oplysninger: Host, brugernavn, og password så det passer med dit.
mysql_connect("", "", ""); mysql_select_db(""); InsertUser(); /* her til */ ?> </HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <?PHP //Her under skal du skrive dine MySQL oplysninger: Host, brugernavn, og password så det passer med dit.
mysql_connect("", "", ""); mysql_select_db("");
function ShowUsers() {
$time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE date < $usersec -100"); $countusers = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
Warning: gethostbyaddr(): Address is not a valid IPv4 or IPv6 address in /customers/power-girls.dk/power-girls.dk/httpd.www/showuser.php on line 9
Fatal error: Cannot redeclare insertuser() (previously declared in /customers/power-girls.dk/power-girls.dk/httpd.www/showuser.php:7) in /customers/power-girls.dk/power-girls.dk/httpd.www/showuser.php on line 63
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <?PHP //Her under skal du skrive dine MySQL oplysninger: Host, brugernavn, og password så det passer med dit.
mysql_connect("", "", ""); mysql_select_db("");
function ShowUsers() {
$time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE date < $usersec -100"); $countusers = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
Hvis på eksempelvis vil se folk er på E-Mail siden skal dette styk kode ind i filen:
<?PHP /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF; $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } //Du skal connecte til databasen i denne linje skal rettes server navn, bruger navn, og pasasword så det passer med dit //mysql_connect(databasenav, brugernavn, password); mysql_connect("localhost", "minside_dk", "mitpassword"); //Denne connecter til din database ret den til så det passer med dit database navn //mysql_select_db(database navn) mysql_select_db("minside_dk"); InsertUser(); /* her til */ ?>
<html> <head><title>Side 1</title></head> <body> <? echo "Hej og velkommen til side 1"; ?> </body> </html>
Og du gerne vil havde logget hvis der er en bruger på den skal du rette det til filen ser sådan her ud:
<?PHP /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF; $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } //Du skal connecte til databasen i denne linje skal rettes server navn, bruger navn, og pasasword så det passer med dit //mysql_connect(databasenav, brugernavn, password); mysql_connect("localhost", "minside_dk", "mitpassword"); //Denne connecter til din database ret den til så det passer med dit database navn //mysql_select_db(database navn) mysql_select_db("minside_dk"); InsertUser(); /* her til */ ?> <html> <head><title>Side 1</title></head> <body> <? echo "Hej og velkommen til side 1"; ?> </body> </html>
<?PHP /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF; $ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } //Du skal connecte til databasen i denne linje skal rettes server navn, bruger navn, og pasasword så det passer med dit //mysql_connect(databasenav, brugernavn, password); mysql_connect("localhost", "minside_dk", "mitpassword"); //Denne connecter til din database ret den til så det passer med dit database navn //mysql_select_db(database navn) mysql_select_db("minside_dk"); InsertUser(); /* her til */ ?>
kan ikke finde rundt i det mere, kan du ikke lige sætte koderne sammen, som de skal være. så man kun kan se hvis de er inden på den side, så sætter jeg koden der regritere ind på alle andre sider
hVad funktion har global? (se den første kommentar)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.