标签: session-cookies

重新启动服务器时,Express 4会话不会持续存在

我有一个Express 4应用程序设置来进行会话.

// Sessions
app.use(cookieParser());
app.use(session({ secret: "some-secret" }));

// Signup
app.post("/signup", function (req, res) {
    create_user(req.body.user, function (err, user_id) {
        req.session.user_id = user_id;
        res.redirect("/admin");
    });
});
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,它会将user_id保存到req.session.但是,当我重新启动服务器时,会话消失了.

为什么不坚持?我错过了一些配置吗?

session session-cookies node.js express

21
推荐指数
1
解决办法
9261
查看次数

如何告诉 PHP 对跨站点 cookie 使用 SameSite=None?

据这里的文章https://php.watch/articles/PHP-Samesite-cookies和PHP documenation在https://www.php.net/manual/en/session.security.ini.php,只有2 PHP 7.3 中添加的此新功能的可能配置选项:

  1. session.cookie_samesite=松懈
  2. session.cookie_samesite=严格

然而,根据 Chrome 控制台,这需要设置为“无”:

与 URL 上的跨站点资源关联的 cookie 设置为没有该SameSite属性。它已被阻止,因为 Chrome 现在仅在设置了SameSite=None和 的情况下才提供具有跨站点请求的 cookie Secure。您可以在应用程序>存储>Cookies 下的开发人员工具中查看 cookie,并在 URL 和 URL 中查看更多详细信息。

因此,我无法再设置跨站点 cookie。解决方法是什么?

php cookies session session-cookies php-7.3

21
推荐指数
2
解决办法
3万
查看次数

还记得我最好的Cookie吗?

我读到关于这个论点许多老问题,我认为最好的做法是设置了一个cookie username,user_id并随机令牌.

在创建cookie时,相同cookie的数据存储在DB中,当用户拥有cookie时,它们将被比较(cookie数据,DB数据).

如果这是真正的最佳实践,我真的无法理解安全逻辑在哪里.

窃取cookie的攻击者与原始用户具有相同的cookie:|

忘了一步?:P

security cookies session-cookies

20
推荐指数
3
解决办法
2万
查看次数

如何知道OWIN cookie什么时候到期?

我想根据OWIN cookie过期的时间创建一些倒数计时器.我正在使用OWIN和MVC 5,我从默认情况下开始了解SlidingExpiration.我不使用'session',因为我需要这个应用程序才能在Web场中生存(我不打算部署会话数据库).

.net session-cookies owin asp.net-mvc-5

20
推荐指数
1
解决办法
2万
查看次数

为什么会话ID在通过php中的ajax请求时会发生变化?

我已登录了Banana.com.香蕉有api链接/app/ajax_loggedin.

我的网站是猴子.Monkey运行一个简单的GET json到banana's /app/ajax_loggedin,它返回一个登录值1或0.

为什么它通过ajax总是返回0,即使我真的登录Banana并且直接访问链接给我1.香蕉的开发人员怎么能修复它?

我会理解它,如果它是一个服务器端调用,但我不明白为什么它不会告诉我,如果我登录,如果香蕉提出请求.运行session_id()检查,它通过ajax每次调用生成一个新的,当直接访问它工作正常并保持不变.

有没有修复或其他方法来做到这一点?

php ajax session session-cookies

20
推荐指数
2
解决办法
4318
查看次数

如何清除angular.js中的cookie

目前我正在使用angulajs应用程序.

我想在cookie中存储一些值.所以我用angular-cookies-min脚本为cookie添加了一些值

我已使用以下代码将值保存到cookie.

 $cookieStore.put("userInfo", userInfo);//userInfo is a array with some values. 
Run Code Online (Sandbox Code Playgroud)

现在我要清除cookie?我该怎么做?

javascript jquery session-cookies angularjs angular-cookies

19
推荐指数
2
解决办法
6万
查看次数

如何在PHP中取消设置cookie?

我需要弄清楚如何取消设置这个cookie.我到目前为止所尝试的一切都失败了.

这就是我目前正在取消它的方式,它似乎不起作用.

setcookie("user_id", $user_id, time() - 7200);
Run Code Online (Sandbox Code Playgroud)

这就是我设置它的方式:

setcookie("user_id", $user_id, time() + 7200);
Run Code Online (Sandbox Code Playgroud)

我调用set_session_from_cookie()了这个函数来检查是否设置了cookie,如果设置了cookie,它会使用cookie启动一个新会话.

问题是,当我在我的页面上使用它时,我无法注销.我认为这是因为我无法取消会话.

我有这个功能的原因是如果用户想要在结束会话后被记住,他们可以通过调用cookie重新启动会话.

function set_session_from_cookie()
{
    if (isset($_SESSION['user_id'])) {
        echo '';
    } else {
        $_SESSION['user_id']=$_COOKIE['user_id'];
    }
}
Run Code Online (Sandbox Code Playgroud)

登出:

<?php
require'core.php';
session_destroy();

setcookie("user_id", "", time() - 7200);
header('Location:/social_learning/site_pages/starter-template.php');
Run Code Online (Sandbox Code Playgroud)

我用以下代码设置我的cookie:

if ($rememberme == "on") {
    $user_id = mysql_result($query_run, 0, 'id');
    setcookie("user_id", $user_id, time() + 7200);
    $_SESSION['user_id'] = $user_id;
    redirect('home_page.php');
} else {
    if ($rememberme == "") {
        echo 'ok';
        $user_id = mysql_result($query_run, 0, 'id');
        echo $user_id;
        $_SESSION['user_id'] …
Run Code Online (Sandbox Code Playgroud)

php cookies session session-cookies

18
推荐指数
4
解决办法
7万
查看次数

用PHP重新打开会话

如何在不使用标头已发送警告的情况下重新打开PHP中的会话?

在设置了我想设置的所有会话变量之后,我使用session_write_close()关闭会话.我这样做,因为只要会话打开,同一个客户端可能只有一个活动连接.但我喜欢有多个并行的.

但是,如果我想稍后设置另一个会话变量,我需要再次使用session_start()重新打开会话.这是有效的,但是因为我已经将代码发送到客户端,所以它会打印"已发送的标题"-warnings.为什么要再次设置cookie?cookie已经设置好了.我唯一需要的是获得再次在服务器上写入会话文件的权限.

好吧,我可以抑制它们.但有没有办法重新打开会话,已经使用session_write_close关闭而不重新发送Cookie标头?Cookie头已由第一个session_start()正确发送.所以第二个只需要给我回访写入存储在Web服务器上的会话文件.

<?php
session_start();
// setting all the session vars I like to set
session_write_close(); // <-- // To allow parallel requests by the same user, while this script is still running

// Code that takes some time to execute
// It also prints output, so no more cookie headers after this point

@session_start(); // <-- works, but I like to use it without suppressing warnings
$_SESSION['key'] = 'new value I like to store'; …
Run Code Online (Sandbox Code Playgroud)

php apache session session-cookies

18
推荐指数
2
解决办法
9021
查看次数

邮递员:你如何删除预请求脚本中的cookie?

我见过的所有邮递员cookie管理答案都指的是浏览器扩展(打开chrome,删除cookies即拦截器等)或应用程序,使用UI手动管理cookie.

我想删除我的预请求代码中的某些cookie,作为编写API测试脚本的一部分.(以编程方式删除它们)

Sandobx API文档提到 pm.cookies我尝试过

if (pm.cookies !== null) {
   console.log("cookies!");
   console.log(pm.cookies);
}
Run Code Online (Sandbox Code Playgroud)

pm.cookies阵列是空的.然而在控制台中,GET调用然后传递cookie.

还有postman.getResponseCookies,这是null(我假设因为我们在预请求部分,而不是在测试部分)

一个答案建议调用postman-echo服务来删除cookie.我还没有对此进行调查,但感觉不对.

cookies session-cookies postman

18
推荐指数
2
解决办法
7095
查看次数

Asp.net会话交叉/混合

几周前,我们有一位客户联系我们说,有时当他创建活动时,它会以别人的名字创建!

我们做了一些故障排除,找不到任何东西.我们要求用户在下次遇到这些问题时与我们联系.他确实与我们联系,我们能够与他进行一次讨论,并亲眼看到问题.

这不仅仅是活动,他被认为是应用程序中的其他人.他可以访问其他人应该访问的所有内容.就在那时我们意识到我们正在讨论会话混淆问题.

关于我们的代码:
与任何其他应用程序一样,我们有一个简单的登录页面,用户输入电子邮件和密码,我们根据数据库对它们进行身份验证,如果它们有效,我们调用FormsAuthentication.SetAuthCookie()将当前用户ID保存在cookie中我们让他进来

BL.User currentUser = BL.User.Authenticate(txtUsername.Text, txtPassword.Text);

if (currentUser != null)
{
    this.Session["NumberOfLoginTried"] = "0";
    FormsAuthentication.SetAuthCookie(currentUser.UserID.ToString(), chRememberMe.Checked);
    Response.Redirect(FormsAuthentication.GetRedirectUrl(currentUser.UserID.ToString(), false));
}
Run Code Online (Sandbox Code Playgroud)

我们还使用以下代码在我们的应用程序中获取登录用户ID(当前用户).

public static int GetCurrentUserID()
{
    int userID = -1;
    int.TryParse(HttpContext.Current.User.Identity.Name, out userID);
    return userID;
}
Run Code Online (Sandbox Code Playgroud)

是的,我们做了我们的家庭作业,并搜索了以下两个链接:

http://lionsden.co.il/codeden/?p=446
使用StateServer的ASP.NET会话混合(SCARY!)

我们已禁用.aspx和.ascx文件的内核模式缓存和用户模式缓存,但这仍然存在.

PS-该应用程序在带有IIS 7.5的Windows 2008 R2上运行.我们使用cookieless会话.

asp.net session-cookies iis-7.5

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