Answers:
我以为是check_admin_referer
检查的随机数(它的呼叫wp_verify_nonce
,并引用URL挖掘到核心代码后,我意识到,它没有这样做,我以为这是一个错误我报告说,它和赖恩·博伦说有以下。:
实际上,如果随机数有效,则不应检查引荐来源。引荐来源网址不可靠是使用随机数的原因之一。随机数完全替换引荐来源网址检查。我们唯一检查引荐来源网址的时间是在处理-1向后兼容条件时。-1表示某人没有使用随机数,因此我们退回到引荐来源检查。现在,这种用法非常罕见。由于几乎从未进行引荐来源检查,因此check_admin_referer()的名称很错误。最好将其命名为诸如check_nonce()之类的名称,但出于回溯兼容和旧时代的考虑,我们将其保持原样。
因此,实际上没有任何区别。
不要指望check_admin_referer
,要小心!
wp_verify_none
仅包括在_wpnonce
设置时的情况!!!DIE()
。相反,它返回false。查看以下伪代码(完整源代码在 这里):
function check_admin_referer( $action = -1, $query_arg = '_wpnonce' ) {
.....
$result = isset($_REQUEST[$query_arg]) ? wp_verify_nonce($_REQUEST[$query_arg], $action) : false;
do_action( 'check_admin_referer', $action, $result );
if ( ! $result && ! ( -1 == $action && strpos( $referer, $adminurl ) === 0 ) ) {
die(...);
}
return $result;
}