Media Vault

Protect attachment files from direct access using powerful and flexible restrictions. Offer safe download links for any file in your uploads folder.

v0.8.12Max GJ PanasUpdated Added 800 installs88% rating
34
Score
115
Errors
150
Warnings
+0
Change

Category Scores

Security0
Repo88
Performance100
Maintainability52

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

265 findings

Security

149

9 issue groups

Maintainability

60

9 issue groups

I18n

46

7 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$description'.42
Category
Security
Occurrences
42
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$description'.

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.37
Category
Security
Occurrences
37
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORI18nMissing Translators CommentA 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.27
Category
I18n
Occurrences
27
Severity
error

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.

WARNINGSecurityRequest data is not unslashed$_GET['args'] not unslashed before sanitization. Use wp_unslash() or similar26
Category
Security
Occurrences
26
Severity
warning

Sample message

$_GET['args'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['args']24
Category
Security
Occurrences
24
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['args']

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_actions".17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_actions".

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;11
Category
Maintainability
Occurrences
11
Severity
error

Sample message

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

WARNINGMaintainabilityMissing VersionResource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

ERRORI18nUnordered Placeholders TextMultiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$s", but got "%d, %s" in 'The post type of the post with ID %d, is not %s.'.8
Category
I18n
Occurrences
8
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$s", but got "%d, %s" in 'The post type of the post with ID %d, is not %s.'.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Use of a direct database call is discouraged.

Show 15 more
WARNINGMaintainabilityNo Caching6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGSecurityInput is not validated6
Category
Security
Occurrences
6
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTP_HOST']. Check that the array index exists before using it.

WARNINGSecurityMissing nonce verification5
Category
Security
Occurrences
5
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecuritywp redirect wp redirect5
Category
Security
Occurrences
5
Severity
warning

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.

ERRORMaintainabilityfile system operations is writable4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

ERRORI18nMissing Arg Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed constant3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DONOTCACHEOBJECT".

WARNINGMaintainabilityNon-prefixed function3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_mgjp_mv_activate_local".

ERRORSecurityUnsafe printing function3
Category
Security
Occurrences
3
Severity
error

Sample message

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

ERRORMaintainabilityunlink unlink2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERRORI18nMissing Singular Placeholder2
Category
I18n
Occurrences
2
Severity
error

Sample message

Missing singular placeholder, needed for some languages. See https://codex.wordpress.org/I18n_for_WordPress_Developers#Plurals

ERRORI18nText Domain Mismatch2
Category
I18n
Occurrences
2
Severity
error

Sample message

Mismatched text domain. Expected 'media-vault' but got 'as in: "the site\'s .htaccess file is not writable "'.

ERRORI18nToo Many Function Args2
Category
I18n
Occurrences
2
Severity
error

Sample message

Too many parameters passed to function "esc_html__()". Expected: 2 parameters, received: 3

WARNINGI18nDiscouraged text-domain loading1
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.

ERRORSecuritySetting is missing a sanitization callback1
Category
Security
Occurrences
1
Severity
error

Sample message

Sanitization missing for register_setting().

External Connections

Potential connections found in static code analysis.

3 domains

Outbound calls

18

External assets

0

Incoming endpoints

2

Notable Domains

maxpanas.com11 · outbound

Platform / Reference Domains

codex.wordpress.org4 · platform/reference
wordpress.org3 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints2
wp_ajax_mgjp_mv_get_attachment_imageauthenticated

wp_ajax

wp_ajax_mgjp_mv_restore_default_placeholder_imageauthenticated

wp_ajax

Score History

First score snapshot

v0.8.12

34

Latest

Findings
265
Errors
115
Warnings
150
Check
2.0.0

Relationship Map

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

30 nodes

Related Plugins

Export Media as ZIP

1k+ active installs

100
BEA – Sanitize Filename

1k+ active installs

99
Default Featured Image

60k+ active installs

99
Protect Uploads

30k+ active installs

99