通过javascript和本地存储实现安全清单的Web应用程序
Web App with manifest security through javascript and local storage
我想在几个移动平台上创建一个web应用程序;它不是免费的,而是商业的,所以用户将有一个解锁码,可以访问(通过远程PHP代码)index.php
页面。
这个页面有一个清单文件,所以所有需要的文件都被下载到设备的离线存储/缓存。现在我的疑问是:是否有机会,用户可以复制我所有的HTML/CSS/JS文件到另一个设备,并使用我的非免费离线应用程序在其他地方?
我认为答案是肯定的,所以我想创建一个JavaScript安全系统,它将检查一个特定的值是否等于从本地SQL或索引存储中获取的另一个值。
所以第二个问题是:如果用户不能破坏JavaScript代码,因为它做得很好,用户也可以复制与web相关的本地存储,使我的安全检查无效吗?
如果是,那么在什么设备上,在什么条件下?(所有版本的Android,越狱的iOS等)
下载到客户端的所有内容都必须被认为是不安全的、可共享的和可审查的。
没有办法保护Javascript源代码或任何下载的数据。这只需要设置一个代理,比如Fiddler,或者直接从缓存中复制数据(或者从浏览器中保存源文件)。
即使使用私钥-公钥方法也不行,因为它很容易跳过用于检查的函数。
所以,是的,所有的数据都可以复制和共享,不存在牢不可破的代码:)
这是一个经典的情况-你需要计算出无论你做什么都会有一些非法使用你的软件-你可以使它变得更加困难,但不能阻止它(特别是在下载Javascript的情况下)。
我的意见:确保你制作了一个好的授权,并相信大多数用户会诚实地为授权付费。也许你的许可证可以是面向用户的,而不是面向设备的,这样如果用户想在他的其他设备上使用它,就不需要"破坏"安全性(法律案例通常允许用户这样做,这是一件好事!)?
此外,取决于您的目标群体是谁,大多数用户不知道如何"破坏"安全性(除非您的目标是开发人员)。如前所述,您需要预先计算发生这种情况的特定风险。
经常更新,更改代码,重命名函数,更改服务器API(强制更新)-不能防止安全漏洞,但使"黑客"不断跟上更加痛苦。
你会赢得一些,也会失去一些。- 在Web应用程序中使用Highcharts javascript
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- Web应用程序,将成员状态更新为其他成员
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 使用Ember的Web应用程序架构.动画逻辑应该放在哪里
- 如何使用默认的网络摄像头拍摄照片并将其保存在我的c#.net web应用程序中
- c#web应用程序中的条形码打印
- 使用javascript为web应用程序自定义键盘快捷键
- 使用angularjs和node.js时的Web应用程序文件夹结构
- PhpWindows 8.1版本上的Javascript web应用程序
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 如何获取使用我们的脚本或web应用程序的网站名称
- 没有框架/DLL的VS Web应用程序项目
- 正确传输和保护用户'web应用程序的密码
- 检查Progressive web应用程序中的网络更改
- 一个Web应用程序上有两个Java脚本
- JavaScript onScroll在谷歌应用程序脚本web应用程序中不起作用
- 家谱web应用程序的“家谱”视图
- 如何更改web应用程序的语言.有没有这样的api