因此,我们在WP中使用了一些自定义内容,其中之一是PW恢复表单。我们在内部使用它来设置密码
wp_set_password($password, $userId)
最近,我们发现包含撇号字符的密码有问题
"
使用此设置密码将使用户无法使用刚才设置的相同密码登录。我们没有在登录过程中应用任何内容,我可以验证在wp_set_password()
函数以及登录表单。
任何关于我可以在哪里查找潜在错误的指针都会很好。感谢您抽出时间。
Update 1
使用
wp_signon()
用户可以使用密码登录
Test"123
使用wp-login.php?page=login
并输入密码Test"123
不起作用
目前正在寻找所有可能干扰此功能的过滤器。。。
Update 2
在我看来,这像是一个未记录的wordpress功能/bug?
所有插件都已停用。未修改的主题twentefifteen
已使用。使用更改密码wp_set_password()
更改数据库中的PW。但是,使用密码"
或\'
将导致您无法使用登录wp-login.php
. 它将给您提供无效凭据错误。
但是,使用相同的登录数据和wp_signon()
它起作用了。我只是不知所措,可能正在转发到wp bug论坛。
Update 3
我正在使用这个插件来重置和测试登录。
function resetLogin() {
// wp_set_password(\'Test"123\', 1);
wp_update_user([
\'ID\' => 1,
\'user_pass\' => \'Test"123\'
]);
}
//add_action(\'after_setup_theme\', \'resetLogin\');
function testLogin() {
var_dump(wp_signon([
\'user_login\' => \'admin\',
\'user_password\' => \'Test"123\',
\'remember\' => true
], false));
}
//add_action(\'after_setup_theme\', \'testLogin\');
为了测试,我在add\\u action-resetLogin中添加了一次注释,并在页面上执行任何操作之前立即将其停用。然后,这会立即中断wp登录时的登录。php