Blaminhor Essentials – SEO, Cache, Backup, SMTP, Redirects, Broken Links, Cookie Banner, Hide Login & More

blaminhor-essentials · by blaminhor · wordpress.org ↗ · SVN ↗
Active installs
40
Current version
2.8.2
Added
2026-01-23
Last updated
2026-10-17 (2d ago)
First seen by beacon
6mo ago
Total downloads
—

Statistics

2026-01-23 → 2026-09-09 · 192 days
Downloads today
11
7-day total 182
Week over week
▲ +420%
vs prior 7 days
30-day trend
flat
▼ -57% MoM
Abandonment
●○○○○
install base on one version
Downloads/day Linear trend
138104693502026-012026-022026-032026-042026-052026-07
138104693502026-052026-052026-062026-062026-072026-08
9974502502026-072026-072026-072026-082026-082026-09

Active versions

2.7
2.7 · 100.0%

Ratings

5★
3
4★
0
3★
0
2★
0
1★
0

Support: 0/0 resolved

Alerts (0)

No open alerts.

Show 2 resolved alerts
Medium code_scan_delta Resolved · fp_code_scan_delta_routine 2026-10-04 12:26:47 (15d ago)
Slugblaminhor-essentials
Previous version2.5.11
Current version2.7.5
New findings
PatternKindFileLineSnippetConfidence
base64_decodebuiltinmodules/login-security/lib/webauthn/src/WebAuthn.php683$rawPk = \base64_decode($pkParts[1]);medium
base64_decodebuiltinmodules/login-security/lib/webauthn/src/Binary/ByteBuffer.php289return \base64_decode(\strtr($data, '-_', '+/') . \str_repeat('=', 3 - (3 + \strlen($data)) % 4));medium
base64_decodebuiltinmodules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php64$this->_x5c = \base64_decode($header->x5c[0]);medium
base64_decodebuiltinmodules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php69$this->_x5c_chain[] = \base64_decode($header->x5c[$i]);medium
base64_decodebuiltinmodules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php149return \base64_decode(\strtr($data, '-_', '+/') . \str_repeat('=', 3 - (3 + \strlen($data)) % 4));medium
base64_decodebuiltinmodules/login-security/includes/class-login-2fa-webauthn.php445$raw = base64_decode( $stored, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Restoring raw bytes we stored ourselves.medium
base64_decodebuiltinmodules/login-security/includes/class-login-2fa-webauthn.php491$raw = base64_decode( $data, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding browser-supplied binary, not code.medium
base64_decodebuiltinmodules/domain-changer/includes/class-domain-change-journal.php169$decoded = base64_decode( $value, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Binary-safe JSON transport.medium
base64_decodebuiltinmodules/backup/includes/class-backup-remote-sftp.php391$blob = isset( $parts[1] ) ? base64_decode( $parts[1], true ) : false; // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding an SSH public key blob, not obfuscmedium
base64_decodebuiltinincludes/functions.php125$decoded = base64_decode( substr( $data, 3 ), true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding base64-stored AES-256-GCM output back to raw bytes,medium
New finding count10
View raw JSON
{
    "slug": "blaminhor-essentials",
    "previous_version": "2.5.11",
    "current_version": "2.7.5",
    "new_findings": [
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/lib/webauthn/src/WebAuthn.php",
            "line": 683,
            "snippet": "$rawPk = \\base64_decode($pkParts[1]);",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/lib/webauthn/src/Binary/ByteBuffer.php",
            "line": 289,
            "snippet": "return \\base64_decode(\\strtr($data, '-_', '+/') . \\str_repeat('=', 3 - (3 + \\strlen($data)) % 4));",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php",
            "line": 64,
            "snippet": "$this->_x5c = \\base64_decode($header->x5c[0]);",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php",
            "line": 69,
            "snippet": "$this->_x5c_chain[] = \\base64_decode($header->x5c[$i]);",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/lib/webauthn/src/Attestation/Format/AndroidSafetyNet.php",
            "line": 149,
            "snippet": "return \\base64_decode(\\strtr($data, '-_', '+/') . \\str_repeat('=', 3 - (3 + \\strlen($data)) % 4));",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/includes/class-login-2fa-webauthn.php",
            "line": 445,
            "snippet": "$raw = base64_decode( $stored, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Restoring raw bytes we stored ourselves.",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/login-security/includes/class-login-2fa-webauthn.php",
            "line": 491,
            "snippet": "$raw = base64_decode( $data, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding browser-supplied binary, not code.",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/domain-changer/includes/class-domain-change-journal.php",
            "line": 169,
            "snippet": "$decoded = base64_decode( $value, true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Binary-safe JSON transport.",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/backup/includes/class-backup-remote-sftp.php",
            "line": 391,
            "snippet": "$blob  = isset( $parts[1] ) ? base64_decode( $parts[1], true ) : false; // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding an SSH public key blob, not obfusc",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "includes/functions.php",
            "line": 125,
            "snippet": "$decoded = base64_decode( substr( $data, 3 ), true ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode -- Decoding base64-stored AES-256-GCM output back to raw bytes,",
            "confidence": "medium"
        }
    ],
    "new_finding_count": 10
}
Medium code_scan_delta Resolved · fp_base64_benign_data_handling 2026-07-02 04:08:42 (3mo ago)
Slugblaminhor-essentials
Previous version2.3.0
Current version2.5.5
New findings
PatternKindFileLineSnippetConfidence
base64_decodebuiltinmodules/events-calendar/includes/class-events-access.php361$decoded = base64_decode( strtr( $data, '-_', '+/' ), true );medium
New finding count1
View raw JSON
{
    "slug": "blaminhor-essentials",
    "previous_version": "2.3.0",
    "current_version": "2.5.5",
    "new_findings": [
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "modules/events-calendar/includes/class-events-access.php",
            "line": 361,
            "snippet": "$decoded = base64_decode( strtr( $data, '-_', '+/' ), true );",
            "confidence": "medium"
        }
    ],
    "new_finding_count": 1
}

SVN committers (2)

Accounts with actual commit access to blaminhor-essentials on plugins.svn.wordpress.org, reconstructed from svn log. This is the list that matters for ownership changes — not the readme contributors.

Committer Member since Commits First commit Latest commit
blaminhor Young account 2026-01-17 96 2026-01-23 · r3445615 2026-09-07 · r3685041
plugin-master 2007-03-09 1 2026-01-23 · r3445437 2026-01-23 · r3445437

Readme contributors (1)

Names the plugin's readme declares as contributors. A soft signal — anyone can be listed. The SVN access column is the ground-truth cross-reference: does this contributor actually commit code?

Contributor Member since SVN access Status
blaminhor 2026-01-17 96 commits Active

Versions (77 most recent)

Version Released Download
2.7.2 — zip
2.6.0 — zip
2.7.0 — zip
2.7.1 — zip
2.5.12 — zip
2.5.13 — zip
2.5.14 — zip
2.5.8 — zip
2.5.9 — zip
2.5.10 — zip
2.5.11 — zip
2.5.7 — zip
2.5.6 — zip
2.5.4 — zip
2.5.5 — zip
2.5.1 — zip
2.5.2 — zip
2.5.3 — zip
2.5.0 — zip
2.4.0 — zip
2.3.1 — zip
2.3.2 — zip
2.3.0 2026-06-04 · 4mo ago zip
2.2.0 2026-06-02 · 4mo ago zip
2.1.1 2026-06-01 · 4mo ago zip
2.1.0 2026-05-31 · 4mo ago zip
2.0.2 2026-05-27 · 4mo ago zip
2.0.1 2026-05-27 · 4mo ago zip
2.0.0 2026-05-27 · 4mo ago —
1.11.1 2026-05-20 · 5mo ago zip
1.11.0 2026-05-17 · 5mo ago zip
1.10.0 2026-05-13 · 5mo ago zip
1.9.10 2026-05-07 · 5mo ago zip
1.9.9 2026-05-06 · 5mo ago zip
1.9.8 2026-04-30 · 5mo ago zip
1.9.7 2026-04-30 · 5mo ago zip
1.9.6 2026-04-29 · 5mo ago zip
1.9.5 2026-04-29 · 5mo ago zip
1.9.4 2026-04-29 · 5mo ago zip
1.9.3 2026-04-29 · 5mo ago zip
1.9.2 2026-04-29 · 5mo ago zip
1.9.1 2026-04-29 · 5mo ago zip
1.9.0 2026-04-29 · 5mo ago zip
1.8.2 2026-04-09 · 6mo ago zip
1.8.1 2026-03-13 · 7mo ago zip
1.8.0 2026-03-13 · 7mo ago zip
1.7.5 2026-03-06 · 7mo ago zip
1.7.4 2026-03-05 · 7mo ago zip
1.7.3 2026-03-02 · 7mo ago zip
1.7.2 2026-02-23 · 7mo ago zip
1.7.1 2026-02-23 · 7mo ago zip
1.7.0 2026-02-17 · 8mo ago zip
1.6.1 2026-02-14 · 8mo ago zip
1.6.0 2026-02-14 · 8mo ago zip
1.5.6 2026-02-13 · 8mo ago zip
1.5.5 2026-02-12 · 8mo ago zip
1.5.4 2026-02-11 · 8mo ago zip
1.5.3 2026-02-10 · 8mo ago zip
1.5.2 2026-02-07 · 8mo ago zip
1.5.1 2026-02-07 · 8mo ago zip
1.5.0 2026-02-06 · 8mo ago zip
1.4.7 2026-02-03 · 8mo ago zip
1.4.6 2026-01-31 · 8mo ago zip
1.4.5 2026-01-30 · 8mo ago zip
1.4.4 2026-01-30 · 8mo ago zip
1.4.3 2026-01-30 · 8mo ago zip
1.4.2 2026-01-30 · 8mo ago zip
1.4.1 2026-01-30 · 8mo ago zip
1.4.0 2026-01-30 · 8mo ago zip
1.3.2 2026-01-28 · 8mo ago zip
1.3.1 2026-01-27 · 8mo ago zip
1.3.0 2026-01-27 · 8mo ago zip
1.2.0 2026-01-27 · 8mo ago zip
1.1.2 2026-01-26 · 8mo ago zip
1.1.1 2026-01-25 · 8mo ago zip
1.1.0 2026-01-23 · 8mo ago zip
1.0.0 2026-01-23 · 8mo ago zip