我的理解是wordpress nonces (不完全是“一次使用的数字”)防止跨来源请求伪造,并持续12小时。
我正在显示课程表,每个课程都有一个注册按钮。我正在重新使用nonce,以便每个按钮在data 属性:
<button data-nonce="85bad21a61" data-event="unique-data">Unique</button>
<button data-nonce="85bad21a61" data-event="unique-data">Unique</button>
用户未登录wordpress。我正在将他们成功登录API后返回的帐户数据存储在
WP_Session 变量
使用此行创建Nonce:
wp_create_nonce( \'register_for_an_event\' )
并在ajax函数中验证:
check_ajax_referer($_REQUEST[\'nonce\'], "register_for_an_event", false);
我将一些事务记录到一个文本文件中,发现不同的用户经常提交相同的nonce,这似乎很自然,因为它只是一个html数据属性。
这是wp nonces的合理使用吗?
我担心的原因是,有人告诉我,用户会断断续续地尝试通过API注册事件,相反,要注册的前一个用户会再次添加到事件中。
由于用户没有WP帐户,我认为nonces不是这个问题的解决方案。