//IP黑名单

$ip = funip(getIp()) ? getIp() : '';

$ip_arr = explode(',','127.0.0.1,192.168.1.1');

if(in_array($ip, $ip_arr)){

exit('黑名单');

}

/**

* 获取用户ip地址

*/

function getIp(){

$ip = $_SERVER['REMOTE_ADDR'];

if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {

foreach ($matches[0] AS $xip) {

if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {

$ip = $xip;

break;

}

}

} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {

$ip = $_SERVER['HTTP_CLIENT_IP'];

} elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {

$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];

} elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {

$ip = $_SERVER['HTTP_X_REAL_IP'];

}

return $ip;

}

/**

* 检测是否为IP

* @param [type] $ip [description]

* @return [type] [description]

*/

function funip($ip){

//IP正则匹配

//0.0.0.0--- 255.255.255.255

$pat = "/^(((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))$/";

if(preg_match($pat,$ip)){

$num = preg_match($pat,$ip);

return $num;

}else{

$num = preg_match($pat,$ip);

return $num;

}

}

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

php黑名单,php IP黑名单相关推荐

  1. html ip 黑名单,服务器ip黑名单查询

    是否列入黑名单网址: http://george.surbl.org/lookup.html http://www.spamhaus.org/xbl/index.lasso http://www.sp ...

  2. 上海php黑名单,php判断ip黑名单程序代码实例

    这篇文章主要介绍了php判断ip黑名单程序代码实例,需要的朋友可以参考下 学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.t ...

  3. NGINX Plus集成fail2ban进行动态IP黑名单配置

    NGINX Plus集成fail2ban进行动态IP黑名单配置  安全,NGINX Plus集群,键值存储,入侵检测系统(IDS),IP地址黑名单 照片:Arnold Reinhold –自己的作品, ...

  4. Centos添加ip黑名单禁止某个ip访问,对登陆失败的主机进行封禁

    转载来源 : Centos添加ip黑名单禁止某个ip访问,对登陆失败的主机进行封禁 :http://www.safebase.cn/article-259725-1.html 在Linux中如何禁止I ...

  5. Springboot拦截器实现IP黑名单

    Springboot拦截器实现IP黑名单 一·业务场景和需要实现的功能 以redis作为IP存储地址实现.业务场景:针对秒杀活动或者常规电商业务场景等,防止恶意脚本不停的刷接口.实现功能:写一个拦截器 ...

  6. linux防火墙ip黑名单,【转】Linux防火墙(iptables)之黑名单

    iptables删除规则 So if you would like to delete second rule : iptables -D INPUT 2 ---------------------- ...

  7. 10个重要的电子邮件ip黑名单组织以及如何解决删除

    电子邮件黑名单DNS实时黑名单(DNSRBL)无处不在.全世界有成百上千甚至更多,但是,您真正需要关心的只有8个电子邮件黑名单.其他的很少被使用,你的电子邮件不会受到他们的影响.只需要重点专注这八个最 ...

  8. 国内外IP黑名单查询网站和邮件相关DNS的查询大全

    国内外IP黑名单查询网站大全 国内:https://helohub.com   (国内查询DNS和黑名单用户体验好,功能全速度快网址) http://www.anti-spam.org.cn/Rbl/ ...

  9. php程序设置ip黑名单,网站访客IP黑名单源码有效屏蔽ip(PHP实现,CC防火墙)

    在其他地方看到的,感觉不错就 分享一下.. 网站IP黑名单2组源代码可有效阻止ip(在PHP中实现,可以用作CC防火墙),一组是单页banIP版本(支持PHP5.4或更高版本,未选择服务器环境)  , ...

  10. nginx配置ip黑名单

    动态添加ip黑名单 黑名单配置 在http模块最后加上配置  黑名单设置: include /etc/nginx/ip.black; 黑名单示例: deny 127.0.0.1; deny 127.0 ...

最新文章

  1. Android源码开发笔记 -- Android数据库,屏幕休眠时间
  2. Nginx使用http_accesskey_module防盗链,告别referer,告别伪装
  3. GridView RowCommand 获取列值
  4. Enterprise Vault 2007 Series [PST Migration]
  5. Spark整合ElasticSearch
  6. 小米推出物联网软件平台Xiaomi Vela;库克被指隐瞒iPhone中国需求下滑;Ubuntu Touch新版发布|极客头条
  7. [河南省ACM省赛-第三届] AMAZING AUCTION (nyoj 251)
  8. linux 2.6线程创建源码分析
  9. android方法是对象吗,为什么android中对象不初始化也能调用方法?
  10. python写入指定路径的文件_python 从shell读取指定文件以及写入指定文件
  11. Asp.net mvc+三层架构(注册篇)
  12. 对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)
  13. 自动类型转化的鲜为人知的陷阱
  14. linux救黑砖手机,手机黑砖9006/9008救砖教程 通用救砖模式详细流程
  15. 【最小开发板】Attiny85开发与实践
  16. 自定义锁屏图片 win7
  17. 分享30个优秀的网站导航设计案例
  18. Python中socket解读
  19. python语言单行注释以什么开头_python中单行注释以什么开头
  20. 犀牛中斑马纹分析的作用

热门文章

  1. 算法笔记_面试题_13.二叉树的最近公共祖先
  2. ShiftViT用Swin Transformer的精度跑赢ResNet的速度,论述ViT的成功不在注意力!
  3. 摊牌了!2021年3D视觉算法岗求职群
  4. ValueError: Cannot feed value of shape (784,) for Tensor 'Placeholder:0', which has shape '(?, 784)'
  5. 【学生研究课题】CSDN博客数据获取、分析、分享
  6. HDU-2037 今年暑假不AC
  7. 【BZOJ3991】寻宝游戏(动态规划)
  8. 让VIM支持Python2 by update-alternatives
  9. mongodb and ssis
  10. 什么是Symbian