Removing spam registrants

Is there a way of removing large numbers of false registrants without doing this one by one? Using OJS 3.02 Bootstrap.

If you can generate the list of users, you can use the mergeUsers tool:

Thanks. I have too many users to use mergeUsers tool.
Can someone please advise which file it is where I need to add some of the options listed in this link?

The mergeUsers tool would be most helpful, I think, in the case of a large number of users. In the other post, James describes using a PHP script to call the mergeUsers tool on a list of hundreds or thousands of usernames.

ReCAPTCHA and email validation are setup in

In my personal experience, we found that spammers had completed both ReCAPTCHA and email validation, so our best response was using the plugins:


Thanks. I can see it will be helpful to install a plugin to prevent spam registrants. But can I use it to delete a few thousand fake registrants? I can’t see how from the information.

If you are comfortable with SQL for database access, you can pull the list of usernames directly from the database. See for example:

In one case, we saw only illegitimate users coming from

In the past, I used the following query (in OJS 2.x) to describe user activity in order to identify suspect users:

	bit_or(r.role_id) roles,
	count(distinct a.article_id) articles,
	count(distinct e.article_id) editing,
	count(distinct v.review_id) reviews,
	group_concat(b.setting_value ORDER BY b.setting_value separator ' ') biography,
	group_concat(c.body ORDER BY c.body separator ' ') comments,
    group_concat(s.setting_value ORDER BY s.setting_value separator ' ') signature,
	count(distinct c.comment_id) comment_count
	users u
	left outer join user_settings b on (u.user_id = b.user_id and b.setting_name = 'biography')
	left outer join user_settings s on (u.user_id = s.user_id and s.setting_name = 'signature')
	left outer join comments c on (u.user_id = c.user_id)
	left outer join roles r on (u.user_id = r.user_id)
	left outer join articles a on (u.user_id = a.user_id and a.status in (1, 3))
	left outer join review_assignments v on (u.user_id = v.reviewer_id)
	left outer join edit_assignments e on (u.user_id = e.editor_id)
group by
1 Like

Thanks. I’m not a programmer and am not familiar with SQL. I was hoping for a hidden list where I could delete names! :stuck_out_tongue_winking_eye:

hi @ctgraham
I have a question with the formHoneypot plugin. I just installed it and when I go to settings and the first thing it tells me is: “Choose the field of the user registration form that you want to turn into a Honeypot for robots.” but I don’t see where I can choose this element, I only see the minimum and maximum times. Could you guide me?

What version and language are you using? In the OJS 3.x releases (plugin version 1.2 and later), the selection of an existing field was replaced by the automatic creation of a new custom field.