Code Monkey home page Code Monkey logo

exopite-anti-spam's Introduction

Exopite-Anti-Spam

Anti Spam plugin with timestamp, honeypot (random location), token matching, bad/spam word filtering, email and domain blacklist and an image captcha.

Description

Get rid of the Spam

This solution won't stop all spam on your site, but it should reject most of it. There is evidence to suggest that forms without CAPTCHA receive 20% - 30% more conversions, so you might want to disable CAPTCHA for further conversions due to the small costs of extra spam. Not to mention that the legal status of Google's reCaptcha is questionable under the current GDPR.

The plugin adds a timestamp, a honeypot with random location, token matching, bad/spam word filtering, email and domain blacklist and an image captcha to your Contact Form 7 forms by adding the shortcode [easimagecaptcha] to the form editor where you want the captcha to appear. This plugin uses the Font Awesome fonts as SVGs to display the icons used in the captcha.

Features

  • GDPR compliant
  • Simple to use settings page for each contact from
  • Text and error messages are translatable
  • New image CAPTCHA each time form loads or submitted
  • Customizable icon amount
  • Customizable selection amount
  • Loads with Ajax so as not to be cached by caching plugins
  • Hidden honeypot field with a random position
  • Timestamp against bots (min 3 sec max 5 min)
  • Token matching
  • Bad/spam word filtering
  • Honeypot with random location
  • E-Mail and domain blacklist

GDPR compliant

The plugin does not use session and/or cookies nor save any private data.

Simple to use settings page for each contact from

You can turn on/off features in each form.

Text and error messages are translatable

Texts and error messages can be translated into any language, so -in this was- they can be personalized.

Customizable icon and selection amount

You can customize the amount of icons to display and the icons to select.

Loads with Ajax so as not to be cached by caching plugins

You can load the whole Contact Form 7 with AJAX or only the image captcha and the timestamp.
If you load the whole Contact Form 7 with AJAX the spam-bots can not find any form to work with.
To activate this function please use the [contact-form-7-ajax id="YOUR-CF7-ID" title="YOUR-CF7-TITLE"] shortcode. If you load the image captcha and the timestamp with AJAX your caching plugin will not cache those.
With this option enabled, visitors with JavaScript disabled, can not send any E-Mails with the form.

Honeypot with random location

Honeypot is a computer security mechanism. It is a decoy that looks and operates like a normal form field, to protect by attract and detect potential attackers. With honeypot the plugin can detect if they are being targeted by cyber threats. Basically, it's a extra form field to detect whether the form filled by a genuine person or a spam-bot. The field is an invisible fields on the form. Invisible is different than hidden! Bots understand hidden fields and they will ignore it. The label is set to instruct the end user to absolutely nothing with the field and just leave it empty. The technique rely on the assumption, that an automated bot/script will complete every field in the form. However, some will get through, but not many. The plugin also display the honeypot field in the form in a random location. Keep moving it around between the valid fields to prevent the spam-bot writer to detect the field easily.

Timestamp

The plugin also apply a timestamp as a hidden input on the form to ensure the minimum and maximum age of the "session". On submission, the plugin will compare the submitted timestamp with the timestamp when the form was displayed. If it is more than 5 minutes or less than 3 seconds, then it is very likely an automated bot/script, because a bot 'types' much faster than a human.

Token matching

The plugin will generate an anonymous "token" on each form request, this is essentially a unique secret code. This token will be encrypted with a random salt and also is going to be applied as a hidden input on the form when it is generated in the browser. After the submission of the form, first the token will be checked against the database and then stored for a months. What this does is ensure that, on every submission of the form, is your form and not some automated bot/script try to submission the from a different server. It also ensure that, every form used only one time. Spammer can download the form and submit it multiple times.

Bad/spam word filtering

Spam emails are different from email written by humans. Most of the time significantly different. Especially using words like "vicodin" or "viagra". Those words are useful indicators for spam. The plugin will search this words in text and textarea fields. If any found, then it is very likely written by an automated bot/script.

E-Mail and domain blacklist

The plugin allows you to filter certain email addresses and domains.

Compatibility

  • Contact Form 7 - Repeatable Fields
  • Drag and Drop Multiple File Upload - Contact Form 7
  • Really Simple CAPTCHA
  • Popup for Contact Form 7
  • Redirection for Contact Form 7
  • Advanced CF7 DB
  • Contact Form 7 - Dynamic Text Extension
  • Contact Form 7 Syntax Highlighting
  • Contact Form 7 - Blacklist Unwanted Email
  • Contact Form 7 - Show Page
  • Contact Form 7 Email Spam Blocker
  • Contact Form 7 Database
  • Contact Form CFDB7
  • Contact Form Entries

Not with whole form AJAX loading

  • Contact Form 7 Conditional Fields
  • Contact Form 7 Datepicker

Screenshot

Installation

  1. Upload the content of exopite-anti-spam to the /wp-content/plugins/exopite-anti-spam/ directory

  2. Activate the plugin through the 'Plugins' menu in WordPress

Requirements

Server

  • WordPress 4.7+ (May work with earlier versions too)
  • PHP 7.0+ (Required)

Browsers

  • Modern Browsers
  • Firefox, Chrome, Safari, Opera, IE 10+
  • Tested on Firefox, Chrome, Edge, IE 11

CHANGELOG

= 20230203 =

  • Compatibility update for CF7 5.7.3
  • Change "Timestamp" from 5 seconds to 3 seconds. Some user save forms in browser.

= 20220620 =

  • Better error messages and logging.

= 20201127 =

  • Fix: The image captcha creates a PHP error if only one icon needs to be selected.

= 20200921 =

  • Fix: "WordPress database error You have an error in your SQL syntax;"
  • Remove: add_filter( 'wpcf7_verify_nonce', '__return_true' )

= 20191111 =

  • Add Plugin Update Checker 4.8

= 20191104 =

  • Initial release

LICENSE DETAILS

The GPL license of Exopite Antispam grants you the right to use, study, share (copy), modify and (re)distribute the software, as long as these license terms are retained.

SUPPORT/UPDATES/CONTRIBUTIONS

If you use my program(s), I would greatly appreciate it if you kindly give me some suggestions/feedback. If you solve some issue or fix some bugs or add a new feature, please share with me or mke a pull request. (But I don't have to agree with you or necessarily follow your advice.)

Before open an issue please read the readme (if any :) ), use google and your brain to try to solve the issue by yourself. After all, Github is for developers.

My updates will be irregular, because if the current stage of the program fulfills all of my needs or I do not encounter any bugs, then I have nothing to do.

I provide no support. I wrote these programs for myself. For fun. For free. In my free time. It does not have to work for everyone. However, that does not mean that I do not want to help.

I've always tested my codes very hard, but it's impossible to test all possible scenarios. Most of the problem could be solved by a simple google search in a matter of minutes. I do the same thing if I download and use a plugin and I run into some errors/bugs.

DISCLAMER

NO WARRANTY OF ANY KIND! USE THIS SOFTWARES AND INFORMATIONS AT YOUR OWN RISK! READ DISCLAMER! License: GNU General Public License v3

forthebadge forthebadge

exopite-anti-spam's People

Contributors

joesz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

exopite-anti-spam's Issues

Update Version Info

Can you Update Version info for actual WordPress Version?
i get info that this plugin is abandoned

Shortcode won't work and network error code

Hi,

if i iuse the Shortcode [easimagecaptcha] on my Site. Nothing appear, just the Text. The Plugin is activated.

And i get on /wp-admin/admin-ajax.php result HTTP-Code 500
Request: action | "eap_get_acceptance_token"

Warning: Undefined array key "your-name"

i got these errors. maybe its not PHP8 compatible?

Warning: Undefined array key "your-name" in /httpdocs/wp-content/plugins/exopite-anti-spam/public/class-exopite-anti-spam-public.php on line 919

Warning: Undefined array key "your-email" in /httpdocs/wp-content/plugins/exopite-anti-spam/public/class-exopite-anti-spam-public.php on line 958

Warning: Undefined array key "your-subject" in /httpdocs/wp-content/plugins/exopite-anti-spam/public/class-exopite-anti-spam-public.php on line 919

Warning: Undefined array key "your-message" in /httpdocs/wp-content/plugins/exopite-anti-spam/public/class-exopite-anti-spam-public.php on line 917

French Translation

Hello,

I would like to translate the captcha text into French for my own use but I am not a PHP developer.

Can you tell me how to proceed?

I would be happy to help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.