How do i block specific users from public forms

I have developed a system for the management of mountain bike trails. The system includes a public form whereby trail users can report trail issues or incidents. This is useful as it goes straight to our trail crew who can respond directly. We have a couple of people who like to abuse this system to submit abusive messages. They use made-up email addresses each time. Is it possible to block users while still keeping it a public form with no login?

  1. Create a Short Text field on your form called IP Address.
  2. Create a Knack object called Blocked IP Addresses.
  3. Add a hidden Table View of Blocked IP Addresses on the page that contains the Form.
  4. Get the IP Address of the visitor when the form loads (use Knack’s view-render event). Populate the IP Address field. Add spammers to your Blocked IP Addresses records.
  5. If the visitor’s IP Address is in the Blocked IP Addresses table, then hide the form.

While this method is far from foolproof, it helps for blocking specific users. The same method can be used with the user’s device ID (for example) other than IP address.

Ian
Knack Pros

Awesome thanks heaps, that has worked!

This is awesome, just what I need. I am trying to put the users IP address in a field on a form that is submitted.

Can someone show me the code that gets the IP address and puts it in the Knack text field please? Or point me to the documentation on this. Thanks!