我正在一个Wordpress网站上制作100,000个以上的垃圾邮件帐户。尽管还有其他类型,但其中很多似乎都有一个以数字开头的用户名。看到第一个索引值是否是一个数字
所以我想问一下,是否有MYSQL
查询到select/delete
所有用户名都以数字开头的用户。
此问题的一个扩展是,无论这些用户是需要从用户表中删除还是用户元或其他表。
任何帮助表示赞赏。
我正在一个Wordpress网站上制作100,000个以上的垃圾邮件帐户。尽管还有其他类型,但其中很多似乎都有一个以数字开头的用户名。看到第一个索引值是否是一个数字
所以我想问一下,是否有MYSQL
查询到select/delete
所有用户名都以数字开头的用户。
此问题的一个扩展是,无论这些用户是需要从用户表中删除还是用户元或其他表。
任何帮助表示赞赏。
是的,有MySQL查询(当然)几乎应有尽有,下面的查询选择这样的用户,你只需要运行它几次:
SELECT * FROM wp_users WHERE user_login LIKE 'put_number_here%' OR user_nicename LIKE LIKE 'put_number_here%' OR display_name LIKE 'put_number_here%'
与起始号码更换put_number_here
并继续。
然后,保证这些用户不合法之后,你可以用几乎相同的查询删除:
DELETE FROM wp_users WHERE user_login LIKE 'put_number_here%' OR user_nicename LIKE LIKE 'put_number_here%' OR display_name LIKE 'put_number_here%'
编辑: 这里是用户定义的函数,用来检查是否从一个给定值字段是数字。
CREATE FUNCTION ISNUMERIC(myVal VARCHAR(1024))
RETURNS TINYINT(1) DETERMINISTIC
RETURN myVal REGEXP '^(-|\\+)?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+|[0-9]+)$';
谢谢。但是是否有任何通用查询(例如mysql函数)来查看第一个参数是否为数字。 –
不,你必须创建你自己的函数(所谓的UDF)。看到我的答案编辑。 – bodi0
好的。谢谢。将标记为答案。你也可以知道哪些wp表拥有新用户的信息。他们只是用户和user_meta表吗? –
作为一个侧面说明,你应该得到这个词围栏插件来增强安全性 – amaster
谢谢你的评论。已经使用si captcha,但仍然问题似乎坚持:)。 (也使用buddypress注册) –
我的WP网站之一我有类似的问题,我真的不希望用户注册反正,除非特别允许,所以我只需在注册页面上放置一个htaccess密码。只是一个想法,如果你真的不在乎是否有人注册。 – amaster