WP Spam Question Filter

This plugin fights comment and registration spam on your website.

v1.0.1Otto KekäläinenUpdated Added 2k+ installs100% rating
35
Score
63
Errors
30
Warnings
+0
Change

Category Scores

Security0
Repo73
Performance100
Maintainability88

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

93 findings

Security

62

6 issue groups

I18n

21

4 issue groups

Maintainability

6

4 issue groups

Repo Compliance

3

3 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<a href=\"javascript:void(0)\" onclick=\"wp_spam_question_filter_delete("$id", "$i")\">"'.24
Category
Security
Occurrences
24
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<a href=\"javascript:void(0)\" onclick=\"wp_spam_question_filter_delete("$id", "$i")\">"'.

ERRORI18nText Domain MismatchMismatched text domain. Expected 'wp-spam-question-filter' but got 'wp_spam_question_filter'.14
Category
I18n
Occurrences
14
Severity
error

Sample message

Mismatched text domain. Expected 'wp-spam-question-filter' but got 'wp_spam_question_filter'.

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.12
Category
Security
Occurrences
12
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.12
Category
Security
Occurrences
12
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_POST[&#039;seravo_simple_answer&#039;]5
Category
Security
Occurrences
5
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[&#039;seravo_simple_answer&#039;]

WARNINGSecurityRequest data is not unslashed$_POST[&#039;seravo_simple_answer&#039;] not unslashed before sanitization. Use wp_unslash() or similar5
Category
Security
Occurrences
5
Severity
warning

Sample message

$_POST[&#039;seravo_simple_answer&#039;] not unslashed before sanitization. Use wp_unslash() or similar

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().5
Category
I18n
Occurrences
5
Severity
error

Sample message

Missing $domain parameter in function call to __().

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_POST[&#039;seravo_simple_answer_question_hash&#039;]. Check that the array index exists before using it.4
Category
Security
Occurrences
4
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;seravo_simple_answer_question_hash&#039;]. Check that the array index exists before using it.

WARNINGMaintainabilitytrademarked termThe plugin name includes a restricted term. Your chosen plugin name - "WP Spam Question Filter" - contains the restricted term "wp" which cannot be used at all in your plugin name.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "WP Spam Question Filter" - contains the restricted term "wp" which cannot be used at all in your plugin name.

WARNINGI18nDiscouraged text-domain loadingload_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.1
Category
I18n
Occurrences
1
Severity
warning

Sample message

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

Show 8 more
ERRORMaintainabilityrand rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORSupply ChainHidden files included1
Category
Supply Chain
Occurrences
1
Severity
error

Sample message

Hidden files are not permitted.

ERRORRepo Complianceinvalid license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Your plugin has an invalid license declared. Please update your readme with a valid SPDX license identifier.

ERRORMaintainabilityMissing direct file access protection1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 4.8 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

ERRORRepo Complianceplugin header invalid license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Invalid License: 3-clause BSD. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

ERRORI18ntextdomain invalid format1
Category
I18n
Occurrences
1
Severity
error

Sample message

The "Text Domain" header in the plugin file should only contain lowercase letters, numbers, and hyphens. Found "wp_spam_question_filter".

ERRORMaintainabilitytrunk stable tag1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Incorrect Stable Tag. It's recommended not to use "Stable Tag: trunk". Your Stable Tag is meant to be the stable version of your plugin and it needs to be exactly the same with the Version in your main plugin file's header. Any mismatch can prevent users from downloading the correct plugin files from WordPress.org.

External Connections

Not analyzed yet.

Score History

First score snapshot

v1.0.1

35

Latest

Findings
93
Errors
63
Warnings
30
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

29 nodes

Related Plugins

Simply Show Hooks

2k+ active installs

100
Filter for Divi

2k+ active installs

99
Gallery Styles

500 active installs

99
98
Default Media Uploader View

600 active installs

98