PHP制作登录异常ip检测功能的实例代码

2025-05-29 0 102

使用函数查询数据库遍历实现

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
/**

* 不在常用ip地址登录返回描红信息

* @param string $ip ip地址

* @param string $name 用户名

* @return string

*/

function errorIp($ip,$name){

$nowip = get_client_ip();

//判断ip和当前ip是否相同,不同则查询数据库对比

if($ip == $nowip ){

//相同直接返回字符串

$str = '<font color="blue"'.">登录IP:".$ip."</font>";

}else{

//不同则记数这个ip地址数量

$count = M('log')->where("name='{$name}' AND ip='{$ip}'")->count();

//如果超过一定数量则是正常ip否则为异常返回字符串

if($count > 10){

$str = '<font color="blue"'.">登录IP:".$ip."</font>";

}else{

$str = '<font color="red"'.">异常IP:".$ip."</font>";

}

}

return $str;

}

注释:适合所有框架使用,get_client_ip()是ip获取函数。

get_client_ip函数片段:

?

1

2

3

4

5

6

7

8

9

10

11

12
function get_client_ip() {

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {

$ip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {

$ip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {

$ip = getenv('REMOTE_ADDR');

} else{

$ip = $_SERVER['REMOTE_ADDR'];

}

return $ip;

}

以上这篇PHP制作登录异常ip检测功能的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP制作登录异常ip检测功能的实例代码 https://www.kuaiidc.com/95789.html

相关文章

发表评论
暂无评论