WordPress随机数如何工作?

时间:2015-07-21 09:59:26

标签: php wordpress nonce

我在表单中添加了一个nonce,它工作正常,但我有一些问题。

如果10000个用户同时使用该表单,那么每个用户的nonce会有所不同吗?

nonce是由WordPress每12个小时生成一次,但影响和改变他生活的因素是什么?

如果我关闭浏览器,当我重新打开浏览器时,我将拥有相同的nonce?

如果我关闭计算机并重新启动,我将拥有相同的随机数?

如果我使用不同的IP连接到互联网,我将拥有相同的随机数?

如果我更改浏览器,我将拥有相同的随机数?

如果我删除浏览历史记录和Cookie,我会使用相同的随机数字吗?

1 个答案:

答案 0 :(得分:0)

WP nonce函数创建与特定操作,用户和用户会话绑定的加密令牌。这意味着即使是10000个用户,每个用户也将拥有自己的令牌。

  

随机数是由WordPress每12小时生成的,但是哪些因素会影响并改变他的生活?

它是通过wp_nonce_tick()函数创建的,该函数通过过滤器nonce_life可以通过此过滤器进行修改。 wp_nonce_tick docs

  

如果我关闭浏览器,那么当我重新打开浏览器时会出现相同的现时值吗?

     

如果我关闭计算机并重新启动,我将拥有相同的随机数吗?

     

如果更改浏览器,我将具有相同的现时值?

如果您登录并且会话相同,则将拥有相同的现时令牌。

  

如果我使用不同的IP连接到Internet,我将拥有相同的随机数吗?

不。您的会话将有所不同,并且将生成新令牌。

  

如果我删除浏览历史记录和cookie,我将具有相同的现时值吗?

否,由于会话存储在浏览器cookie中,因此您的会话将被更改。

您不应仅依靠现时检查。您还需要确保按照in the documentation

所述检查current_user_can()功能