IP Location Block

Easily block visitors by country, state or ISP provider. Also, protects your site from spam, login attempts, malicious access & more.

v1.3.8Darko G.Updated 2026-03-13Added May 17, 202110k+ installs92% rating0% support resolved
25
Score
521
Errors
624
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability0

Top Issues by Category

security618
maintainability346
i18n116

Issues Details

1,145 issues found in latest scan

ERROR132
WordPress.Security.EscapeOutput.OutputNotEscaped

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

ERROR92
WordPress.Security.EscapeOutput.ExceptionNotEscaped

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

WARNING84
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Net_DNS2".

WARNING70
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

ERROR69
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

WARNING60
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

ERROR53
WordPress.WP.I18n.MissingTranslatorsComment

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.

WARNING52
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING46
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING46
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING42
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING39
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $table at "ALTER TABLE $table ADD `city` VARCHAR(100) DEFAULT NULL AFTER `code`"

WARNING39
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING36
WordPress.WP.I18n.NoHtmlWrappedStrings

Translatable string should not be wrapped in HTML. Found: '<dfn title="IP address cache and local databases are scanned at the top priority.">API selection and key settings</dfn>'

WARNING33
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING33
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

ERROR27
WordPress.DB.PreparedSQL.NotPrepared

Use placeholders and $wpdb->prepare(); found $key

ERROR26
missing_direct_file_access_protection

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

ERROR21
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $sql used in $wpdb->get_results()\n$sql assigned unsafely at line 1037.

WARNING21
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

ERROR20
WordPress.DB.RestrictedClasses.mysql__PDO

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: \PDO.

ERROR16
WordPress.WP.I18n.UnorderedPlaceholdersText

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$d", but got "%s, %d" in 'The user %s (user ID: %d) is in use.'.

ERROR11
WordPress.WP.I18n.MissingArgDomain

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

ERROR6
WordPress.WP.AlternativeFunctions.file_system_operations_fclose

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

ERROR6
WordPress.WP.AlternativeFunctions.file_system_operations_fread

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

Latest Snapshot

Findings

1,145

Errors

521

Warnings

624

Score History

First score snapshot

First scan completed Jun 20, 2026

v1.3.8 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v1.3.8

25

Latest

Findings
1,145
Errors
521
Warnings
624
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins