XO Security is a plugin to enhance login related security.
| Code | Message | Location | Category | |
|---|---|---|---|---|
| ERROR | PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound | 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. | 40:3 | Plugin Repo |
| ERROR | WordPress.WP.I18n.MissingArgDomain | Missing $domain parameter in function call to __(). | 457:39 | General |
| ERROR | WordPress.WP.I18n.MissingArgDomain | Missing $domain parameter in function call to __(). | 471:32 | General |
| ERROR | WordPress.WP.I18n.MissingArgDomain | Missing $domain parameter in function call to esc_attr_e(). | 294:126 | General |
| WARNING | plugin_header_nonexistent_domain_path | The "Domain Path" header in the plugin file must point to an existing folder. Found: "languages" | — | Plugin Repo |
| WARNING | PluginCheck.Security.DirectDB.UnescapedDBParameter | Unescaped parameter $where used in $wpdb->get_var("SELECT count(*) FROM {$wpdb->prefix}xo_security_loginlog {$where}") | 237:33 | Security |
| WARNING | PluginCheck.Security.DirectDB.UnescapedDBParameter | Unescaped parameter $where used in $wpdb->get_results($wpdb->prepare(\n\t\t\t\t"SELECT id,success,login_time,ip_address,login_type,lang,user_agent,user_name FROM {$wpdb->prefix}xo_security_loginlog {$where} ORDER BY {$orderby} {$order} LIMIT %d, %d;", \t\t\t\t$start,\n\t\t\t\t$per_page\n\t\t\t))\n$orderby assigned unsafely at line 252:\n $orderby = 'login_time'\n$order assigned unsafely at line 255:\n $order = ( isset( $_REQUEST['order'] ) && 'asc' === $_REQUEST['order'] ) ? 'ASC' : 'DESC'\n$start assigned unsafely at line 257:\n $start = ( $this->get_pagenum() - 1 ) * $per_page | 259:18 | Security |
| 11/13/2025, 5:27:03 AM | 14s | 98 | 4 | 3 |