首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

3.2K30

使用 TypeScript 和依赖注入实现一个聊天机器人

翻译:疯狂的技术宅 来源:toptal 类型和可测试代码是避免错误的两种最有效方法,尤其是代码随会时间而变化。...start 脚本将用于启动机器人,watch 脚本用于编译 TypeScript 代码,test用于运行测试。...true, 22 "resolveJsonModule": true 23 }, 24 "exclude": [ 25 "node_modules" 26 ] 27} 如果文件观监视器正常工作...实现业务逻辑 让我们直接介绍本文的核心内容:创建一个可测试的代码库。简而言之,我们的代码应该实现最佳实践(如 SOLID ),不隐藏依赖项,不使用静态方法。...但有一件事是肯定的:TypeScript、单元测试和依赖注入允许我们编写更易读、松散耦合和可维护的代码 —— 无论我们正在开发什么类型的应用。

11.1K20

Excel实战技巧89:强制用户保护工作簿工作

学习Excel技术,关注微信公众号: excelperfect 使用VBA代码,在用户关闭工作簿时,只有设置了保护工作簿,才能正常关闭。..., vbYesNo) Else MsgBox "工作簿已被保护!"...如果单击“是”,则要先设置工作簿保护再关闭工作簿;如果单击“否”,则直接关闭工作簿。 ? 图1 上述代码提供给用户选择是否保护工作簿,下面的代码强制用户设置保护工作簿,否则不能关闭工作簿。...End If End Sub 同理,我们也可以使用代码来强制用户设置工作簿保护,否则不能关闭工作簿。...End If End Sub 上述代码是强制当前工作簿设置工作表保护,你也可以使用指定的工作表代替ActiveSheet,以强制必须对指定工作表设置保护,否则不能关闭工作簿。

88330

Golang设计模式——状态模式

代码示例 当今社会,论坛贴吧很多,我们也会加入感兴趣的论坛,偶尔进行发言,但有时却会发现不能发帖了,原来是昨天的某个帖子引发了口水战,被举报了。这里就用论坛发帖为例,简单用代码描述一下: ?...") 46 } else if a.State == CLOSED { 47 fmt.Println("抱歉,你的健康值小于-10,不能评论") 48 } 49 50} 51 52//.../发帖 53func (a *Account) Post() { 54 if a.State == NORMAL { 55 fmt.Println("正常发帖") 56 } else...代码中包含大量与对象状态有关的条件语句,这些条件语句的出现,会导致代码的可维护性和灵活性变差,不能方便地增加和删除状态,使客户类与类库之间的耦合增强。...使用状态模式可以描述工作流对象(如批文)的状态转换以及不同状态下它所具有的行为。

2.2K60

Python异常捕获及自定义异常类

在Python无法正常处理程序中的代码时,解释器无法继续执行了,异常事件就发生了,Python检测到错误,然后给出一些错误的提示,并终止程序运行,这就是所谓的"异常"....在编程过程中,随时都可能出现异常,哪怕只是一个很简单的功能,只是几句简单的代码. 所以异常是伴随着程序的,有代码就可能有异常. 但是,在实际工作中,我们不希望所有异常产生时都终止程序. ?...,把可能出现问题的代码,放在try中.把处理异常的代码,放在except中,else和finally根据应用场景来选择是否使用....比如上面的例子,要么代码正常运行,要么发生命名错误NameError,比如将一个数字形式的字符串转int,要么正常执行,要么出现ValueError....上面的示例中,我们捕获异常时,可以判断会出现的异常类型,但是实际开发中,代码比上面的示例复杂得多,出现的异常我们不能提前判断,这时候就可以用Exception类来捕获.

1.3K30

从编程小白到全栈开发:改造为全栈计算器

现在,我们要改造它,让它只负责获取用户输入内容,并不做运算,运算的工作,将发往服务器。...XMLHttpRequest来和服务器进行沟通的时候,浏览器会要求我们的页面也必须是要在服务器上,也就是说我们之前直接把html拖进浏览器或通过菜单里“打开”运行的方式,会让XMLHttpRequest不能正常工作...本地打开的html文件不能让XMLHttpRequest正常工作 下面这种形式才能正常工作: ? 需要以网址的方式访问 所以在创建我们的后端服务代码的时候,我们会同时来解决这件事情。...我们先创建一个server.js,它将是我们的后端Node.js代码。...欢迎关注一斤代码的系列课程《从编程小白到全栈开发》

71830

Android – 权限申请

android.permission.READ_PHONE_STATE"/> 当我们第一次去点击READ PHONE STATE时就会弹出这个权限申请dialog,如果用户点击了允许,那恭喜你,万事大吉了,你就不用去担心需要权限的代码不能执行了...但是,如果用户点击了拒绝,那很不幸,你需要权限的代码不能执行,如果你不加处理,非要执行那段代码的话,应用就会直接崩溃,崩溃日志就会告诉你,需要获取该权限。 ?...// 执行具体逻辑 } else { requestPermissionsrp(); //代码去执行权限申请...图片来自简书APP 当用户跟随我们的引导去授予权限时,然后返回我们的APP时,checkPermissionsrp()方法就会返回true,这时候,我们的代码逻辑就可以正常执行了。...快乐工作!快乐编程!

1.4K40

最佳编码实践:搞砸代码的10种方法

1、我不需要else子句   If…then…else,select case等VBA语句都包含了else子句,这个子句后跟随了所有具体的决策条件,这是处理一些带条件事情的最好机会,但开发人员却忽略了这个机会...,一个未执行的else子句比多个选择更好。...5、我的用户将输入正确的数据   如果程序正常运行需要依赖用户的准确输入,这将是风险很大的一件事,这不是对用户能力的质疑,用户都不是傻子,但确保程序正常运行并不是他们的本职工作,你不能依赖他们输入正确的数据...,相反,你应该从技术上来验证用户的输入,你可以使用表属性从底层来约束和验证,但大多数时候还是要靠你写的代码来验证,这也许是程序基本功能代码完成后最重要的任务,因此不要吝啬你的代码不能依靠用户不犯错误的输入...10、就我一个人开发,我只写代码,文档就免了   如果就你一个开发人员,也许你不会写文档,你认为那只是耽误自己的工作,但大多数开发人员在修改非自己写的代码之前,都希望有良好的文档参考。

2K40

shell 基本语法

echo `expr index $name s` # 3 下标从1开始 'dasu' "dasu" dasu 单引号、双引号、甚至不加引号都会被作为字符串使用 单引号里的字符串不做任何处理工作...# 1,非正常 (( 1 == 1 && 1 > 0 )) echo $? # 0,正常 (( 1 == 1 && 1 > 1 )) echo $? # 1,非正常 明白了吗?...[[]] 以及 (()) 都不能使用,且如果类似这样使用 == 和 -o,也是不起作用的: if [ 1 > 2 -a 1 == 1 ]; then echo true; else echo false...; fi # true,1 > 2 明明不符合,却返回 true 了,所以 -a 这种运算符不能喝 > 这类运算符合用,但使用 -gt 就是正常的了 if [[ 1 -eq 1 -o 1 -gt 2...声明 我们通常都会将不同工作职责写在不同脚本文件中,然后某个脚本文件内,来控制其他脚本文件的执行流程,那么,这时候,就需要知道每个流程的脚本是否执行正常,这时候,就可以借助脚本的 exit 命令和 $?

1.3K30

【C语言总集篇】分支与循环篇——从不会到会的过程

else if进行条件判断,同样也没有else;  此时程序正常比较3个数的大小。...a为1~5的情况下打印工作日,在a为6~7的情况下打印休息日,那现在的问题来了,这样编写它能够正常运行吗?...下面我们输入6来进行测试: 可以看到输入6之后很好的输出了休息日,最后我们再输入7来进行测试: 从上面的测试结果咱们可以看到,程序能够很好的运行,我们现在要确定一个问题,if……else if能不能也像这样简化...if (a == 2) else if (a == 3) else if (a == 4) else if (a == 5) { printf("工作日"); return 0; }...接下来我们通过代码来探讨一下: 现在这行代码程序正常执行时能够将数字0~10全部打印出来,如下图所示: 现在我们在其中加入break试一下,这里我们需要嵌套一个if语句,代码如下: #define _CRT_SECURE_NO_WARNINGS

28010

Python运行异常管理解决方案

2 运用try-except代码块 我们知道,除数是不能为0的,当程序员误将除数设置为0时,将会出现ZeroDivisionError错误。...工作原理: 将可能出现错误的代码放在try代码块中,如果运行无错误,将跳过except代码块;若导致了错误,Python将查找except代码块,并执行其中的代码。...else: print(answer) 运行结果: ? 工作原理: 一般地,将可能发生异常的代码放在try代码块中。...Python尝试执行try代码块中代码,如果发生错误,则执行except中程序代码;如果运行正常,则执行else代码块中的代码。...工作原理: 10 当代码执行出错时,Python将会执行except代码块中的pass语句。pass语句既不会出现traceback,也没有任何输出。

38410

设计模式-简单工厂模式

,其实这些就是静态工厂方法,通过静态方法来提供自己的实例是完全可以的(抽象类本身不能进行实例化)。...,因此也就不能调用其中的普通方法(非静态方法)。...MissingResourceException e) { return new SimpleDateFormat("M/d/yy h:mm a"); } } 总结 优点: 将创建实例的工作与使用实例的工作分开...把初始化实例时的工作放到工厂里进行,使代码更容易维护。更符合面向对象的原则,面向接口编程,而不是面向实现编程。 缺点: 由于工厂类集中了所有产品创建逻辑,一旦不能正常工作,整个系统都要受到影响。...要新增产品类的时候,就要修改工厂类的代码,违反了开放封闭原则(对扩展的开放,对修改的关闭)。 简单工厂模式由于使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构。

60641

windows窗体线程异常_指针在声明和使用时有何不同

在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等。...= “Hello”; UpdateData(FALSE); 在正常情况下你的编辑框中很显然会显示出”Hello”来。...但是,不怕一万,就怕万一,偏偏在你m_strText=”Hello”这个代码执行之后,你的线程切换了,可是在你的工作线程里,你却将m_strText设置成了”Sorry”,结果当线程切换回来后,UpdateData...但是,不建议并不表示不能用,如果你能够确认你的线程不会互相冲突,你就大胆的用吧。...现在,请在你的工作线程中调用 ((CTmthDlg*)pParam)->UpdateData(FALSE); 然后调试运行,一切工作正常

47540

Python升级之路( Lv8 ) 异常机制

with上下文管理 traceback模块和生成异常日志 自定义异常类 五、Pycharm开发环境的调试(debug) 前言 在本章, 我们首先会了解什么是异常: 软件程序在运行过程中,可能会遇到能使其不能正常运行的问题...实操代码 # 测试简单的0不能做除数异常 # 因为如果假设成立, 则说明 3/0=0 => 可以推导 0*0=3, 因为结果不成立, 因此假设不成立 # a = 3/0 def a(): print...with 上下文管理可以自动管理资源,在 with 代码块执行完毕后自动还原进入该代码之前的现场或上下文. 不论何种原因跳出 with块,不论是否有异常,总能保证资源正常释放....极大的简化了工作,在文件操作、网络通信相关的场合非常常用....if age 150: raise AgeError(age) else: print("正常的年龄: ", age) 结果输出

39410

Android页面中可编辑与不可编辑切换的实现

,就上述代码,id为views的EditText无论在那种状态都不能输入了。...,我们这个页面可能有十几个、甚至几十个控件需要操作,那么我们一个个找到之再添加到viewList中,丑不丑陋不好说,反正是搞得眼花缭乱就是,作为一个有抱负的码农果断不能忍!...更优雅的方式 既然问题是出在控件太多,一个个添加要操作控件太麻烦,那么可不可以遍历布局寻找控件呢,可以的,将活动代码做如下修改: package com.example.softdk.myapplication...view.setFocusableInTouchMode(able); } } } } 不卖关子了,上面就是完整版,去掉注释,逻辑还是很简单清晰的,如果结合Butterknife等框架插件使用的话,能大大减少琐碎代码的编写...总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。

1K30
领券