Duo Two-Factor Authentication

Easily add Duo Security two-factor authentication to your WordPress website. Enable two-factor authentication for your admins and/or users.

v2.5.7Duo SecurityUpdated Added 3k+ installs74% rating
37
Score
44
Errors
61
Warnings
+0
Change

Category Scores

Security0
Repo86
Performance100
Maintainability69

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

105 findings

Security

64

7 issue groups

Maintainability

35

11 issue groups

I18n

3

2 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 '"<input id='duo_host' name='duo_host' size='40' type='text' value='$host' />"'.16
Category
Security
Occurrences
16
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<input id='duo_host' name='duo_host' size='40' type='text' value='$host' />"'.

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_COOKIE[$duo_auth_cookie_name]14
Category
Security
Occurrences
14
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE[$duo_auth_cookie_name]

WARNINGSecurityRequest data is not unslashed$_COOKIE[$duo_auth_cookie_name] not unslashed before sanitization. Use wp_unslash() or similar14
Category
Security
Occurrences
14
Severity
warning

Sample message

$_COOKIE[$duo_auth_cookie_name] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilitycurl curl setoptUsing cURL functions is highly discouraged. Use wp_remote_get() instead.11
Category
Maintainability
Occurrences
11
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

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

Sample message

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

ERRORMaintainabilityNon Enqueued StylesheetStylesheets must be registered/enqueued via wp_enqueue_style()6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

Stylesheets must be registered/enqueued via wp_enqueue_style()

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

Sample message

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

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

Sample message

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

ERRORSecuritySetting is missing a sanitization callbackSanitization missing for register_setting().1
Category
Security
Occurrences
1
Severity
error

Sample message

Sanitization missing for register_setting().

Show 13 more
ERRORMaintainabilitydate date1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGMaintainabilityerror log print r1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecurityNonce verification recommended1
Category
Security
Occurrences
1
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitycurl curl close1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl exec1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl init1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilityNon Enqueued Script1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Scripts must be registered/enqueued via wp_enqueue_script()

ERRORI18nText Domain Mismatch1
Category
I18n
Occurrences
1
Severity
error

Sample message

Mismatched text domain. Expected 'duo-wordpress' but got "duo_wordpress".

ERRORRepo Complianceno license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License". Please update your readme with a valid GPLv2 (or later) compatible license.

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

Sample message

Tested up to: 6.0 < 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.

WARNINGRepo Compliancereadme parser warnings too many tags1
Category
Repo Compliance
Occurrences
1
Severity
warning

Sample message

One or more tags were ignored. Please limit your plugin to 5 tags.

WARNINGMaintainabilitytrademarked term1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The plugin slug includes a restricted term. Your plugin slug - "duo-wordpress" - contains the restricted term "wordpress" which cannot be used at all in your plugin slug.

WARNINGMaintainabilityupgrade notice limit1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The upgrade notice for "2.1" exceeds the limit of 300 characters.

Score History

First score snapshot

v2.5.7

37

Latest

Findings
105
Errors
44
Warnings
61
Check
2.0.0

Related Plugins

Login Security Captcha

10k+ active installs

100
Shibboleth

3k+ active installs

100
Simple Login Log

5k+ active installs

100
WP Basic Authentication

2k+ active installs

100
Customize Admin

4k+ active installs

99