当前位置: 首页 > article >正文

服务器防文件上传手写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

 

 

 

 

 

http://www.lryc.cn/news/2379253.html

相关文章:

  • 大模型为什么学新忘旧(大模型为什么会有灾难性遗忘)?
  • 计算机的基本组成与性能
  • linux下编写shell脚本一键编译源码
  • 【深度学习】#12 计算机视觉
  • Baklib赋能企业知识资产AI化升级
  • 【C++】模板上(泛型编程) —— 函数模板与类模板
  • 软件架构之--论微服务的开发方法1
  • 【大模型系列】logprobs(对数概率)参数
  • C语言内存函数与数据在内存中的存储
  • 代码案例分析
  • 通过MCP让LLM调用系统接口
  • 如何利用Redis实现延迟队列?
  • 【刚下赛场!】2025年江西省电子专题赛 - 现场制作:简易数控直流电流源原题
  • 材料×工艺×AI:猎板PCB重构汽车电子四层板技术逻辑
  • MCP(一)——QuickStart
  • GCC 版本与C++ 标准对应关系
  • Spring AOP从0到1
  • JavaScript 中的 Document 对象详解
  • archlinux按键映射按键自定义
  • 【python】字典和数组的数组
  • 软考IPSEC案例分析
  • C++(23):容器类<vector>
  • Hugo 安装保姆级教程(搭建个人blog)
  • tomcat查看状态页及调优信息
  • 从坏道扫描到错误修复:HD Tune实战指南
  • 将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector
  • 【LeetCode 热题100】17:电话号码的字母组合(详细解析)(Go语言版)
  • 解决uni-app开发中的“TypeError: Cannot read property ‘0‘ of undefined“问题
  • 翻译:20250518
  • 西门子1200/1500博图(TIA Portal)寻址方式详解