服务器防文件上传手写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
相关推荐
Splashtop高性能远程控制软件12 分钟前
本地部署 vs 公有云 vs 混合架构:一份可对照落地的 IT 架构选型指南
运维·架构·远程控制·splashtop
kdxiaojie23 分钟前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习
DB哥讲数据库23 分钟前
MySQL 8.4 安装教程:超详细图文讲解(附mysql安装包)
linux·数据库·mysql·centos
xlxxy_31 分钟前
sap获取批次特性报表
java·linux·开发语言·前端·数据库·abap·mm
木卫二号Coding1 小时前
CentOS 系统 Shell 脚本开机自启动方法详解
linux
l1t1 小时前
DeepSeek总结的RegreSQL 2.0测试通过了。计划却没通过。
linux·数据库·postgresql
蝶恋舞者1 小时前
怎样设置软件开机自启动(用的最多,最简单)
linux·运维·服务器
学逆向的1 小时前
汇编——修改EIP的值
开发语言·汇编·网络安全
Dawn-bit1 小时前
Linux打包压缩与用户权限管理详解
linux·服务器·数据库
ls_elect1 小时前
PostgreSQL 18.4 SCRAM-SHA-256 认证故障诊断及修复办法
linux·数据库·postgresql