PHP禁止指定IP访问或调用代码,来自在意博客,把要拉黑的IP保存到ip.txt一行一个,被拉黑的IP无法访问或调用,或做跳转或拒绝访问都可以自行扩展
需要注意:请手动创建一个ip.txt,否则报错。
<?php// 获取访客IP $visitor_ip = $_SERVER['REMOTE_ADDR']; $blacklist_file = 'ip.txt'; $blacklisted_ips = file($blacklist_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);// 检查IP是否在ip.txt黑名单中 if (in_array($visitor_ip, $blacklisted_ips)) { // IP 在黑名单中,拒绝访问 header('HTTP/1.1 403 Forbidden'); echo 'Access Denied'; exit; }// 如果不在黑名单 正常的代码。 ?>
如果你使用了CDN那么用上面的代码可能获取到的是节点IP,你可以使用以下代码解决。
<?php// 针对你使用了CDN,来获取用户IP $visitor_ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR']; $blacklist_file = 'ip.txt'; $blacklisted_ips = file($blacklist_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (in_array($visitor_ip, $blacklisted_ips)) { // IP 在黑名单中,拒绝访问 header('HTTP/1.1 403 Forbidden'); echo 'Access Denied'; exit; }// 允许访问的代码 ?>
转载代码,其代虽捡漏,但功能可用,给小伙伴们当案例参考了!
博主专注于Z-BLOG网站搭建、网站优化以及电脑故障排查、重装、优化、维修系统等,QQ/WX:2126245521(请注明来意)
Copyright © 2020-2023 Jack作品 Reserved.
Powered By Z-Blog Sitemap | 蜀ICP备2023025269号-1
Processed : 0.029 SQL : 14
本文暂无评论 - 欢迎您