Log in

Project Info


  • Category: Spam
  • License: GNU General Public License (GPL) version 2
  • Updated: 2013-8-3
  • Downloads: 6814
  • Recommendations: 62

Other Projects

View Ray J's plugins

Spam Login Filter for Elgg 1.8

Blocks registrations using external service stopforumspam.com, internal domain blacklist and internal e-mail blacklist.

Last updated 242 days ago

This plugin validates every registration against stopforumspam, fassim, internal domains, e-mails and IP blacklist.

The five validations can be enabled or disabled, and, to save external resources, the plugin validates the registration in the order below:

  1. Check IP against IP blacklist cache. (Cache expires once a week).
  2. If negative, check e-mail´s domain against domain blacklist.
  3. If negative, check e-mail against e-mail blacklist.
  4. If negative, check e-mail and IP against stopforumspam.com
  5. If negative, check e-mail and IP against fassim.com


  • Four validations can be enabled or disabled.
  • The plugin always checks de HTTP Status of stopforumspam.com and fassim.com. If the service is down, the plugin ignores the service and validates the user.
  • Optionally, the plugin can send, by e-mail, notifications about the blocked spammer.
  • If the user has a StopForumSpam API Key (Optional), the plugin can notify stopforumspam about the spammer.
  • The plugin doesn´t extend the registration form, so must be compatible with every profile plugin. (Tested with Profile Manager).


  • Latest 1.7 or 1.8 version of slyhne's IP address tracker plugin, found here: http://community.elgg.org/plugins/446342/1.8.1/ip-address-tracker-plugin (Tracker Plugin stores IP Adress from user. I think that is wrong create from scratch something that works well).
  • API Key from http://www.stopforumspam.com/ (Optional)
  • API Key from http://www.fassim.com/ (Optional)
  • PHP CURL function enabled. If you use a shared host, check with your host admin.
  • ELGG "daily" cron must be running.


  • Install the plugin below the tracker plugin.
  • Optionally gets a stopforumspam.com API Key.
  • Optionally gets a fassim.com API Key.
  • Modify and save the settings.
  • Done.

To do

  • Cache the blocked e-mails in internal e-mail blacklist, to save external resources from stopforumspam.com and fassim.com.
  • Create internal whitelist for IPs and Domains (Dhrup's request)
  • Collect and show some spam statistics (Blocks by region, etc)

Final notes:

  • If you like it, recommend it! Recommending, you don´t help me: you help the community, showing the best rated plugins and saving hours for new users.
  • Thanks to slyhne for the modifications in tracker plugin and to DhrupDeScoop for the "moral support" during the development.
  • Fassim.com is in beta stage, so the keys are sent, but not right away. If you dont receive your key, just use stopforumspam.com and wait for the fassim´s key.


  • A big "thank you" to Matt Beckett for helping me to develop the 1.8 version. Their efforts was priceless.

Release Notes:

  • Official 1.8 release
  • Better plugin settings page
  • Corrected a issue envolving spam login filter and tidypics


  • Ray J 866 days ago

    First 1.8 release, friends. Was tested in a production enviroment, but can have some issues. As always, send me some feedback and happy elgging.

  • Matt Beckett 866 days ago

    I've had this on my live site for 5 days now, and I haven't once had to manually remove a spammer.

    Thanks for the mention Ray J.

  • Flexx 866 days ago

    Nice, quick question. Is this ok to be used with spam throttle?

  • Purus 866 days ago

    Again a Big "Recommendation" from my side. :)

  • rjcalifornia 866 days ago

    Hi Ray J 

    I will test this out! 

  • Matt Beckett 866 days ago

    @Flexx - Yes, this is perfectly ok to use with Spam Throttle.

  • Flexx 865 days ago

    Thans loads matt!

  • Purus 865 days ago

    I have enabled the daily cron. But I was thinking, whats the purpose of cron in this plugin..

  • R.Cerceau 865 days ago

    I´m using it and today I receive my first attack and the system was good to solve it.

    Um spammer foi bloqueado durante o registro no site.
    E-Mail: ch.r.i.s.o.g.sou.cons@gmail.com.
    Motivo: Stopforumspam e-mail blacklist.

    Great work!

  • R.Cerceau 865 days ago

    @purus  I´m agree.  The cron could be useless.

  • Ray J 865 days ago

    @Purus: The plugin blocks the spammer´s ip for about a week. The cron remove old IPs from the blocked list.

  • Purus 865 days ago

    @RayJ; Gotcha.. Now I like the "cron" idea. :)

  • spacestation-online 864 days ago

    Thank you for this plugin... was using somthin simular for my forums.. but many thanks for this one..

  • zirgit 843 days ago

    I have tested in production environment it works fine. Thanks a lot about this pluggin.

    But what about IP detection, I would like to contribute to stopforumspam.

  • zirgit 843 days ago

    I have tested in production environment it works fine. Thanks a lot about this pluggin.

    But what about IP detection, I would like to contribute to stopforumspam.

  • Ray J 842 days ago

    Zirgit: Explain better. The plugin has IP detection using the Tracker Plugin.

  • R 824 days ago

    This is a great plugin and works excellent! Got my first spammer blocked the next morning after install! Tested using Elgg 1.82 and works great so far. See report below,

    A spammer was blocked during registration.                     
    E-Mail: ceegeen@hotmail.com.
    Reason: Stopforumspam IP blacklist.


  • Ray J 824 days ago

    Rob, thanks for the feedback.

  • ghumanz 824 days ago

    Nice it is working all the way.............

  • R 821 days ago

    I tried to add a blacklist domain, mailinator.com and after clicking submit on the registration page I get a fatal error saying "Missing a required parameter, 'to' ". When I remove the entry from the domain blacklist, everything works fine. Any thoughts?

  • Ray J 821 days ago

    @Rob: I will make some tests. But should work.

  • R 818 days ago

    Here is the error log:


    [Sun Jan 22 11:48:19 2012] [error] [client] *** FATAL EXCEPTION *** : exception 'NotificationException' with message 'Missing a required parameter, 'to'' in /srv/www/climbnrun.com/public/engine/lib/notification.php:302\nStack trace:\n#0 /srv/www/climbnrun.com/public/mod/spam_login_filter/start.php(122): elgg_send_email('admin@climbnrun...', '', 'Spammer blocked', 'A spammer was b...')\n#1 /srv/www/climbnrun.com/public/mod/spam_login_filter/start.php(138): spam_login_filter_notify_admin('ttttt@mailinato...', '', 'Internal domain...')\n#2 /srv/www/climbnrun.com/public/mod/spam_login_filter/start.php(73): validateUser('ttttt@mailinato...', '')\n#3 [internal function]: spam_login_filter_verify_action_hook('action', 'register', true, NULL)\n#4 /srv/www/climbnrun.com/public/engine/lib/elgglib.php(974): call_user_func_array('spam_login_filt...', Array)\n#5 /srv/www/climbnrun.com/public/engine/lib/actions.php(97): elgg_trigger_plugin_hook('action', 'register', NULL, true)\n#6 /srv/www/climbnrun.com/public/engine/handlers/action_handler.php(20): action('register')\n#7 {main}, referer: http://climbnrun.com/register

  • R 818 days ago

    Foolish me!

    I forgot to set my email address in the spam filter plugin settings!!!

    works again!

  • R 818 days ago

    now I get a 403 forbidden error when I click register when this pulgin is enabled. Permissions erorr?


  • Matt Beckett 818 days ago

    Most likely you got yourself marked as a spammer :)

    Check to see if your IP address is in the blocked list.