首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记录一下fail2ban不能正常工作的问题 & 闲扯安全

    今天我第一次学习使用fail2ban,以前都没用过这样的东西,小地方没有太多攻击看上,但是工作之后这些安全意识和规范还是会加深认识,fail2ban很简单的远离,分析日志,正则匹配查找,iptables...ban ip,然后我今天花了很长时间都没办法让他工作起来,我写了一个简单的规则ban掉尝试暴力登录phpmyadmin的ip,60秒内发现3次ban一个小时。...我通过fail2ban-regex测试工具测试的时候结果显示是能够正常匹配的,我也试了不是自己写的规则,试了附带的其他规则的jail,也是快速失败登录很多次都不能触发ban,看fail2ban的日志更是除了启动退出一点其他日志都没有...后面我把配置还原,重启服务,这次我注意到重启服务之后整个负载都高了起来,fail2ban-server直接是占满了一个核,这种情况居然持续了十几分钟的样子,简直不能忍。

    5.8K30

    快速 Get 面试题中:线程池七个参数和工作原理问题,理解万岁

    这次用一个生活案例来让你快速的 get 到线程池的工作原理和七个参数的作用。 最近在复习面试题,巩固一下自己。学完看看面试题,可以很有效的知道的不足。也是为以后做准备。...本文主要针对线程池的七个参数及工作原理做讲解。 阅读完本文能够通过自己的语言简单阐述线程池的工作原理和画出原理图。...面试官: 平时工作中使用到线程了吗?线程池的优势是什么? 请介绍使用线程池的方式。 可以给我分别介绍一下线程池的七个参数的概念和作用吗?、 线程池的工作原理是什么的?画一下线程池的工作原理图。...看完这个概念一下肯定是没啥感觉的,我会用一个生活中的案列来讲解线程池的工作原理,确保大家都能理解。...当设置为8的时候,还是可以正常的,我们调到9个任务来试一试。 当我们向上调整上,任务超过最大数,就会触发拒绝策略。

    1K20

    【Linux】从零开始使用多路转接IO --- select

    struct timeval *timeout:输入输出性参数 ,这是一个结构体表示微秒级别的时间戳,其中有两个参数分别表示秒和微秒。...一共1024比特位,可以表示1024个文件描述符,下面我们就来了解一下这三个参数: 这三个参数都是fd_set,是输入输出参数,分别对应读事件,写事件,异常事件。...OK,现在我们了解了select的基本参数,下面我们就开始使用select进行编程 3 多路转接select等待连接 我们首先把之前的套接字基础的类拷贝过来: class Socket:实现套接字的创建工作...class InetAddr:网络套接字基本信息类,用于进行网络套接字传参工作。...直接遍历数组,进行FD_ISSET,通过对每一个合法fd进行判断,我们就能够知道是哪一个文件操作符有事件就绪!

    27910

    PHP重载,不一样的重载

    注意: 1.所有的重载方法都必须被声明为 public 2.这些魔术方法的参数都不能通过引用传递 3.PHP中的重载与其它绝大多数面向对象语言不同。...传统的重载是用于提供多个同名的类方法,但各方法的参数类型和个数不同 一、属性重载 public __set(string $name, mixed $value): void public __get...参数 name 是指要操作的变量名称。__set() 方法的 value 参数指定了 属性重载只能在对象中进行。在静态方法中,这些魔术方法将不会被调用。所以这些方法都不能被 声明为 static。...使用 __get(),__set(),__isset() 和 __unset() 进行属性重载 参数是要调用的方法名称。arguments 参数是一个枚举数组,包含着要传递给方法 示例1:使用 __call() 和 __callStatic() 对方法重载 <?

    1.5K20

    PHP面向对象精要

    传统的"重载"是用于提供多个同名的 类方法,但各方法的参数类型和个数不同。 魔术方法:PHP把所有以__(两个下划线)开头的类方法当成魔术方法。所以你定义自己的类方法时,不要以 __为前缀。...         this->personSex = this->personAge = 5 构造函数与析构函数 具有构造函数的类会在每次创建对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作...它们都是定值,不能被子类或子接口修改。...在PHP5 中,预定义了两个函数“__get()”和“__set()”来获 取和赋值其属性,以及检查属性的“__isset()”和删除属性的方法“__unset()”。...()方法用来获取私有属性  private function __get($property_name){    if(isset(this-> return(this-> return(NULL)

    2.7K20

    PHP语言教程-魔术方法之属性重载和方法重载

    isset($this->$name)) { echo '未设置' ....PHP_EOL; } return $this->$name; } 输出: 未设置 guest 代码讲解: 我们在代码中增加了__set()和__get()两个魔术方法,再次运行代码,输出正常...当我们试图写入一个不存在或不可见的属性时,PHP就会执行对象(类)中的__set()魔术方法,方法必须接收两个参数,用来存放属性名和属性值。...__call()也必须接收两个参数,用来存放试图调用的方法名和要传递给该方法的参数。...__call()和__callStatic()作用: 1、防止调用不存在或者不可见的方法而报错 2、动态创建对象(类)的方法 总结 我们通过示例代码讲解了属性重载和方法重载的PHP魔术方法,在实际开发工作中

    82920

    PHP:CURL分别以GET、POST方式请求HTTPShttp协议接口api

    1、//curl以GET方式请求https协议接口     function curl_get_https($url){         $curl = curl_init(); // 启动一个CURL...:54:31 * @param: $url 请求的地址 *       $isPostRequest 默认true是GET请求,否则是POST请求 *       $data array  请求的参数...请求检查是否拼接了参数,如果没有,检查$data是否有参数,有参数就进行拼接操作         $getParamStr = '';         if(!...empty($certParam) && isset($certParam['cert_path']) && isset($certParam['key_path']) ){             curl_setopt...curl_close($curlObj); // 关闭CURL会话     return $result; // 返回数据,json格式 } 说明 :前提是打开php的curl开关和服务器的ssl_module,不然不能正常使用哦

    7.6K20

    网络安全 DVWA通关指南 Cross Site Request Forgery (CSRF)

    php if(isset($_GET['Change'])) { // 检查是否有请求更改密码的动作 // 获取用户输入的新密码和确认密码 $pass_new = $_GET['password_new...password_new=111&password_conf=111&Change=Change# 观察链接,认为使用get方式提交修改密码参数,只要三个参数符合就可以执行密码修改的操作 2、打开一个新标签页...php if( isset( $_GET[ 'Change' ] ) ) { // Checks to see where the request came from //检查$_SERVER...php if( isset( $_GET[ 'Change' ] ) ) { // Check Anti-CSRF token checkToken( $_REQUEST[ 'user_token...> 1、正常修改密码并成功,使用BurpSuitePro捕获流量包,发现仍使用get提交方式,但多了验证参数token 2、直接将链接复制粘贴修改密码肯定失败,提示token不正确 有两种方法可以获得token

    56010
    领券