vuex 里的数据能被很容易的伪造吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
imherer

vuex 里的数据能被很容易的伪造吗?

  •  
  •   imherer 2019 年 4 月 24 日 4776 次点击
    这是一个创建于 2558 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这东西毕竟是在前端,应该很容易被伪造和修改吧?是这样的吗?

    另外 vuex 里放几百 k 的数据经常更改和读取,性能上会有问题吗?
    24 条回复    2019-04-24 17:44:33 +08:00
    no1xsyzy
        1
    no1xsyzy  
       2019 年 4 月 24 日   2
    是,前端的任何内容用户永远有最高控制权,即使是 “.exe ”,数据也可以被 Cheat Engine 修改。

    看优化,看你改了什么,但在 perf 前不要考虑任何性能问题。
    shintendo
        2
    shintendo  
       2019 年 4 月 24 日
    不理解这个问题。
    你指的“伪造”,是被谁伪造?出于什么动机?
    imherer
        3
    imherer  
    OP
       2019 年 4 月 24 日
    @shintendo 比如一个问答系统,总共 10 道题,用户只能做完第一道题才能做下一道题,假如把用户当前做到哪一道题了存在 vuex 的话,用户可以直接修改这个值直接跳到最后一道题。虽然实际中这个值应该在服务端计数。

    举的例子不一定准确,但是差不多就是这个意思
    momo1999
        4
    momo1999  
       2019 年 4 月 24 日
    永远不信任前端
    xianxiaobo
        5
    xianxiaobo  
       2019 年 4 月 24 日   2
    @imherer 伪造 vuex 数据多麻烦啊,直接调第 10 道题的接口就完事了。
    shintendo
        6
    shintendo  
       2019 年 4 月 24 日
    @imherer
    直接 postman 发请求,网页都不要了
    ChefIsAwesome
        7
    ChefIsAwesome  
       2019 年 4 月 24 日
    51job 曾经搞什么付费才能看隐藏内容的功能。就是前端拿个 div 遮了一下。
    hlwjia
        8
    hlwjia  
    PRO
       2019 年 4 月 24 日
    @imherer 按你的设计思路(后端是不是完全没有校验),直接调用接口改成绩得了
    Mutoo
        9
    Mutoo  
       2019 年 4 月 24 日   1
    Vue 的组件可以直接通过 DOM Element 的 __vue__ 访问(即使是 production 也没问题),然后 .__vue__.$store 就暴露无疑了。
    imherer
        10
    imherer  
    OP
       2019 年 4 月 24 日
    @xianxiaobo
    @shintendo
    @hlwjia

    这里只是假设了一个不恰当的例子……你们跑偏了……
    imherer
        11
    imherer  
    OP
       2019 年 4 月 24 日
    @Mutoo 谢谢,刚还在想怎么看$store 里的数据呢
    wxsm
        12
    wxsm  
       2019 年 4 月 24 日
    所有客户端数据都可以被伪造。
    npe
        13
    npe  
       2019 年 4 月 24 日 via Android
    我伪造骗自己? 不把后端验证放到眼里?
    shintendo
        14
    shintendo  
       2019 年 4 月 24 日
    @imherer
    不是,没有跑偏,表达的意思很清楚:任何页面上的限制,都可以通过不用页面直接调接口来绕过。
    所以不想让用户看的东西,就不能从接口上吐出来,一旦接口上吐出来了,就处于用户的完全掌控之下,你甚至不知道前端是不是一个浏览器。
    wa143825
        15
    wa143825  
       2019 年 4 月 24 日
    @ChefIsAwesome 巧了,以前斗鱼也是
    tcpdump
        16
    tcpdump  
       2019 年 4 月 24 日
    前后端分离就是这样,稍微改一下就能看到后台的所有功能。
    iiii
        17
    iiii  
       2019 年 4 月 24 日 via Android
    @tcpdump 这个和分离有什么关系?
    zhenizhui
        18
    zhenizhui  
       2019 年 4 月 24 日
    @tcpdump 也就只能看到页面,有啥用
    KuroNekoFan
        19
    KuroNekoFan  
       2019 年 4 月 24 日
    感觉你问题描述的不清楚,如果害怕接口被无端调用,引入过期机制就好了
    Sapp
        20
    Sapp  
       2019 年 4 月 24 日
    @imherer 然而你这个例子很贴切,前端能干的无非就两种,第一种自己骗自己,比如微博改文字玩。第二种就是绕过系统限制,就是你说的发请求,但是这两种都犯不着修改 vuex,图什么呢? 绕过系统限制那直接看 network 然后直接发不就行了吗?改基本 dom 更不需要 vuex。
    laimikan
        21
    laimikan  
       2019 年 4 月 24 日
    所有暴露在前端的数据都可以直接修改
    lrh3321
        22
    lrh3321  
       2019 年 4 月 24 日 via Android
    只要后端不去做限制,大不了伪造个请求。
    limuyan44
        23
    limuyan44  
       2019 年 4 月 24 日 via Android
    这是 vue 的问题吗。。。。
    Phariel
        24
    Phariel  
       2019 年 4 月 24 日 via iPhone   1
    前后端双重验证 看你怎么做了 这是老生常谈的问题
    PS:永远也不要信任用户提交的数据 做好完整验证
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3039 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 132ms UTC 06:26 PVG 14:26 LAX 23:26 JFK 02:26
    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