服务器防文件上传手写waf
一、waf的目录结构,根据自己目录情况进行修改
二、创建文件夹以及文件
sudo mkdir -p /www/server/waf-monitor
sudo mkdir -p /www/server/waf-monitor/quarantine #创建文件夹
chmod 755 /www/server/waf-monitor #赋权cd /www/server/waf-monitor/touch waf-monitor.php # 主脚本
touch waf-monitor.log # 日志文件
touch waf-monitor.lock # 锁文件
三、配置脚本内容,设置要监控的目录
脚本:链接:https://pan.quark.cn/s/373546cef157
四、权限设置命令
# 设置目录所有权
sudo chown -R www:www /www/server/waf-monitor //我这用了宝塔挂着,所以我的用户是www,根据自己的用户修改# 设置脚本权限
sudo chmod 750 /www/server/waf-monitor/waf-monitor.php# 初始化日志文件
sudo touch /www/server/waf-monitor/{waf-monitor.log,waf-monitor.error.log}
sudo chown www:www /www/server/waf-monitor/*.log
sudo chmod 640 /www/server/waf-monitor/*.log
五、运行测试
sudo -u www /usr/bin/php /www/server/waf-monitor/waf-monitor.php
新建一个文件就会被删除
六、设置开机自启
步骤 1:编辑 root 用户的 crontab
crontab -e
步骤 2:添加启动命令
@reboot /usr/bin/php /www/server/waf-monitor/waf-monitor.php > /www/server/waf-monitor/cron.log 2>&1 &
步骤 3:验证服务是否启动
ps aux | grep waf-monitor
tail -f /www/server/waf-monitor/waf-monitor.log