首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加SEA的炮节点(gun.user())不安全?

添加SEA的炮节点(gun.user())不安全?
EN

Stack Overflow用户
提问于 2020-04-22 16:47:01
回答 1查看 519关注 0票数 0

创建新用户后,添加一些数据。在第二个浏览器中可以很容易地删除数据..。我做错了什么?

第一个浏览器(Firefox专用窗口):

代码语言:javascript
复制
<!doctype html>
<meta charset="utf-8">
<body>
    <script src="https://cdn.jsdelivr.net/npm/gun/gun.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/gun/sea.js"></script>
    <script>
        localStorage.clear()
        var gun = Gun({ peers: ['http://localhost:8765/gun'] });
        var user = gun.user();
        user.create('u1','p1',()=>{
            user.auth('u1','p1', ()=>{
                user.set({some:'thing'}).on(() => {})
            })
        })
    </script>
</body>
</html>

第二(铬化名):

代码语言:javascript
复制
<!doctype html>
<meta charset="utf-8">

<body>
    <script src="https://cdn.jsdelivr.net/npm/gun/gun.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/gun/sea.js"></script>
    <script>
        localStorage.clear()
        var gun = Gun({ peers: ['http://localhost:8765/gun'] });
        gun.on()
    </script>

</body>

</html>

点对点端口8765从http.js开始从示例开始。

之后,在存储localStorage.getItem('gun/')的第二个浏览器中,我得到了以undefined为前缀的节点,例如:undefined~@u1undefinedSoulfofsomething,我也可以用gun.get('Soulofsomething').put({some:null})删除内容。如果这是正常行为,如何保护数据免受攻击?唯一的选项是捕报器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-22 17:18:23

编辑:

这应该是现在修复在最新的枪0.2020.421

@brezyl感谢您提出了这个问题,如果您看到的undefined~@...显然是一个bug,而且数据没有保存到它应该保存的位置(受保护的用户空间)。

我会紧急检查这一点,如果有人有同样的经历,我也会向社区发出通知。

在此之前,是的,请使用不同版本的&SEA,或者假定undefined显示错误/错误正在发生,从而导致安全损失。

更新:

@brezyl :到目前为止,我注意到.put(似乎是OK的,原始值.set(似乎还可以,但是.set(object不确定或安全。进一步调查。

@brezyl更新:我找到了两种方法来修复它,并将同时添加额外的故障安全。希望能够尽快发布(测试/评审可能需要一段时间)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61370524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档