我是否必须在wordpress ajax中使用wp_create_nonce作为安全目的?

时间:2015-03-05 17:51:17

标签: javascript php jquery ajax wordpress

我正在创建一个插件。我知道如果我通过wordpress admin-ajax.php调用ajax,我应该使用wp_create_nonce来保护安全。

但我怎么只通过ajax中的php文件url调用该函数?那更快。我想知道,为了安全起见,我应该通过admin-ajax.php进行ajax调用,还是可以调用普通的php文件网址?

1 个答案:

答案 0 :(得分:0)

在ajax中调用带有标准php文件url的函数可能更快,但问题是你看到,php文件中的函数可以从任何地方通过ajax调用。

但另一方面,WordPress有一个内置系统,用于验证ajax请求是否来自您的网站或其他网站。每当您使用wp_create_nonce时,WordPress都会创建一个验证码并将其发送到仅限您的网站中的任意页面,这是因为所请求的页面位于您的网站中。然后,WordPress使用该号码与创建的初始号码(also known as the nonce)进行交叉检查。

因此使用wp_create_nonce非常安全,这也是最佳做法。