作者:偶说撒浪嘿 | 来源:互联网 | 2023-08-31 10:22
php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释禁止IP网站安全php教程-php手册添加禁止IP库,通
php教程|php手册
thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释禁止IP 网站安全
php教程-php手册
添加禁止IP库,通过修改顶级类来禁止库中存在的IP访问网站,就是俗称的封IP
最近分析网站错误日志,竟然发现有大量高频次出现的IP不间断地在扫描网站,诸如:
[ 2014-04-28T21:55:26+08:00 ] 223.208.36.53 /dede/
ERR: 无法加载控制器:Dede
[ 2014-04-28T09:01:24+08:00 ] 115.29.196.101 /wwwroot.rar
ERR: 无法加载控制器:Wwwroot.rar
[ 2014-04-28T09:01:25+08:00 ] 115.29.196.101 /wwwroot.zip
ERR: 无法加载控制器:Wwwroot.zip
[ 2014-04-28T09:01:25+08:00 ] 115.29.196.101 /wwwroot.7z
ERR: 无法加载控制器:Wwwroot.7z
[ 2014-04-28T09:01:25+08:00 ] 115.29.196.101 /bak.zip
ERR: 无法加载控制器:Bak.zip
[ 2014-04-28T09:01:25+08:00 ] 115.29.196.101 /bak.rar
ERR: 无法加载控制器:Bak.rar
[ 2014-04-28T09:01:25+08:00 ] 115.29.196.101 /bak.7z
ERR: 无法加载控制器:Bak.7z
android完整源码,vscode输出结果在哪看,ubuntu源服务,tomcat配置网页地址,公司数据爬虫,php接口设计文档,微信小程序seo 外推,扁平化网站导航lzw
这些记录清晰地表明有人使用程序在批量尝试搜罗网站后台地址或备份文件,看着很不舒服,虽然程序明显拒绝了请求。
手机生活服务类源码,ubuntu 950m,爬虫怎么抢商品,php 西部数码,seo站内视频lzw
于是萌发了添加禁止IP的功能,把这些IP统统禁止访问网站。
hog源码分析,vscode拷贝离线插件,uip ubuntu编译,tomcat设置长链接,商标数据爬虫,php 投票管理系统,厦门百度seo合作,微信朋友圈免费发布网站源码下载,织梦城市分站模板lzw
整理思路,觉得可以从顶级类着手,于是找到框架的顶级Controller类,在__construct()方法中增加以下代码:
$IP = get_client_ip();
$iplist = M('iplist')->field('ip')->select();
for($i=0;$i $list[$i] = long2ip($iplist[$i]['ip']);
}
if(in_array($IP,$list)){
exit('You don\'t have permission to access!');
}
该代码从数据库中读取限制IP列表,然后用访客IP去判断是否存在数据表中,若存在,则报错,否则不做任何操作。
当然,在顶级类中添加这样的代码或许会对性能有所影响,没关系,直接在各分组Controller中增加__construct()方法,把上面代码写进去也是一样的。不过这样就麻烦些,有多少个控制器就要写多少个。
注意,__construct()方法不能乱用,若在控制器中写,开头必须加上parent::__construct();否则要报错!
其他要做的:
在后台开发功能,管理员可以添加禁止IP,也可以删除。需要十分注意的是,IP一定要从错误日志中提取确定是非法访问的,不要把搜索引擎的IP给禁止了哈!
AD:真正免费,域名+虚机+企业邮箱=0元