经典问题,Web 应用程序具有安全和不安全页面(即帐户页面是安全的 (HTTPS) 和常见问题页面是不安全的 (HTTP)),作为开发人员,我希望用户在不安全的页面上看到自定义的登录按钮(即,如果您是该网站的新手,它会显示“点击登录”,如果您有会话,它会显示“欢迎用户点击查看您的帐户”。
为此,我设置了仅在帐户页面上发送的服务器设置的安全 cookie,但该帐户页面(通过 jQuery)还将基于安全页面设置一个不安全的 cookie。浏览器可以使用不安全的 cookie 来更新登录按钮(通过 Javascript)。
我使用随机字符串(每次在服务器上随机)作为路径,以防止 cookie 永远通过网络发送。此数据只是一个用户名,因此完全锁定它并不重要,但仍应加以保护。
使用 jQuery(jQuery cookie 插件)在此处设置 Cookie:
$.cookie('userLoggedIn', 'username', { domain: '.example.com', httpOnly: false, path: 'DFKLJGHDFDLFKHGAFDAKDJFH', expires: [one year], secure: false });
到目前为止一切都很好,但是对于黑客来说,路径随机化是否可以防止窃取不安全的 cookie?