ImmortalDB 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
ImmortalDB 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
ImmortalDB 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
所属分类 服务器软件存储系统
开源组织
地区 不详
投 递 者 段段段落
适用人群 未知
收录时间 2019-01-29

软件简介

ImmortalDB 是用于浏览器的弹性键值存储


ImmortalDB 是在浏览器中存储持久键值数据的最佳方法,保存在其中的数据被冗余地存储在 CookiesIndexedDBLocalStorageSessionStorage。如果其中的任何数据被删除或损坏,ImmortalDB 会进行自我修复。

举个例子,清除 cookie 是一种常见的用户操作(甚至对非技术用户来说,也是如此)。一般在没有存储压力警告的情况下,浏览器也会草率地删除 IndexedDB、LocalStorage 和 SessionStorage。而 ImmortalDB 对于这种情况,则是有弹性的。

这样说吧,ImmortalDB 就像 Evercookie,但它

  1. 会积极地被维护和记录;

  2. 提供了一个简单的,现代的,基于 Promise 的 API;

  3. 在可靠性和对用户的尊重间取得平衡。数据可靠地被存储着,但如果用户想清除 cookie 和应用程序的存储,也可以自行清除数据;

  4. 不使用恶意的漏洞利用工具(exploits),也不使用 Flash、Silverlight 或 Java 等第三方插件。只使用标准的、经过批准的 HTML 5 API;

  5. 不破坏性能或用户体验。例如,Evercookie 的 CSS 历史记录敲门(Knocking)可能会引起大量的后台 HTTP 请求产生,加载 Silverlight 或 Flash 可能会引发未被请求的许可模态框(permission modals)、或是颠簸(Thrashing)用户的磁盘。

ImmortalDB 是如何工作的

当您将键值对存储在 ImmortalDB 中时,该键和值会冗余地保存在浏览器的 cookie、IndexedDB、LocalStorage 和 SessionStorage 数据存储中。

当您通过键检索值时,ImmortalDB 会:

  1. 在每个数据存储中查找那个密钥;

  2. 计算每个唯一返回值;

  3. 将最常见的返回唯一值确定为“正确”值;

  4. 返回这个正确的值。

接着,ImmortalDB 会“自愈”:如果任何数据存储区返回的值与所确定的正确值不同,或是根本没有值,则将正确的值重写到该存储区。通过这样的方式,一致性、可靠性和冗余得到维持。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(6) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
acorn 存在拒绝服务漏洞
拒绝服务
acorn 是一个用 JavaScript 编写的小巧、快速的 JavaScript 解析器。此软件包的受影响版本通过 /[x-\ud800]/u 形式的正则表达式容易受到正则表达式拒绝服务 (ReDoS) 的攻击,这会导致解析器进入无限循环。
MPS-2022-13525
2022-08-08 18:31
Npm Ini 资源管理错误漏洞
拒绝服务
Npm Ini是美国Npm公司的一个基于Javascript的用于解析和序列化Ini格式文件的代码库。 Npm ini before 1.3.6 存在资源管理错误漏洞,该漏洞允许攻击者可利用该漏洞向应用程序提交恶意的INI文件,该应用程序将用INI解析该文件。这可以根据上下文进一步加以利用。
CVE-2020-7788 MPS-2020-17544
2022-08-08 18:31
URL -parse 输入验证错误漏洞
跨站重定向
Arnout Kazemier url-parse是美国Arnout Kazemiere(Arnout Kazemier)个人开发者的一个应用软件。提供url解析。 URL -parse 存在输入验证错误漏洞,该漏洞源于URL -parse容易被URL重定向到不可信站点
CVE-2021-3664 MPS-2021-11194
2022-08-08 18:31
url-parse 安全漏洞
Arnout Kazemier url-parse是美国Arnout Kazemiere(Arnout Kazemier)个人开发者的一个应用软件。提供url解析。 url-parse before 1.5.0 版本存在安全漏洞,该漏洞源于错误处理了反斜杠的某些用法,例如http: /,并将URI解释为相对路径。
CVE-2021-27515 MPS-2021-2265
2022-08-08 18:31
github ws 资源管理错误漏洞
github ws是一个应用软件。一种易于使用,运行迅速且经过全面测试的WebSocket客户端和服务器实现的方法。 漏洞版本中“Sec-Websocket-Protocol”标头的一个特殊的值可以用来显著降低ws服务器的速度,从而导致拒绝服务漏洞。
CVE-2021-32640 MPS-2021-7109
2022-08-08 18:31
Digital Bazaar Forge 输入验证错误漏洞
跨站重定向
Digital Bazaar Forge是美国Digital Bazaar公司的一个 Tls 在 Javascript 中的本机实现以及用于编写基于加密和网络密集型 Web 应用程序的开源工具。 Digital Bazaar Forge 中存在输入验证错误漏洞,该漏洞源于产品允许URL重定向到不受信任的站点。
CVE-2022-0122 MPS-2022-0421
2022-08-08 18:31
node-forge 输入验证错误漏洞
动态确定对象属性修改的控制不恰当
node-forge是一个应用软件。一个用于 node-forge 的 WebJar。 所有版本的node-forge软件包都易于通过setPath函数受到原型污染。
CVE-2020-7720 MPS-2020-12281
2022-08-08 18:31
tar 存在拒绝服务漏洞
拒绝服务
tar 是用于 Node.js 的全功能 Tar。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14081
2022-08-08 18:31
Indutny Elliptic 加密问题漏洞
密码算法不安全
Indutny Elliptic是Indutny个人开发者的一个基于Javascript为应用提供快速椭圆曲线加密的代码库。 Indutny Elliptic 存在安全漏洞,该漏洞源于没有检查来确认公钥。
CVE-2020-28498 MPS-2021-1176
2022-08-08 18:31
Follow Redirects 安全漏洞
侵犯隐私
Follow Redirects是一个自动遵循 Http(s) 重定向的 Node.js 模块。 Follow Redirects 存在安全漏洞,该漏洞源于follow-redirects容易暴露私人个人信息给未经授权的参与者。
CVE-2022-0155 MPS-2022-0815
2022-08-08 18:31
dns-packet 信息泄露漏洞
资源初始化缺失
dns-packet是一个应用软件。一个抽象的编码为编码/解码DNS数据包的依从模型。 dns-packet 5.2.2之前版本存在安全漏洞,该漏洞源于使用allocUnsafe创建缓冲区,并且在形成网络数据包之前并不总是填充它们。
CVE-2021-23386 MPS-2021-7013
2022-08-08 18:31
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 18:31
Digital Bazaar Forge数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个Tls在Javascript中的本机实现以及用于编写基于加密和网络密集型Web应用程序的开源工具。digitalbazaar Forge 1.3.0之前版本存在数据伪造问题漏洞,该漏洞源于RSA PKCS#1 v1.5签名验证码在解码 `DigestInfo` ASN.1 结构后不检查尾随垃圾字节。攻击者可以删除填充字节利用该漏洞添加垃圾数据以伪造签名。
CVE-2022-24772 MPS-2022-3739
2022-08-08 18:31
url-parse 安全漏洞
通过用户控制密钥绕过授权机制
Url-Parse是一个跨 Node.js 和浏览器环境无缝工作的小型 Url 解析器。 url-parse 1.5.7之前版本存在安全漏洞,攻击者可利用该漏洞通过用户控制的密钥绕过授权。
CVE-2022-0639 MPS-2022-4297
2022-08-08 18:31
lodash 命令注入漏洞
代码注入
lodash是一个提供模块化、性能和附加功能的现代 JavaScript 实用程序库。 4.17.21 之前的 Lodash 版本容易通过模板函数进行命令注入。
CVE-2021-23337 MPS-2021-2638
2022-08-08 18:31
node-tar 路径遍历漏洞
路径遍历
node-tar是一款用于文件压缩/解压缩的软件包。 npm node-tar 存在路径遍历漏洞,该漏洞源于4.4.18、5.0.10和6.1.9之前的npm包“tar”(又名node-tar)存在任意文件创建覆盖和任意代码执行漏洞。攻击者可利用该漏洞访问受限目录之外的位置。
CVE-2021-37713 MPS-2021-28489
2022-08-08 18:31
node-forge 存在原型污染漏洞
原型污染
node-forge 是网络传输、密码学、密码、PKI、消息摘要和各种实用程序的 JavaScript 实现。此软件包的受影响版本容易受到通过伪造的原型污染。
MPS-2022-13920
2022-08-08 18:31
Digital Bazaar Forge 数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个 Tls 在 Javascript 中的本机实现以及用于编写基于加密和网络密集型 Web 应用程序的开源工具。 Forge 1.3.0 版本之前 RSA PKCS 存在数据伪造问题漏洞,该漏洞源于 RSA PKCS 签名验证码对摘要算法结构的检查较为宽松。攻击者可以通过精心设计的结构窃取填充字节并在使用低公共指数时使用 PKCS#1 编码消息的未检查部分来伪造签名。
CVE-2022-24771 MPS-2022-3738
2022-08-08 18:31
NPM url-parse 安全漏洞
通过用户控制密钥绕过授权机制
Url-Parse是一个跨 Node.js 和浏览器环境无缝工作的小型 Url 解析器。 NPM url-parse 存在安全漏洞,该漏洞源于在1.5.6之前的NPM url-parse中,通过用户控制的密钥绕过授权。
CVE-2022-0512 MPS-2022-3327
2022-08-08 18:31
Digital Bazaar Forge数据伪造问题漏洞
密码学签名的验证不恰当
Digital Bazaar Forge是美国Digital Bazaar公司的一个Tls在Javascript中的本机实现以及用于编写基于加密和网络密集型Web应用程序的开源工具。Digital Bazaar Forge1.3.0之前版本存在数据伪造问题漏洞,该漏洞源于SA PKCS#1 v1.5签名验证码无法正确检查DigestInfo以获得正确的 ASN.1 结构。攻击者可以发送特殊的签名利用该漏洞以验证包含无效结构但有效摘要的签名。
CVE-2022-24773 MPS-2022-3740
2022-08-08 18:31
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
6 评论
50 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部