请教一下这种代码的目的是什么,如何检查出来 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kemikemian
0.01D
V2EX    问与答

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

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

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

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

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

    Xnip2023-09-01_09-37-18.jpg
    55 条回复    2023-09-01 19:37:51 +08:00
    typeaudit
        1
    typeaudit  
       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 个文件里的所有内容。“

    自然报错。

    是不是用来预防不结尾款的
        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
    别拖尾款了。
    PlG5sBkXD1ziLeGB
        35
    PlG5sBkXD1ziLeGB  
       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  
    PRO
       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
    都是逼出来的啊。。。就是各种拖欠尾款公司的存在,逼的合作公司不得不想各种办法
    关于     帮助文档     自助推广系统     博客 &nbs;   API     FAQ     Solana     5062 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 09:31 PVG 17:31 LAX 01:31 JFK 04:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86