Hi Alistair
in a PHP action you may use this code:
if ($_SERVER['REMOTE_ADDR'] == '94.102.xx.xx'){
return "blocked";
}
then in the PHP action behaviors, select "Events" and add one event named "blocked", then in that new event you can drag an "Abort" action
The PHP action with the abort action inside should be the first thing in the form's first page in order to block processing before anything else
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
not really, your event named should exactly match the returned value, which is "blocked", lowercase b
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
that code will not work, you need to check if the ip is in_array, another way to do this is using the Abort action only with a Run Conditions behavior:

list all your ips in the Value2 box
additionally, in the next update you will be able to do a "Contains" check:

Do you use the ReCaptcha ? are you sure it's setup correctly ? if it can not block spam then this is human spam, you may try the security question too
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
Sure, the new update is now ready for download v8.0.32
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.