desithugg Posted September 2, 2006 Share Posted September 2, 2006 problem with ipsumm just today i added a script that only lets 1 person login 1 accoutn at a time[code]$ipcheck = $_SERVER["REMOTE_ADDR"];$stime=date("U")-0;$ltime=date("U")-60;mysql_connect("localhost", $my_sql_password, $my_sql_username) or die("Could not connect: " . mysql_error());mysql_select_db("osiris_thugg");$result = mysql_query("SELECT time FROM online where username = '$user_currently_loged' && ip = '$ipcheck'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_row($result);$loggin = $row[0];if($loggin == ""){mysql_query("INSERT INTO online (username, ip, time) VALUES ('$user_currently_loged','$ipcheck','$stime') ") or die(mysql_error()); }mysql_query("update ".$DBprefix."online set time = '$stime' where username = '$user_currently_loged' && ip = '$ipcheck'") or die(mysql_error()); $result = mysql_query("SELECT count(time) FROM online where username = '$user_currently_loged' and time > '$ltime'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_row($result);$howmany = $row[0];if($howmany > "1"){echo"There are more than 1 people logged in this account at the moment";exit;}[/code]what this does is checks if the username and ip combination exists in the table 'online' if it doesnot exist it inserts a new record but if the combination does exist it just updates the previous record updating the time.And if more than 2 ips have been active in the last 60 seconds the user cannot do anything edit profile and stuff so this prevents some cheating.But some users have firewalls/internet providers taht change ips constantly [code]username | IPDelta Ray | 165.21.155.15Delta Ray | 165.21.155.13Delta Ray | 165.21.155.8Delta Ray | 165.21.155.17[/code]and so on see the pattern only the last 1 or 2 numbers are being changedso he keeps getting the error and cant do anything is there a way i cna just trim of the last 2 numbers or somehting or get by this problem Link to comment https://forums.phpfreaks.com/topic/19429-problem-with-ips/ Share on other sites More sharing options...
AndyB Posted September 2, 2006 Share Posted September 2, 2006 Modified from code in the user notes:[code]<?php// reverse strrchr() - PHP v4.0b3 and abovefunction reverse_strrchr($haystack, $needle){ $pos = strrpos($haystack, $needle); if($pos === false) { return $haystack; } return substr($haystack, 0, $pos + 1);}$full_ip = "165.21.155.17";echo reverse_strrchr($full_ip, '.'); // will echo "165.21.155"?>[/code] Link to comment https://forums.phpfreaks.com/topic/19429-problem-with-ips/#findComment-84387 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.