Version Description
Added wpcf7_honeypot_accessibility_message and wpcf7_honeypot_container_css filters, i18n support.
Download this release
Release Info
Developer | DaoByDesign |
Plugin | Contact Form 7 Honeypot |
Version | 1.8 |
Comparing to | |
See all releases |
Code changes from version 1.7 to 1.8
- honeypot.php +78 -44
- languages/contact-form-7-honeypot.pot +94 -0
- readme.txt +31 -23
honeypot.php
CHANGED
@@ -1,14 +1,16 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Contact Form 7 Honeypot
|
4 |
-
Plugin URI: http://www.
|
5 |
Description: Add honeypot anti-spam functionality to the popular Contact Form 7 plugin.
|
6 |
-
Author:
|
7 |
-
Author URI: http://www.
|
8 |
-
Version: 1.
|
|
|
|
|
9 |
*/
|
10 |
|
11 |
-
/* Copyright 2015
|
12 |
|
13 |
This program is free software; you can redistribute it and/or modify
|
14 |
it under the terms of the GNU General Public License as published by
|
@@ -26,35 +28,57 @@ Version: 1.7
|
|
26 |
|
27 |
*/
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
|
52 |
|
53 |
/**
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
function wpcf7_honeypot_shortcode_handler( $tag ) {
|
59 |
$tag = new WPCF7_Shortcode( $tag );
|
60 |
|
@@ -68,13 +92,14 @@ function wpcf7_honeypot_shortcode_handler( $tag ) {
|
|
68 |
$atts = array();
|
69 |
$atts['class'] = $tag->get_class_option( $class );
|
70 |
$atts['id'] = $tag->get_option( 'id', 'id', true );
|
71 |
-
$atts['message'] = __('Please leave this field empty.','
|
72 |
$atts['name'] = $tag->name;
|
73 |
$atts['type'] = $tag->type;
|
74 |
$atts['nomessage'] = $tag->get_option('nomessage');
|
75 |
$atts['validation_error'] = $validation_error;
|
|
|
76 |
$inputid = (!empty($atts['id'])) ? 'id="'.$atts['id'].'" ' : '';
|
77 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $atts['name'] . '-wrap" style="
|
78 |
$html .= '<input ' . $inputid . 'class="' . $atts['class'] . '" type="text" name="' . $atts['name'] . '" value="" size="40" tabindex="-1" />';
|
79 |
if (!$atts['nomessage']) {
|
80 |
$html .= '<span class="hp-message">'.$atts['message'].'</span>';
|
@@ -86,7 +111,12 @@ function wpcf7_honeypot_shortcode_handler( $tag ) {
|
|
86 |
}
|
87 |
|
88 |
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
90 |
add_filter( 'wpcf7_validate_honeypot', 'wpcf7_honeypot_filter' ,10,2);
|
91 |
|
92 |
function wpcf7_honeypot_filter ( $result, $tag ) {
|
@@ -105,9 +135,13 @@ function wpcf7_honeypot_filter ( $result, $tag ) {
|
|
105 |
}
|
106 |
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
|
|
|
|
|
|
111 |
|
112 |
function wpcf7_add_tag_generator_honeypot() {
|
113 |
if (class_exists('WPCF7_TagGenerator')) {
|
@@ -121,8 +155,8 @@ function wpcf7_add_tag_generator_honeypot() {
|
|
121 |
function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
122 |
if (class_exists('WPCF7_TagGenerator')) {
|
123 |
$args = wp_parse_args( $args, array() );
|
124 |
-
$description = __( "Generate a form-tag for a spam-stopping honeypot field. For more details, see %s.", '
|
125 |
-
$desc_link = '<a href="https://wordpress.org/plugins/contact-form-7-honeypot/" target="_blank">'.__( 'CF7 Honeypot', '
|
126 |
?>
|
127 |
<div class="control-box">
|
128 |
<fieldset>
|
@@ -135,7 +169,7 @@ function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
|
135 |
</th>
|
136 |
<td>
|
137 |
<input type="text" name="name" class="tg-name oneline" id="<?php echo esc_attr( $args['content'] . '-name' ); ?>" /><br>
|
138 |
-
<em><?php echo esc_html( __( 'For better security, change "honeypot" to something less bot-recognizable.', '
|
139 |
</td>
|
140 |
</tr>
|
141 |
|
@@ -159,11 +193,11 @@ function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
|
159 |
|
160 |
<tr>
|
161 |
<th scope="row">
|
162 |
-
<label for="<?php echo esc_attr( $args['content'] . '-nomessage' ); ?>"><?php echo esc_html( __( 'Don\'t Use
|
163 |
</th>
|
164 |
<td>
|
165 |
<input type="checkbox" name="nomessage:true" id="<?php echo esc_attr( $args['content'] . '-nomessage' ); ?>" class="messagekillvalue option" /><br />
|
166 |
-
<em
|
167 |
</td>
|
168 |
</tr>
|
169 |
|
@@ -188,7 +222,7 @@ function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
|
188 |
<td>
|
189 |
<?php echo esc_html( __( 'Name', 'contact-form-7' ) ); ?><br />
|
190 |
<input type="text" name="name" class="tg-name oneline" /><br />
|
191 |
-
<em><small><?php echo esc_html( __( 'For better security, change "honeypot" to something less bot-recognizable.', '
|
192 |
</td>
|
193 |
<td></td>
|
194 |
</tr>
|
@@ -209,8 +243,8 @@ function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
|
209 |
</tr>
|
210 |
<tr>
|
211 |
<td colspan="2">
|
212 |
-
<input type="checkbox" name="nomessage:true" id="nomessage" class="messagekillvalue option" /> <label for="nomessage"><?php echo esc_html( __( 'Don\'t Use
|
213 |
-
<em
|
214 |
</td>
|
215 |
</tr>
|
216 |
|
@@ -219,7 +253,7 @@ function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
|
219 |
</tr>
|
220 |
</table>
|
221 |
|
222 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", '
|
223 |
</form>
|
224 |
</div>
|
225 |
<?php }
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Contact Form 7 Honeypot
|
4 |
+
Plugin URI: http://www.nocean.ca/plugins/honeypot-module-for-contact-form-7-wordpress-plugin/
|
5 |
Description: Add honeypot anti-spam functionality to the popular Contact Form 7 plugin.
|
6 |
+
Author: Nocean
|
7 |
+
Author URI: http://www.nocean.ca
|
8 |
+
Version: 1.8
|
9 |
+
Text Domain: contact-form-7-honeypot
|
10 |
+
Domain Path: /languages
|
11 |
*/
|
12 |
|
13 |
+
/* Copyright 2015 Ryan McLaughlin (email : hello@nocean.ca)
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
28 |
|
29 |
*/
|
30 |
|
31 |
+
|
32 |
+
/**
|
33 |
+
*
|
34 |
+
* Check if CF7 is installed and activated.
|
35 |
+
* Deliver a message to install CF7 if not.
|
36 |
+
*
|
37 |
+
*/
|
38 |
+
add_action( 'admin_init', 'wpcf7_honeypot_has_parent_plugin' );
|
39 |
+
function wpcf7_honeypot_has_parent_plugin() {
|
40 |
+
if ( is_admin() && current_user_can( 'activate_plugins' ) && !is_plugin_active( 'contact-form-7/wp-contact-form-7.php' ) ) {
|
41 |
+
add_action( 'admin_notices', 'wpcf7_honeypot_nocf7_notice' );
|
42 |
+
|
43 |
+
deactivate_plugins( plugin_basename( __FILE__ ) );
|
44 |
+
|
45 |
+
if ( isset( $_GET['activate'] ) ) {
|
46 |
+
unset( $_GET['activate'] );
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
function wpcf7_honeypot_nocf7_notice() { ?>
|
52 |
+
<div class="error">
|
53 |
+
<p>
|
54 |
+
<?php printf(
|
55 |
+
__('%s must be installed and activated for the CF7 Honeypot plugin to work', 'contact-form-7-honeypot'),
|
56 |
+
'<a href="'.admin_url('plugin-install.php?tab=search&s=contact+form+7').'">Contact Form 7</a>'
|
57 |
+
); ?>
|
58 |
+
</p>
|
59 |
+
</div>
|
60 |
+
<?php
|
61 |
}
|
62 |
|
63 |
|
64 |
/**
|
65 |
+
*
|
66 |
+
* Initialize the shortcode
|
67 |
+
* This lets CF7 know about Mr. Honeypot.
|
68 |
+
*
|
69 |
+
*/
|
70 |
+
add_action('wpcf7_init', 'wpcf7_add_shortcode_honeypot', 10);
|
71 |
+
function wpcf7_add_shortcode_honeypot() {
|
72 |
+
wpcf7_add_shortcode( 'honeypot', 'wpcf7_honeypot_shortcode_handler', true );
|
73 |
+
}
|
74 |
|
75 |
+
|
76 |
+
/**
|
77 |
+
*
|
78 |
+
* Shortcode handler
|
79 |
+
* This is where we generate the honeypot HTML from the shortcode options
|
80 |
+
*
|
81 |
+
*/
|
82 |
function wpcf7_honeypot_shortcode_handler( $tag ) {
|
83 |
$tag = new WPCF7_Shortcode( $tag );
|
84 |
|
92 |
$atts = array();
|
93 |
$atts['class'] = $tag->get_class_option( $class );
|
94 |
$atts['id'] = $tag->get_option( 'id', 'id', true );
|
95 |
+
$atts['message'] = apply_filters('wpcf7_honeypot_accessibility_message', __('Please leave this field empty.','contact-form-7-honeypot'));
|
96 |
$atts['name'] = $tag->name;
|
97 |
$atts['type'] = $tag->type;
|
98 |
$atts['nomessage'] = $tag->get_option('nomessage');
|
99 |
$atts['validation_error'] = $validation_error;
|
100 |
+
$atts['css'] = apply_filters('wpcf7_honeypot_container_css', 'display:none !important; visibility:hidden !important;');
|
101 |
$inputid = (!empty($atts['id'])) ? 'id="'.$atts['id'].'" ' : '';
|
102 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $atts['name'] . '-wrap" style="'.$atts['css'].'">';
|
103 |
$html .= '<input ' . $inputid . 'class="' . $atts['class'] . '" type="text" name="' . $atts['name'] . '" value="" size="40" tabindex="-1" />';
|
104 |
if (!$atts['nomessage']) {
|
105 |
$html .= '<span class="hp-message">'.$atts['message'].'</span>';
|
111 |
}
|
112 |
|
113 |
|
114 |
+
/**
|
115 |
+
*
|
116 |
+
* Honeypot Validation Filter
|
117 |
+
* Bots beware!
|
118 |
+
*
|
119 |
+
*/
|
120 |
add_filter( 'wpcf7_validate_honeypot', 'wpcf7_honeypot_filter' ,10,2);
|
121 |
|
122 |
function wpcf7_honeypot_filter ( $result, $tag ) {
|
135 |
}
|
136 |
|
137 |
|
138 |
+
/**
|
139 |
+
*
|
140 |
+
* Tag generator
|
141 |
+
* Adds Honeypot to the CF7 form editor
|
142 |
+
*
|
143 |
+
*/
|
144 |
+
add_action( 'wpcf7_admin_init', 'wpcf7_add_tag_generator_honeypot', 35 );
|
145 |
|
146 |
function wpcf7_add_tag_generator_honeypot() {
|
147 |
if (class_exists('WPCF7_TagGenerator')) {
|
155 |
function wpcf7_tg_pane_honeypot($contact_form, $args = '') {
|
156 |
if (class_exists('WPCF7_TagGenerator')) {
|
157 |
$args = wp_parse_args( $args, array() );
|
158 |
+
$description = __( "Generate a form-tag for a spam-stopping honeypot field. For more details, see %s.", 'contact-form-7-honeypot' );
|
159 |
+
$desc_link = '<a href="https://wordpress.org/plugins/contact-form-7-honeypot/" target="_blank">'.__( 'CF7 Honeypot', 'contact-form-7-honeypot' ).'</a>';
|
160 |
?>
|
161 |
<div class="control-box">
|
162 |
<fieldset>
|
169 |
</th>
|
170 |
<td>
|
171 |
<input type="text" name="name" class="tg-name oneline" id="<?php echo esc_attr( $args['content'] . '-name' ); ?>" /><br>
|
172 |
+
<em><?php echo esc_html( __( 'For better security, change "honeypot" to something less bot-recognizable.', 'contact-form-7-honeypot' ) ); ?></em>
|
173 |
</td>
|
174 |
</tr>
|
175 |
|
193 |
|
194 |
<tr>
|
195 |
<th scope="row">
|
196 |
+
<label for="<?php echo esc_attr( $args['content'] . '-nomessage' ); ?>"><?php echo esc_html( __( 'Don\'t Use Accessibility Message (optional)', 'contact-form-7' ) ); ?></label>
|
197 |
</th>
|
198 |
<td>
|
199 |
<input type="checkbox" name="nomessage:true" id="<?php echo esc_attr( $args['content'] . '-nomessage' ); ?>" class="messagekillvalue option" /><br />
|
200 |
+
<em><?php echo __('If checked, the accessibility message will not be generated. <strong>This is not recommended</strong>. If you\'re unsure, leave this unchecked.','contact-form-7-honeypot'); ?></em>
|
201 |
</td>
|
202 |
</tr>
|
203 |
|
222 |
<td>
|
223 |
<?php echo esc_html( __( 'Name', 'contact-form-7' ) ); ?><br />
|
224 |
<input type="text" name="name" class="tg-name oneline" /><br />
|
225 |
+
<em><small><?php echo esc_html( __( 'For better security, change "honeypot" to something less bot-recognizable.', 'contact-form-7-honeypot' ) ); ?></small></em>
|
226 |
</td>
|
227 |
<td></td>
|
228 |
</tr>
|
243 |
</tr>
|
244 |
<tr>
|
245 |
<td colspan="2">
|
246 |
+
<input type="checkbox" name="nomessage:true" id="nomessage" class="messagekillvalue option" /> <label for="nomessage"><?php echo esc_html( __( 'Don\'t Use Accessibility Message (optional)', 'contact-form-7' ) ); ?></label><br />
|
247 |
+
<em><?php echo __('If checked, the accessibility message will not be generated. <strong>This is not recommended</strong>. If you\'re unsure, leave this unchecked.','contact-form-7-honeypot'); ?></em>
|
248 |
</td>
|
249 |
</tr>
|
250 |
|
253 |
</tr>
|
254 |
</table>
|
255 |
|
256 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7-honeypot' ) ); ?><br /><input type="text" name="honeypot" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
257 |
</form>
|
258 |
</div>
|
259 |
<?php }
|
languages/contact-form-7-honeypot.pot
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 Contact Form 7 Honeypot
|
2 |
+
# This file is distributed under the same license as the Contact Form 7 Honeypot package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Contact Form 7 Honeypot 1.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/contact-form-7-"
|
7 |
+
"honeypot\n"
|
8 |
+
"POT-Creation-Date: 2016-02-04 18:24:35+00:00\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
|
13 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
|
16 |
+
#: honeypot.php:55
|
17 |
+
msgid "%s must be installed and activated for the CF7 Honeypot plugin to work"
|
18 |
+
msgstr ""
|
19 |
+
|
20 |
+
#: honeypot.php:95
|
21 |
+
msgid "Please leave this field empty."
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
+
#: honeypot.php:149 honeypot.php:151
|
25 |
+
msgid "Honeypot"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: honeypot.php:158
|
29 |
+
msgid ""
|
30 |
+
"Generate a form-tag for a spam-stopping honeypot field. For more details, "
|
31 |
+
"see %s."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: honeypot.php:159
|
35 |
+
msgid "CF7 Honeypot"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: honeypot.php:168 honeypot.php:223
|
39 |
+
msgid "Name"
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: honeypot.php:172 honeypot.php:225
|
43 |
+
msgid ""
|
44 |
+
"For better security, change \"honeypot\" to something less bot-recognizable."
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: honeypot.php:178 honeypot.php:236
|
48 |
+
msgid "ID (optional)"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: honeypot.php:187 honeypot.php:240
|
52 |
+
msgid "Class (optional)"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: honeypot.php:196 honeypot.php:246
|
56 |
+
msgid "Don't Use Accessibility Message (optional)"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: honeypot.php:200 honeypot.php:247
|
60 |
+
msgid ""
|
61 |
+
"If checked, the accessibility message will not be generated. <strong>This is "
|
62 |
+
"not recommended</strong>. If you're unsure, leave this unchecked."
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: honeypot.php:212
|
66 |
+
msgid "Insert Tag"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: honeypot.php:256
|
70 |
+
msgid "Copy this code and paste it into the form left."
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#. Plugin Name of the plugin/theme
|
74 |
+
msgid "Contact Form 7 Honeypot"
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#. Plugin URI of the plugin/theme
|
78 |
+
msgid ""
|
79 |
+
"http://www.nocean.ca/plugins/honeypot-module-for-contact-form-7-wordpress-"
|
80 |
+
"plugin/"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#. Description of the plugin/theme
|
84 |
+
msgid ""
|
85 |
+
"Add honeypot anti-spam functionality to the popular Contact Form 7 plugin."
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#. Author of the plugin/theme
|
89 |
+
msgid "Nocean"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#. Author URI of the plugin/theme
|
93 |
+
msgid "http://www.nocean.ca"
|
94 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Contact Form 7 Honeypot ===
|
2 |
Tags: honeypot, antispam, captcha, spam, form, forms, contact form 7, contactform7, contact form, cf7, cforms, Contact Forms 7, Contact Forms, contacts
|
3 |
Requires at least: 3.5
|
4 |
-
Tested up to: 4.
|
5 |
-
Stable tag: 1.
|
6 |
Contributors: DaoByDesign
|
7 |
-
Donate link: http://www.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -16,36 +16,38 @@ This simple addition to the wonderful <a href="http://wordpress.org/extend/plugi
|
|
16 |
|
17 |
The principle of a honeypot is simple -- <em>bots are stupid</em>. While some spam is hand-delivered, the vast majority is submitted by bots scripted in a specific (wide-scope) way to submit spam to the largest number of form types. In this way they somewhat blindly fill in fields, regardless of whether the field should be filled in or not. This is how a honeypot catches the bot -- it introduces an additional field in the form that if filled out will cause the form not to validate.
|
18 |
|
19 |
-
Follow us on [Twitter](
|
20 |
-
|
21 |
-
= IMPORTANT NOTE: =
|
22 |
-
If you are using CF7 3.6+, use the latest version of this plugin. If you are using an older version of CF7, you will need to use [CF7 Honeypot v1.3](http://downloads.wordpress.org/plugin/contact-form-7-honeypot.1.3.zip).
|
23 |
|
24 |
<strong>Support can be found [here](http://wordpress.org/support/plugin/contact-form-7-honeypot).</strong>
|
25 |
|
26 |
-
Visit the [Contact Form 7 Honeypot plugin page](http://www.
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
== Installation ==
|
29 |
|
30 |
-
1. Install using Wordpress
|
31 |
-
1.
|
32 |
-
1. Edit a form in Contact Form 7
|
33 |
-
1. Choose "Honeypot" from the
|
34 |
1. Insert the generated tag anywhere in your form. The added field uses inline CSS styles to hide the field from your visitors.
|
35 |
|
36 |
= Installation & Usage Video =
|
37 |
[youtube https://www.youtube.com/watch?v=yD2lBrU0gA0]
|
38 |
-
For the more visually-minded, here is a [short video showing how to install and use CF7 Honeypot](https://www.youtube.com/watch?v=yD2lBrU0gA0) from the fine folks at RoseApple Media.
|
39 |
|
40 |
= Altering the Honeypot Output HTML [ADVANCED] =
|
41 |
-
|
42 |
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
add_filter('wpcf7_honeypot_html_output', 'my_honeypot_override', 10, 2 ); ?>`
|
49 |
|
50 |
== Frequently Asked Questions ==
|
51 |
|
@@ -55,13 +57,16 @@ add_filter('wpcf7_honeypot_html_output', 'my_honeypot_override', 10, 2 ); ?>`
|
|
55 |
|
56 |
= Are honeypots better than CAPTCHAs? =
|
57 |
|
58 |
-
* This largely depends on the quality of the CAPTCHA. Unfortunately the more difficult a CAPTCHA is to break, the more
|
59 |
|
60 |
= Can I modify the HTML this plugin outputs? =
|
61 |
|
62 |
-
* Yep!
|
63 |
|
64 |
== Changelog ==
|
|
|
|
|
|
|
65 |
= 1.7 =
|
66 |
Provides backwards compatibility for pre-CF7 4.2, introduces ability to remove accessibility message.
|
67 |
|
@@ -93,12 +98,15 @@ Update to improve outputted HTML for better standards compliance when the same f
|
|
93 |
Small update to add better i18n and WPML compatibility.
|
94 |
|
95 |
= 1.1 =
|
96 |
-
Small update for W3C compliance. Thanks
|
97 |
|
98 |
= 1.0.0 =
|
99 |
* Initial release.
|
100 |
|
101 |
== Upgrade Notice ==
|
|
|
|
|
|
|
102 |
= 1.7 =
|
103 |
Recommended update for all users using CF7 3.6 and above.
|
104 |
|
1 |
=== Contact Form 7 Honeypot ===
|
2 |
Tags: honeypot, antispam, captcha, spam, form, forms, contact form 7, contactform7, contact form, cf7, cforms, Contact Forms 7, Contact Forms, contacts
|
3 |
Requires at least: 3.5
|
4 |
+
Tested up to: 4.5
|
5 |
+
Stable tag: 1.8
|
6 |
Contributors: DaoByDesign
|
7 |
+
Donate link: http://www.nocean.ca/buy-us-a-coffee/
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
16 |
|
17 |
The principle of a honeypot is simple -- <em>bots are stupid</em>. While some spam is hand-delivered, the vast majority is submitted by bots scripted in a specific (wide-scope) way to submit spam to the largest number of form types. In this way they somewhat blindly fill in fields, regardless of whether the field should be filled in or not. This is how a honeypot catches the bot -- it introduces an additional field in the form that if filled out will cause the form not to validate.
|
18 |
|
19 |
+
Follow us on [Twitter](https://twitter.com/NoceanCA) and on [Facebook](https://www.facebook.com/nocean.ca/) for updates and news.
|
|
|
|
|
|
|
20 |
|
21 |
<strong>Support can be found [here](http://wordpress.org/support/plugin/contact-form-7-honeypot).</strong>
|
22 |
|
23 |
+
Visit the [Contact Form 7 Honeypot plugin page](http://www.nocean.ca/plugins/honeypot-module-for-contact-form-7-wordpress-plugin/) for additional information or to [buy us a coffee](http://www.nocean.ca/buy-us-a-coffee/) to say thanks.
|
24 |
+
|
25 |
+
= Localization/Translation =
|
26 |
+
If you'd like to translate this plugin, please [send us your .PO files](mailto:hello@nocean.ca). The plugin's base .POT file is [available here](http://plugins.svn.wordpress.org/contact-form-7-honeypot/trunk/languages/).
|
27 |
+
|
28 |
+
= IMPORTANT NOTES: =
|
29 |
+
If you are using CF7 3.6+, use the latest version of this plugin. If you are using an older version of CF7, you will need to use [CF7 Honeypot v1.3](http://downloads.wordpress.org/plugin/contact-form-7-honeypot.1.3.zip).
|
30 |
|
31 |
== Installation ==
|
32 |
|
33 |
+
1. Install using the Wordpress "Add Plugin" feature -- just search for "Contact Form 7 Honeypot".
|
34 |
+
1. Confirm that [Contact Form 7](https://wordpress.org/plugins/contact-form-7/) is installed and activated. Then activate this plugin.
|
35 |
+
1. Edit a form in Contact Form 7.
|
36 |
+
1. Choose "Honeypot" from the CF7 tag generator. <em>Recommended: change the honeypot element's ID.</em>
|
37 |
1. Insert the generated tag anywhere in your form. The added field uses inline CSS styles to hide the field from your visitors.
|
38 |
|
39 |
= Installation & Usage Video =
|
40 |
[youtube https://www.youtube.com/watch?v=yD2lBrU0gA0]
|
41 |
+
For the more visually-minded, here is a [short video showing how to install and use CF7 Honeypot](https://www.youtube.com/watch?v=yD2lBrU0gA0) from the fine folks at RoseApple Media. **Note:** This video was not produced by the CF7 Honeypot developer.
|
42 |
|
43 |
= Altering the Honeypot Output HTML [ADVANCED] =
|
44 |
+
While the basic settings should keep most people happy, we've added several filters for you to further customize the honeypot field. The three filters available are:
|
45 |
|
46 |
+
* `wpcf7_honeypot_accessibility_message` - Adjusts the default text for the (hidden) accessibility message.
|
47 |
+
* `wpcf7_honeypot_container_css` - Adjusts the CSS that is applied to the honeypot container to keep it hidden from view.
|
48 |
+
* `wpcf7_honeypot_html_output` - Adjusts the entire HTML output of the honeypot element.
|
49 |
+
|
50 |
+
For examples of the above, please see this [recipe Gist](https://gist.github.com/nocean/953b1362b63bd3ecf68c).
|
|
|
51 |
|
52 |
== Frequently Asked Questions ==
|
53 |
|
57 |
|
58 |
= Are honeypots better than CAPTCHAs? =
|
59 |
|
60 |
+
* This largely depends on the quality of the CAPTCHA. Unfortunately the more difficult a CAPTCHA is to break, the more unfriendly it is to the end user. This honeypot module was created because we don't like CAPTCHAs cluttering up our forms. Our recommendation is to try this module first, and if you find that it doesn't stop enough spam, then employ more challenging anti-spam techniques.
|
61 |
|
62 |
= Can I modify the HTML this plugin outputs? =
|
63 |
|
64 |
+
* Yep! See the **Installation** section for more details and [this Gist](https://gist.github.com/nocean/953b1362b63bd3ecf68c) for examples.
|
65 |
|
66 |
== Changelog ==
|
67 |
+
= 1.8 =
|
68 |
+
Added wpcf7_honeypot_accessibility_message and wpcf7_honeypot_container_css filters, i18n support.
|
69 |
+
|
70 |
= 1.7 =
|
71 |
Provides backwards compatibility for pre-CF7 4.2, introduces ability to remove accessibility message.
|
72 |
|
98 |
Small update to add better i18n and WPML compatibility.
|
99 |
|
100 |
= 1.1 =
|
101 |
+
Small update for W3C compliance. Thanks [Jeff](http://wordpress.org/support/topic/plugin-contact-form-7-honeypot-not-w3c-compliant)</a>.
|
102 |
|
103 |
= 1.0.0 =
|
104 |
* Initial release.
|
105 |
|
106 |
== Upgrade Notice ==
|
107 |
+
= 1.8 =
|
108 |
+
Recommended update for all users using CF7 3.6 and above.
|
109 |
+
|
110 |
= 1.7 =
|
111 |
Recommended update for all users using CF7 3.6 and above.
|
112 |
|