FV Antispam is a powerful and simple antispam plugin. It moves any spambot comments directly to trash and allows Akismet to just deal with human spam.
Prioritized issue groups from the latest Plugin Check scan
Security
316
11 issue groups
I18n
160
4 issue groups
Maintainability
79
10 issue groups
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<td><strong>$label:</strong></td>"'.
Sample message
Processing form data without nonce verification.
Sample message
Missing $domain parameter in function call to __().
Sample message
Mismatched text domain. Expected 'fv-antispam' but got 'antispam_bee'.
Sample message
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Sample message
$_GET['ip'] not unslashed before sanitization. Use wp_unslash() or similar
Sample message
Detected usage of a non-sanitized input variable: $_GET['ip']
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST[$protect]. Check that the array index exists before using it.
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Processing form data without nonce verification.
Sample message
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $comment->comment_post_ID at "SELECT * FROM $wpdb->posts WHERE ID='$comment->comment_post_ID' LIMIT 1"
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Unescaped parameter $comment->comment_post_ID used in $wpdb->get_row()\n$comment->comment_post_ID used without escaping.
Sample message
The $text parameter must be a single text string literal. Found: $sQuestion
Sample message
Unescaped parameter $sTableName used in $wpdb->get_var()\n$sTableName assigned unsafely at line 71.
Sample message
var_export() found. Debug code should not normally be used in production.
Sample message
rand() is discouraged. Use the far less predictable wp_rand() instead.
Sample message
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using file_put_contents(). Detected usage of __FILE__ or __DIR__ magic constant. Use wp_upload_dir() to get the uploads directory path or save to the database instead.
Sample message
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().
Sample message
wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.
Sample message
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
Potential connections found in static code analysis.
Outbound calls
11
External assets
0
Incoming endpoints
2
No external asset domains detected.
No public endpoints detected.
wp_ajax
First score snapshot
v2.8
26
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 26 | 571 | 332 | 239 | v2.8 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.