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

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

  •  
  •   kemikemian · 248 天前 · 5695 次点击
    这是一个创建于 248 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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

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

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

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

    自然报错。

    是不是用来预防不结尾款的
    x86
        4
    x86  
       248 天前
    是不是没打尾款
    Seanfuck
        5
    Seanfuck  
       248 天前
    @haha512 应该就是了
    xianyv
        6
    xianyv  
       248 天前   ?? 1
    看来是赖了尾款啊
    shoco
        7
    shoco  
       248 天前   ?? 1
    把该付的款付清,更新一下就回来了
    Lenic
        8
    Lenic  
       248 天前
    蹲一个后续
    Eiden
        9
    Eiden  
       248 天前
    有意思
    gaeco
        10
    gaeco  
       248 天前
    学到了
    jookr
        11
    jookr  
       248 天前
    学到了
    ttentau1
        12
    ttentau1  
       248 天前
    学到了
    EvanQu
        13
    EvanQu  
       248 天前   ?? 3
    应该是 结了 但是忘记更新掉了 哈哈哈
    dobelee
        14
    dobelee  
       248 天前
    卧槽,定时爆破。。
    kemikemian
        15
    kemikemian  
    OP
       248 天前
    看 git 记录代码是 5 月份加的,$date 日期从 5 月改成 6 月、7 月,7 月底、9 月 1
    那会确实没结尾款,7 月份结的尾款
    kemikemian
        16
    kemikemian  
    OP
       248 天前
    有没有类似的开源项目可以检查类似的代码呀
    jookr
        17
    jookr  
       248 天前   ?? 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  
       248 天前
    也用同样的方法,防止尾款
    Jaosn
        19
    Jaosn  
       248 天前   ?? 2
    给钱就完了,还检查,检查个鸡儿
    XyIsMy
        20
    XyIsMy  
       248 天前
    结了尾款,那直接找对应的负责人恢复,为什么还在这求助。
    kemikemian
        21
    kemikemian  
    OP
       248 天前
    @Jaosn 一个月前就结了
    thinszx
        22
    thinszx  
       248 天前
    学到了
    kemikemian
        23
    kemikemian  
    OP
       248 天前
    @XyIsMy 也不是求助,请教一下这么做的目的,以前没见过
    haha512
        24
    haha512  
       248 天前
    除非逐行审查,否则是检查不出来的,方法太多了,可能是基于时间进行清空删除,也可能是通过特殊 url 渗入触发删除,或者连个外部接口等。
    changepll
        25
    changepll  
       248 天前
    这种就是防止要不到尾款.把程序给搞死的. 如果你们没有做备份. 并且不是通过 git 管理的话, 那就没办法使用这个程序.
    因为使用 git 管理的话, 并且没有清空历史版本,是可以恢复回来的
    iOCZ
        26
    iOCZ  
       248 天前
    @changepll 得把这三个加到 ignore 里?
    fzls
        27
    fzls  
       248 天前
    @kemikemian #23 目的就是怕你不结尾款
    murmur
        28
    murmur  
       248 天前   ?? 1
    好家伙,自毁代码真的见到了
    polobug
        29
    polobug  
       248 天前
    但是这个代码要是忘了改,。。
    wudaye
        30
    wudaye  
       248 天前
    也就脚本语言能这么玩了吧,太 6 了
    zhaol
        31
    zhaol  
       248 天前
    @polobug 就是因为结了尾款忘了改,才有这档事,所以对方提交了一版就是注释这些代码.哈哈
    kylebing
        32
    kylebing  
       248 天前
    脚本程序是会有这问题
    changepll
        33
    changepll  
       248 天前
    @wudaye java 玩的更溜
    PureWhiteWu
        34
    PureWhiteWu  
       248 天前
    别拖尾款了。
    yyf1234
        35
    yyf1234  
       248 天前 via iPhone
    @wudaye 编译语言给你加点料不是更看不出来?
    ETiV
        36
    ETiV  
       248 天前 via iPhone
    广义上讲,写入一个 .php 结尾的文件都可以当作后门行为,甭管写入的文件内容是什么,只要是动态写入,肯定没有好事儿
    Jack9527
        37
    Jack9527  
       248 天前
    @polobug 合作公司的开发人员自己应该有备份.
    shyrock
        38
    shyrock  
       248 天前
    @ETiV #36 但是文件名可以是动态算出来的,这样检查逻辑除非也去算一遍,否则不知道在干什么。
    duluosheng
        39
    duluosheng  
       248 天前
    结了尾款,还出现问题,可以要求赔偿损失的。当时的合同有没有赔偿条款?
    darkengine
        40
    darkengine  
       248 天前
    @duluosheng 就算合同没写,如果造成了损失是可以报警的
    sparklee
        41
    sparklee  
       248 天前
    代码没备份吗, 恢复一下就好了
    dengshen
        42
    dengshen  
       248 天前 via iPhone
    蹲一个前端结尾款代码?
    QlanQ
        43
    QlanQ  
       248 天前
    直接给你 vendor 包,里面夹带,你更新不了,恢复不了 ,666
    polarbearn
        44
    polarbearn  
       248 天前   ?? 3
    @dengshen not-paid
    https://github.com/kleampa/not-paid
    网站会一天天变透明
    darksword21
        45
    darksword21  
       248 天前
    @polarbearn 学到了 ?
    fenddddddda
        46
    fenddddddda  
       248 天前
    @dengshen 移动端把一些关键类打二进制就行。
    dengshen
        47
    dengshen  
       248 天前 via iPhone
    @polarbearn 厉害
    wr516516
        48
    wr516516  
       248 天前
    @darkengine 确实可以报警,但这种很快恢复的,没有实际损失的,基本不管.实际损失定损之类的也很能说清楚,大概率不会走刑事,走民事还是得公司去手机证据去起诉.到法院那边能不能给立案又是一回事,立案了能不能判胜也未必.
    darkengine
        49
    darkengine  
       248 天前
    @wr516516 对个人来说走民事已经够恶心的了
    wr516516
        50
    wr516516  
       248 天前
    @darkengine 你是一个字也没看进去啊
    xiaowowo
        51
    xiaowowo  
       248 天前   ?? 1
    首先,php 代码目录就不应该允许可写。
    GeorgeGalway
        52
    GeorgeGalway  
       248 天前
    学到了
    flyqie
        53
    flyqie  
       248 天前
    @xiaowowo #51

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


    http://www.vxiaotou.com