You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DirectAdmin删除所有Cron Job后旧任务仍被Monibot触发,如何彻底清理不存在的.index_cron.php脚本

DirectAdmin删除所有Cron Job后旧任务仍被Monibot触发,如何彻底清理不存在的.index_cron.php脚本

遇到这种情况别慌,咱们一步步来排查解决,先抓准两个核心问题:一是有没有遗漏的Cron任务残留,二是怎么阻止Monibot继续爬这个无效路径。

  • 第一步:彻底排查所有Cron任务残留
    DirectAdmin面板的Cron Job未必是全部,系统层面可能藏着残留任务,你可以通过SSH登录服务器操作:

    1. 先看当前用户的Cron列表:执行crontab -l,如果有陌生任务就用crontab -e编辑删除
    2. 检查系统级Cron配置:打开/etc/crontab文件,再扫一遍/etc/cron.d/目录下的所有文件,确认没有指向.index_cron.php的任务
    3. 查看DirectAdmin用户专属Cron配置:进入/usr/local/directadmin/data/users/[你的用户名]/目录,打开cron.conf文件删掉相关任务记录,之后重启Cron服务:
      • CentOS/RHEL系统:service crond restart
      • Debian/Ubuntu系统:service cron restart
    4. 最后再全局搜索一遍文件:find /home/[你的用户名]/domains/[你的域名]/ -name ".index_cron.php" -type f,彻底确认这个脚本真的不存在
  • 第二步:拦截Monibot的无效请求
    爬虫大概率是缓存了这个URL路径,就算文件不存在它还是会反复爬,咱们可以通过网站根目录的.htaccess文件来阻止它:
    方案一:只拦截这个特定路径的Monibot请求

    RewriteEngine On
    # 匹配Monibot访问目标路径,返回403禁止访问
    RewriteCond %{HTTP_USER_AGENT} ^Monibot [NC]
    RewriteRule ^2024-2021/Community_Bible_Fellowship_Messages_2022/.index_cron.php - [F,L]
    

    方案二:直接屏蔽整个Monibot爬虫

    # 标记Monibot为恶意爬虫
    SetEnvIfNoCase User-Agent "^Monibot" bad_bot
    # 拒绝恶意爬虫访问
    <RequireAll>
        Require not env=bad_bot
    </RequireAll>
    

    保存.htaccess后,爬虫再请求这个路径就会收到403响应,不会再产生404日志,也能避免它反复骚扰。

  • 第三步:验证效果
    操作完等10-15分钟,再去看网站访问日志,确认有没有Monibot访问该路径的新记录。如果没有就说明问题解决了;如果还有,再回头检查一遍系统Cron有没有遗漏,或者有没有其他脚本在调用这个URL。

备注:内容来源于stack exchange,提问作者mark.four

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:28:10