我在mysql中创建了一个表,用于存储用户的登录详细信息。 我们存储,IP地址(如long2ip),用户名,网站名称和时间。我想要做的是检查用户是否登录了具有2个以上不同ip的站点。
答案 0 :(得分:4)
只要您拥有可用的数据库存储版本,这应该相当容易。一些未经测试的伪代码:
$longIPdb = ip2long($ipfromdb);
$longRemote = ip2long($_SERVER['REMOTE_ADDR']);
if ($longIPdb == $longRemote) echo "We're the same.";
else echo "We're from different IPs.";
答案 1 :(得分:1)
这听起来应该在SQL中完成,而不是PHP:
SELECT COUNT(DISTINCT ip) WHERE username='username';
如有必要,可以按时(AND time > NOW()-3600
)进一步限制。
结果将是给定用户在您的数据库中具有的不同IP地址的数量(在给定的时间范围内,如果指定的话)。