Image Watermark

Secure and brand your images with automatic watermarks. Apply image or text overlays to new uploads and bulk process existing Media Library images wit …

v2.0.11dFactoryUpdated Added 40k+ installs84% rating50% support resolved
36
Score
76
Errors
179
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability61

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

255 findings

Security

178

8 issue groups

Maintainability

41

12 issue groups

I18n

32

5 issue groups

WARNINGSecurityMissingProcessing form data without nonce verification.65
Category
Security
Occurrences
65
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRecommendedProcessing form data without nonce verification.29
Category
Security
Occurrences
29
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityMissing Unslash$_GET['tab'] not unslashed before sanitization. Use wp_unslash() or similar27
Category
Security
Occurrences
27
Severity
warning

Sample message

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

WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_GET['tab']26
Category
Security
Occurrences
26
Severity
warning

Sample message

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

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$docs_link'.25
Category
Security
Occurrences
25
Severity
error

Sample message

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

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.22
Category
I18n
Occurrences
22
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.

WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "iw_after_apply_watermark".11
Category
Maintainability
Occurrences
11
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "iw_after_apply_watermark".

WARNINGMaintainabilityDynamic Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->prefix . '_configuration_updated'".7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->prefix . '_configuration_updated'".

ERRORMaintainabilityAdd option Param3FoundThe parameter "null" at position #3 of add_option() has been deprecated since WordPress version 2.3.0. Use "" instead.5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

The parameter "null" at position #3 of add_option() has been deprecated since WordPress version 2.3.0. Use "" instead.

WARNINGMaintainabilityerror log error logerror_log() found. Debug code should not normally be used in production.4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

Show 15 more
ERRORI18nNon Singular String Literal Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $domain parameter must be a single text string literal. Found: $this->domain

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'.

ERRORMaintainabilityfile system operations is writable3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

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

WARNINGMaintainabilityNot In Footer3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

ERRORI18nUnordered Placeholders Text3
Category
I18n
Occurrences
3
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$s", but got "%d, %s" in 'ID %d: %s'.

WARNINGSecurityInput Not Validated2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

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

ERRORMaintainabilityfive star reviews detected2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Linking directly to 5 stars reviews is not allowed.

WARNINGMaintainabilityMixed1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

File has mixed line endings; this may cause incorrect results

WARNINGI18nload plugin textdomain Found1
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.

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
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 fopen1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORMaintainabilityfile system operations fwrite1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORMaintainabilityfile system operations touch1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

Score History

First score snapshot

v2.0.11

36

Latest

Findings
255
Errors
76
Warnings
179
Check
2.0.0

Related Plugins

Disable Lazy Load

10k+ active installs

100
Image Placeholders

60k+ active installs

100
100
Modern Image Formats

100k+ active installs

100
Attachment Pages Redirect

20k+ active installs

99
Default Featured Image

60k+ active installs

99