标签: session

会话亲和力和粘性会话之间的区别?

在负载平衡服务器的上下文中,会话亲缘性粘性会话之间有什么区别?

session load-balancing

123
推荐指数
5
解决办法
15万
查看次数

防止会话劫持的最佳方法是什么?

具体而言,这与使用客户端会话cookie来识别服务器上的会话有关.

对整个网站使用SSL/HTTPS加密是最好的答案,并且您可以最好地保证中间人攻击中没有人能够嗅探现有的客户端会话cookie吗?

也许第二最好对存储在会话cookie中的会话值本身使用某种加密?

如果恶意用户具有对计算机的物理访问权限,他们仍然可以查看文件系统以检索有效的会话cookie并使用它来劫持会话?

security cookies session

122
推荐指数
7
解决办法
13万
查看次数

检查空值的正确方法是什么?

我喜欢null-coalescing运算符,因为它可以很容易地为可空类型分配默认值.

 int y = x ?? -1;
Run Code Online (Sandbox Code Playgroud)

这很好,除非我需要做一些简单的事情x.例如,如果我想检查Session,那么我通常最终不得不写更详细的东西.

我希望我能做到这一点:

string y = Session["key"].ToString() ?? "none";
Run Code Online (Sandbox Code Playgroud)

但是你不能因为在.ToString()null检查之前调用了gets,所以如果Session["key"]为null 则它会失败.我最终这样做了:

string y = Session["key"] == null ? "none" : Session["key"].ToString();
Run Code Online (Sandbox Code Playgroud)

在我看来,它比三线替代方案更有效,也更好:

string y = "none";
if (Session["key"] != null)
    y = Session["key"].ToString();
Run Code Online (Sandbox Code Playgroud)

尽管有效,但如果有更好的方法,我仍然很好奇.似乎无论我总是要引用Session["key"]两次; 一次检查,再次检查.有任何想法吗?

.net c# session null null-coalescing-operator

122
推荐指数
7
解决办法
8728
查看次数

重定向后PHP会话丢失

如何在PHP中重定向后解决丢失会话的问题?

最近,我遇到了一个非常常见的重定向失败会话问题.在搜索了这个网站后,我仍然找不到解决方案(虽然是最接近的).

更新

我找到了答案,我想我会在这里发布,以帮助遇到同样问题的人.

php session redirect shared-hosting session-cookies

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

PHP会话如何工作?(不是"它们是如何使用的?")

会话文件通常存储在/tmp/服务器上,并命名sess_{session_id}.我一直在看内容,无法弄清楚它们是如何工作的.

从文件中获取变量名称和内容很容易.但PHP如何知道什么会话属于谁?

session_id似乎是完全随机的,一个IP地址可以有多个用户,如果每个用户打开多个浏览器窗口,则每个用户可以有多个会话.

那么它是怎样工作的?

php session

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

如果当前的ASP.NET会话为空,我该怎么办?

在我的Web应用程序中,我执行类似这样的操作来读取会话变量:

if (HttpContext.Current.Session != null &&  HttpContext.Current.Session["MyVariable"] != null)
{
    string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Run Code Online (Sandbox Code Playgroud)

我理解为什么重要的是要检查为什么HttpContext.Current.Session ["MyVariable"]为空(该变量可能尚未存储在会话中,或者会因各种原因重置了会话),但为什么我需要检查如果HttpContext.Current.Session是null?

我的理解是,会话是由ASP.NET自动创建的,因此HttpContext.Current.Session永远不应为null.这个假设是否正确?如果它可以为null,是否意味着我还应该在存储内容之前检查它:

if (HttpContext.Current.Session != null)
{
    HttpContext.Current.Session["MyVariable"]="Test";
}
else
{
    // What should be done in this case (if session is null)?
    // Is it possible to force the session to be created if it doesn't exist?
}
Run Code Online (Sandbox Code Playgroud)

asp.net session

119
推荐指数
4
解决办法
14万
查看次数

Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED

我通过expressjs使用node.js
我尝试将帐户存储到会话中.所以,我尝试测试使用session中的代码与expressjs

var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat", store: new RedisStore }));
Run Code Online (Sandbox Code Playgroud)

但我得到了错误Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
请帮我解决这个问题

javascript session redis node.js express

119
推荐指数
8
解决办法
16万
查看次数

在ASP.NET中,何时应该使用Session.Clear()而不是Session.Abandon()?

Session.Clear()和Session.Abandon()都摆脱了会话变量.据我了解,Abandon()结束当前会话,并导致创建一个新会话,从而导致End和Start事件被触发.

在大多数情况下,最好调用Abandon(),例如将用户注销.有没有我使用Clear()的情况?是否存在很大的性能差异?

.net asp.net session session-state

113
推荐指数
3
解决办法
11万
查看次数

在rails中清除会话变量的最佳方法是什么?

session[:message] = nil
Run Code Online (Sandbox Code Playgroud)

这是销毁会话变量的最佳方法吗?

注意:我不想清除所有会话变量reset_session.

session ruby-on-rails

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

保持ASP.NET会话开放/活跃

只要用户打开浏览器窗口,哪种最简单,最不显眼的方式可以使ASP.NET会话保持活动状态?是时候调用AJAX吗?我想阻止以下情况:有时候用户长时间打开窗口,然后输入内容,并且提交时不再有效,因为服务器端会话已过期.我不希望在服务器上增加超过10分钟的超时值,因为我希望关闭会话(通过关闭浏览器窗口)快速超时.

建议,代码示例?

c# asp.net session

111
推荐指数
3
解决办法
10万
查看次数