首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

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

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

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

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

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