在我的插件中'代码,在激活/停用/卸载时,我用来执行这样的check_admin_referer()。
if ( ! current_user_can( 'activate_plugins' ) )
wp_die(__("Insufficient privilege for the required operation"));
$plugin = isset( $_REQUEST['plugin'] ) ? $_REQUEST['plugin'] : '';
check_admin_referer( "deactivate-plugin_{$plugin}" );
实际上,谷歌搜索Wordpress'安全良好的编程习惯,这似乎是一个众所周知的做法。 但是,我在使用TGM-Plugin-Activation框架时遇到了麻烦。
此框架用于处理某个插件或主题需要的情况,作为依赖项,其他插件。这个框架让我通过设置一个页面来处理这个案例,最终用户可以在这个页面上安装/更新所需的依赖项。 但是,这个页面有自己的(花哨的?)随机数验证机制,它完全崩溃了我的check_admin_referer()验证。
根据TGMPA开发人员的说法,激活/取消激活后的check_admin_referer()是多余的,因为它是由Wordpress本身在内部执行的。
简而言之,我的问题是:check_admin_referer()真的是一个安全措施吗?真的需要吗?或者可以安全地忽略它,正如TGMPA开发人员所建议的那样?
提前感谢您的帮助。