国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB服務(wù) > 正文

nginx 防垃圾流量的perl清洗腳本

2020-05-27 13:47:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  1、根據(jù)nginx的訪問(wèn)日志,根據(jù)匹配規(guī)則查出來(lái)源域名,按照來(lái)源域名的在一定時(shí)間內(nèi)的訪問(wèn)量來(lái)確定屏蔽對(duì)象

  將下面的腳本放入到系統(tǒng)定時(shí)任務(wù)中,定時(shí)(2-5分鐘,可根據(jù)具體情況做相應(yīng)調(diào)整)執(zhí)行。

  確定一個(gè)判斷不正常的流量的數(shù)量,凡是大于該數(shù)量的來(lái)源一律清洗。

  當(dāng)然這里有可能會(huì)有誤判,所以在后面將正常的來(lái)源地址過(guò)濾掉。

  cat purge_traffic.sh

  #!/bin/bash

  if [ -f /var/log/nginx/www-access.log ]; then

  tail -10000 /var/log/nginx/www-access.log | grep -E cps_site|tracert.php?source | awk -F" {if ($4 ~ /http:/){print $4}} | awk -F / {print $3} | grep -v -E .xxx.cn|.baidu.com|google.com | sort | uniq -c | sort -nr | head -60 > /tmp/cps_site.log

  cat /tmp/cps_site.log | awk {if( $1 > 100 ){print $2}} > /tmp/purge_cps.log

  fi

  2、nginx中調(diào)用的perl腳本,當(dāng)請(qǐng)求進(jìn)來(lái)時(shí),通過(guò)下面的腳本判斷Referer地址是否來(lái)自上面生成的需要清理的域名。

  perl判斷腳本,當(dāng)發(fā)現(xiàn)來(lái)源地址匹配時(shí)返回1

  cat purgetraffic.pm

  package purgeTraffic;

  use nginx;

  sub purge {

  my $r = shift;

  my $ua = $r->header_in("Referer");

  if(! $ua ) { return 0; }

  open(FILES, "/tmp/purge_cps.log") || return 0;

  @cps_file=;

  close(FILES);

  foreach (@cps_file) {

  my $eachcps = $_;

  chomp $eachcps;

  #$r->print($eachcps .| );

  if ( $ua =~ m/$eachcps/ ) {

  #return HTTP_NOT_ALLOWED;

  return 1;

  }

  }

  return 0;

  }

  1;

  __END__

  3、nginx.conf 中調(diào)用perl腳本,符合清洗規(guī)則的來(lái)源直接返回 404,

  http {

  ...

  perl_modules /etc/nginx;

  perl_require purgetraffic.pm;

  ...

  perl_set $purge purgeTraffic::purge;

  server {

  server_name www.xxx.cn;

  if ($purge = 1) { return 404; } #屏蔽垃圾流量

  ...

  }

  }

  重新加載nginx,完成自動(dòng)流量清洗

  還可以稍微修改一下perl腳本,增加一個(gè)白名單,減少誤判的可能。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵川县| 马关县| 锡林郭勒盟| 韩城市| 松桃| 城步| 榆中县| 根河市| 保山市| 增城市| 青海省| 红桥区| 金山区| 象山县| 夏邑县| 米脂县| 吴堡县| 沐川县| 庆阳市| 洛川县| 兴仁县| 广州市| 兰坪| 江川县| 宁安市| 任丘市| 林芝县| 丹东市| 天等县| 林甸县| 高州市| 霍城县| 盖州市| 静安区| 万荣县| 舒城县| 化德县| 册亨县| 常山县| 历史| 丹江口市|