服务器防文件上传手写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
相关推荐
何包蛋H35 分钟前
Linux 磁盘扩容实战案例:从问题发现到完美解决
linux·服务器·云计算
Gaoithe1 小时前
window 安装 wsl + cuda + Docker
运维·docker·容器
sinizu1 小时前
搭建阅读linux源码的舒适环境(vscode+clangd)
linux·vscode·计算机·clangd
付出不多1 小时前
linux——mysql故障排查与生产环境优化
linux·运维·mysql
。puppy2 小时前
下载Ubuntu 64 位
linux
前行居士2 小时前
ubuntu下实时检测机械硬盘和固态硬盘温度
linux·服务器·ubuntu
Big__Star2 小时前
Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器
服务器·git·github
文牧之2 小时前
Oracle 数据库的默认隔离级别
运维·数据库·oracle
鸠摩智首席音效师3 小时前
Linux Bash 中 $? 的详细用法
linux·chrome·bash
白毛大侠3 小时前
解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误
linux·运维·bash