gpt4 book ai didi

wordpress - 我可以让我的 WordPress 随机数更快过期吗? (通过 wp_verify_nonce)

转载 作者:行者123 更新时间:2023-12-02 20:08:26 25 4
gpt4 key购买 nike

Wordpress 有一个随机数机制,插件可以将随机数发送到客户端代码中,然后在客户端与服务器通信时验证该随机数。

我查看了 wp_verify_nonce() 的源代码(在 wp-includes/pluggable.php 中),发现如果随机数是 24 小时或更短时间,它会返回 true。

我是否可以创建一个可以验证为...比方说....1 分钟的随机数?

如何?

我认为有一种通过add_filter()nonce_life的方法。但我不希望各地的随机数生命周期很短。我只希望我的插件使用的随机数生命周期较短。

最佳答案

我发现很少有关于 wordpress nonce 的文档。

虽然代码本身并不是很复杂,并且有一种方法可以简单地替换 wp_verify_nonce() 函数,但我相信在整个 wordpress 中很多地方都使用了 nonce,而且我不是相信我的替代品不会破坏其他东西。

由于这里或其他地方缺乏任何有用的建议,我放弃了让我的随机数更快过期的想法,只是添加了我自己的随机数/时间戳字段。

我正在编写的插件生成一个随机数,然后将其嵌入到脚本 block 中,然后将其呈现在网页中。当页面中的 Javascript 与 WordPress admin-ajax.php 通信时,它会发回随机数。然后,Wordpress 使用 wp_verify_nonce() 验证随机数,如果随机数尚未过期(如您希望的 12 小时或 24 小时),则允许该请求。此检查还验证调用者的身份。

我所做的只是生成另一个随机数,一个加密的时间戳。它以与 WP nonce 相同的方式嵌入到 javascript 脚本 block 中。它以相同的方式重新传输,并以类似的方式验证:我解密并检查时间戳是否是“最近的”。
不同之处在于我的插件控制验证,因此我可以设置“新近度”的阈值。

关于wordpress - 我可以让我的 WordPress 随机数更快过期吗? (通过 wp_verify_nonce),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com