Javascript 密码保护HTML5脱机应用程序目录

Javascript 密码保护HTML5脱机应用程序目录,javascript,authentication,html,offline,Javascript,Authentication,Html,Offline,我有一个HTML5应用程序,可以离线运行。但是,我需要密码保护此应用程序所在的目录,以便仅允许授权用户访问。最初我使用的是一个PHP登录页面,该页面设置了一个cookie(在应用程序目录之外),然后重定向到应用程序目录。应用程序(JavaScript)检查cookie,如果cookie在那里,则允许用户运行应用程序。如果没有,它会将它们重定向回应用程序目录 这个方法的问题是,如果直接引用,目录中的所有文件仍然可以访问(我不希望这样)。我不希望用户每次访问目录时都必须进行身份验证(这是一个一次性身

我有一个HTML5应用程序,可以离线运行。但是,我需要密码保护此应用程序所在的目录,以便仅允许授权用户访问。最初我使用的是一个PHP登录页面,该页面设置了一个cookie(在应用程序目录之外),然后重定向到应用程序目录。应用程序(JavaScript)检查cookie,如果cookie在那里,则允许用户运行应用程序。如果没有,它会将它们重定向回应用程序目录

这个方法的问题是,如果直接引用,目录中的所有文件仍然可以访问(我不希望这样)。我不希望用户每次访问目录时都必须进行身份验证(这是一个一次性身份验证过程;cookie就在那里,这样他们就不必再次键入用户名/密码),我还希望有一个样式化的登录表单(即不使用默认浏览器登录框进行http身份验证)

最后,因为这是一个离线的HTML5应用程序,所以我不能在应用程序中包含任何PHP代码


有什么建议吗?

这听起来不像是可以从Javascript中执行的操作。脚本需要访问文件系统才能限制对文件夹的访问,不是吗

除非浏览器通过javascript API公开此功能,否则我认为这是不可能的。不过,听起来这将是一个有用的功能

也许您可以加密重要数据,但除了降低应用程序的速度外,我不确定它会有什么好处,因为所有必要的密钥也必须存储在本地

由于web上的一般安全规则是,如果不在服务器端进行双重检查,您永远不能依赖客户端(如Javascript)发生的任何事情,这当然会在应用程序脱机运行且服务器端不可用时造成问题:(

看看“如果cookie存在,则使Javascript重定向”问题,除非我弄错了,否则恶意用户编辑Javascript(例如使用Firebug)在任何情况下重定向都是微不足道的


编辑:顺便问一下,你在寻找什么级别的安全性?是“妈妈不会意外访问我的帐户”-级别(听起来你已经达到了),还是“除了国家安全局之外,没有人能够破解它”-级别?

我希望我能内联回复你的每一段,因为你提出了一些非常好的观点。我会尽力解决每一个问题。我同意,理想情况下,这需要是一个目前不存在的浏览器API实现。这将是最好的情况,但只是不可用。至于加密,这是我想到的最好的情况h这里是通过电子邮件将“公钥”发送给用户,以便他们可以“解锁”应用程序(即解密)。这不是最好的方案,但它至少增加了一个额外的保护级别……(在下一篇评论中继续)……我尝试过使用http身份验证,但一旦用户脱机,它就会失败(原因很明显)因此,无论是在这种情况下还是在基于PHP的服务器端身份验证中,这都不是一个选项。至于通过Firebug编辑JS,我同意这是一个问题。出于这个原因,除了“公钥”方法(或作为替代-尚未完全决定是否使用该方法)之外,现在还内置了多个级别的检查(Cookie、localStorage等)。诚然,一个精明的用户仍然可以绕过它,但它需要大量的代码剖析……最后,是安全级别——我想我希望介于两者之间。比方说,如果StackOverflow用户无法访问我不希望他们访问的文件,我更愿意这样做(可能这意味着比NSA更安全-不确定;))归根结底,这是一个付费应用程序。客户不希望人们在不付费的情况下访问它。但他们也了解技术缺陷,因此愿意采用“最佳情况”方案。我只想确保我在交付时不留下漏洞。