Hello,
MailPoet 3 is the latest MailPoet plugin version and it is currently the actively maintained and developed version.
MailPoet 2 is gradually reaching the end of its life, and while it is getting security updates, consider upgrading to MailPoet 3 if you want to get new features.
If you are experiencing spammy automated subscriptions, the primary tool to stop them is still to enable reCAPTCHA. You can do so from your plugin’s settings (MailPoet 2 > Settings > Advanced > Enable reCAPTCHA).
We strongly encourage you to enable captcha in this case, as from what we have seen it is the reliable way to stopping such subscriptions.
If you really cannot enable reCAPTCHA, the less secure option is to make repeated subscription throttling more aggressive.
By default the throttling window is 24 hours, with a starting delay of 1 minute.
You could make the defense more aggressive and increase these limits by adding this code to your theme’s functions.php file, after <?php code:
function mp2_increase_subscription_throttling_window($window) {
return 3600*24*7; // 7 days
}
function mp2_increase_subscription_throttling_delay_base($delay) {
return 60*2; // 2 minutes
}
add_filter('wysija_subscription_limit_window', 'mp2_increase_subscription_throttling_window');
add_filter('wysija_subscription_limit_base', 'mp2_increase_subscription_throttling_delay_base');
What this code will do is consider last 7 days worth of subscription data (as opposed to just last day), and will make delays for repeat subscriptions more severe (5 minutes for second subscription, 10 for third, 20 for fourth and so on, growing exponentially).
Unfortunately, making subscription throttling more aggressive is not the full solution, and once throttling window ends – some subscriptions may still slip through.
Unfortunately, the existing reCAPTCHA approach offers the the most reliable protection against such attacks. We have already considered a few other options, including using nonces, but most options can be still exploited by a determined attacker, so they aren’t helpful.
If you have a better suggestions on how to tackle the issue – please let us know.
You have asked whether MailPoet 3 is affected by this issue. Right now we are not aware of any such cases, especially as subscription process for MP3 is slightly different and more technically complex.
However, conceptually it could still be vulnerable to such attack if the attacker specifically prepared for it. And any other subscription form of most other plugins or services would be vulnerable as well.
Using reCAPTCHA, however, would usually put a stop to it.
The downside of a hosted tool like MailPoet is that a) sites are hosted individually, so one cannot see subscriptions across all MP2 sites, cross reference them and put a stop to such attacks, b) it takes time for sites to be updated, making some mitigation strategies impossible.
This is where a tool like MailChimp has a strength – since all subscriptions ultimately hit their servers, they have full control over each and every subscription network-wide and can actively monitor and mitigate such attacks.
TL;DR: keep your plugin updated and enable reCAPTCHA from your plugin’s settings (MailPoet 2 > Settings > Advanced > Enable reCAPTCHA).
There currently are no better tools to stop such subscription attacks reliably.
[ Signature deleted ]