随机数可以多次重复使用吗?错误/安全问题?

时间:2012-12-25 作者:Click Upvote

我已经读到nonce只能一次性使用,在ajax请求之后,您应该发出一个新的nonce,以便在下一个ajax请求中,会向服务器发送一个新的nonce。

然而,我只是使用相同的nonce令牌测试了重复的ajax请求,并且针对每个请求wp_verify_nonce 在相同的标记上返回true,这意味着它可以重复使用几十次。

这是故意的还是bug?

我是否仍然需要为每个ajax请求发出新的nonce,或者相同的nonce是否可以继续用于将来的所有请求?

1 个回复
最合适的回答,由SO网友:Otto 整理而成

在WordPress中,nonce特定于用户、执行的操作和时间。就时间而言,nonce有效期为24小时,每12小时更改一次。这被认为是一种可接受的权衡,因为使用一次使用的实数将涉及添加跟踪系统并存储使用的nonce。

NONCE也是散列的,因此NONCE\\u SALT常量也将是结果NONCE的一部分。更改NONCE\\u SALT将立即使所有NONCE无效。

每次都应该发出一个新的nonce。这样,如果将来需要调整时间或方法,那么您的代码将继续适当地处理它。

结束

相关推荐

ajax page template

我正在创建一个wp主题,它通过ajax(使用ajax admin.php)获取所有数据。现在,我已经设置了一个div,其中包含页面的html(在index.php文件中)。我的索引。php很简单,如下所示:<?php get_header(); ?> <div id=\"ajaxdata\"></div> <?php get_footer(); ?> 我还设置了ajax(正如我通过ajax admin.php所说的),它可以处理简单