WordPress 4无效用户名特殊字符问题

时间:2015-05-22 作者:Ady

我有一些丹麦用户使用像æøå这样的特殊字符,他们无法登录我的wordpress博客。我在4.2.2和4.1.5上尝试了一个新的安装,但它不起作用,例如Andrew Schønnemann使用简单的密码,但它不起作用,收到消息ERROR: Invalid username. Lost your password?. 但对于用户Andrew Schonnemann 很好,可能是什么问题?

2 个回复
最合适的回答,由SO网友:Ady 整理而成

找到答案,创建了以下函数:

function wscu_sanitize_user ($username, $raw_username, $strict) {
    $username = wp_strip_all_tags ($raw_username);
    return $username;
}
add_filter (\'sanitize_user\', \'wscu_sanitize_user\', 10, 3);

SO网友:Rarst

您是通过常规方式创建用户还是以某种方式导入用户?

尝试创建此类用户WP会阻止我这样做:

错误:此用户名无效,因为它使用非法字符。请输入有效的用户名。

原因是用户名是通过validate_username(), 其中运行sanitize_user() 在严格模式下。这将可用字符减少到基本ASCII集。

简而言之,WP并不认为这是一个有效的用户名。

所以问题是,在你的情况下,这真的是用户名吗?您的用户可能会将用户名与不用于登录的名/姓字段混淆。

如果您确实想支持这样的用户名,那么必须通过挂钩覆盖WP验证。这可能需要进行一些认真的测试,以确保它正常工作,并且不会引入安全问题。

结束
WordPress 4无效用户名特殊字符问题 - 小码农CODE - 行之有效找到问题解决它

WordPress 4无效用户名特殊字符问题

时间:2015-05-22 作者:Ady

我有一些丹麦用户使用像æøå这样的特殊字符,他们无法登录我的wordpress博客。我在4.2.2和4.1.5上尝试了一个新的安装,但它不起作用,例如Andrew Schønnemann使用简单的密码,但它不起作用,收到消息ERROR: Invalid username. Lost your password?. 但对于用户Andrew Schonnemann 很好,可能是什么问题?

2 个回复
最合适的回答,由SO网友:Ady 整理而成

找到答案,创建了以下函数:

function wscu_sanitize_user ($username, $raw_username, $strict) {
    $username = wp_strip_all_tags ($raw_username);
    return $username;
}
add_filter (\'sanitize_user\', \'wscu_sanitize_user\', 10, 3);

SO网友:Rarst

您是通过常规方式创建用户还是以某种方式导入用户?

尝试创建此类用户WP会阻止我这样做:

错误:此用户名无效,因为它使用非法字符。请输入有效的用户名。

原因是用户名是通过validate_username(), 其中运行sanitize_user() 在严格模式下。这将可用字符减少到基本ASCII集。

简而言之,WP并不认为这是一个有效的用户名。

所以问题是,在你的情况下,这真的是用户名吗?您的用户可能会将用户名与不用于登录的名/姓字段混淆。

如果您确实想支持这样的用户名,那么必须通过挂钩覆盖WP验证。这可能需要进行一些认真的测试,以确保它正常工作,并且不会引入安全问题。

相关推荐

如何将Java脚本添加到Custom-Page.php模板?

如何将javascript添加到自定义页面。php模板?如何使从w3schools ajax教程获得的以下javascript在自定义页面上工作。php模板?任何帮助都将不胜感激。工作javascript包含在以下HTML中:<!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse;&#x