使用 phpmyadmin 批量修改 Wordpress 注册用户权限

想到要修改注册用户权限是因为前两天 ppiOS问答 被一位恶意用户发布了一篇恶意的黑帽SEO文章。虽然我已经在 ppiOS问答 后台设置了用户提交的问题默认处于草稿状态,但是这个恶意发文章的用户显然是了解 Wordpress 机制的。尽管没有提供后台接口,但是他还是成功的跳过管理员的审核发布了一篇软文。我发现后第一时间就想到:糟糕,用户权限没有分配好!

之前不了解 Wordpress 的用户注册机制,为了方便用户提问我把新用户注册后的角色统一的设置成了作者,没想到这次却被人利用了这个漏洞。痛定思痛,我研究了一下 Wordpress 中关于用户权限的内容,在 wp-usermeta 中,结构比较特殊,但是结合另一篇文章的指点,还是参悟出了批量修改用户权限的方法。

执行如下的 SQL 语句可以显示你的 Wordpress 中所有用户的权限设置:

小插曲:服务器竟然检测到我贴的 SQL 语句,在预览文章时提示 405 NOT ALLOWED,估计是避免 SQL 注入吧! ASERVER 真有意思!

在 ppiOS 问答中查询结果如图:

可见,管理员的身份标示为

a:1:{s:13:"administrator";s:1:"1";}

而作者的身份标示则是

a:1:{s:6:"author";s:1:"1";}

我们的最终目的是把作者角色的用户全部转换为贡献者(contributor,只能提交文章,不能改变文章状态,即不能发表),那么 contributor 的字段是什么呢?

a:1:{s:11:"contributor";s:1:"1";}

因此我们要做的是把所有用户除了管理员的权限全部改为贡献者,SQL 语句如下:

修改完悲催的发现,原来 Wordpress 还是有方便的图形化界面来批量修改权限的。在后点,【用户】选项卡,右上方的下拉菜单,【显示选项】,选择一次显示的用户数从20改到200就差不多了……然后再批量修改就好……

时间: 2024-11-02 02:00:06

使用 phpmyadmin 批量修改 Wordpress 注册用户权限的相关文章

phpMyadmin创建数据库和设置用户权限图解

先来配置phpmyadmin配置,要不无法登录的. 接着还要进入phpmyadmin目下下的libraries目录,修改config.default.php文件.找到$cfg['Servers'][$i]['password']  = ' ', 修改为$cfg['Servers'][$i]['password']      = '123456′;    123456就是您想要的密码,重启mysql后新密码生效. 第一步:管理员权限账号登陆phpMyAdmin,一般用root登录 第二部:创建要设

使用phpMyAdmin批量修改Mysql数据表前缀的方法_Mysql

多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的批量修改数据库中表前缀的方法,适用于修改数据库中相同前缀且数据表较多的情况. 此例中假定修改名为"www_sdck_cn"的数据库中前缀为"phpcms_"的表,并将所有符合条件表的前缀修改为"sdck_". 1.用phpMyAdmin

获取wordpress注册用户的数量

方法一  代码如下 复制代码 global $wpdb $users = $wpdb->get_var("select count(id) from $wpdb->users"); echo "总共有 ".$users." 位注册用户"; 方法二  代码如下 复制代码 <?php $users=wp_list_authors('echo=0&exclude_admin=0&hide_empty=0&opt

Delphi修改操作注册表权限的代码_Delphi

需要uses jclwin32, AccCtrl; 此文件需要安装JCL 复制代码 代码如下: function AllowRegKeyForEveryone(Key: HKEY; Path: string): Boolean; var WidePath: PWideChar; Len: Integer; begin case Key of HKEY_LOCAL_MACHINE: Path := 'MACHINE\' + Path; HKEY_CURRENT_USER: Path := 'CUR

WordPress判断用户角色和权限等级及整合数据库导致后台登录无权限

WordPress判断用户角色和权限 其实判断WordPress用户角色和权限是非常少用的,对于普通的WordPress博主而言,可能这个功能不太常用,但是开放注册的WordPress而言,这个功能可能就会用到了.而子凡也就是因为需要做用户数据的整合及同步,在昨天子凡就发过一篇博客<WordPress数据库整合导致后台登录无权限解决方法>,其中就涉及到了WordPress用户的权限问题,所以这里子凡整理了一篇比较全面的文章,大家可以参考学习了解一下. 首先了解一下WordPress不同用户.不

linux系统批量修改用户密码

脚本目的:批量修改linux系统用户密码 条件:必须是修改的用户是root,因为只有root才有权限使用passwd命令 说明:先把IP.用户.密码.端口信息写到old_info文件中,脚本从这个文件读取对应的信息,利用expect免交互登陆系统.将随机生成的8位密码修改为root用户新密码.然后将新密码保存到net_info文件中. 1 2 3 4 5 # cat old_info  #     ip     user    passwd    port #------------------

如何使用DSMOD命令来批量修改AD用户的属性

利用DSMOD命令对AD用户帐号属性进行批量修改,比如用户描述,办公室地址,电话号码,部门,公司名等等. 需在安装了活动目录的服务器上才能运行该命令,于是我在DC上新建了一个"mod.bat"的批处理文件,用记事本编辑内容如下: dsmod user "cn=ABC,ou=users,ou=YourCompany,dc=Yourdomain,dc=com" -desc "YourCompany IT System Engineer" -offic

向MySQL增加新用户权限

mysql|用户权限 你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用mysql客户安装新用户.这些例子假定权限根据以前的章节描述的缺省被安装.这意味着为了改变,你必须在mysqld正在运行同一台机器上,你必须作为MySQL root用户连接,并且root用户必须对mysql数据库有insert权限和reload管理权限.另外,如果你改变了root用户口令,你必须如

在MySQL数据库增加新用户权限简介

有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用mysql客户安装新用户.这些例子假定权限根据以前的章节描述的缺省被安装.这意味着为了改变,你必须在mysqld正在运行同一台机器上,你必须作为MySQL root用户连接,并且root用户必须对mysql数据库有insert权限和reload管理权限.另外,如果你改变了root用户口令,你必须如下的mysql命令指定它.