php域名黑名单,thinkphp 6 IP 黑名单功能

news/2024/7/2 23:23:27

最近用tp6 开发的网站,一直被cc攻击,装了cnzz 看了一下,基本都是北京的几个IP。

由于是用的虚拟主机,只能在代码端加上IP黑名单的功能了。

第一步:

创建一个中间件CheckIp.php

文件位置app\middleware\CheckIp.php

具体代码:

namespace app\middleware;

class CheckIp

{

// 状态 关闭:false,开启:true

private $status = true;

// ip库

private $StoreIp = ['127.0.0.2','127.0.0.1'];

/**

* 处理请求

*

* @param \think\Request $request

* @param \Closure $next

* @return Response

*/

public function handle($request, \Closure $next)

{

// 禁止访问

if($this->status==true){

if(in_array($request->ip(),$this->StoreIp)){

exit('禁止访问');

}

}

return $next($request);

}

}

第二步:

注入中间件:app/middleware.php

代码:

return [

// 加载中间件

app\middleware\CheckIp::class

];

这个是简单的加入黑名单的功能,如果ip比较多的情况下,最好是能把ip的信息写入数据库或者配置文件,这样方便管理。


http://lihuaxi.xjx100.cn/news/286938.html

相关文章

这道算法题太简单?你忽略了时间复杂度的要求!

(给视学算法加星标,修炼编程内功)来源:五分钟学算法这道题目很有意思!忽略时间复杂度的要求的话,so easy !加上了时间复杂度的要求,so hard!而很多小伙伴一开始没有注意时…

struts 页面取值问题

Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点: 1.Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有一个Map对象)2.Struts2中的OGNL表达式语言的根对象是一个ValueStack&a…

min25模板链接

https://www.cnblogs.com/GreenDuck/p/10695376.html

关于学习Python的一点学习总结(35->关联超类)

76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry True def eat(self): if self.hungry: print(Aaaah ...) self.hungry False else: print(No, thanks!)class SongBird(Bird): def __init…

这样学算法,包会包懂so easy~

整理 | Jane出品 | AI科技大本营面试前,大家都会开始刷各类网站,希望能在算法之道上有所进益,也期待有幸能在面试中碰上原题,而在那么多的网站中,LeetCode 一定是候选学习的网站之一。但是 LeetCode 网站上的题量和难度…

p6安装后怎么连接oracle的数据库,p6-oraclexe数据库连接不上处理方法内部版20151012.doc...

p6-oraclexe数据库连接不上处理方法内部版20151012.doc 问题P6出现无法连接数据库修改SYSTEM密码SQLCONN/ASSYSDBA已连接。SQLPASSWORDSYSTEM更改SYSTEM的口令新口令重新键入新口令口令已更改SQLALTERUSERSYSTEMIDENTIFIEDBYMANAGER用户已更改。修改P6ADMIN的密码CONNSYSASSYSD…

10种Git技巧,让你省时省力又省心!

图片来源:unsplash.com/sam_truong1. 从另一分支切换单个文件大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。git checkout some-other-branch -- yarn.lock同时,也可以使用相…

启动mysqld报 mysql the server quit without updating pid file

查看mysql服务器的错误日志有一句: InnoDB: mmap(137363456 bytes) failed; errno 12 原来是内存不够用(需要131MB)呀,把my.cnf中的innodb_buffer_pool_size值修改成8M解决问题 这个弄好好,发现服务器上的wordpress任然报“数据库…