wordpress支持中文用户名注册的2种实现方法

之前写了一篇

 代码如下 复制代码

function ludou_non_strict_login( $username, $raw_username, $strict ) {
    if( !$strict )
        return $username;

    return sanitize_user(stripslashes($raw_username), false);
}
add_filter('sanitize_user', 'ludou_non_strict_login', 10, 3);

现在回过头看了一下,这篇教程对用户名的过滤太少,容易出现安全问题,今天介绍新的方法,借鉴了wp-includes/formatting.php中sanitize_user函数的写法,同样是将以下php代码复制到当前主题目录下的functions.php中,即可让WordPress支持使用中文用户名注册和登录:

 代码如下 复制代码

function ludou_sanitize_user ($username, $raw_username, $strict) {
  $username = wp_strip_all_tags( $raw_username );
  $username = remove_accents( $username );
  // Kill octets
  $username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
  $username = preg_replace( '/&.+?;/', '', $username ); // Kill entities

  // 网上很多教程都是直接将$strict赋值false,
  // 这样会绕过字符串检查,留下隐患
  if ($strict) {
    $username = preg_replace ('|[^a-z\p{Han}0-9 _.\-@]|iu', '', $username);
  }

  $username = trim( $username );
  // Consolidate contiguous whitespace
  $username = preg_replace( '|\s+|', ' ', $username );

  return $username;
}

add_filter ('sanitize_user', 'ludou_sanitize_user', 10, 3);

增加到function.php文件中之后你就可以在wordpress注册中加中文名字了哦。

时间: 2024-09-21 13:26:49

wordpress支持中文用户名注册的2种实现方法的相关文章

怎么让Wordpress 注册支持中文用户名

我们找到  代码如下 复制代码 sanitize_user在wp_includes/formatting.php中定义,其函数体如下: function sanitize_user( $username, $strict = false ) { $raw_username = $username; $username = wp_strip_all_tags( $username ); $username = remove_accents( $username ); // Kill octets

wordpress不支持中文用户名解决办法

 代码如下 复制代码 function ludou_non_strict_login( $username, $raw_username, $strict ) {     if( !$strict )         return $username;     return sanitize_user(stripslashes($raw_username), false); } add_filter('sanitize_user', 'ludou_non_strict_login', 10, 3

中文logo设计的10种秘传方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 1. 连接法--结合字体特征将笔画相连接的形式 2. 简化法--根据字体特点,利用视觉错觉合理地简化字体部分笔画的形式 3. 附加法--在字体外添加配合表现标示的图形的形式 4. 底图法--将字体镶嵌于色块或图案中的形式 5. 象征法--将字体的笔画进行象征性演变的形式 6. 柔美法--结合字体特征,运用波浪或卷曲的线条来表现的形式 7. 刚

解决wordpress不支持中文汉字用户名注册

搁置了好久的一个网站终于在昨天找到了一款适合的模板,也意味着最近可能要对那个网站动工了 然后一个小问题就是注册用户的时候不支持中文用户名,那个网站上打算互动的... SO 得想办法解决这个问题.. 其实也很简单上网搜索一下,中文的教程几乎是千篇一律地要修改WordPress的源文件formatting.php 至于怎么改呢?我也找到一段最简单的代码 将以下php代码复制到当前主题目录下的functions.php中, 就可以让WordPress支持使用中文用户名注册和登录了    代码如下 复制

wordpress中文用户名登录(用户名不能用中文)

wordpress不能注册中文用户名 我们可以通过做如下的修改来实现让wordpress允许使用中文用户名登录: 1.打开wp-includes/formatting.php文件 2.找到 function sanitize_user( $username, $strict = false ) {3.在紧接着下一行增加 $strict = false;通过简单的三部曲即可实现该功能,原理也很简单,强制使$strict = false,这样wordpress注册或修改用户名时就不会对用户名字符进行

WordPress不支持中文tag标签链接解决办法

首先,产生中文tag链接无法打开或者找不到博客文章的原因在于WordPress不支持中文的编码.那我们 就需要强制让WordPress能支持中文的编码形式,即UTF-8和GBK编码. 修改方法,首先修改WP-include中的classes.php文件(需要使用用专门的PHP编辑器工具,推荐 EditPlus),将第47行和第52行代码进行修改.  代码如下 复制代码 第47行原代码: $pathinfo = $_SERVER['PATH_INFO']; 替换为: $pathinfo = mb_

jquery 用户名验证(支持中文字母)

  <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/ 1999/xhtml"> <head> <meta http-equiv="co

Rollbase的云计算平台现在支持中文、日语、韩语等八种语言

Rollbase平台现在新增针对亚太云ISV和经销商的中文.日语和韩语语言支持 加利福尼亚州萨拉托加--(美国商业资讯)--Rollbase, Inc.是可实现云商业应用程序快速设计.开发和部署的平台即服务(PaaS)技术的创新者.公司今日宣布其产品现在支持中文.日语和韩语.每天都有数以千计的用户使用许许多多的Rollbase应用程序.其产品支持八种语言,包括有英语.德语.法语.西班牙语和荷兰语.亚太地区有越来越多公司和独立软件供应商(ISV)采用Rollbase的产品.他们期望受益于带商业应用

谷歌、雅虎支持中文域名搜索 有助提升搜索引擎优化_IT 业界

而中文域名也随着这些层出不穷的消息火热升温,其迅猛发展可谓势不可挡.如今,谷歌.雅虎也已开始支持中文域名搜索.只要人们在搜索引擎中输入目标网站已注册的中文域名,便可较为精确的锁定所需站点.此举的实行,对企业网站优化来讲绝对是一个天大的好消息. 中文域名搜索:符合中国人的语言习惯 我们知道,中国作为世界第一大人口国,从使用网络的人数以及互联网的普及率来讲都有着巨大的发展潜力.多数中国人通过网络查找信息更加习惯于输入自己知晓的关键字,因为人们虽然熟知某企业品牌但不一定知道该企业网站的英文网址是什么,