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

FiddlerCore:使用Session.id作为唯一标识符是否安全?,session,fiddler,fiddlercore,Session,Fiddler,Fiddlercore,我正在尝试修复其他人的代码。在原始代码中,他使用Session.fullUrl作为ConcurrentDictionary的TKey。在客户端同时发送两个具有完全相同url的请求之前,一切正常。显然,这不是一种常见的行为,但我无法更改 所以我对代码做了一些更改,现在我使用一个新字符串(Session.id.ToString()+Session.fullUrl)作为TKey,代码可以正常工作。但是,由于url从未被再次使用,我想知道是否可以删除它并仅使用Session.id作为TKey,但我不确定

我正在尝试修复其他人的代码。在原始代码中,他使用Session.fullUrl作为ConcurrentDictionary的TKey。在客户端同时发送两个具有完全相同url的请求之前,一切正常。显然,这不是一种常见的行为,但我无法更改


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

Session.id
值是使用
Int32
计数器连续分配的,只有使用
FiddlerApplication.ResetSessionCounter()
调用才能重置它-因此,是的,只要您不将此方法作为自定义的一部分调用,就可以相对安全地将其用作唯一键

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