草庐IT

php - php session ID的唯一性

coder 2023-04-24 原文

php session ID 的唯一性如何?我从读过的各种内容中得到的印象是,我不应该依赖两个用户永远不会获得相同的 sessionid。不是 GUID 吗?

最佳答案

它在发货时并不是很独特。在默认配置中,它是各种事物的哈希结果,包括 gettimeofday 的结果(这并不是非常独特),但如果您担心,您应该将其配置为从/dev/urandom 中提取一些熵,就像这样

ini_set("session.entropy_file", "/dev/urandom");
ini_set("session.entropy_length", "512");

the code 中搜索“php_session_create_id”对于他们正在使用的实际算法。

编辑添加: 有一个由 pid 播种的 DFA 随机数生成器,与 usecs 中的时间混合。这不是一个确定的唯一性条件especially from a security perspective .使用上面的熵配置。

更新:

As of PHP 5.4.0 session.entropy_file defaults to /dev/urandom or /dev/arandom if it is available. In PHP 5.3.0 this directive is left empty by default. PHP Manual

关于php - php session ID的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138670/

有关php - php session ID的唯一性的更多相关文章

  1. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  2. ruby - 数组数组中的唯一元素 - 2

    我想通过内部数组中的第一个元素从数组数组中找到唯一元素。例如a=[[1,2],[2,3],[1,5]我想要类似的东西[[1,2],[2,3]] 最佳答案 uniq方法需要一个block:uniq_a=a.uniq(&:first)或者如果您想就地进行:a.uniq!(&:first)例如:>>a=[[1,2],[2,3],[1,5]]=>[[1,2],[2,3],[1,5]]>>a.uniq(&:first)=>[[1,2],[2,3]]>>a=>[[1,2],[2,3],[1,5]]或者>>a=[[1,2],[2,3],[1,5]

  3. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  4. python - 如何计算文件中唯一字符的数量? - 2

    给定一个包含各种语言字符的UTF-8文件,我如何计算它包含的唯一字符的数量,同时排除选定数量的符号(例如:“!”、“@”、"#",".")从这个算起? 最佳答案 这是一个bash解决方案。:)bash$perl-CSD-ne'BEGIN{$s{$_}++forsplit//,q(!@#.)}$s{$_}++||$c++forsplit//;END{print"$c\n"}'*.utf8 关于python-如何计算文件中唯一字符的数量?,我们在StackOverflow上找到一个类似的问题

  5. ruby - 查找字符串中唯一元素数量的最快方法 - 2

    如何以最佳方式在字符串中找到唯一元素?示例字符串格式为myString="34345667543"对/对['3','4','3','5'.....] 最佳答案 这是一个有趣的问题,因为它返回了很多几乎相似的结果,所以我做了一个简单的基准测试来决定哪个实际上是最好的解决方案:require'rubygems'require'benchmark'require'set'puts"Dothetest"Benchmark.bm(40)do|x|STRING_TEST="26263636362626218118181111232112233"

  6. ruby-on-rails - 使用 STI 为 rails 中的子模型指定唯一属性 - 2

    我计划将STIinRails与以下模型一起使用:classPromoEvent和Discount在属性方面仅存在一些差异,因此我认为STI是一个不错的选择。我不确定如何确保,例如,仅Event具有额外的image_filename属性。我知道它会在promos表中,并且它必须是NULL-able以防我插入Discount行。如何确保Discount对象对image_filename属性一无所知(即未在Discount.column_names中列出>和/或无法设置它)Event知道它吗? 最佳答案 我认为这个概念是不同的,而你的Pr

  7. ruby-on-rails - 如何针对组合字段的唯一性对这种复杂的验证进行建模 - 2

    link有两个组件:componenta_id和componentb_id。为此,在Link模型文件中我有:belongs_to:componenta,class_name:"Component"belongs_to:componentb,class_name:"Component"validates:componenta_id,presence:truevalidates:componentb_id,presence:truevalidates:componenta_id,uniqueness:{scope::componentb_id}validates:componentb_id

  8. ruby 集不是唯一的 - 2

    出于某种原因,以下代码产生了一个具有重复值的集合。我不确定ruby​​中数组的唯一性是如何定义的,所以也许这在某种程度上是可以预料的?require'set'xs=[1,2,3]xss=Set.new[]xs.eachdo|x|xss.mergexss.to_a.map{|xs|xs.pushx}xss.add[x]pxssend将打印###怎么了?编辑将xs.pushx更改为xs+[x]将修复它。 最佳答案 您实际上是在更改集合中的对象,这是不允许的。来自documentation:Setassumesthattheidentit

  9. ruby - Ruby 中的唯一系统 ID ...? - 2

    有没有办法在Ruby中生成唯一的硬件相关标识key...? 最佳答案 在Ruby1.9.2中它是builtin.require'securerandom'putsSecureRandom.uuid#ff97e1e1-22d4-44cf-bf5d-ef1e26444a06 关于ruby-Ruby中的唯一系统ID...?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5339305/

  10. ruby - 什么是最像 Ruby 的生成 3 个正整数加起来等于 100 的唯一组合的方法 - 2

    条件:a+b+c=100a,b,cpositiveintegersor0期望的输出:[[0,0,100],[0,1,99],...#allotherpermutations[99,1,0],[100,0,0]] 最佳答案 我会写:(0..100).flat_map{|x|(0..100-x).map{|y|[x,y,100-x-y]}}#=>[[0,0,100],[0,1,99]],...,[99,1,0],[100,0,0]]站点注释1:这是一个经典示例,其中列表推导式大放异彩(如果某处有条件则更是如此)。由于Ruby没有LC,我

随机推荐