分类目录归档:一些经验

工作中的一些经验

自己写的一个防止采集或CC或大量恶意访问的脚本

自己写的一个防止采集或CC或大量恶意访问的脚本

通过日志筛选ip

[root@xxxxx-web sh]# cat firewall_cron.sh
#!/bin/bash
#added by eugene@jjger.com —20240310

#定义脚本处理的ip文件,每天清理一次
firewall_cron_log=’/home/sh/firewall_cron.log’

#定义网站日志文件
logpath=’/data/log/nginx/access/’

arr_line=()
i=0

#while read line
#do
# arr_line[$i]=$line
# i=`expr $i + 1`
#done < $firewall_cron_log
#
#echo ${arr_line[*]}

while read line
do
if [ -z $ips ];then
ips=$line
else
ips=”$ips|$line”
fi
done < $firewall_cron_log

#echo $ips

#查找日志文件中的ip,$ips是已处理过的日志访问ip
if [ -z $ips ];then
max_visit=`grep -v ‘Googlebot’ $logpath/weblog.log | grep -v ‘baidu’ | grep -v ‘127.0.0.1’ |awk ‘{print $2}’ | sort -n | uniq -c | sort -n | tail -n 1`
else
max_visit=`grep -v ‘Googlebot’ $logpath/weblog.log | grep -v ‘baidu’ | grep -v ‘127.0.0.1’ | egrep -v $ips | awk ‘{print $2}’ | sort -n | uniq -c | sort -n | tail -n 1`
fi
#echo $?

#查看筛选出的ip,可注销下面这一行echo
echo $max_visit
#转化成数组后处理,默认处理5个,但后续更改为只处理一个ip,按计划任务轮训处理.
arr_max_visit=($max_visit)

if [ ${arr_max_visit[0]} -gt 2000 ]; then
iptables -L -n -v | grep ${arr_max_visit[1]}
if [ $? -eq 1 ];then
iptables -I INPUT -p tcp -s ${arr_max_visit[1]} -j DROP
echo ${arr_max_visit[1]} >> firewall_cron.log
fi
fi
exit
if [ ${arr_max_visit[2]} -gt 2000 ]; then
iptables -I INPUT -p tcp -s ${arr_max_visit[3]} -j DROP
fi
if [ ${arr_max_visit[4]} -gt 2000 ]; then
iptables -I INPUT -p tcp -s ${arr_max_visit[5]} -j DROP
fi
if [ ${arr_max_visit[6]} -gt 2000 ]; then
iptables -I INPUT -p tcp -s ${arr_max_visit[7]} -j DROP
fi
if [ ${arr_max_visit[8]} -gt 2000 ]; then
iptables -I INPUT -p tcp -s ${arr_max_visit[9]} -j DROP
fi

 

ssh fingerprint 的确认,StrictHostKeyChecking

方式一:在命令行中添加 -o “StrictHostKeyChecking no”
执行ssh或scp命令时,系统就会自动把远程主机的rsa key加入到.ssh/known_hosts文件中。

ssh -o “StrictHostKeyChecking no” root@host
StrictHostKeyChecking no|ask|yes:

StrictHostKeyChecking代码了远程主机的host key确认方式。有如下几种设置。

no代表不做任何确认,直接通过验证,把rsa加入到.ssh/known_hosts。

ask为默认值,需要用户手动确认是否通过验证,是否把远程主机加入到.ssh/known_hosts中。

yes为最高安全级别,如果本地没有相应的rsa key则会直接拒绝连接,并出给提示。

关于错误提示,重要提示

这几天做ueditor,最深的体会就是错误要仔细品,不品就可能浪费大量的时间于无意义的事情上.
我碰到config.json文件,双引号改成单引号,提示我配置文件不正确,可我一直执着于什么地方没配置,浪费了一天时间,最终还是回头看错误提示

llber,编译php出错liblber-2.4.so.2: error adding symbols: DSO missing from command line

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol ‘ber_strdup@@OPENLDAP_2.4_2’
/usr/lib/x86_64-linux-gnu/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

解决办法:

遇到这种类似的情况,说明「./configure 」沒抓好一些环境变数值。解决方法,来自老外的一篇文章:
在PHP源码目录下 vi Makefile 找到 EXTRA_LIBS 行,在行末添加 ‘ -llber ‘ 保存退出再次make即可。

ubuntu16.04 任务栏不显示,桌面菜单右键无反应,无响应

linux系统的包依赖导致的副作用就是无意卸载一些小软件,这里是常用的gnmoe的软件

这次搜狗输入法出问题,折腾的过程中卸载了一些gnome的一些包,导致任务栏不显示,桌面右键菜单无法显示,总结如下
1、任务栏不显示,metacity gnome的窗口管理器
apt install metacity
metacity –replace #运行一下就OK
没窗口管理器:
开个程序
第一,在左上角
第二,没有边框
第三,不可挪动
第四,不可变形
第五,盖而无返
第六,……
2、gnome-tweak-tool Gnome Tweak Tool 是 Gnome 出品的配置工具,方便用户对 Gnome Shell 进行一些调整。
主要功能有:
安装,更改 Gnome-shell 主题
继续阅读

ubuntu搜狗拼音输入法升级后忽然不能用了,解决

其实很多都是配置文件导致的,一般都是~/.config/xxxx目录,xxx是应用名字,有可能大小写,搜索时注意

出错现象就是无法输入中文,有浮窗,出不来汉字,右上角输入法图标有时候也不能用,动不动不能启动。
日志中有:
viMar 16 14:26:11 yanjin-Lenovo-G500 kernel: [ 922.570008] sogou-qimpanel[4689]: segfault at 361500 ip 00000000004fbedb sp 00007ffde42edc70 error 4 in sogou-qimpanel[400000+1c5000]
Mar 16 14:26:15 yanjin-Lenovo-G500 kernel: [ 927.290693] sogou-qimpanel[4910]: segfault at 3613c0 ip 00000000004fbedb sp 00007ffdb6b09510 error 4 in sogou-qimpanel[400000+1c5000]
Mar 16 14:26:23 yanjin-Lenovo-G500 kernel: [ 935.102633] sogou-qimpanel[5015]: segfault at 36c9b0 ip 00000000004fbedb sp 00007ffdd57b3e40 error 4 in sogou-qimpanel[400000+1c5000]

解决Ubuntu 16.04 搜狗输入法 只有悬浮窗中文不能自动联想的问题
一直用得好好的,不知道下载了什么更新导致搜狗输入法,在输入中文的时候,只显示一个悬浮窗。打字的时候什么反应都没有。中文也联想不出来。
找了半天,重新安装fcitx/搜狗输入法N次无果,在网上论坛找到了答案,修复了这个问题,记录一下。
直接删除其配置文件:
rm -rf ~/.config/SogouPY* ~/.config/sogou*
然后直接在右上角点fcitx图标,下拉列表里面重启fcitx输入法

转:http://fiture.me/share/linux-ubuntu/1246.html

cacti,当udp不能用时,使用tcp的snmp监控服务器

国内网络环境复杂,udp往往不能用,可代用tcp,注意如下

添加设备的地方:
hostname tcp:ip 不是写ip,这里写tcp:192.168.0.xxx

snmp协议,通过修改/etc/sysconfig/snmpd文件,加入监听tcp端口
如:
# snmpd command line options
OPTIONS="tcp:1161 -LS0-6d -Lf /dev/null -p /var/run/snmpd.pid"

就可以了

Don’t know how to define struct flock on this system, set –enable-opcache=no

php-5.6.28编译出错,无法开启enable-opcache,出错信息如下:

Don’t know how to define struct flock on this system, set –enable-opcache=no

 

去掉php编译参数中的–disable-rpath,编译通过,具体原因未知,网上很多人说少litool-devel,也有人说和mysql的libmysqlclient的位置有关,我是没有解决,去掉disable_rpath,编译通过