FiddlerCore:使用Session.id作为唯一标识符是否安全?

时间:2016-08-20 00:55:39

标签: session fiddler fiddlercore

我正在尝试修复其他人的代码。在原始代码中,他使用Session.fullUrl作为ConcurrentDictionary的TKey。一切正常,直到客户端同时发送两个具有完全相同URL的请求,显然这不是通常的行为,但这不是我可以改变的。

所以我对代码做了一些更改,现在我使用一个新字符串(Session.id.ToString()+ Session.fullUrl)作为TKey,代码可以工作。但是,由于url永远不再使用,我想知道我是否可以删除它并仅使用Session.id作为TKey,但我不确定它是否安全 - 如果程序运行的时间足够长,是否会有新的会话使用相同的Session.id?

1 个答案:

答案 0 :(得分:0)

Session.id值是使用Int32计数器连续分配的,只能通过FiddlerApplication.ResetSessionCounter()调用才能重置-因此,是的,只要将其用作唯一键,相对安全您不会在自己的自定义过程中调用此方法。

“相对”,因为计数器的溢出是可能的,并且会被静默忽略(因为我们在内部使用Interlocked.Increment),但这也可能导致其他意外错误。

相关问题