ip防刷指令碼

2021-09-08 04:25:17 字數 1530 閱讀 5435

#!/bin/sh

#防刷指令碼

#env

access_path=/home/wwwlogs

access_log=y.log

iptables_top_log=iptables_top.log

drop_log=droplist.log

history_log=history.log

#ip白名單

noip=`cat noip.list`

#防刷閾值

limitnum=500

#統計請求日誌

while true

doawk '' $/$ \

| egrep -vi "$" \

| sort \

| uniq -c \

| sort -rn \

| head -20 \

>$/$

#判斷是否達到閾值

exec<$/$

while read line

docount=$(echo $line | awk '')

ip=$(echo $line |awk '')

[ "$count" -gt "$limitnum" ] && /$

}done

#傳送告警

sendnum=`cat $/$|wc -l`

[ "$sendnum" -gt "0" ] && /$) \

以上ip訪問次數頻繁,單ip 1分鐘超過閾值$請注意檢視"

python /server/scripts/iptables/sms.py 15900009999 "$"

cat $/droplist.log >>$/$

>$/$|

}#清除1分鐘內資料,準備下一次新資料

>$/$

sleep 60

done

#!/bin/sh

#防刷指令碼

#env

access_path=/home/wwwlogs

access_log=y.log

iptables_top_log=iptables_top.log

drop_log=droplist.log

#防刷閾值

limitnum=500

#統計請求日誌

while true

doawk '' $/$ \

| sort \

| uniq -c \

| sort -rn \

| head -20 \

>$/$

#判斷是否達到閾值

exec<$/$

while read line

docount=$(echo $line | awk '')

ip=$(echo $line |awk '')

[ "$count" -gt "$limitnum" ] && /$

}done

#清除1分鐘內資料,準備下一次新資料

>$/$

sleep 60

done

爬蟲防封IP

當抓取資料逐漸增大時,伺服器的負荷會加大,會直接封掉來訪ip 採取措施 1.建立請求頭部資訊 建立請求頭 strhtml requests.get url,headers headers 使用get方式,獲取網頁資料 2.我們就只修改user agent還不夠,爬蟲1秒鐘可以抓取很多,通過統計ip的...

nginx lua redis 防刷和限流

防刷的概念 防刷的目的是為了防止有些ip來爬去我們的網頁,獲取我們的 等資訊。不像普通的搜尋引擎,這種爬去行為我們經過統計最高每秒300次訪問,平均每秒266次訪問。由於我們的 的頁面都在cdn上,導致我們的cdn流量會定時冒尖。為了防止這種情況,打算將網頁頁面的訪問從cdn切回主站。同時開啟防刷功...

專案 防刷限流技術

包裝秒殺令牌前置,需要驗證碼來錯峰 數學公式驗證碼生成器 限流方案 限併發 設定計數器。tps 每秒處理請求的數量 限流方案 令牌桶 介面維度 總維度集群限流 依賴redis或其他的中介軟體技術做統一計數器,往往會產生效能瓶頸 單機限流 負載均衡的前提下單機平均限流效果更好 排隊,限流,令牌均只能控...