服务器防文件上传手写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
相关推荐
WHD3062 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
蜡笔小炘2 小时前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器
蜡笔小炘2 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
生活很暖很治愈2 小时前
Linux——孤儿进程&进程调度&大O(1)调度
linux·服务器·ubuntu
HalvmånEver2 小时前
Linux:线程同步
linux·运维·服务器·线程·同步
喵叔哟2 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
Zach_yuan2 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
岁杪杪2 小时前
关于运维:LINUX 零基础
运维·服务器·php
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
VekiSon3 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件