这里有一个有趣的实验:转到wordpress插件列表页面,注意激活、停用链接在请求中都有一个nonce部分。
在第二个选项卡中,注销站点,然后返回插件列表页面。
过了一会儿,页面意识到它没有登录,并弹出一个登录屏幕。登录,然后单击“激活”或“停用”按钮。
请注意,它会给出nonce failure消息,“是否确实要执行此操作”?因为前一个会话的nonce不起作用。为什么Wordpress不知道刷新这些nonce?我原以为新的nonces会作为心跳ajax发送回来,但在登录屏幕上似乎没有ajax请求。
更新:这似乎是在用户登录时调用的,但我想没有太多的脚本能够聪明地处理这个触发器?
$( document ).on( \'heartbeat-tick.wp-auth-check\', function( e, data ) {
if ( \'wp-auth-check\' in data ) {
schedule();
if ( ! data[\'wp-auth-check\'] && wrap.hasClass(\'hidden\') ) {
show();
} else if ( data[\'wp-auth-check\'] && ! wrap.hasClass(\'hidden\') ) {
hide();
}
}
}).