gpt4 book ai didi

php - 当文件通过电子邮件上传到服务器时得到通知

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:25 24 4
gpt4 key购买 nike

我的服务器被黑了,我希望脚本或任何东西在我的网站上载或修改任何文件时通过电子邮件得到通知我在看 https://stackoverflow.com/questions/35196640/get-notified-when-a-file-got-uploaded-to-serverBest way to monitor file system changes in linux但我不明白的方式你能一步步指导我吗?

最佳答案

我有一个简单的解决方案,它还可以备份我自己对 CMS 所做的更改。它适用于我管理的所有网站(大约十几个,一些纯 HTML,一些 Joomla,一些 Wordpress,在几个不同的主机上。这为我节省了数十次,避免用户错误(“嗨,我更新了我的 wordpress 模板和现在整个网站都坏了”)到服务器范围的黑客攻击(“亲爱的托管客户,我们的 Plesk 最近遭到黑客攻击,请更改您的所有密码并检查您网站的内容”)。

唯一的要求:您需要每天至少访问一台 Linux 机器。对我来说,这是我每天都使用的桌面,但你可以在你的网络服务器上运行它。

无论如何,这里是:

  • lftp 中将所有 FTP 站点设置为书签
  • 为您托管的每个站点设置本地 git 存储库 (git init && git commit -m "first commit")
  • 确保 cron 正在运行(在大多数系统上它是),并且它可以通过电子邮件将每项工作的结果发送给您(您可能必须将 you@localhost 重定向到您的公共(public)电子邮件地址)
  • 将这一行添加到crontab

51 03 * * * ~/bin/updateMirrors.sh

  • 并将此文件另存为 ~/bin/updateMirrors.sh

    #!/bin/bash    
    # step through the list of FTP bookmarks, mirror each one.
    # seems to take anywhere from 2 to 10 hours
    # cron should email the results to you@localhost

    while read SITE;
    do NAME=`echo $SITE|cut -d' ' -f1`;
    echo $NAME `date` ;
    cd ~/$NAME/httpdocs;
    # if there's hackage, try this without the -X *-cache-* lines (someone might evilly install a trojan that looks like a cache file)
    lftp $NAME -e "mirror --verbose -X *-cache-*;quit"|grep -E "Transfer|Permission";
    git add . && git commit -m "updateMirrors.sh"
    echo ---------------------------------------------------------------------------
    done <~/.lftp/bookmarks

    ## if you find hackage, do this:
    ## git log --name-only
    ## git checkout [last uuid before hacking started]
    ## lftp and mirror -eR --exclude .git*

在过去的几年里,每天早上,我的收件箱都会收到一封电子邮件,如下所示:

wecan.be Tuesday 29 November 05:15:59 AEDT 2016 On branch master nothing to commit, working directory clean
---------------------------------------------------------------------------
handyWarhols Tuesday 29 November 05:17:46 AEDT 2016 On branch master nothing to commit, working directory clean
---------------------------------------------------------------------------
colbourneave Tuesday 29 November 05:17:53 AEDT 2016 Transferring file `components/com_content/models/cache.db'
Transferring file `logs/error.php'
[git_head 657d5dc] updateMirrors.sh
2 files changed, 141 insertions(+), 2 deletions(-)
---------------------------------------------------------------------------

您可以看到一个站点的错误日志已更新。如果其中一个站点被黑客入侵,这很明显,因为 checkin 了新文件(一旦我弄清楚它是如何发生的,我就可以回滚)。每当我或其他任何人向任何网站添加内容,或者如果我更新插件或模板,新文件都会被 checkin 。

关于php - 当文件通过电子邮件上传到服务器时得到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37673477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com