PDA

View Full Version : IP logged when user logs in..


D-Con
01-31-2001, 04:41 AM
i'm running a private board and i want to ensure that my members aren't giving their account information to anyone else..

i've heard that there is a hack floating around that records a users ip once he or she logs into the forum..

has anyone ever heard of this ?? i've done a search around this forum and haven't come up with anything that has worked..

any help would be appreciated..

thx.

01-31-2001, 05:04 AM
You may get IP address from bottom right corner in shothread.php (ie. IP: Logged) or from the admin control panel.

01-31-2001, 05:49 AM
thx for answering..

but the only way i've seen the ip's displayed is after a member posts.. what i'm interested in obtaining is the ip of a member each time he or she logs into the board without having to wait for the member to post..

i'm not sure if i'm explaining it correctly.. kind of hard to put into words..

anybody know what i'm talking about ?

01-31-2001, 07:42 AM
If I catched the sense:
Control panel -> Users -> IP addresses

Hope this helps. ;)

01-31-2001, 12:47 PM
Users don't have IP addresses.

Posts have IP addresses.

Besides every time your members log in the majority of them are most likely going to have new IP addresses.

I haven't seen a hack for this done. It would require a new table with userid and ipaddress and grow astronomically large as they log in and log out all day, every day.

02-01-2001, 12:14 AM
hmm.. i spose that is true.. how bout a script that counts the amount of times members log in ?? that could be useful to keep track of non posters ..

02-01-2001, 01:13 AM
You have ways to keep track of non-posters....

No Posts:
SELECT userid, username FROM user WHERE posts=0

No Posts in the last 30 days:
SELECT userid, username FROM user WHERE lastpost=UNIX_TIMESTAMP(time()-(36400*30))

60:
SELECT userid, username FROM user WHERE lastpost=UNIX_TIMESTAMP(time()-(36400*60))

90:
SELECT userid, username FROM user WHERE lastpost=UNIX_TIMESTAMP(time()-(36400-30))

Year:
SELECT userid, username FROM user WHERE lastpost=UNIX_TIMESTAMP(time()-(36400*365))

Haven't visited in 30 days:
SELECT userid, username FROM user WHERE lastvisit=UNIX_TIMESTAMP(time()-(36400*30))

60:
SELECT userid, username FROM user WHERE lastvisit=UNIX_TIMESTAMP(time()-(36400*60))

90:
SELECT userid, username FROM user WHERE lastvisit=UNIX_TIMESTAMP(time()-(36400*90))

Year:
SELECT userid, username FROM user WHERE lastvisit=UNIX_TIMESTAMP(time()-(36400*365))

Of course you could always use the "Find" User feature to find these same users as well. You can use the "Email User" functionality to contact them also.

02-01-2001, 04:29 AM
This bit of code, to be inserted into index.php would prevent the table from growing insanely large, by checking to make sure that the current user only has a particular IP logged once:

if (isset($bbuserid)) {
$ipquery = $DB_site->query("SELECT userip FROM userips WHERE userid='$bbuserid' AND userip='".getenv("REMOTE_ADDR")."'");
if ($DB_site->num_rows($ipquery) == 0) {
$result = $DB_site("INSERT INTO userips (id, userid, userip) VALUES ('', '$bbuserid', '".getenv("REMOTE_ADDR")."')");
}
}

This would require the creation of a new mysql table called userips with the following fields: id (int10 perhaps?), userid (int10), userip (varchar15).

Then it would just be a matter of coding a simple control panel to query the table for duplicate IPs.