相关疑难解决方法(0)

按名称获取cookie

我有一个getter来从cookie中获取值.

现在我有两个名字shares=和名字的饼干obligations=.

我想让这个getter只是为了从义务cookie中获取值.

我该怎么做呢?因此,for将数据拆分为单独的值并将其放入数组中.

 function getCookie1() {
    // What do I have to add here to look only in the "obligations=" cookie? 
    // Because now it searches all the cookies.

    var elements = document.cookie.split('=');
    var obligations= elements[1].split('%');
    for (var i = 0; i < obligations.length - 1; i++) {
        var tmp = obligations[i].split('$');
        addProduct1(tmp[0], tmp[1], tmp[2], tmp[3]);
    }
 }
Run Code Online (Sandbox Code Playgroud)

javascript cookies

337
推荐指数
22
解决办法
59万
查看次数

Javascript document.cookie总是空字符串

我有客户端javascript设置cookie这个真正奇怪的问题.我正在开发一个小页面的演示,目前使用cookie来存储一些'偏好'.请注意,我不能使用服务器端语言进行此演示或任何第三方jQuery插件.

所以我写了一个javascript对象来设置一个cookie:

var cookie = {
  set: function (name,value,exdays) {

    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=name + "=" + value;
    console.log(document.cookie);
  }
}

cookie.set('foo','bar',2);
console.log(document.cookie);
Run Code Online (Sandbox Code Playgroud)

它只返回一个空字符串.我已经进入Chrome控制台,看看我是否可以通过直接修改来实现document.cookie

> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
Run Code Online (Sandbox Code Playgroud)

你如何通过客户端javascript设置cookie?

编辑:我未处于隐身模式且已启用Cookie.

javascript cookies

34
推荐指数
2
解决办法
5万
查看次数

即使 cookie 在开发人员工具中列出且 httpOnly 标志设置为 false,访问 document.cookie 也会返回空字符串

有时*,在登录页面访问时,document.cookie我会得到一个空字符串,即使:

  1. cookie 列在 Chrome 和 Firefox 开发者工具中,
  2. 我感兴趣的 cookie 的 httpOnly 标志设置为 false,
  3. 我感兴趣的 cookie 路径设置为“/”。

期望的行为

我的 React 单页应用程序 (SPA) 有一个登录页面,其中包含一个<form />用于将登录凭据发送到后端的元素。当收到后端的响应并且身份验证成功时,我检查身份验证 cookie 是否已正确设置。如果是这种情况,将触发重定向,显示登录用户的内容。

实际行为

不幸的是,大约15%的登录尝试document.cookie会返回一个空字符串,这会阻止重定向并将用户保留在登录页面上。按 并F5不能解决问题,但在成功登录请求后手动替换 url 路径时(例如,将“www.website.tld/ login ”更新为“www.website.tld/ start ”),用户将被转发到所需页面仅适用于登录用户。

我无法手动重现该错误。这似乎是随机发生的。但是当它发生时,我查看开发人员控制台,我可以看到来自后端的所有 cookie(设置正确)。

附加信息

  • django 服务器在后端运行
  • 所需的 cookie 设置为response.set_cookie('key', 'value', secure=False httponly=False, samesite='strict')
  • JS 库(axios、react-router)

有关的:

登录页面 (JSX)

    import React, { useState } from "react";
    import { Redirect } from "react-router-dom";
    import …
Run Code Online (Sandbox Code Playgroud)

javascript django cookies httponly reactjs

8
推荐指数
1
解决办法
5938
查看次数

Session实际上如何在MVC中运行?

我对MVC4中的会话管理有点困惑.

可以说,我输入了用户名和密码,然后单击了"登录"按钮.然后在服务器端,我从HttpContext.Current.Session获得了SessionId.然后我正在验证针对数据库的用户凭据.如果用户有效,则在Session中添加SessionId,userName和uiserId.

可以说,下次请求来自同一台机器和同一个浏览器时,我得到了相同的SessionId,然后允许该用户访问其他信息.

现在我有以下问题:

  1. 服务器如何知道该请求来自同一台浏览器和同一台机器?
  2. 我发现,SessionId对于不同的浏览器是不同的,但对于不同机器上的同一浏览器是相同的,所以如果我从machine1登录并使用谷歌浏览器,那么是否可以对不同的浏览器使用相同的会话?(意味着会话将是可用于具有相同浏览器的不同机器.是否可能?)
  3. 服务器如何理解该请求是针对同一用户,谁登录?
  4. 在asp.net会话中是由viewState维护的,但是在MVC中没有使用视图状态,那么在MVC中使用了什么?

asp.net asp.net-mvc session session-state asp.net-mvc-4

5
推荐指数
1
解决办法
4582
查看次数

无法访问 cookie 值

当我访问此 URL 时清除浏览器历史记录后:http : //indianvisa-bangladesh.nic.in/visa/index.html

然后我点击“Get Appointment”绿色链接,将我们带到http://indianvisa-bangladesh.nic.in/visa/Appointment_Login.jsp

在这里它设置了一个JSESSIONIDcookie。我可以在 Firefox/Chrome 开发人员工具中看到此 cookie,但无法document.cookie在控制台中使用它访问它。

当我输入时,document.cookie;它显示空字符串。

如何打印?

编辑:此 JSESSIONID cookie 的Path值也为“/visa”

在此处输入图片说明

javascript google-chrome-devtools

4
推荐指数
1
解决办法
1749
查看次数