假设一个随机数可能会被多次验证,这样做安全吗?

时间:2013-04-04 作者:Lex R

根据我收集的信息,一旦生成nonce,它就可以在接下来的48小时内重用。

记住这一点编码安全吗?我正在编写一个插件,它通过AJAX与客户机进行来回切换,我想知道是否应该在页面加载时生成一个nonce,并将其用于所有通信,或者为每个请求生成一个新的nonce,并将其包含在响应中。

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

1,nonce生存期实际上默认为24小时左右。看看wp_verify_nonce 作用

为了更精确,寿命由过滤器控制

apply_filters( \'nonce_life\', DAY_IN_SECONDS );
2、如果生存期值让您怀疑它是否是“实现副作用”,您可能需要add_filter(\'nonce_life\',create_function(\'$v\', \'return 60*5;\')); 在我的示例中,将生存时间缩短到5分钟。

3、如果您担心插件的安全性,应该使用csrf token 相反

SO网友:Andy

WordPress nonce不能一次性使用。您可以随时重用nonce,直到它过期为止。

结束

相关推荐

当页面作为WordPress模板页面访问时,jQuery ajax()不起作用

在一个文件(test\\u ajax.php)中,我有一个通过jQuery ajax()加载另一个页面(registration\\u form\\u race\\u type.php)的短消息。当通过其绝对URL访问“test\\u ajax.php”时,它运行良好,该URL为:http://46.20.119.207/~asuntosf/wordpress_test/wp-content/themes/test_ajax/test_ajax.php 但令人惊讶的是,如果通过其WordPres