我有一个能够脱机运行的HTML5应用程序。但是,我需要密码保护此应用程序所在的目录,以便只允许授权用户访问。最初我使用的是一个PHP登录页面,它设置了一个cookie(在app目录之外),然后重定向到app目录。应用程序(JavaScript)检查cookie,如果它在那里,它允许用户运行应用程序。如果没有,它会将它们重定向回应用程序目录。
此方法的问题在于,如果直接引用(我不想要),目录中的所有文件仍然可以访问。我不希望用户每次访问目录时都必须进行身份验证(这是一次性身份验证过程; cookie就在那里,以便他们永远不必再键入他们的用户名/密码),而且我还想要一个程式化的登录表单(即不使用http身份验证的默认浏览器登录框)。
最后,因为这是一个离线的HTML5应用程序,我不能在应用程序本身中包含任何PHP代码。
有什么建议吗?
答案 0 :(得分:1)
这听起来不像你可以通过Javascript做的事情。该脚本需要访问文件系统才能限制对该文件夹的访问,不是吗?
除非浏览器通过javascript API公开此功能,否则我认为不可能。听起来这可能是一个有用的功能。
也许您可以对重要数据进行加密,但除了减慢应用程序速度之外,我不确定它会做什么好事,因为所有必要的密钥都必须存储在本地......
由于网络上的一般安全规则是你永远不会依赖客户端发生的任何事情(例如在Javascript中)而不在服务器端进行双重检查,这当然会造成问题。应用程序正在脱机运行且服务器端不可用:(
查看“如果cookie存在时使Javascript重定向”问题,除非我弄错了,否则恶意用户编辑Javascript(例如使用Firebug)在任何情况下重定向都是微不足道的。
编辑:顺便说一下,您在寻找什么级别的安全性? “妈妈将无法意外访问我的帐户”级别(这听起来像你已经实现的),或者“没有人,除了NSA,应该能够破解它” - 级别?