问题描述

有什么区别,应该使用哪一个?

我知道 wp_verify_nonce 检查时间限制,check_admin_referer 我认为调用 wp_verify_nonce 以及检查一个管理网址段,但我有点困惑我应该使用哪个和什么时候。

谢谢你的清晰。

最佳解决方案

我以为 check_admin_referer 检查了这个随机数 (它确实调用 wp_verify_nonce 和引用 url),在挖掘到核心代码之后,我意识到它没有这样做,认为这是一个我报告的错误,Ryan Boren 回答说:

Actually, if the nonce is valid the referrer should not be checked. The unreliability of referrers is one of the reasons that nonces are used. Nonces replace referrer checking entirely. The only time we check the referrer is when handling the -1 backward compatibility condition. -1 means that someone is not using nonces so we fall back to referrer checking. This usage is now very rare. check_admin_referer() is badly named now that it almost never does referrer checking. It would be better named something like check_nonce(), but we keep it as is for back compat and old times sake.

所以实际上没有区别。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。