【问题标题】:IE9 cookies not working once browser is close and open?浏览器关闭和打开后 IE9 cookie 不起作用?
【发布时间】:2013-06-18 15:26:11
【问题描述】:

我已经使用 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=/';
                        } 

【问题讨论】:

  • 请不要将用户名和密码保存在 cookie 中。
  • k.你能告诉我吗。为什么会在 IE9 中发生?
  • 告诉我还有什么方法可以实现吗?
  • 你检查过IE执行的是if还是else
  • 你能提供一些关于这个的信息吗?谢谢

标签: javascript internet-explorer extjs internet-explorer-9 extjs4.1


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 在 IE9 中,除非打开开发者工具,否则不会定义 console.log。
    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多