RSMail prevent spamming sign ups

Preventing spam sign ups on RSMail can only be done using captcha. There is no actual backup solution if you do not wish to use the RSMail module without captcha. The most common thing with spammers is that they usually spam from one IP not multiples. To prevent them from spamming I have developed a simple IP checker. RSMail has a field from storing IP's in the Joomla Database. The solution I have developed simply checks to see if the person submitting the information has already submitted an email address. While I realise this is probably a bad solution for those who are using their office connection to sign up I am not going to even cater for those people. Use your home internet or mobile phones data plan.

Here is the process:

1) in the controller.php file located at /components/com_rsmail/ you need to add under the $mailHelper = new rmHelpter(); line (approximately line 568)

     // check if duplicate ip - suncoast web solutions
        $ipaddr = $_SERVER['REMOTE_ADDR'];
        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('*');
        $query->from('#__rsmail_subscribers');
        $query->where('SubscriberIp = \'' . $ipaddr . '\'');    
        $db->setQuery($query);
        $results = $db->loadObjectList();
         $results;

        foreach ($results as $item) {
            $ipused = $item->SubscriberIp;    
        }

Then just underneath that change the following line:

if (!$mailHelper->isSubscribed($email,$IdList)) {

to:

if (!$mailHelper->isSubscribed($email,$IdList) && $ipused != $ipaddr) {

save and upload the change.

This will now query the sites database to compare the users IP vs the ones from previous submissions.