WordPress security plugin with malware scanner, IP blocking, audit logs, antivirus scans, firewall, 2FA, brute force login security, and more.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
587
16 issue groups
Security
430
7 issue groups
I18n
86
1 issue group
Performance
5
1 issue group
Sample message
Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "PHP_CodeSniffer".
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" $stackPtr "'.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Can't __set() $name; setting doesn't exist"'.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'wd_2fa_init_provider_' . $slug".
Sample message
Mismatched text domain. Expected 'defender-security' but got 'plugin-cross-sell-textdomain'.
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_tests_dir".
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
var_export() found. Debug code should not normally be used in production.
Sample message
Unescaped parameter $key_column used in $wpdb->query()\n$key_column assigned unsafely at line 423.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $column at \t\t\t\tSET `$column` = '$option_key',\n
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
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DONOTCACHEPAGE".
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "get_public_suffix".
Sample message
Attempting a database schema change is discouraged.
Sample message
File and folder names must not contain spaces or special characters.
Sample message
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Sample message
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using file_put_contents(). Detected usage of constant WPINC. Use wp_upload_dir() to get the uploads directory path or save to the database instead.
Sample message
error_reporting() can lead to full path disclosure.
Sample message
Processing form data without nonce verification.
Sample message
Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
Sample message
Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$filter_name".
Sample message
Detected usage of a non-sanitized input variable: $_ENV[$variableName]
Sample message
Unescaped parameter $column used in $wpdb->query()\n$column assigned unsafely at line 154.
Potential connections found in static code analysis.
Outbound calls
265
External assets
10
Incoming endpoints
25
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
1 more hidden
3 score snapshots
v6.1.0
24
Latest
v6.0.1
24
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 24 | 1,143 | 550 | 593 | v6.1.0 | 2.0.0 |
| 24 | 1,141 | 547 | 594 | v6.0.1 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.