[ejabberd] Allow new user registration from defined range of IP

Badlop badlop at gmail.com
Wed Apr 1 14:53:51 MSD 2009

2009/3/31 Дмитрий Сиваченко <mitya at cavia.pp.ru>:
> Is there any possibility to allow new user registration only when client
> connects from some range of IP (defined in config file)?
> I want to allow registered clients to connect from any IP, but to
> allow new user registration only when client comes from our
> company's network because too many trash-spam accounts are being
> created otherwise ;(

Your users now register using mod_register,
which implements XEP-0077: In-Band Registration

mod_register does not implement filtering by IP,
and you can't use a network firewall because XEP-0077 is used over the
standard 5222 port.

A solution would be to use a web registration service in a custom
port, so you can filter access using a firewall. One web page could be
mod_register_web. I describe that possibility now.

* ejabberd trunk SVN (or ejabberd 2.1.0 or newer, once released)
* mod_register_web from ejabberd-modules SVN
* firewall to block the port to certain IP addresses


Brief how-to:
1. Install ejabberd trunk SVN
2. Configure ejabberd_captcha
3. Install mod_register_web, and configure to listen in port 5283 (for example)
4. Check you can register accounts using http://yourserver:5283/register/
5. Disable account registration in mod_register
6. Using firewall, filter what IPs can access the port 5283


More information about the ejabberd mailing list