WordPress自定义管理功能安全性

时间:2012-10-01 作者:SpyrosP

在我的管理面板中有一个案例,我需要调用驻留在自己php文件中的函数,并发出GET请求。此函数实际上是从数据库中删除条目。

因此,我想确保这不能从管理员用户以外的任何人调用。最好的方法是什么?请注意我的示例。php?文件名=…\'脚本将直接执行,并应在“管理”面板上刷新页面后返回。

我如何正确地确保这一点?在Wordpress默认安全措施的控制下,有没有更好的方法来做到这一点?

如果能够在php代码的上下文中执行get\\u选项,那也太好了。

1 个回复
SO网友:onetrickpony

阅读关于"Nonces".

创建一个并将其附加到URL:

$url = \'example.php?filename=whatever&nonce=\' . wp_create_nonce(\'my_sensitive_action\');
当您的请求得到满足时,请检查:

// here verify if the nonce was used before
if(wp_verify_nonce($_GET[\'nonce\'], \'my_sensitive_action\')){
  // it\'s ok, it wasn\'t used before
}
这些nonce的有效性也有时间限制,比如一天左右。如果在此期间内未使用nonce,它将过期。。。

结束