首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell脚本配合iptables屏蔽来自某个国家的IP访问

星期六我们子公司受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我立即联系在场IT,没有得到回应,我修改和限制了他们的 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响...登录到 VPS 第一件事情就是查当前连接和 IP,来自中国的大量 IP 不断侵占80端口,典型的 DDoS....因为攻击源在国内,所以我们决定切断来自国内的所有访问,这样看上去网站好像是被墙了而不是被攻击了,有助于维护客户网站的光辉形象,那么如何屏蔽来自某个特定国家的 IP 呢?...,但是是解决问题的第一步,屏蔽了攻击源以后我们才有带宽、时间和心情去检查 VPS 的安全问题。...我们被攻击的网络流量,在18点到0点所有带宽都被攻击流量占用,这时候客户无法登录 VPS,访问者也无法访问网站!

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    group by 的用法

    2. group by 的用法:   select 字段 from 表 where 条件 group by 字段1(,字段2,字段3)   select 字段 from 表 group by 字段1(...BY grade grade A B C D 多个字段分组   SELECT name,SUM(salary) FROM student GROUP BY name,grade   按照名字和成绩划分...,查看相同名字下的工资总和sum()是聚合函数 PS: 这里把名字和成绩看成一个整体,只要是name相同,grade不同,就是两条记录 name sum(salary) zhang 3000 wang...3000 liu 3500 wu 2000 xu 2500 Group By中Select指定的字段限制 select后的字段:   要么就要包含在Group By语句的后面,作为分组的依据;...正确 2:   SELECT name,MAX(salary) FROM student GROUP BY name select 后的字段 salary 虽然不在 group by

    1.8K20

    linux shell:提取正则表达式捕获组(catch group)匹配的字符串

    bash 目前大部分shell(如bash)都提供了正则表达式判断操作符=~,如下就可以对一个字符符判断是否匹配正则表达式: $ [[ "hello world" =~ wor(ld)?...]] && echo match matched 其实基于上面的表达式不仅可以判断是否匹配正则表达,还可以通过上面表达式创建的变量 BASH_REGEX(数组)提取捕获组(catch group),...0(全部字符串) {BASH_REMATCH[1]} 即正则表达式的捕获组1,以此类推 BASH_REGEX 是 bash定义的保存正则表达式捕获组的变量,不同的脚本解释有不同的定义,比如zsh,ksh...(索引从1开始), 通用的实现 根据上面不同shell的实现试可以合成实现一个通用函数来以抹平shell之间的差异 function reMatch { typeset ec unset -v...a word after a regular expression in shell script》 ↩︎

    4.6K10

    使用group by rollup和group by cube后的辅助函数

    本文主要介绍,报表在使用group by rollup和group by cube后的辅助函数。...by rollup和group by cube后的结果集)中的空值。...根据结果集很容易的发现,group by grouping sets(orderid,productid)的结果集等于group by orderid 和group by productid的合集, 下面验证猜想...、Group by  Grouping sets解决的问题: 更加灵活的处理一些报表的统计工作,因为使用group by rollup 和group by cube都是固定格式的统计报表模式,当你给定三个需要分组统计的字段...出现了红框内的情况 ii、解决方案: a、第一步:使用GROUP_ID()函数,这个函数的作用检索出每一个数据行在表中重复出现的次数,当然这个函数只在有GROUP BY或者GROUP BY ROLLUP

    1.9K70

    来自群友的分享

    我是来自某大学本科,刚打完一个关于机器人的比赛,简单来说我在里面是负责识别一排矩形物体,返回最近的一个长方体并返回其相对于深度相机的三维坐标和角度。...因为要使机器人运动,所以相对于机器人的角度信息也是必要的。 ? ? 例如虚线框是我的画面,我就返回画面中最靠近中间的一个长方体,即下图中大概的红点位置。 ? ? 我所提取的信息是x、z、angle。...因为两边的面在不同的角度,采样获得的是不同的大小的点云,所以应该尽可能排除,而去分割出正面的那个面再去获得三维信息。 这部分是区域增长的代码。...我这里是两个面互相呈90°,我调整出来这几个参数比较适合我自己对时间速度和精度的要求,我对速度的要求比较高,所以这里的参数还不是精度最好的参数。 接下来是根据分割后的聚类进行提取信息。...经过我自己的尝试发现直接用OBB的角度误差很大,而AABB的角度会更符合实际。

    81110

    关于group by的用法 原理

    ,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢?...答案就是用聚合函数,聚合函数就用来输入多个数据,输出一个数据的。如cout(id),sum(number),而每个聚合函数的输入就是每一个多数据的单元格。...(4)例如我们执行select name,sum(number) from test group by name,那么sum就对虚拟表3的number列的每个单元格进行sum操作,例如对name为aa的那一行的...number列执行sum操作,即2+3,返回5,最后执行结果如下: (5)group by 多个字段该怎么理解呢:如group by name,number,我们可以把name和number 看成一个整体字段...如执行select name,sum(id) from test group by name,number,结果如下图: 至此,我已经对我自己对如此简单的问题有如此天马行空的想法所折服,洗洗睡觉。

    41010

    only_full_group_by问题而引发的对group by的深入思考

    问题背景 最近在项目中使用mysql的group by进行分组查询的场景比较多,其中一次遇到了一个问题,即在开发环境执行一个如下sql时是正确且可执行的, select a,b,max(c) from...test_tbl group by a 但是放到了测试环境就会报如下的错误。...的5.7.x版本中默认是开启sql_mode = only_full_group_by。...5.7以下的版本不进行检查,而5.7以上的版本进行了sql_mode=only_full_group_by的检查,所以会出现以上的问题,当然解决方法也很简单,将b也纳入到分组字段中即可。...group by深入思考 虽然在工作中会频繁的使用到group by进行分组查询,但自己对数据分组这个概念一直很模糊,这次就借着这个机会,通过一个简单的示例来帮助大家在脑海中建立起来数据分组这个抽象概念

    27010

    Mysql(11)——group by的用法

    group by的作用是将字段中相等的分为一组: (1)直接用法 ? 如上:可以见得:将两种数据分了出来:0和1。 (2)与group_concat()联用 ?...group_concat()的作用是统计每个分组(如上即is_deleted分组)指定字段(即name)的信息集合,每个信息之间(即name信息)使用逗号进行分割,这样就可以直观地看出当is_deleted...=0和is_deleted=1分别对应的name。...这样就可以看出is_deleted=0和is_deleted=1时各自id的平均数。 (4)与having联用 having是和group by联用的用来过滤分组数据的: ?...(5)与with rollup联用 with rollup的作用是再输出结果后增加一行不分组(即select方法直接聚合函数查询)用聚合函数得到的结果: ?

    1.3K40

    讲讲 group by 的plus版

    总第151篇/张俊红 这一篇讲讲 group by plus,大家应该都知道 group by,可是 plus 是什么鬼呢?其实和 iphone plus一样,就是升级版的意思。...group by后面放的字段表示要分组聚合的全部字段,grouping sets 后面放的是 group by 后面各种字段的组合,根据实际需求进行组合就行,组合字段用小括号括起来,也可以是单一字段。...在求取全国的成交量的时候其实是不需要分组聚合的,但是为了使用 grouping sets,所以我们在求取全国成交量的时候用 group by null。...这个函数是对 group by 的维度的所有组合进行聚合。...这个函数其实和 cube 挺像的,是针对 group by 所有维度的部分组合。还是上面的例子,我们来看一下运行结果。

    47030

    GROUP BY 后 SELECT 列的限制:which is not functionally dependent on columns in GROUP BY clause

    GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、...(cname)不在 GROUP BY 的子句中,同时它也不是聚合函数;这与 sql 模式:ONLY_FULL_GROUP_BY 不相容。...BY clause; this is incompatible with sql_mode=only_full_group_by 为什么 GROUP BY 之后不能直接引用原表(不在 GROUP BY...SQL 模式主要分两类:语法支持类和数据检查类,常用的如下 语法支持类    ONLY_FULL_GROUP_BY 对于 GROUP BY 聚合操作,如果在 SELECT 中的列、HAVING 或者...强行将适用于个体的属性套用于团体之上,纯粹是一种分类错误;而 GROUP BY 的作用是将一个个元素划分成若干个子集,使用 GROUP BY 聚合之后,SQL 的操作对象便由 0 阶的"行"变为了 1

    3.2K50

    group by和having的区别

    having having是对分组之后的数据进行再次过滤 案例 找出每个工作岗位的最高薪资 select max(sal) from emp group by job; 注意:分组函数一般都会和group...并且任何一个分组函数(count sum avg max min)都是在group by语句结束之后才会执行的。当一条sql语句没有group by的话,整张表的数据会自成一组。...oracle的语法规则比mysql语法规则严谨。 记住一个规则:当一条语句中有group by 的话,select 后面之后只能跟分组函数和参与分组的字段。...每个工作岗位的平均薪资 select job,avg(sal) from emp group by job; 找出每个部门不同工作岗位的最高薪资。...(多个字段联合起来一块分组) select deptno,job,max(sal) from emp group by deptno,job; 找出每个部门的最高薪资,要求显示薪资大于2500的数据。

    61210

    来自Byron同学的解答

    使用了第三方的网页分析模块BeautifulSoup,可以从这里下载最新版:http://www.crummy.com/software/BeautifulSoup/ =============== #...class_='title'): movie_title = i.a.get_text() # movie_title = movie_title.strip() #去除movie_title两边的空格...3. 12行用BeautifulSoup模块整理抓下来的html内容 4. 13行是重点,把我们需要的那一部分div截取下来(id="screening"的那部分),需要分析html源码。...接下来在上文的div中,寻找所有 class="title" 的 li 元素,注意,由于 class 是python中的保留关键字,所以需要 class_='title'。 6....有些网页抓取出来的内容前后有很多空格,可以用.strip() 去除。 点击“阅读原文”可以进入Byron的个人博客查看详细内容。

    65380
    领券