重复使用事件注册按钮中的随机数

时间:2018-12-12 作者:MikeiLL

我的理解是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不是这个问题的解决方案。

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

nonce不是解决问题的方法。您正确地使用了它。我将查看您可能正在使用的$wpdb->插入数组,并实现一个与建议的“new”条目匹配的数据是否存在的检查。

我实际上建立了一个Twilio SMS 遇到奇怪的验证错误时触发。我让它发短信给我一条消息和数据库行id。我通常在我的客户仍然在他们的设备上有问题时知道这个问题。当我发短信问他们是否有问题时,他们觉得我很神奇。

相关推荐

javascript ajax and nonce

在动态创建表单时,我很难使用Wordpress nonce验证通过对php后端的XML请求来实现nonce。我同意表单构建版本wp_nonce_field( \'delete-comment_\'.$comment_id ); 因此,在通过javascript本地化时,我尝试使用其他nonce选项。$nonce = wp_create_nonce( \'my-action_\'.$post->ID ); 然后要验证,似乎有两种选择。check_ajax_referer( \'p