0

我已经使用 Extjs 4.1 完成了应用程序。有记住我选项的登录页面。在这里,我们使用 java 脚本将记住的用户信息存储在 cookie 中,一旦使用记住我选项登录应用程序,他的信息将存储在 cookie 中,直到登录之日起 7 天。此功能在除 IE9 之外的所有浏览器中都运行良好。在 IE9 中,如果我使用记住我选项登录,它会记住直到我关闭应用程序。一旦我关闭并打开浏览器,接下来运行应用程序。它不记得我。但是当我访问开发者工具-> 查看 cookie 信息时,它包含了我的登录信息。接下来我重新加载了应用程序,记住我正在工作。我再次关闭了浏览器并打开了记住在不打开开发人员工具的情况下无法正常工作。如果我打开开发人员工具选项并重新加载应用程序,请记住我在工作。为什么每次关闭浏览器时都需要打开开发人员工具。任何机构都可以告诉我如何解决这个问题吗?任何IE9浏览器设置问题?非常感谢。谢谢你。

这是我的代码:

                        var check = Ext.getCmp('chkBoxId').getValue();
                        var username = Ext.getCmp('userId1').getValue();
                        var Password = Ext.getCmp('paswordId').getValue();
                        if(check==true)
                        {                                
                            var now = new Date();
                            var time = now.getTime();
                            var expireTime = time + 604800000//1000*36000;
                            now.setTime(expireTime);
                            var tempExp = 'Wed, 31 Oct 2012 08:50:17 GMT';
                            document.cookie = 'AddedCookie='+username+'/'+Password+'/'+check+';expires='+now.toGMTString()+';path=/';
                        }
                        else{
                            document.cookie = 'AddedCookie='+username+'/'+Password+'/'+check+';expires='+new Date()+';path=/';
                        } 
4

2 回答 2

1

您不应该在登录 cookie 中使用 javascript。

使用 SSL,并使用仅限 SSL 的 cookie。

在服务器上创建带有 HTTP-only 标志的 cookie。

在 cookie 中存储身份验证票证,而不是密码。

不要将用户的密码存储在您的数据库中,存储一个加盐哈希。

否则,对于 cookie,您可以尝试http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.util.Cookies以使其更容易。

于 2013-06-18T19:03:16.937 回答
0

问题已解决,实际上我已经在代码 console.log(something); 中编写了。在 IE9 中,它不会识别这是导致问题的原因。现在它工作得很好。所以这意味着不必将 console.log() 保存在代码中。

于 2013-06-21T09:36:08.940 回答