getgrav / getgrav/grav-plugin-form

Feature Proposal: Form content filters

Open
#273 4 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
PHP
Stars
64
Forks
80
Avg merge
10h 13m
Merged PRs (30d)
9

Description

## The Issue:
In the past view days I got a **lot** of spam through a contact form on my website. I get about three spam mails a day.

## How to fix?
It would be great if you could manage filters in the Plugin settings for Emails and form content. If I had this filtering available I could enter the key words that are in all of those spam mails to prevent future messages. All of those spam mails contain the keywords `cashnow.cars`, `Loan` and `Payday`.

## How to implement?
It would be great if you can configure a set of filters in the plugin settings page and load them into each form separately. Like:

```yaml
form:
filters: filter1, filter2
name: contact-form
...
```

## Is this even possible?
Yes it is. But its just a matter of time to get it done as it requires to create a new settings page to manage the filters, adding the parsing of the `filters` tag within the forms as well as making the filtering system itself.

----
In the case you have more questions about what I mean or how I would like it to be and I don't respond to your massage on Github, contact me at admin.atjontv@atvg-studios.at and inform me about your message.

PS: Thanks to every dev at Grav for reading my proposal!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the plugin settings page, the form parser that would handle the `filters` tag, and the existing form validation or filtering entry points. Compare the proposed YAML configuration with current form configuration, then define the settings, filter assignment, and spam-blocking behavior before implementation; done means configured keywords can prevent matching form messages.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.