我的WordPress插件Ajax load More目前使用nonce变量并在前端调用admin-ajax.php,这有助于保护网址免受某些类型的滥用,恶意或其他行为的侵害。
我遇到的问题是各种缓存插件,如WP Super Cache,WP Fastest Cache和W3 Total Cache都在缓存nonce变量,这会在插件尝试验证nonce时导致错误。
我的问题是,我是否需要nonce验证??
该插件仅使用WP_query()检索发布数据,而不向DB发送任何内容,因此在我看来它可能有点过分。
答案 0 :(得分:1)
“Nonce验证”用于防范Cross-Site-Request-Forgery (CSRF) Attacks。我在引号中使用它,因为wordpress实际上并不生成nonce(number-used-once),而是重用它们。
简而言之,确保请求来自您的域而不是攻击者。 nonce“证明”请求者拥有浏览器阻止其他人拥有的秘密信息。
你需要保护吗?如果请求有效,那么是。这意味着如果您正在创建或修改任何内容,那么您需要某种形式的保护。浏览器将保护您的读取请求,因此您无需担心它们。
For more information(我写的一篇博文)。