问题标签 [sessionid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
729 浏览

c# - 在 .Net WinForms 中的设计时哪里可以找到唯一的会话 ID

我创建了一个自定义剪贴板,因为无法使我的整个类映射可序列化 - 这是 Windows 剪贴板的要求。

但是,我需要通过唯一 ID 区分使用我的剪贴板的用户。基本上,我希望能够识别一个人,他坐在一台 PC 上,打开了一个或多个 Visual Studio(或类似)副本。

我怎么做?

ps:这是在设计时。

pps:它应该在visual studio的副本之间工作并不重要。一份副本就可以了,甚至是一个设计表面。

0 投票
4 回答
1687 浏览

php - 会话哈希大小是否重要?

在选择正确的算法用于会话哈希时,大小是否重要。

我最近阅读了这篇文章,它建议使用漩涡为会话 ID 创建哈希。Whirlpool 生成一个 128 字符的哈希字符串,这个是不是太大了?

计划是将会话哈希存储在数据库中。使用 64 个字符字段 (sha256)、96 个字符字段 (sha384) 或 128 个字符字段 (whirlpool) 之间有很大区别吗?惠而浦最初的论点之一是速度与其他算法的对比,但从速度结果来看,sha384 并不算太糟糕。

可以选择截断散列以使其小于 128 个字符。

我确实修改了原始代码片段,以允许根据需要更改算法。

更新:有一些关于字符串被散列的讨论,所以我已经包含了代码。

0 投票
3 回答
18069 浏览

asp.net - 如何在 ASP.NET 中跨多个 Web 应用程序维护相同的会话 ID

我在 IIS 上的不同虚拟目录上设置了两个相同的应用程序(我已经做了一些解决方法以确保它们都具有相同的应用程序名称)。有没有办法在两个 asp.net Web 应用程序之间共享会话 ID?

由于我将会话存储在 StateServer 中,因此它们都应该获得相同的会话数据,但是,每次我从应用程序 a 转到应用程序 b 时,都会创建不同的会话 ID。这不会在负载平衡场景中发生吗?当我去 www.test.com 时,它会将该请求重定向到服务器 a,然后如果我再次点击它,它将转到服务器 b,但由于它是一个不同的 Web 应用程序,它会创建一个新的会话 ID ?

0 投票
3 回答
1885 浏览

asp.net - 防止多个用户使用同一个浏览器登录同一个域

所以这是一个 ASP.NET 问题,两个用户使用同一台机器,相同的浏览器。

  1. 用户 1 登录域。
  2. 用户 1 更改了一些数据而不保存它。
  3. 用户 2 在单独的选项卡中登录域。
  4. 用户 1 切换回他的选项卡并保存数据。
  5. 用户 1 实际将数据保存到用户 2 中!!

这是由以下机制引起的:

  1. 同一浏览器中的不同选项卡似乎共享相同的会话 ID。
  2. 我们将用户身份验证存储在 cookie 中,并且 cookie 在选项卡之间共享(同一域)

因此,当用户 1 请求保存时,由于 cookie 已更新为用户 2,因此将其识别为用户 2。

所以我想知道是否有任何其他方法可以防止这种情况发生,除了: 1. 使用 cookieless 会话,以便会话嵌入在 uri 中。2. 始终在页面中包含一个隐藏字段以指示哪个用户拥有该页面。

问候,

0 投票
1 回答
323 浏览

flash - 闪存中有会话 ID 或 cookie 之类的东西吗?

如何使用 actionscript 区分不同的用户,或者这可能吗?

0 投票
6 回答
2035 浏览

php - 登录系统:为什么需要会话?

我正在使用 PHP 创建一个登录系统,我想知道:为什么需要会话?

如果我使用 userid 和 sessionid 存储一个 cookie,它不会对存储一个带有 userid 和密码哈希的 cookie 带来完全相同的安全风险(假设密码哈希足够强)?是的,有人可能会窃取 cookie,但如果他们窃取 sessionid cookie 不一样吗?

有人能告诉我在每个(相当安全的)登录系统中使用会话的原因是什么吗?

0 投票
2 回答
700 浏览

php - 使用flash发送数据时设置session_id不可靠

我在本地开发服务器和远程 Web 服务器上都使用 PHP 5.3.2 版。

我正在尝试使用uploadify将多个文件上传到服务器。在接收脚本中,我想使用存储在会话中的数据,但是因为 uploadify 使用 flash 将文件发送到脚本,所以它不会发送会话 cookie。
这个问题的解决方法是上传到 GET 或 POST 会话 ID 到脚本,但是我发现这非常不可靠。在我的脚本中,我有以下内容:

脚本 url 类似于 script.php?SESSNAME= sessionid,我已经尝试使用上面的透明会话 id 并使用 session_id($_GET['SESSNAME']) 手动设置 id。

这在直接使用浏览器访问脚本并发送当前会话 ID 时始终有效,即使我手动删除会话 cookie。它也总是适用于我本地服务器上的uploadify。然而,当在远程服务器上使用 uploadify 时,它大约有 20% 的时间工作,完全随机。没有模式。当我添加时,它似乎以更高的频率工作

剧本,然而这可能只是巧合。

本地服务器信息:http
://www.dur.ac.uk/nrbrook/info_local.php 远程服务器信息:http ://www.dur.ac.uk/nrbrook/info.php


一些猜测...

做一些挖掘并查看脚本正在接收的标题,我想我可能已经确定了这个问题。
使用uploadify 时需要发送会话ID,因为使用FileReference.upload()(我认为!)方法时flash 不会发送cookie。但是,除了会话 id 之外,在负载平衡环境(例如远程服务器)中,还有 BALANCEID cookie,它确定用户当前正在使用哪个服务器。Flash 不发送此 cookie,因此负载平衡器有时会将请求发送到不同的服务器,并且在此服务器上不存在会话。

在打印会话后,我通过设置会话变量来测试此行为。这样做并重复发送文件会出现问题 - 起初我得到一个空数组,但变量中开始出现一些重复。

所以,如果以上都是真的,那么我的问题是我该怎么做才能让闪存通过上传发送这些数据,以便负载均衡器知道要使用哪个服务器?或者这是一个失败的原因?


答案?

经过进一步研究,我发现以下帖子 - http://swfupload.org/forum/generaldiscussion/977
这表明无法使用 FileReference.upload() 发送 cookie,因此如果出现负载平衡服务器,则无法使用 uploadify你想使用会话数据。但是,我想我现在将尝试一种解决方案,将链接到会话 ID 的数据保存到文件中。uploadify 接收脚本可以打开这个文件并拉出需要的数据。
这是我第一次使用任何基于 Flash 的东西,它并没有改善我对技术的看法!

0 投票
1 回答
6284 浏览

php - 在 zend 框架中传递和恢复会话 id

首先,是的,我知道这是一个很大的安全NONO。但情况是这样的;

在网店结账时,我使用支付网关,它可以通过他们的 SSL 代理我的结账表格。

(以下网址只是理论,其他网址适用于申请)

它的工作方式是,网站将用户重定向到他们的https://gateway.org/secure-tunnel.php在这样的查询中传递一个 url ?url= http://myshop.com/cc-form.php <- 需要进行urlencoded。

安全隧道请求 url - 在文档中的 url 上撒一些魔法 - 并将其显示给用户。

现在我想将会话 ID 传递给 cc-form.php url,并让那部分工作。但是请求的页面不会获取传递的会话 ID。

有什么想法吗?

以下来自我的 application.ini

另外在研究时我发现 Suoshin 扩展可能会导致一些问题,所以我将其添加到 .htaccess

我使用我的付款方式的路线

编辑:可能的,相当狡猾的解决方案

我实际上设法通过将其插入到_initApplication()我的引导文件中来恢复会话。它相当狡猾,所以如果有人知道更好 - 更多 ZF'ish - 方式请指教!

编辑:DOH!

好吧..原来不需要以前的编辑。就在我将前几行添加到引导程序之前,我还更改了 url 布局。

将其更改/pay/UPSSESSID/{session-id-here}/pay?UPSSESSID={session-id-here}- 这实际上是问题的根源:(

现在我已经从引导程序中删除了这些行,并且我正确恢复了 sessionId。

我的错!

0 投票
1 回答
604 浏览

c# - 如何通过用户名断言记录的用户会话 ID?

使用进程标识符,我可以获得用户标识符。确实,如果该过程在用户环境中执行,我可以获得用户会话ID......

但是如何仅通过用户名派生 Windows 会话 ID?(当然,如果用户未登录,则无法导出会话 id)。


我的情况如下:

我有一个服务(系统服务),它有一个与用户桌面上运行的 UI 应用程序的通信通道。桌面应用程序使用ProcessIdToSessionId能够将桌面会话标识符传递给服务,以便直接从用户桌面中的服务执行进程(使用用户凭据)。

我想要实现的目标是派生会话标识符(从系统服务运行应用程序所需的),而不必与桌面应用程序通信。

换句话说,是否可以用用户名断言会话标识符?

0 投票
2 回答
357 浏览

php - 如何读取 PHP sess_ 文件的值?

在 localhost(Debian Sid 机器)上,PHP 在 /var/lib/php5 中创建会话文件。例如,当我打开 sess_cd2ct9hud284gn01os13nk5mi7 时,我可以看到类似的内容:

我如何使用该文件读取会话的实际值?这是一个base64_hash吗?