我将一些数据存储在客户端(浏览器的 Web SQL)。当然数据是永久存储的,但是如果入侵者写了一个程序来清除本地存储(localstorage.clear()
)这个函数会删除我在Web SQL中的全部数据。
那么如何永久保护 Web SQL 中的数据呢?
取自HTML5 Doctor:
请注意,从 11 月 18 日起,W3C 不再积极致力于 Web SQL 数据库规范。
取自W3C 的规范页面:
在此基础上,如果存在允许擦除本地存储的安全漏洞,我不会感到惊讶。不推荐使用 Web SQL - 不要使用它。
您无法在客户端保护您的数据。但是,WebSQL 不会受到 localStorage 的影响,这是一种完全不同的存储机制。
localstorage.clear()
与 WebSQL 或 IndexedDB 无关。这是三个不同的 API。所有这些都是临时存储。他们随时可能被消灭。
没有所谓的“入侵者”。您页面上运行的所有代码都是您编写或信任的。
您无法在客户端保护数据。无论您使用什么 API,您都需要始终假设客户端的数据可能会受到损害或丢失。