通过javascript和本地存储实现安全清单的Web应用程序

Web App with manifest security through javascript and local storage

本文关键字:Web 应用程序 安全 实现 javascript 存储 通过      更新时间:2023-09-26

我想在几个移动平台上创建一个web应用程序;它不是免费的,而是商业的,所以用户将有一个解锁码,可以访问(通过远程PHP代码)index.php页面。

这个页面有一个清单文件,所以所有需要的文件都被下载到设备的离线存储/缓存。现在我的疑问是:是否有机会,用户可以复制我所有的HTML/CSS/JS文件到另一个设备,并使用我的非免费离线应用程序在其他地方?

我认为答案是肯定的,所以我想创建一个JavaScript安全系统,它将检查一个特定的值是否等于从本地SQL或索引存储中获取的另一个值。

所以第二个问题是:如果用户不能破坏JavaScript代码,因为它做得很好,用户也可以复制与web相关的本地存储,使我的安全检查无效吗?

如果是,那么在什么设备上,在什么条件下?(所有版本的Android,越狱的iOS等)

下载到客户端的所有内容都必须被认为是不安全的、可共享的和可审查的。

没有办法保护Javascript源代码或任何下载的数据。这只需要设置一个代理,比如Fiddler,或者直接从缓存中复制数据(或者从浏览器中保存源文件)。

即使使用私钥-公钥方法也不行,因为它很容易跳过用于检查的函数。

所以,是的,所有的数据都可以复制和共享,不存在牢不可破的代码:)

这是一个经典的情况-你需要计算出无论你做什么都会有一些非法使用你的软件-你可以使它变得更加困难,但不能阻止它(特别是在下载Javascript的情况下)。

我的意见:确保你制作了一个好的授权,并相信大多数用户会诚实地为授权付费。也许你的许可证可以是面向用户的,而不是面向设备的,这样如果用户想在他的其他设备上使用它,就不需要"破坏"安全性(法律案例通常允许用户这样做,这是一件好事!)?

此外,取决于您的目标群体是谁,大多数用户不知道如何"破坏"安全性(除非您的目标是开发人员)。如前所述,您需要预先计算发生这种情况的特定风险。

经常更新,更改代码,重命名函数,更改服务器API(强制更新)-不能防止安全漏洞,但使"黑客"不断跟上更加痛苦。

你会赢得一些,也会失去一些。