V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kemikemian
V2EX  ›  问与答

请教一下这种代码的目的是什么,如何检查出来

  •  
  •   kemikemian · 2023-09-01 09:42:03 +08:00 · 5990 次点击
    这是一个创建于 454 天前的主题,其中的信息可能已经有所发展或是发生改变。

    合作的公司给开发一个程序,今天系统突然报错,找运维检查发现服务器某些文件内容空了

    联系这家公司的程序员查原因,发现 git 上改了这段内容,不太懂这段代码的意义是什么?

    顺便求助一下如何检查项目中有类似的代码

    Xnip2023-09-01_09-37-18.jpg
    55 条回复    2023-09-01 19:37:51 +08:00
    FreeEx
        1
    FreeEx  
       2023-09-01 09:43:28 +08:00
    你为什么不直接问对方程序员这样写的原因?
    paopjian
        2
    paopjian  
       2023-09-01 09:43:57 +08:00
    太 6 了,你们代码没 review 吗?
    haha512
        3
    haha512  
       2023-09-01 09:46:27 +08:00   ❤️ 20
    “如果当前日期超过 2023-9-1 号 0 点,就清空这 3 个文件里的所有内容。“

    自然报错。

    是不是用来预防不结尾款的
    x86
        4
    x86  
       2023-09-01 09:48:40 +08:00
    是不是没打尾款
    Seanfuck
        5
    Seanfuck  
       2023-09-01 09:50:10 +08:00
    @haha512 应该就是了
    xianyv
        6
    xianyv  
       2023-09-01 09:51:13 +08:00   ❤️ 1
    看来是赖了尾款啊
    shoco
        7
    shoco  
       2023-09-01 09:51:36 +08:00   ❤️ 1
    把该付的款付清,更新一下就回来了
    Lenic
        8
    Lenic  
       2023-09-01 09:59:56 +08:00
    蹲一个后续
    Eiden
        9
    Eiden  
       2023-09-01 10:15:44 +08:00
    有意思
    gaeco
        10
    gaeco  
       2023-09-01 10:18:04 +08:00
    学到了
    jookr
        11
    jookr  
       2023-09-01 10:18:18 +08:00
    学到了
    ttentau1
        12
    ttentau1  
       2023-09-01 10:22:16 +08:00
    学到了
    EvanQu
        13
    EvanQu  
       2023-09-01 10:28:45 +08:00   ❤️ 3
    应该是 结了 但是忘记更新掉了 哈哈哈
    dobelee
        14
    dobelee  
       2023-09-01 10:30:23 +08:00
    卧槽,定时爆破。。
    kemikemian
        15
    kemikemian  
    OP
       2023-09-01 10:32:02 +08:00
    看 git 记录代码是 5 月份加的,$date 日期从 5 月改成 6 月、7 月,7 月底、9 月 1
    那会确实没结尾款,7 月份结的尾款
    kemikemian
        16
    kemikemian  
    OP
       2023-09-01 10:33:20 +08:00
    有没有类似的开源项目可以检查类似的代码呀
    jookr
        17
    jookr  
       2023-09-01 10:36:39 +08:00   ❤️ 10
    让运维查不出文件改动

    ```
    $file_path = '666.txt';
    if (file_exists($file_path)) {
    $filemtime = filemtime($file_path);//获取最后修改时间
    // echo "文件最后修改时间:" . date("Y-m-d H:i:s.", $filemtime);
    file_put_contents($file_path, time());//写入文件内容
    // touch($file_path,mktime(19,5,10,10,26,2013));
    touch($file_path,$filemtime);//还原修改文件的最后修改时间
    }
    ```
    yuyang3
        18
    yuyang3  
       2023-09-01 10:41:01 +08:00
    也用同样的方法,防止尾款
    Jaosn
        19
    Jaosn  
       2023-09-01 10:44:53 +08:00   ❤️ 2
    给钱就完了,还检查,检查个鸡儿
    XyIsMy
        20
    XyIsMy  
       2023-09-01 10:48:43 +08:00
    结了尾款,那直接找对应的负责人恢复,为什么还在这求助。
    kemikemian
        21
    kemikemian  
    OP
       2023-09-01 10:49:32 +08:00
    @Jaosn 一个月前就结了
    thinszx
        22
    thinszx  
       2023-09-01 10:52:12 +08:00
    学到了
    kemikemian
        23
    kemikemian  
    OP
       2023-09-01 10:58:34 +08:00
    @XyIsMy 也不是求助,请教一下这么做的目的,以前没见过
    haha512
        24
    haha512  
       2023-09-01 11:01:31 +08:00
    除非逐行审查,否则是检查不出来的,方法太多了,可能是基于时间进行清空删除,也可能是通过特殊 url 渗入触发删除,或者连个外部接口等。
    changepll
        25
    changepll  
       2023-09-01 11:03:36 +08:00
    这种就是防止要不到尾款.把程序给搞死的. 如果你们没有做备份. 并且不是通过 git 管理的话, 那就没办法使用这个程序.
    因为使用 git 管理的话, 并且没有清空历史版本,是可以恢复回来的
    iOCZ
        26
    iOCZ  
       2023-09-01 11:07:42 +08:00
    @changepll 得把这三个加到 ignore 里😂
    fzls
        27
    fzls  
       2023-09-01 11:08:07 +08:00
    @kemikemian #23 目的就是怕你不结尾款
    murmur
        28
    murmur  
       2023-09-01 11:08:11 +08:00   ❤️ 1
    好家伙,自毁代码真的见到了
    polobug
        29
    polobug  
       2023-09-01 11:28:44 +08:00
    但是这个代码要是忘了改,。。
    wudaye
        30
    wudaye  
       2023-09-01 11:29:53 +08:00
    也就脚本语言能这么玩了吧,太 6 了
    zhaol
        31
    zhaol  
       2023-09-01 11:30:46 +08:00
    @polobug 就是因为结了尾款忘了改,才有这档事,所以对方提交了一版就是注释这些代码.哈哈
    kylebing
        32
    kylebing  
       2023-09-01 11:31:50 +08:00
    脚本程序是会有这问题
    changepll
        33
    changepll  
       2023-09-01 11:32:56 +08:00
    @wudaye java 玩的更溜
    PureWhiteWu
        34
    PureWhiteWu  
       2023-09-01 11:32:56 +08:00
    别拖尾款了。
    yyf1234
        35
    yyf1234  
       2023-09-01 11:33:38 +08:00 via iPhone
    @wudaye 编译语言给你加点料不是更看不出来?
    ETiV
        36
    ETiV  
       2023-09-01 11:42:30 +08:00 via iPhone
    广义上讲,写入一个 .php 结尾的文件都可以当作后门行为,甭管写入的文件内容是什么,只要是动态写入,肯定没有好事儿
    Jack9527
        37
    Jack9527  
       2023-09-01 11:51:55 +08:00
    @polobug 合作公司的开发人员自己应该有备份.
    shyrock
        38
    shyrock  
       2023-09-01 11:55:01 +08:00
    @ETiV #36 但是文件名可以是动态算出来的,这样检查逻辑除非也去算一遍,否则不知道在干什么。
    duluosheng
        39
    duluosheng  
       2023-09-01 11:55:31 +08:00
    结了尾款,还出现问题,可以要求赔偿损失的。当时的合同有没有赔偿条款?
    darkengine
        40
    darkengine  
       2023-09-01 13:06:52 +08:00
    @duluosheng 就算合同没写,如果造成了损失是可以报警的
    sparklee
        41
    sparklee  
       2023-09-01 13:11:46 +08:00
    代码没备份吗, 恢复一下就好了
    dengshen
        42
    dengshen  
       2023-09-01 13:37:13 +08:00 via iPhone
    蹲一个前端结尾款代码🐶
    QlanQ
        43
    QlanQ  
       2023-09-01 13:54:41 +08:00
    直接给你 vendor 包,里面夹带,你更新不了,恢复不了 ,666
    polarbearn
        44
    polarbearn  
       2023-09-01 13:58:33 +08:00   ❤️ 3
    @dengshen not-paid
    https://github.com/kleampa/not-paid
    网站会一天天变透明
    darksword21
        45
    darksword21  
       2023-09-01 14:02:22 +08:00
    @polarbearn 学到了 🐶
    fenddddddda
        46
    fenddddddda  
       2023-09-01 14:04:13 +08:00
    @dengshen 移动端把一些关键类打二进制就行。
    dengshen
        47
    dengshen  
       2023-09-01 14:54:00 +08:00 via iPhone
    @polarbearn 厉害
    wr516516
        48
    wr516516  
       2023-09-01 15:02:47 +08:00
    @darkengine 确实可以报警,但这种很快恢复的,没有实际损失的,基本不管.实际损失定损之类的也很能说清楚,大概率不会走刑事,走民事还是得公司去手机证据去起诉.到法院那边能不能给立案又是一回事,立案了能不能判胜也未必.
    darkengine
        49
    darkengine  
       2023-09-01 15:39:10 +08:00
    @wr516516 对个人来说走民事已经够恶心的了
    wr516516
        50
    wr516516  
       2023-09-01 15:57:01 +08:00
    @darkengine 你是一个字也没看进去啊
    xiaowowo
        51
    xiaowowo  
       2023-09-01 17:11:16 +08:00   ❤️ 1
    首先,php 代码目录就不应该允许可写。
    GeorgeGalway
        52
    GeorgeGalway  
       2023-09-01 17:15:08 +08:00
    学到了
    flyqie
        53
    flyqie  
       2023-09-01 17:15:57 +08:00
    @xiaowowo #51

    首先, `合作的公司给开发一个程序`...
    kphcdr
        54
    kphcdr  
       2023-09-01 18:01:12 +08:00
    这个已经属于违法了,我搞了一个配置管理平台,名正言顺还能防止尾款
    akira
        55
    akira  
       2023-09-01 19:37:51 +08:00
    都是逼出来的啊。。。就是各种拖欠尾款公司的存在,逼的合作公司不得不想各种办法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1175 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:46 · PVG 02:46 · LAX 10:46 · JFK 13:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.