额,这篇文章是bt(宝塔)面板来写的文章,其他的程序如果是wdcp管理面板也有添加shell脚本的功能,大鸟自己用的是bt(宝塔)面板,所以说说如何添加shell脚本通过nginx日志封访问频率过高的IP,就是你的网站被攻击的一些简单的应对措施,当然了,这些网上也有很多其他的相类似的教程,大鸟这里就是整合到bt(宝塔)面板来说而已。
bt(宝塔)面板用起来方便点,面板管理里面刚好有一个添加shell脚本的功能,可以定时执行一些数据备份啊等等一些常见功能,下面来看下!
第一、打开宝塔管理面板点击计划任务
大鸟已经标注了红框,大家可以很清楚的看到,就是这个地方添加一些任务啊,如果需要可以仔细看看。
第二、添加shell脚本来封闭访问过高的ip
logfile=/usr/local/tengine/logs
start_time=`date-d"$last_minutesminutesago"+"%H:%M:%S"`
stop_time=`date+"%H:%M:%S"`

tac$logfile/access.log|awk-vst="$start_time"-vet="$stop_time"'{t=substr($4,RSTART+14,21);if(t>=st&&t<=et){print$0}}'\|awk'{print$1}'|sort|uniq-c|sort-nr>$logfile/log_ip_top10
ip_top=`cat$logfile/log_ip_top10|head-1|awk'{print$1}'`
ip=`cat$logfile/log_ip_top10|awk'{if($1>200)print$2}'`
#单位时间[1分钟]内单ip访问次数超过200次的ip通过ipset封锁
echo$line>>$logfile/black.log
第三、设置shell脚本的执行时间
我们添加好了脚本需要设置在服务器中的执行时间,来看看如何设置
大鸟设置的是每天1点30分开始执行这个脚本程序来封掉访问过高的ip,如果需要修改执行时间,可以自己调整,bt(宝塔)面板给出了很多时间设置。
总结、输入任务名称,选择执行周期,输入执行的脚本内容。
注意事项:输入脚本内容前请检查脚本内容,确保脚本的正常执行,否则将会导致,计划任务执行后,脚本执行错误。无法正常执行。
过程就是这样,其实也是很简单,只需要一段shell代码就可以解决很多问题。大鸟对于这些也只是懂的皮毛,只是把自己维护网站的一点心得分享给大家!
本文来源:vps主机--bt宝塔面板添加shell(脚本通过nginx日志封访问频率过高的IP)
本文地址:https://www.idcbaba.com/vps/2804.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。