服务器防文件上传手写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
相关推荐
BS_Li1 分钟前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络
手揽回忆怎么睡2 分钟前
京东云Ubuntu22..04安装jdk21、MySQL8、nginx
运维·nginx·京东云
泓博3 分钟前
docker ubuntu源码安装openclaw的常见问题
java·linux·开发语言·ai
小此方3 分钟前
Re:Linux系统篇(十一)工具篇 · 三:三分钟学会gcc/g++编译工具&&初步认识动静态库&&重温编译基本原理
linux·运维·服务器·开发工具
小吴伴学者4 分钟前
Linux TX报文处理流程解析
linux
SPC的存折6 分钟前
12、Ingress-Nginx 全局超时配置及生效方式
运维·nginx·云原生·kubernetes
深邃-8 分钟前
【Web安全】-计算机网络协议(2):请求方法,头部字段,DNS协议详解
linux·网络·网络协议·计算机网络·安全·web安全·网络安全
DandelionR8 分钟前
DolphinScheduler 3.4.1 Docker 部署安装 Skill
运维·docker·容器
无限进步_1 小时前
【Linux】gcc/g++ 编译:从源码到可执行文件的四个阶段
linux·运维·服务器
谪星·阿凯8 小时前
内网隧道与代理实战博客
网络安全