IP Geo Block - Version 3.0.17.4

Version Description

  • Fix issue: Add an option "Metadata Exploit Protection" in "Validation rules and behavior" section and make it disabled by default because it potentially caused "Sorry, your request cannot be accepted".
  • Fix issue: Fix the issue that direct request to PHP files under plugins/themes directory was "404 Not found" when WP-ZEP enabled.
  • Fix issue: Fix the incorrect link to the corresponding option page on error message in multisite environment.
  • Improvement: Update the url to the google map api to prevent 301 redirection.
  • Improvement: Use RIPE stat Data API to get whois information instead of using YQL (Yahoo! Query Language) which was retired on Jan. 3, 2019.
Download this release

Release Info

Developer tokkonopapa
Plugin Icon 128x128 IP Geo Block
Version 3.0.17.4
Comparing to
See all releases

Code changes from version 3.0.17.3 to 3.0.17.4

README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: tokkonopapa
3
Donate link:
4
Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
Requires at least: 3.7
6
- Tested up to: 5.0.2
7
- Stable tag: 3.0.17.3
8
License: GPLv3
9
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
@@ -234,6 +234,13 @@ Please refer to "[How can I fix permission troubles?](https://www.ipgeoblock.com
234
235
== Changelog ==
236
237
= 3.0.17.3 =
238
Sorry for the frequent update.
239
* **Fix issue:** Remove `wp_user_roles` from "Metadata Exploit Protection" which was equipped in 3.0.17 because some plugins/themes would add their own role and capability without admin authority.
3
Donate link:
4
Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
Requires at least: 3.7
6
+ Tested up to: 5.0.3
7
+ Stable tag: 3.0.17.4
8
License: GPLv3
9
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
234
235
== Changelog ==
236
237
+ = 3.0.17.4 =
238
+ * **Fix issue:** Add an option "Metadata Exploit Protection" in "Validation rules and behavior" section and make it disabled by default because it potentially caused "Sorry, your request cannot be accepted".
239
+ * **Fix issue:** Fix the issue that direct request to PHP files under plugins/themes directory was "404 Not found" when WP-ZEP enabled.
240
+ * **Fix issue:** Fix the incorrect link to the corresponding option page on error message in multisite environment.
241
+ * **Improvement:** Update the url to the google map api to prevent 301 redirection.
242
+ * **Improvement:** Use [RIPE stat Data API](https://stat.ripe.net/docs/data_api "RIPEstat — Internet Measurements and Analysis") to get whois information instead of using YQL (Yahoo! Query Language) which was retired on Jan. 3, 2019.
243
+
244
= 3.0.17.3 =
245
Sorry for the frequent update.
246
* **Fix issue:** Remove `wp_user_roles` from "Metadata Exploit Protection" which was equipped in 3.0.17 because some plugins/themes would add their own role and capability without admin authority.
admin/class-ip-geo-block-admin.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Admin {
@@ -326,7 +326,7 @@ class IP_Geo_Block_Admin {
326
),
327
'interval' => self::INTERVAL_LIVE_UPDATE, // interval for live update [sec]
328
'timeout' => self::TIMEOUT_LIVE_UPDATE, // timeout of pausing live update [sec]
329
- 'altgmap' => apply_filters( 'google-maps-nokey', '//maps.google.com/maps' ),
330
)
331
);
332
wp_enqueue_script( $handle );
@@ -514,7 +514,8 @@ class IP_Geo_Block_Admin {
514
*/
515
private function diagnose_admin_screen( $settings ) {
516
$updating = get_transient( IP_Geo_Block::CRON_NAME );
517
- $adminurl = $this->dashboard_url( $settings['network_wide'] );
518
519
// Check version and compatibility
520
if ( version_compare( get_bloginfo( 'version' ), '3.7.0' ) < 0 )
@@ -532,7 +533,7 @@ class IP_Geo_Block_Admin {
532
if ( empty( $providers ) ) {
533
$this->add_admin_notice( 'error', sprintf(
534
__( 'You should select at least one API at <a href="%s">Geolocation API settings</a>. Otherwise <strong>you\'ll be blocked</strong> after the cache expires.', 'ip-geo-block' ),
535
- esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 4 ), $adminurl ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4'
536
) );
537
}
538
@@ -541,7 +542,7 @@ class IP_Geo_Block_Admin {
541
if ( empty( $providers ) ) {
542
$this->add_admin_notice( 'error', sprintf(
543
__( 'You should select at least one API for local database at <a href="%s">Geolocation API settings</a>. Otherwise access to the external API may slow down the site.', 'ip-geo-block' ),
544
- esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 4 ), $adminurl ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4'
545
) );
546
}
547
}
@@ -552,13 +553,13 @@ class IP_Geo_Block_Admin {
552
if ( FALSE !== $updating ) {
553
self::add_admin_notice( 'notice-warning', sprintf(
554
__( 'Now downloading geolocation databases in background. After a little while, please check your country code and &#8220;<strong>Matching rule</strong>&#8221; at <a href="%s">Validation rules and behavior</a>.', 'ip-geo-block' ),
555
- esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $adminurl ) )
556
) );
557
}
558
else {
559
self::add_admin_notice( 'error', sprintf(
560
__( 'The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please confirm it at <a href="%s">Validation rules and behavior</a>.', 'ip-geo-block' ),
561
- esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $adminurl ) )
562
) );
563
}
564
}
@@ -596,11 +597,11 @@ class IP_Geo_Block_Admin {
596
( 'ZZ' !== $validate['code'] ?
597
sprintf(
598
__( 'Please check your &#8220;%sValidation rules and behavior%s&#8221;.', 'ip-geo-block' ),
599
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 0 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-0' ) . '">', '</a></strong>'
600
) :
601
sprintf(
602
__( 'Please confirm your local geolocation database files exist at &#8220;%sLocal database settings%s&#8221; section, or remove your IP address in cache at &#8220;%sStatistics in cache%s&#8221; section.', 'ip-geo-block' ),
603
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 5 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' ) . '">', '</a></strong>',
604
'<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 1, 'sec' => 2 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-2' ) . '">', '</a></strong>'
605
)
606
)
@@ -614,7 +615,7 @@ class IP_Geo_Block_Admin {
614
self::add_admin_notice( 'error',
615
sprintf(
616
__( 'Emergency login link is outdated. Please delete it once and generate again at &#8220;%sPlugin settings%s&#8221; section. Also do not forget to update favorites / bookmarks in your browser.', 'ip-geo-block' ),
617
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 7 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-7' ) . '">', '</a></strong>'
618
)
619
);
620
}
@@ -1243,7 +1244,9 @@ class IP_Geo_Block_Admin {
1243
$output['Geolite2']['use_asn'] = $output['Maxmind']['use_asn'];
1244
1245
// force to update asn file not immediately but after `validate_settings()` and `validate_network_settings()`
1246
- if ( $output['Maxmind']['use_asn'] && ( ! $output['Maxmind']['asn4_path'] || ! $output['Geolite2']['asn_path'] ) ) {
1247
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-cron.php';
1248
add_action( IP_Geo_Block::PLUGIN_NAME . '-settings-updated', array( 'IP_Geo_Block_Cron', 'start_update_db' ), 10, 2 );
1249
}
@@ -1288,8 +1291,7 @@ class IP_Geo_Block_Admin {
1288
*/
1289
public function array_replace_recursive() {
1290
if ( function_exists( 'array_replace_recursive' ) ) {
1291
- $args = func_get_args();
1292
- return call_user_func_array( 'array_replace_recursive', $args );
1293
}
1294
1295
else {
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Admin {
326
),
327
'interval' => self::INTERVAL_LIVE_UPDATE, // interval for live update [sec]
328
'timeout' => self::TIMEOUT_LIVE_UPDATE, // timeout of pausing live update [sec]
329
+ 'altgmap' => apply_filters( 'google-maps-nokey', 'https://www.google.com/maps/embed' ),
330
)
331
);
332
wp_enqueue_script( $handle );
514
*/
515
private function diagnose_admin_screen( $settings ) {
516
$updating = get_transient( IP_Geo_Block::CRON_NAME );
517
+ $adminurl = $this->dashboard_url( FALSE );
518
+ $network = $this->dashboard_url( $settings['network_wide'] );
519
520
// Check version and compatibility
521
if ( version_compare( get_bloginfo( 'version' ), '3.7.0' ) < 0 )
533
if ( empty( $providers ) ) {
534
$this->add_admin_notice( 'error', sprintf(
535
__( 'You should select at least one API at <a href="%s">Geolocation API settings</a>. Otherwise <strong>you\'ll be blocked</strong> after the cache expires.', 'ip-geo-block' ),
536
+ esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 4 ), $network ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4'
537
) );
538
}
539
542
if ( empty( $providers ) ) {
543
$this->add_admin_notice( 'error', sprintf(
544
__( 'You should select at least one API for local database at <a href="%s">Geolocation API settings</a>. Otherwise access to the external API may slow down the site.', 'ip-geo-block' ),
545
+ esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 4 ), $network ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4'
546
) );
547
}
548
}
553
if ( FALSE !== $updating ) {
554
self::add_admin_notice( 'notice-warning', sprintf(
555
__( 'Now downloading geolocation databases in background. After a little while, please check your country code and &#8220;<strong>Matching rule</strong>&#8221; at <a href="%s">Validation rules and behavior</a>.', 'ip-geo-block' ),
556
+ esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $network ) )
557
) );
558
}
559
else {
560
self::add_admin_notice( 'error', sprintf(
561
__( 'The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please confirm it at <a href="%s">Validation rules and behavior</a>.', 'ip-geo-block' ),
562
+ esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $network ) )
563
) );
564
}
565
}
597
( 'ZZ' !== $validate['code'] ?
598
sprintf(
599
__( 'Please check your &#8220;%sValidation rules and behavior%s&#8221;.', 'ip-geo-block' ),
600
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 0 ), $network ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-0' ) . '">', '</a></strong>'
601
) :
602
sprintf(
603
__( 'Please confirm your local geolocation database files exist at &#8220;%sLocal database settings%s&#8221; section, or remove your IP address in cache at &#8220;%sStatistics in cache%s&#8221; section.', 'ip-geo-block' ),
604
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 5 ), $network ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' ) . '">', '</a></strong>',
605
'<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 1, 'sec' => 2 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-2' ) . '">', '</a></strong>'
606
)
607
)
615
self::add_admin_notice( 'error',
616
sprintf(
617
__( 'Emergency login link is outdated. Please delete it once and generate again at &#8220;%sPlugin settings%s&#8221; section. Also do not forget to update favorites / bookmarks in your browser.', 'ip-geo-block' ),
618
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 7 ), $network ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-7' ) . '">', '</a></strong>'
619
)
620
);
621
}
1244
$output['Geolite2']['use_asn'] = $output['Maxmind']['use_asn'];
1245
1246
// force to update asn file not immediately but after `validate_settings()` and `validate_network_settings()`
1247
+ if ( $output['Maxmind']['use_asn'] && (
1248
+ ( ! $output['Maxmind']['asn4_path'] && class_exists( 'IP_Geo_Block_API_Maxmind', FALSE ) ) ||
1249
+ ( ! $output['Geolite2']['asn_path'] && class_exists( 'IP_Geo_Block_API_Geolite2', FALSE ) ) ) ) {
1250
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-cron.php';
1251
add_action( IP_Geo_Block::PLUGIN_NAME . '-settings-updated', array( 'IP_Geo_Block_Cron', 'start_update_db' ), 10, 2 );
1252
}
1291
*/
1292
public function array_replace_recursive() {
1293
if ( function_exists( 'array_replace_recursive' ) ) {
1294
+ return call_user_func_array( 'array_replace_recursive', func_get_args() );
1295
}
1296
1297
else {
admin/css/admin.css CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* Project: WordPress IP Geo Block
3
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
dfn {
@@ -321,12 +321,14 @@ table.ip-geo-block-statistics-table tr:nth-child(odd) {
321
}
322
table.ip-geo-block-table {
323
margin: 1em 0;
324
white-space: normal;
325
word-wrap: break-word;
326
word-break: break-all;
327
}
328
table.ip-geo-block-table td:first-child {
329
min-width: 4.3em;
330
}
331
332
/* Whois */
@@ -622,9 +624,10 @@ table.ip-geo-block-dataTable > tbody > tr > td span {
622
margin-right: 0.5em;
623
}
624
table.ip-geo-block-dataTable input[type="checkbox"] {
625
max-height: 16px;
626
max-width: 16px;
627
- margin: 0;
628
}
629
table.ip-geo-block-dataTable > thead > tr > th:first-child,
630
table.ip-geo-block-dataTable > tbody > tr > td:first-child {
1
/*!
2
* Project: WordPress IP Geo Block
3
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
dfn {
321
}
322
table.ip-geo-block-table {
323
margin: 1em 0;
324
+ width: 100%;
325
white-space: normal;
326
word-wrap: break-word;
327
word-break: break-all;
328
}
329
table.ip-geo-block-table td:first-child {
330
min-width: 4.3em;
331
+ max-width: 5.0em;
332
}
333
334
/* Whois */
624
margin-right: 0.5em;
625
}
626
table.ip-geo-block-dataTable input[type="checkbox"] {
627
+ margin: 0;
628
max-height: 16px;
629
max-width: 16px;
630
+ vertical-align: middle;
631
}
632
table.ip-geo-block-dataTable > thead > tr > th:first-child,
633
table.ip-geo-block-dataTable > tbody > tr > td:first-child {
admin/css/admin.min.css CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* Project: WordPress IP Geo Block
3
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
- dfn{cursor:help;border-bottom:1px dotted #888}fieldset,legend{padding:0;margin:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}fieldset{min-width:0}legend{display:block;line-height:inherit;width:100%}label{display:inline-block;max-width:100%}.panel{border-color:#888;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#f5f5f5}.panel-heading{float:left!important;background:#fff}.panel-default>.panel-heading{border-color:inherit}.panel-body{width:100%;padding:0 1em;display:inline-block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.ip-geo-block-navi-link{text-align:left}.ip-geo-block-help-link{float:right;font-size:90%;font-weight:400}.ip-geo-block-help-link a{box-shadow:none}fieldset label{vertical-align:text-middle}fieldset input[type=checkbox]{margin:1px 2px 0}fieldset.ip-geo-block-field{margin:1em 0}fieldset.ip-geo-block-field h2,fieldset.ip-geo-block-field h3{padding:0;margin:0;font-size:14px!important}fieldset.ip-geo-block-field h4{margin:.75em 0 .5em 0}fieldset.ip-geo-block-field legend.panel-heading{padding:10px}fieldset.ip-geo-block-field .ip-geo-block-dropdown,fieldset.ip-geo-block-field .ip-geo-block-dropup{cursor:pointer;position:relative;padding-left:1em}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before,fieldset.ip-geo-block-field .ip-geo-block-dropup:before{content:'';height:0;width:0;border:.4em solid transparent;position:absolute}fieldset.ip-geo-block-field .ip-geo-block-dropup:before{border-left:.4em solid #555;left:2px;top:18%}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before{border-top:.4em solid #555;left:-2px;top:38%}fieldset.ip-geo-block-field .form-table .ip-geo-block-dropdown,fieldset.ip-geo-block-field .form-table .ip-geo-block-dropup{margin-top:.75em}fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before{top:.25em}fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before{top:.5em}fieldset.ip-geo-block-field table.form-table{margin:0 0 .5em;width:100%}textarea.regular-text{width:25em}fieldset.ip-geo-block-field input.regular-text,fieldset.ip-geo-block-field textarea.regular-text{font-size:95%}fieldset.ip-geo-block-field input[type=checkbox],fieldset.ip-geo-block-field input[type=radio],p.ip-geo-block-navi-link input[type=checkbox]{margin-right:.4em}input[id*=ip_geo_block_settings_rewrite_]+label{margin-left:.25em}input[id*=ip_geo_block_settings_providers]+label{min-width:7em}.ip-geo-block-settings-folding{margin:.5em 0}.ip-geo-block-settings-folding ul{margin-bottom:0}.ip-geo-block-settings-folding li{margin:.5em 0}.folding-disable{pointer-events:none;opacity:.5}.folding-inactive{opacity:.5;font-style:oblique!important}.ip-geo-block-float li{display:inline-block;width:18em;margin-top:0}.ip-geo-block-checked{list-style-type:disc}.ip-geo-block-ip-addr{display:inline-block;padding-top:5px}.ip-geo-block-hide{display:none}.ip-geo-block-sup{margin-left:.2em;display:inline-block}.ip-geo-block-note{margin-top:1em;list-style:disc inside}.ip-geo-block-note li{text-indent:-1em;padding-left:1em}.ip-geo-block-border{border-top:inherit}.ip-geo-block-notice{color:#dd3d36}.ip-geo-block-title{width:100px;display:inline-block}.ip-geo-block-result{color:#2786c2;display:inline-block}.ip-geo-block-primary{color:#fff!important;background:#00838f!important;border-color:#00707a!important;text-shadow:none}.ip-geo-block-primary:hover{background-color:#00919e!important;border-color:#00525a!important}ul#ip-geo-block-logs-preset{margin:.25em 0;max-width:600px}ul#ip-geo-block-logs-preset li{float:left;line-height:1.5em;margin-right:1em;min-width:160px}#ip-geo-block-live-loading,.ip-geo-block-loading{height:16px;width:16px;background-size:16px 16px;background-position:center center;background-repeat:no-repeat;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:top}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPYCAKqqqsbGxlZWVsrKyvr6+ubm5tDQ0K6urmZmZmJiYuzs7IaGhvT09JycnLq6us7Ozurq6o6OjtbW1tra2vDw8CgoKCYmJvz8/NLS0kJCQlJSUqysrPLy8vb29pqamra2tm5ubujo6Kampvj4+IiIiMjIyEhISNzc3OLi4rKysj4+PlBQULi4uJKSkmRkZODg4KKiou7u7iQkJB4eHlpaWhISErCwsHh4eMDAwDIyMi4uLqSkpIKCgr6+vt7e3n5+fggICJCQkAwMDEpKSmBgYHZ2dhgYGBYWFnx8fF5eXk5OTiIiIjAwMIyMjISEhDQ0NJaWltTU1AQEBBwcHGpqaoqKiuTk5CoqKlhYWAoKCtjY2Hp6ehAQEJ6ensLCwkxMTJSUlCwsLAYGBnR0dDg4OFxcXLy8vKCgoA4ODsTExMzMzDw8PERERDY2NqioqHJycrS0tGhoaBQUFEZGRjo6OkBAQICAgHBwcFRUVCAgIGxsbP///wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgACACwAAAAAEAAQAEAHjIACgoOEhYJsbTGGghcPGIJRbFNNhgQKCheDDkllDQYMHSc4MAcvhTB0aFliggQjmYNEFQ6LAh0+VoIwbFW1GGamhCgfUE5NbgMKtQYLc0a1gjsyR3E2IYwMFASDYDJvtRRWFIJ1TMq1ElqCICpetQoBEoInVCsAhhI2XhyEPUgIIG7waALlwAloCAMBACH5BAkKAAIALAEAAQAOAA4AAAeDgAKCEmBYYRVKJAaCjAcrVzIzRjVoTw2MKRk5Ww4KECkuWTWCE0Rrl4yCTow7bAupsBcCW19psKkjBEQaFLeMHBwINBy+ggoxVQkPxSMFMXBUMMUQPhRWVUU9tyFRLwQCA048cCcjIyFaJQYxjA8NEVBnAClmahCwEANwbjYBJwyMAgEAIfkECQoABQAsAQABAA4ADgAAB4OABYInO29DbC5QUYKMZiBfbCptTBUmIow4LgJBaTExZkVLFTAFKD8JB4yMQUZrBixUXaqqVFwkUG8Ys4wpQiZOWwy7ghBiRk08HcOqblUTy4wlLWbLBCMFCgBdurMjFMoFE24ADxAXFwwKITEEjD5mH2YBDxI+IdeqHCcGAxgv7IwCAQAh+QQJCgAAACwBAAEADgAOAAAHhYAAglYfTVQJSCITgowDVSAISQJKJgkpjA8LWyIGHBQBJCoZBwAQDU44jIxdTxoSAxEfqqpbFWApUCezjA5LWCJdI7uCClNXGyLCwxBHFl4HBcMAKVxfEx8Y0glZCxwlOCjDUkwPACElAygMghftAB6MClpRJygQFB0EuyMKBQUKDPQxCgQAIfkECQoAAAAsAQABAA4ADgAAB4SAAIIKahstTQ0OVoKMJzYeLVU8W29OXowvBztePh0dUTtxVD0AHDgHEoyMKWVvPj4sBqqqLUoiGDgQs4wBJmNqARe7gjEqXxgPwsMxbWw+UQzDAGY6LjEnusNjFmAEBVbRs00zc1EAHRAKHYw2CHIyO4wEHAwjgmJCZDC7F8psC7IEBQIAIfkECQoARwAsAQABAA4ADgAAB4OAR4IMPgMfNg4PCoKMEA84LCkAMB47GIwxBiUTEAQjKD0REQ9HBD4YIYyMATwtBRQnqaqMG0UOEC8ds4wYIEEQBbuMHC4gMYvCRxw0CAwcF8kBGj8EHdDCJCYiRxfXsw0qCROqRDYQECw3ORkpqjpAQjVGMxYrB7MPC0MyFQItEowCAQAh+QQJCgACACwBAAEADgAOAAAHgIACghcUVhIYEigMgowjEC8nUQ8BOGkojAQxITEdAhcxEh9wPoIMFCOMjBMAKTEXHaipjGldDxcEsqkvUAe5sh1NLb6pHTxNbGK9vlE3DU5ZLsNnIA4GbTVVuQcJdpdnS0Z3LAoxXhF4LjiMMBl5FjptKiZ6ZrJRLUkqbCAwJ4yBACH5BAUKAAEALAEAAQAOAA4AAAd/gAGCARcjHDExHASDjAQdHAoFLy8Ugw2MgiMKWhIKAQ9MYpiCEA8YHQtZCaOCJ14vX2g2rAEKZgMyNRC0BCksFUa7rCMANgIzH7QvZw4tMmO0DlAPUV9hHqNeVTC7G2tkTmkUHA8iSFUGgzZlGSYaNC4gTWqYEzA3SQhVH1aDgQA7)}#ip-geo-block-map{height:400px;margin:1em auto}#ip-geo-block-apis div.nav-tab-wrapper{padding-top:0;margin-bottom:1em}#ip-geo-block-geoinfo{white-space:normal;word-wrap:break-word;word-break:break-all}#ip-geo-block-geoinfo ul{margin-top:0;margin-left:1em}.gm-style-iw{width:18em;height:auto!important;height:100%;min-height:100%:}.gm-style-iw ul{margin:.1em}.gm-style-iw li{margin:.2em}svg a{cursor:pointer}svg a:hover>text{fill:#0096dd}svg a>text{fill:#0073aa;text-decoration:underline}table.ip-geo-block-statistics-table{float:right}table.ip-geo-block-statistics-table td,table.ip-geo-block-statistics-table th{width:12em;margin:0;padding:.2em;text-align:right;line-height:1.5em;word-wrap:break-word}table.ip-geo-block-statistics-table tr:nth-child(even){background-color:#eee}table.ip-geo-block-table{margin:1em 0;white-space:normal;word-wrap:break-word;word-break:break-all}table.ip-geo-block-table td:first-child{min-width:4.3em}@media screen and (max-width:782px){#ip-geo-block-whois .panel-body{padding:0 .5em}}#ip-geo-block-scan-code{vertical-align:middle}#ip-geo-block-code-list{display:none;margin-bottom:0}#ip-geo-block-chart-countries{height:200px}#ip-geo-block-chart-daily{height:240px}#ip_geo_block_settings_validation_mimetype+label{padding-top:.25em}#ip_geo_block_settings_validation_mimetype+label+ul{margin-top:.7em}#ip_geo_block_settings_create_user{margin-bottom:.5em}#ip-geo-block-back-to-top a,#ip-geo-block-toggle-sections{box-shadow:none}#ip-geo-block-wp-info textarea{margin-top:.5em;overflow:auto;width:100%;word-wrap:normal;word-break:normal;white-space:pre}#ip-geo-block-back-to-top{margin:0;text-align:right}#ip-geo-block-live-update,#ip-geo-block-open-new{margin-left:1em}.ip-geo-block-menu-link{font-size:13px!important}dfn~.ip-geo-block-icon{margin-left:.4em}.ip-geo-block-icon{position:relative;cursor:pointer;outline:0;box-shadow:none;text-decoration:none;background-color:transparent}.ip-geo-block-icon:active{top:1px}.ip-geo-block-icon span{height:16px;width:16px;margin:0;border:none;display:inline-block;vertical-align:middle;background-size:16px 16px;background-position:center center;background-repeat:no-repeat}.ip-geo-block-icon-cycle span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC)}.ip-geo-block-icon-lock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==)}.ip-geo-block-icon-unlock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC)}.ip-geo-block-icon-find span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NzS19rD0NWHtMpGk7kYfbAGda0Req+WtcTT1temwM4AcasAcqwAc6wAcKydvMt1pr8Ab6pqpcLX2doggrKoxdNYm7yzw8u/y9HO1tkKdq4th7Td3t6DrcLL0taxyNPGe/YhAAAAAXRSTlMAQObYZgAAARVJREFUeAGtkkeiwyAMRP2xDfxoRjElvd3/lOkNUlZ5u0GPruan/Bnz96Xadr21rvP/7+ujXsAjom78rj4ApCoERIipqfGB1H7wPmYhw1DXjZI6nOel1oJhVAmdUP0tTEDkVC4AYvqIbaDOCqFV6vwRF0tIeYoo6J/X7ICuPAJl9ZynwiIfB5DXxZlRChulbh8xZci0EHZK3TziJFDL504rEOZ+iR5cVj82DoS7XtSshLJpKqaB0Dg3ZjcsQWKaKiF1gVQlITwh/bw2pgKeEeURhE29yKSzUFF03p1V7Wqj2Y7GfrY9X/NirJsPxKsxfBLSSs5GmH8yjAWPSNd8Yoez4f4/G1nIsksqFtGK1i9e39o0P+EAqaoRLlQ+r94AAAAASUVORK5CYII=)}.ip-geo-block-icon-alert span,span.ip-geo-block-icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEXc3Nzc2trWl5DHRDTFOyvOgXfc1tXCLBrEMiHEMyLNcmfaxMLDMSDDLx7bu7jRiYHDLhzDMB/LX1PaxsTDLh3YtrHMY1bWmpPJVknSjYXUkYnZuLTMZVnENCPWlI3QhXzENiXXrqrDLRzXsa3Oal7Pe3Hc2NjVn5nNbmPayMbbwb7ay8rUj4fc09Lbw8Db0dDBbRUDAAAAAXRSTlMAQObYZgAAAPVJREFUeAG9ktXWwyAQBonC12brFvff5f2frr4nBredK2DnTFS8Gst2XM8XZmypIGeWcT4PFABaGIXlClfWG1NiC4Ubu705oKRcY32wTAHl2MdTYEqEK8hIiHgHSnSJeaogMyEWO4BijZCvwII2MS9UJ2BXTh+hQidoEttboBOwq3WBnkCNpQlA2iyAhol2hRu71n97p4fw0Z9/ugoPHCfFA+o/iLfCkyBglRJdICBas7uuey+R56fF14wNanj+/QjwY3aX23cBFn6EiHmHNT/ICYxystv/wJy4UHWGlN2cuPB72tFqAq3dP/Hk3zs0E5LZVryGC/hqGNnUa0SVAAAAAElFTkSuQmCC);vertical-align:bottom}table.form-table th .ip-geo-block-cycle span{vertical-align:text-bottom}.ip-geo-block-list{margin-top:0;margin-bottom:.7em}@media screen and (min-width:782px){ul.ip-geo-block-list .code{width:15em}}.ip-geo-block-list-exceptions label{display:inline-block}.ip-geo-block-list-exceptions dfn{border:none}.ip-geo-block-list-exceptions span.dashicons{font-size:14px}.ip-geo-block-list-exceptions a.ip-geo-block-icon{margin-left:.3em;outline:0;box-shadow:none;text-decoration:none;background-color:transparent}.form-table td p.ip-geo-block-desc,.form-table td p.ip-geo-block-find-desc{color:#666;font-size:13px!important;margin:4px 0 .5em .5em}.ip-geo-block-find-desc{display:none}.ip-geo-block-admin-post{color:#c43322;margin-left:.25em}.ip-geo-block-warn{color:#c43322;font-weight:700}input#ip_geo_block_settings_behavior_time,input#ip_geo_block_settings_behavior_view{width:3.5em}.ip-geo-block-top-list{display:inline-table;list-style-position:outside;margin:0 2em .5em 1.75em}.ip-geo-block-top-list h4{margin:1em 0}.ip-geo-block-top-list li code{background:0 0}.ip-geo-block-network{margin-bottom:1em}.ip-geo-block-container{margin:0 auto;padding:0 1em;position:relative;width:100%}.ip-geo-block-row{display:flex;flex-direction:column;align-items:flex-start;align-items:stretch;padding:0;width:100%}.ip-geo-block-row .ip-geo-block-column{display:block;flex:1 1 auto;align-self:flex-start;margin-left:0;max-width:100%;width:100%}.ip-geo-block-row .ip-geo-block-column.column-20{flex:0 0 20%;max-width:20%}.ip-geo-block-row .ip-geo-block-column.column-25{flex:0 0 25%;max-width:25%}.ip-geo-block-row .ip-geo-block-column.column-33{flex:0 0 33.3333%;max-width:33.3333%}.ip-geo-block-row .ip-geo-block-column.column-50{flex:0 0 50%;max-width:50%}@media (min-width:40rem){.ip-geo-block-row{flex-direction:row;margin-left:-2em;width:calc(100% + 2em)}.ip-geo-block-row .ip-geo-block-column{margin-bottom:inherit;padding:0 1em}}table.ip-geo-block-dataTable{clear:none!important}table.ip-geo-block-dataTable td,table.ip-geo-block-dataTable th{text-align:right}table.ip-geo-block-dataTable td:nth-child(n+2),table.ip-geo-block-dataTable th:nth-child(n+2){padding-left:0!important}table.ip-geo-block-dataTable th{white-space:nowrap}table.ip-geo-block-dataTable>thead>tr{line-height:1.8em}table.ip-geo-block-dataTable>tbody>tr{cursor:pointer}table.ip-geo-block-dataTable.no-footer,table.ip-geo-block-dataTable>thead>tr>td,table.ip-geo-block-dataTable>thead>tr>th{border-bottom:1px solid #ddd}table.ip-geo-block-dataTable thead td,table.ip-geo-block-dataTable thead th{padding:10px 16px}#ip-geo-block-statistics-cache td:nth-child(3),#ip-geo-block-validation-logs td:nth-child(4){min-width:1.6em}div[class*=ip-geo-block] .dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #ddd}table.ip-geo-block-dataTable.nowrap td,table.ip-geo-block-dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.ip-geo-block-dataTable>tbody>tr>td span{display:inline-block}.ip-geo-block-settings-folding input[type=checkbox]{margin-right:.5em}table.ip-geo-block-dataTable input[type=checkbox]{max-height:16px;max-width:16px;margin:0}table.ip-geo-block-dataTable>tbody>tr>td:first-child,table.ip-geo-block-dataTable>thead>tr>th:first-child{padding:8px 4px 8px 1.4em;text-align:left}table.collapsed>tbody>tr>td.dataTables_empty:first-child::before,table.ip-geo-block-dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.ip-geo-block-dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.ip-geo-block-dataTable.display tbody tr.even>.sorting_1,table.ip-geo-block-dataTable.display tbody tr.odd>.sorting_1,table.ip-geo-block-dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.ip-geo-block-dataTable.collapsed>tbody>tr>td:first-child{padding:8px 4px 8px 8px!important}table.collapsed>tbody>tr.parent>td:first-child::before,table.collapsed>tbody>tr>td:first-child::before{content:'';height:0;width:0;display:inline-block;border-radius:0;border:5px solid transparent;box-shadow:none;position:relative;background-color:transparent}table.collapsed>tbody>tr>td:first-child::before{border-left:5px solid #555;top:1px;left:-2px}table.collapsed>tbody>tr.parent>td:first-child::before{border-top:5px solid #555;top:4px;left:-4px}table.collapsed>tbody>tr.child>td:first-child::before{border:none}table.collapsed>tbody>tr.child>td.child>ul li{border:none;padding:0;margin:0;line-height:1.8em}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data,table.collapsed>tbody>tr.child>td.child>ul li span.dtr-title{font-size:13px!important;display:block;white-space:normal;word-wrap:break-word;word-break:break-all}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data{margin-left:1.25em;margin-right:.3em}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length{padding-top:.15em;margin:.5em 0 0 .3em;position:relative;display:inline-block}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length:after{content:'';width:6px;height:6px;border:0;border-bottom:solid 2px #999;border-right:solid 2px #999;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:50%;right:10px;margin-top:-4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length select{padding-top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px!important;line-height:1.4em;width:100%;height:2.05em!important;background:0 0;position:relative;z-index:1;padding:.125em 1.5em .125em .25em;border:1px solid #ddd;border-radius:4px;box-shadow:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length select::-ms-expand{display:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em;margin-top:0!important}@media screen and (min-width:640px){div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length{margin:.5em 0 0 .6em}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate{position:relative;left:-2.25em}}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate span.ellipsis{min-width:2em;background:inherit;border-color:#ddd;border-radius:0;border-image:none;border-style:solid;border-width:1px 1px 1px 0;box-shadow:none;margin:.5em 0 0 0;padding:.25em 0;display:inline-block;text-decoration:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover{cursor:default;color:#444!important;background-color:#fff!important}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body{padding:0}#ip-geo-block-1 #ip-geo-block-section-2 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}#ip-geo-block-select-duration,#ip-geo-block-select-layout,#ip-geo-block-select-target{margin:0}#ip-geo-block-select-duration li,#ip-geo-block-select-layout li,#ip-geo-block-select-target li{float:left;margin-right:1.5em}#ip-geo-block-select-duration li label,#ip-geo-block-select-target li label{cursor:pointer}#ip_geo_block_settings_search_filter{width:16em;padding-top:3px}table.ip-geo-block-dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.ip-geo-block-dataTable.display tbody tr.ip-geo-block-blocked{background-color:#ffefef!important}.ip-geo-block-new-passed{animation:ip-geo-block-flash-passed 1s ease-out 0s 1 normal both running}.ip-geo-block-new-blocked{animation:ip-geo-block-flash-blocked 1s ease-out 0s 1 normal both running}@keyframes ip-geo-block-flash-passed{0%{background-color:gold}100%{background-color:#edf6ff}}@keyframes ip-geo-block-flash-blocked{0%{background-color:gold}100%{background-color:#ffefef}}mark{padding:0;background:gold}// Gold #ip-geo-block-live-log{margin:0}#ip-geo-block-live-log li{float:left;margin-right:3em}#ip-geo-block-live-log li:last-child{margin-right:0}#ip-geo-block-live-log li input[type=radio]{visibility:hidden;position:absolute}#ip-geo-block-live-log li input[type=radio]+label{display:inline-block;margin:-2px;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);border-bottom-color:#b3b3b3;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}#ip-geo-block-live-log li input[type=radio]:checked+label{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);background-color:#e0e0e0}.ip-geo-block-live-timer{height:1em;width:1em;margin:0;position:relative;top:0;left:0}.ip-geo-block-live-timer:before{content:"";display:block;height:1em;width:1em;background:#0073aa;border-radius:50%;position:absolute;top:0;left:0}.ip-geo-block-live-timer:after{display:none}.ip-geo-block-live-timer>div{position:absolute;width:1em;height:1em;clip:rect(0,1em,1em,.5em)}.ip-geo-block-live-timer>div:before{content:" ";position:absolute;width:1em;height:1em;border-radius:.5em;clip:rect(0,.5em,1em,0);background-color:#f1f1f1;transform:rotate(0)}.ip-geo-block-live-timer>div:first-child:before{animation:30s spin-timer linear forwards}.ip-geo-block-live-timer>div:last-child{transform:rotate(180deg)}.ip-geo-block-live-timer>div:last-child:before{transform:rotate(0);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}.ip-geo-block-subitem{margin-left:1.7em}.ip-geo-block-subitem:before{content:"\00bb";position:absolute;left:2em}.ip-geo-block-subitem dfn{vertical-align:middle}.ip-geo-block-subitem-parent td,.ip-geo-block-subitem-parent th{padding-top:0}:placeholder-shown{color:#888}::-webkit-input-placeholder{color:#888}:-moz-placeholder{color:#888;opacity:1}::-moz-placeholder{color:#888;opacity:1}:-ms-input-placeholder{color:#888}
1
/*!
2
* Project: WordPress IP Geo Block
3
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
+ dfn{cursor:help;border-bottom:1px dotted #888}fieldset,legend{padding:0;margin:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}fieldset{min-width:0}legend{display:block;line-height:inherit;width:100%}label{display:inline-block;max-width:100%}.panel{border-color:#888;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#f5f5f5}.panel-heading{float:left!important;background:#fff}.panel-default>.panel-heading{border-color:inherit}.panel-body{width:100%;padding:0 1em;display:inline-block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.ip-geo-block-navi-link{text-align:left}.ip-geo-block-help-link{float:right;font-size:90%;font-weight:400}.ip-geo-block-help-link a{box-shadow:none}fieldset label{vertical-align:text-middle}fieldset input[type=checkbox]{margin:1px 2px 0}fieldset.ip-geo-block-field{margin:1em 0}fieldset.ip-geo-block-field h2,fieldset.ip-geo-block-field h3{padding:0;margin:0;font-size:14px!important}fieldset.ip-geo-block-field h4{margin:.75em 0 .5em 0}fieldset.ip-geo-block-field legend.panel-heading{padding:10px}fieldset.ip-geo-block-field .ip-geo-block-dropdown,fieldset.ip-geo-block-field .ip-geo-block-dropup{cursor:pointer;position:relative;padding-left:1em}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before,fieldset.ip-geo-block-field .ip-geo-block-dropup:before{content:'';height:0;width:0;border:.4em solid transparent;position:absolute}fieldset.ip-geo-block-field .ip-geo-block-dropup:before{border-left:.4em solid #555;left:2px;top:18%}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before{border-top:.4em solid #555;left:-2px;top:38%}fieldset.ip-geo-block-field .form-table .ip-geo-block-dropdown,fieldset.ip-geo-block-field .form-table .ip-geo-block-dropup{margin-top:.75em}fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before{top:.25em}fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before{top:.5em}fieldset.ip-geo-block-field table.form-table{margin:0 0 .5em;width:100%}textarea.regular-text{width:25em}fieldset.ip-geo-block-field input.regular-text,fieldset.ip-geo-block-field textarea.regular-text{font-size:95%}fieldset.ip-geo-block-field input[type=checkbox],fieldset.ip-geo-block-field input[type=radio],p.ip-geo-block-navi-link input[type=checkbox]{margin-right:.4em}input[id*=ip_geo_block_settings_rewrite_]+label{margin-left:.25em}input[id*=ip_geo_block_settings_providers]+label{min-width:7em}.ip-geo-block-settings-folding{margin:.5em 0}.ip-geo-block-settings-folding ul{margin-bottom:0}.ip-geo-block-settings-folding li{margin:.5em 0}.folding-disable{pointer-events:none;opacity:.5}.folding-inactive{opacity:.5;font-style:oblique!important}.ip-geo-block-float li{display:inline-block;width:18em;margin-top:0}.ip-geo-block-checked{list-style-type:disc}.ip-geo-block-ip-addr{display:inline-block;padding-top:5px}.ip-geo-block-hide{display:none}.ip-geo-block-sup{margin-left:.2em;display:inline-block}.ip-geo-block-note{margin-top:1em;list-style:disc inside}.ip-geo-block-note li{text-indent:-1em;padding-left:1em}.ip-geo-block-border{border-top:inherit}.ip-geo-block-notice{color:#dd3d36}.ip-geo-block-title{width:100px;display:inline-block}.ip-geo-block-result{color:#2786c2;display:inline-block}.ip-geo-block-primary{color:#fff!important;background:#00838f!important;border-color:#00707a!important;text-shadow:none}.ip-geo-block-primary:hover{background-color:#00919e!important;border-color:#00525a!important}ul#ip-geo-block-logs-preset{margin:.25em 0;max-width:600px}ul#ip-geo-block-logs-preset li{float:left;line-height:1.5em;margin-right:1em;min-width:160px}#ip-geo-block-live-loading,.ip-geo-block-loading{height:16px;width:16px;background-size:16px 16px;background-position:center center;background-repeat:no-repeat;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:top}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPYCAKqqqsbGxlZWVsrKyvr6+ubm5tDQ0K6urmZmZmJiYuzs7IaGhvT09JycnLq6us7Ozurq6o6OjtbW1tra2vDw8CgoKCYmJvz8/NLS0kJCQlJSUqysrPLy8vb29pqamra2tm5ubujo6Kampvj4+IiIiMjIyEhISNzc3OLi4rKysj4+PlBQULi4uJKSkmRkZODg4KKiou7u7iQkJB4eHlpaWhISErCwsHh4eMDAwDIyMi4uLqSkpIKCgr6+vt7e3n5+fggICJCQkAwMDEpKSmBgYHZ2dhgYGBYWFnx8fF5eXk5OTiIiIjAwMIyMjISEhDQ0NJaWltTU1AQEBBwcHGpqaoqKiuTk5CoqKlhYWAoKCtjY2Hp6ehAQEJ6ensLCwkxMTJSUlCwsLAYGBnR0dDg4OFxcXLy8vKCgoA4ODsTExMzMzDw8PERERDY2NqioqHJycrS0tGhoaBQUFEZGRjo6OkBAQICAgHBwcFRUVCAgIGxsbP///wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgACACwAAAAAEAAQAEAHjIACgoOEhYJsbTGGghcPGIJRbFNNhgQKCheDDkllDQYMHSc4MAcvhTB0aFliggQjmYNEFQ6LAh0+VoIwbFW1GGamhCgfUE5NbgMKtQYLc0a1gjsyR3E2IYwMFASDYDJvtRRWFIJ1TMq1ElqCICpetQoBEoInVCsAhhI2XhyEPUgIIG7waALlwAloCAMBACH5BAkKAAIALAEAAQAOAA4AAAeDgAKCEmBYYRVKJAaCjAcrVzIzRjVoTw2MKRk5Ww4KECkuWTWCE0Rrl4yCTow7bAupsBcCW19psKkjBEQaFLeMHBwINBy+ggoxVQkPxSMFMXBUMMUQPhRWVUU9tyFRLwQCA048cCcjIyFaJQYxjA8NEVBnAClmahCwEANwbjYBJwyMAgEAIfkECQoABQAsAQABAA4ADgAAB4OABYInO29DbC5QUYKMZiBfbCptTBUmIow4LgJBaTExZkVLFTAFKD8JB4yMQUZrBixUXaqqVFwkUG8Ys4wpQiZOWwy7ghBiRk08HcOqblUTy4wlLWbLBCMFCgBdurMjFMoFE24ADxAXFwwKITEEjD5mH2YBDxI+IdeqHCcGAxgv7IwCAQAh+QQJCgAAACwBAAEADgAOAAAHhYAAglYfTVQJSCITgowDVSAISQJKJgkpjA8LWyIGHBQBJCoZBwAQDU44jIxdTxoSAxEfqqpbFWApUCezjA5LWCJdI7uCClNXGyLCwxBHFl4HBcMAKVxfEx8Y0glZCxwlOCjDUkwPACElAygMghftAB6MClpRJygQFB0EuyMKBQUKDPQxCgQAIfkECQoAAAAsAQABAA4ADgAAB4SAAIIKahstTQ0OVoKMJzYeLVU8W29OXowvBztePh0dUTtxVD0AHDgHEoyMKWVvPj4sBqqqLUoiGDgQs4wBJmNqARe7gjEqXxgPwsMxbWw+UQzDAGY6LjEnusNjFmAEBVbRs00zc1EAHRAKHYw2CHIyO4wEHAwjgmJCZDC7F8psC7IEBQIAIfkECQoARwAsAQABAA4ADgAAB4OAR4IMPgMfNg4PCoKMEA84LCkAMB47GIwxBiUTEAQjKD0REQ9HBD4YIYyMATwtBRQnqaqMG0UOEC8ds4wYIEEQBbuMHC4gMYvCRxw0CAwcF8kBGj8EHdDCJCYiRxfXsw0qCROqRDYQECw3ORkpqjpAQjVGMxYrB7MPC0MyFQItEowCAQAh+QQJCgACACwBAAEADgAOAAAHgIACghcUVhIYEigMgowjEC8nUQ8BOGkojAQxITEdAhcxEh9wPoIMFCOMjBMAKTEXHaipjGldDxcEsqkvUAe5sh1NLb6pHTxNbGK9vlE3DU5ZLsNnIA4GbTVVuQcJdpdnS0Z3LAoxXhF4LjiMMBl5FjptKiZ6ZrJRLUkqbCAwJ4yBACH5BAUKAAEALAEAAQAOAA4AAAd/gAGCARcjHDExHASDjAQdHAoFLy8Ugw2MgiMKWhIKAQ9MYpiCEA8YHQtZCaOCJ14vX2g2rAEKZgMyNRC0BCksFUa7rCMANgIzH7QvZw4tMmO0DlAPUV9hHqNeVTC7G2tkTmkUHA8iSFUGgzZlGSYaNC4gTWqYEzA3SQhVH1aDgQA7)}#ip-geo-block-map{height:400px;margin:1em auto}#ip-geo-block-apis div.nav-tab-wrapper{padding-top:0;margin-bottom:1em}#ip-geo-block-geoinfo{white-space:normal;word-wrap:break-word;word-break:break-all}#ip-geo-block-geoinfo ul{margin-top:0;margin-left:1em}.gm-style-iw{width:18em;height:auto!important;height:100%;min-height:100%:}.gm-style-iw ul{margin:.1em}.gm-style-iw li{margin:.2em}svg a{cursor:pointer}svg a:hover>text{fill:#0096dd}svg a>text{fill:#0073aa;text-decoration:underline}table.ip-geo-block-statistics-table{float:right}table.ip-geo-block-statistics-table td,table.ip-geo-block-statistics-table th{width:12em;margin:0;padding:.2em;text-align:right;line-height:1.5em;word-wrap:break-word}table.ip-geo-block-statistics-table tr:nth-child(even){background-color:#eee}table.ip-geo-block-table{margin:1em 0;width:100%;white-space:normal;word-wrap:break-word;word-break:break-all}table.ip-geo-block-table td:first-child{min-width:4.3em;max-width:5em}@media screen and (max-width:782px){#ip-geo-block-whois .panel-body{padding:0 .5em}}#ip-geo-block-scan-code{vertical-align:middle}#ip-geo-block-code-list{display:none;margin-bottom:0}#ip-geo-block-chart-countries{height:200px}#ip-geo-block-chart-daily{height:240px}#ip_geo_block_settings_validation_mimetype+label{padding-top:.25em}#ip_geo_block_settings_validation_mimetype+label+ul{margin-top:.7em}#ip_geo_block_settings_create_user{margin-bottom:.5em}#ip-geo-block-back-to-top a,#ip-geo-block-toggle-sections{box-shadow:none}#ip-geo-block-wp-info textarea{margin-top:.5em;overflow:auto;width:100%;word-wrap:normal;word-break:normal;white-space:pre}#ip-geo-block-back-to-top{margin:0;text-align:right}#ip-geo-block-live-update,#ip-geo-block-open-new{margin-left:1em}.ip-geo-block-menu-link{font-size:13px!important}dfn~.ip-geo-block-icon{margin-left:.4em}.ip-geo-block-icon{position:relative;cursor:pointer;outline:0;box-shadow:none;text-decoration:none;background-color:transparent}.ip-geo-block-icon:active{top:1px}.ip-geo-block-icon span{height:16px;width:16px;margin:0;border:none;display:inline-block;vertical-align:middle;background-size:16px 16px;background-position:center center;background-repeat:no-repeat}.ip-geo-block-icon-cycle span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC)}.ip-geo-block-icon-lock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==)}.ip-geo-block-icon-unlock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC)}.ip-geo-block-icon-find span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NzS19rD0NWHtMpGk7kYfbAGda0Req+WtcTT1temwM4AcasAcqwAc6wAcKydvMt1pr8Ab6pqpcLX2doggrKoxdNYm7yzw8u/y9HO1tkKdq4th7Td3t6DrcLL0taxyNPGe/YhAAAAAXRSTlMAQObYZgAAARVJREFUeAGtkkeiwyAMRP2xDfxoRjElvd3/lOkNUlZ5u0GPruan/Bnz96Xadr21rvP/7+ujXsAjom78rj4ApCoERIipqfGB1H7wPmYhw1DXjZI6nOel1oJhVAmdUP0tTEDkVC4AYvqIbaDOCqFV6vwRF0tIeYoo6J/X7ICuPAJl9ZynwiIfB5DXxZlRChulbh8xZci0EHZK3TziJFDL504rEOZ+iR5cVj82DoS7XtSshLJpKqaB0Dg3ZjcsQWKaKiF1gVQlITwh/bw2pgKeEeURhE29yKSzUFF03p1V7Wqj2Y7GfrY9X/NirJsPxKsxfBLSSs5GmH8yjAWPSNd8Yoez4f4/G1nIsksqFtGK1i9e39o0P+EAqaoRLlQ+r94AAAAASUVORK5CYII=)}.ip-geo-block-icon-alert span,span.ip-geo-block-icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEXc3Nzc2trWl5DHRDTFOyvOgXfc1tXCLBrEMiHEMyLNcmfaxMLDMSDDLx7bu7jRiYHDLhzDMB/LX1PaxsTDLh3YtrHMY1bWmpPJVknSjYXUkYnZuLTMZVnENCPWlI3QhXzENiXXrqrDLRzXsa3Oal7Pe3Hc2NjVn5nNbmPayMbbwb7ay8rUj4fc09Lbw8Db0dDBbRUDAAAAAXRSTlMAQObYZgAAAPVJREFUeAG9ktXWwyAQBonC12brFvff5f2frr4nBredK2DnTFS8Gst2XM8XZmypIGeWcT4PFABaGIXlClfWG1NiC4Ubu705oKRcY32wTAHl2MdTYEqEK8hIiHgHSnSJeaogMyEWO4BijZCvwII2MS9UJ2BXTh+hQidoEttboBOwq3WBnkCNpQlA2iyAhol2hRu71n97p4fw0Z9/ugoPHCfFA+o/iLfCkyBglRJdICBas7uuey+R56fF14wNanj+/QjwY3aX23cBFn6EiHmHNT/ICYxystv/wJy4UHWGlN2cuPB72tFqAq3dP/Hk3zs0E5LZVryGC/hqGNnUa0SVAAAAAElFTkSuQmCC);vertical-align:bottom}table.form-table th .ip-geo-block-cycle span{vertical-align:text-bottom}.ip-geo-block-list{margin-top:0;margin-bottom:.7em}@media screen and (min-width:782px){ul.ip-geo-block-list .code{width:15em}}.ip-geo-block-list-exceptions label{display:inline-block}.ip-geo-block-list-exceptions dfn{border:none}.ip-geo-block-list-exceptions span.dashicons{font-size:14px}.ip-geo-block-list-exceptions a.ip-geo-block-icon{margin-left:.3em;outline:0;box-shadow:none;text-decoration:none;background-color:transparent}.form-table td p.ip-geo-block-desc,.form-table td p.ip-geo-block-find-desc{color:#666;font-size:13px!important;margin:4px 0 .5em .5em}.ip-geo-block-find-desc{display:none}.ip-geo-block-admin-post{color:#c43322;margin-left:.25em}.ip-geo-block-warn{color:#c43322;font-weight:700}input#ip_geo_block_settings_behavior_time,input#ip_geo_block_settings_behavior_view{width:3.5em}.ip-geo-block-top-list{display:inline-table;list-style-position:outside;margin:0 2em .5em 1.75em}.ip-geo-block-top-list h4{margin:1em 0}.ip-geo-block-top-list li code{background:0 0}.ip-geo-block-network{margin-bottom:1em}.ip-geo-block-container{margin:0 auto;padding:0 1em;position:relative;width:100%}.ip-geo-block-row{display:flex;flex-direction:column;align-items:flex-start;align-items:stretch;padding:0;width:100%}.ip-geo-block-row .ip-geo-block-column{display:block;flex:1 1 auto;align-self:flex-start;margin-left:0;max-width:100%;width:100%}.ip-geo-block-row .ip-geo-block-column.column-20{flex:0 0 20%;max-width:20%}.ip-geo-block-row .ip-geo-block-column.column-25{flex:0 0 25%;max-width:25%}.ip-geo-block-row .ip-geo-block-column.column-33{flex:0 0 33.3333%;max-width:33.3333%}.ip-geo-block-row .ip-geo-block-column.column-50{flex:0 0 50%;max-width:50%}@media (min-width:40rem){.ip-geo-block-row{flex-direction:row;margin-left:-2em;width:calc(100% + 2em)}.ip-geo-block-row .ip-geo-block-column{margin-bottom:inherit;padding:0 1em}}table.ip-geo-block-dataTable{clear:none!important}table.ip-geo-block-dataTable td,table.ip-geo-block-dataTable th{text-align:right}table.ip-geo-block-dataTable td:nth-child(n+2),table.ip-geo-block-dataTable th:nth-child(n+2){padding-left:0!important}table.ip-geo-block-dataTable th{white-space:nowrap}table.ip-geo-block-dataTable>thead>tr{line-height:1.8em}table.ip-geo-block-dataTable>tbody>tr{cursor:pointer}table.ip-geo-block-dataTable.no-footer,table.ip-geo-block-dataTable>thead>tr>td,table.ip-geo-block-dataTable>thead>tr>th{border-bottom:1px solid #ddd}table.ip-geo-block-dataTable thead td,table.ip-geo-block-dataTable thead th{padding:10px 16px}#ip-geo-block-statistics-cache td:nth-child(3),#ip-geo-block-validation-logs td:nth-child(4){min-width:1.6em}div[class*=ip-geo-block] .dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #ddd}table.ip-geo-block-dataTable.nowrap td,table.ip-geo-block-dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.ip-geo-block-dataTable>tbody>tr>td span{display:inline-block}.ip-geo-block-settings-folding input[type=checkbox]{margin-right:.5em}table.ip-geo-block-dataTable input[type=checkbox]{margin:0;max-height:16px;max-width:16px;vertical-align:middle}table.ip-geo-block-dataTable>tbody>tr>td:first-child,table.ip-geo-block-dataTable>thead>tr>th:first-child{padding:8px 4px 8px 1.4em;text-align:left}table.collapsed>tbody>tr>td.dataTables_empty:first-child::before,table.ip-geo-block-dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.ip-geo-block-dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.ip-geo-block-dataTable.display tbody tr.even>.sorting_1,table.ip-geo-block-dataTable.display tbody tr.odd>.sorting_1,table.ip-geo-block-dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.ip-geo-block-dataTable.collapsed>tbody>tr>td:first-child{padding:8px 4px 8px 8px!important}table.collapsed>tbody>tr.parent>td:first-child::before,table.collapsed>tbody>tr>td:first-child::before{content:'';height:0;width:0;display:inline-block;border-radius:0;border:5px solid transparent;box-shadow:none;position:relative;background-color:transparent}table.collapsed>tbody>tr>td:first-child::before{border-left:5px solid #555;top:1px;left:-2px}table.collapsed>tbody>tr.parent>td:first-child::before{border-top:5px solid #555;top:4px;left:-4px}table.collapsed>tbody>tr.child>td:first-child::before{border:none}table.collapsed>tbody>tr.child>td.child>ul li{border:none;padding:0;margin:0;line-height:1.8em}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data,table.collapsed>tbody>tr.child>td.child>ul li span.dtr-title{font-size:13px!important;display:block;white-space:normal;word-wrap:break-word;word-break:break-all}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data{margin-left:1.25em;margin-right:.3em}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length{padding-top:.15em;margin:.5em 0 0 .3em;position:relative;display:inline-block}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length:after{content:'';width:6px;height:6px;border:0;border-bottom:solid 2px #999;border-right:solid 2px #999;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:50%;right:10px;margin-top:-4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length select{padding-top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px!important;line-height:1.4em;width:100%;height:2.05em!important;background:0 0;position:relative;z-index:1;padding:.125em 1.5em .125em .25em;border:1px solid #ddd;border-radius:4px;box-shadow:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length select::-ms-expand{display:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em;margin-top:0!important}@media screen and (min-width:640px){div[class*=ip-geo-block] .dataTables_wrapper .dataTables_length{margin:.5em 0 0 .6em}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate{position:relative;left:-2.25em}}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate span.ellipsis{min-width:2em;background:inherit;border-color:#ddd;border-radius:0;border-image:none;border-style:solid;border-width:1px 1px 1px 0;box-shadow:none;margin:.5em 0 0 0;padding:.25em 0;display:inline-block;text-decoration:none}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,div[class*=ip-geo-block] .dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover{cursor:default;color:#444!important;background-color:#fff!important}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body{padding:0}#ip-geo-block-1 #ip-geo-block-section-2 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}#ip-geo-block-select-duration,#ip-geo-block-select-layout,#ip-geo-block-select-target{margin:0}#ip-geo-block-select-duration li,#ip-geo-block-select-layout li,#ip-geo-block-select-target li{float:left;margin-right:1.5em}#ip-geo-block-select-duration li label,#ip-geo-block-select-target li label{cursor:pointer}#ip_geo_block_settings_search_filter{width:16em;padding-top:3px}table.ip-geo-block-dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.ip-geo-block-dataTable.display tbody tr.ip-geo-block-blocked{background-color:#ffefef!important}.ip-geo-block-new-passed{animation:ip-geo-block-flash-passed 1s ease-out 0s 1 normal both running}.ip-geo-block-new-blocked{animation:ip-geo-block-flash-blocked 1s ease-out 0s 1 normal both running}@keyframes ip-geo-block-flash-passed{0%{background-color:gold}100%{background-color:#edf6ff}}@keyframes ip-geo-block-flash-blocked{0%{background-color:gold}100%{background-color:#ffefef}}mark{padding:0;background:gold}// Gold #ip-geo-block-live-log{margin:0}#ip-geo-block-live-log li{float:left;margin-right:3em}#ip-geo-block-live-log li:last-child{margin-right:0}#ip-geo-block-live-log li input[type=radio]{visibility:hidden;position:absolute}#ip-geo-block-live-log li input[type=radio]+label{display:inline-block;margin:-2px;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);border-bottom-color:#b3b3b3;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}#ip-geo-block-live-log li input[type=radio]:checked+label{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);background-color:#e0e0e0}.ip-geo-block-live-timer{height:1em;width:1em;margin:0;position:relative;top:0;left:0}.ip-geo-block-live-timer:before{content:"";display:block;height:1em;width:1em;background:#0073aa;border-radius:50%;position:absolute;top:0;left:0}.ip-geo-block-live-timer:after{display:none}.ip-geo-block-live-timer>div{position:absolute;width:1em;height:1em;clip:rect(0,1em,1em,.5em)}.ip-geo-block-live-timer>div:before{content:" ";position:absolute;width:1em;height:1em;border-radius:.5em;clip:rect(0,.5em,1em,0);background-color:#f1f1f1;transform:rotate(0)}.ip-geo-block-live-timer>div:first-child:before{animation:30s spin-timer linear forwards}.ip-geo-block-live-timer>div:last-child{transform:rotate(180deg)}.ip-geo-block-live-timer>div:last-child:before{transform:rotate(0);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}.ip-geo-block-subitem{margin-left:1.7em}.ip-geo-block-subitem:before{content:"\00bb";position:absolute;left:2em}.ip-geo-block-subitem dfn{vertical-align:middle}.ip-geo-block-subitem-parent td,.ip-geo-block-subitem-parent th{padding-top:0}:placeholder-shown{color:#888}::-webkit-input-placeholder{color:#888}:-moz-placeholder{color:#888;opacity:1}::-moz-placeholder{color:#888;opacity:1}:-ms-input-placeholder{color:#888}
admin/includes/tab-settings.php CHANGED
@@ -309,6 +309,22 @@ endif;
309
)
310
);
311
312
if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
313
// Prevent metadata alteration
314
$list = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup" style="margin-top:0.4em">' . __( '<dfn title="Specify the table names to be verified for single site. This verification will be skipped if empty.">pre_update_option</dfn>', 'ip-geo-block' ) . "\n";
309
)
310
);
311
312
+ // Metadata Exploit Protection
313
+ add_settings_field(
314
+ $option_name.'_validation_metadata',
315
+ __( '<dfn title="It prevents important information in the database from being defaced and exploited.">Metadata Exploit Protection</dfn>', 'ip-geo-block' ),
316
+ array( $context, 'callback_field' ),
317
+ $option_slug,
318
+ $section,
319
+ array(
320
+ 'type' => 'checkbox',
321
+ 'option' => $option_name,
322
+ 'field' => 'validation',
323
+ 'sub-field' => 'metadata',
324
+ 'value' => $options['validation']['metadata'],
325
+ )
326
+ );
327
+
328
if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
329
// Prevent metadata alteration
330
$list = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup" style="margin-top:0.4em">' . __( '<dfn title="Specify the table names to be verified for single site. This verification will be skipped if empty.">pre_update_option</dfn>', 'ip-geo-block' ) . "\n";
admin/js/admin.js CHANGED
@@ -2,7 +2,7 @@
2
/*eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
3
/*!
4
* Project: WordPress IP Geo Block
5
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
(function ($, window, document, undefined) {
@@ -1981,12 +1981,12 @@
1981
).fadeIn('slow')
1982
1983
// change APIs tab
1984
- .on('click', 'a', function () {
1985
var $this = $(this),
1986
key, json = $(this).data('api'), info = '',
1987
- latitude = stripTag(json.latitude || '0'),
1988
- longitude = stripTag(json.longitude || '0'),
1989
- zoom = (json.latitude || json.longitude) ? 7 : 2;
1990
1991
$this.parent().children('a').removeClass('nav-tab-active');
1992
$this.addClass('nav-tab-active');
@@ -1997,11 +1997,15 @@
1997
1998
for (key in json) {
1999
if (json.hasOwnProperty(key)) {
2000
- key = stripTag(key);
2001
info +=
2002
'<li>' +
2003
- '<span class="' + ID('title' ) + '">' + key + ' : </span>' +
2004
- '<span class="' + ID('result') + '">' + stripTag(json[key]) + '</span>' +
2005
'</li>';
2006
}
2007
}
2
/*eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
3
/*!
4
* Project: WordPress IP Geo Block
5
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
(function ($, window, document, undefined) {
1981
).fadeIn('slow')
1982
1983
// change APIs tab
1984
+ .on('click', 'a.nav-tab', function () {
1985
var $this = $(this),
1986
key, json = $(this).data('api'), info = '',
1987
+ latitude = json ? stripTag(json.latitude ) : '0',
1988
+ longitude = json ? stripTag(json.longitude) : '0',
1989
+ zoom = json && (json.latitude || json.longitude) ? 7 : 2;
1990
1991
$this.parent().children('a').removeClass('nav-tab-active');
1992
$this.addClass('nav-tab-active');
1997
1998
for (key in json) {
1999
if (json.hasOwnProperty(key)) {
2000
+ key = stripTag(key);
2001
+ json[key] = stripTag(json[key]);
2002
+ if ('AS number' === key && 0 === json[key].indexOf('AS')) {
2003
+ json[key] = json[key].replace(/^(AS\d+)/, '<a href="https://ipinfo.io/$1" title="search on ipinfo.io">$1</a>');
2004
+ }
2005
info +=
2006
'<li>' +
2007
+ '<span class="' + ID('title' ) + '">' + key + ' : </span>' +
2008
+ '<span class="' + ID('result') + '">' + json[key] + '</span>' +
2009
'</li>';
2010
}
2011
}
admin/js/admin.min.js CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* Project: WordPress IP Geo Block
3
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
- !function(e,t,n,i){var a=!1,o=[],r=e(t).width(),l=IP_GEO_BLOCK,c=IP_GEO_BLOCK_AUTH;function s(e,t){var n={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return t!==i?n[e]+t:n.$+e}function d(e){return e?function(e){return e.toString().replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}(e.toString().replace(/(<([^>]+)>)/gi,"")):""}function u(n,a){var l=e(t).width();l!==r&&(r=l,o[n]===i&&(o[n]={id:!1,callback:a}),e(t).off("resize").on("resize",function(){return!1!==o[n].id&&t.clearTimeout(o[n].id),o[n].time=t.setTimeout(o[n].callback,200),!1}))}function p(t,n){n?e(s("#",t)).addClass(s("loading")):e(s("#",t)).removeClass(s("loading"))}function h(e,n){t.confirm(d(e))&&n()}function f(e,n,i){t.alert(d(n||l.msg[11].replace("%s",i)+" ("+e+")"))}function g(){f(null,d(l.msg[9]))}function m(e,n){-1!==t.location.href.indexOf(e)&&(t.location=d(e)+(n?"&"+d(n):"")+"&"+(c.key?c.key+"="+c.nonce:""))}function v(t,n,i,o){t&&p(t,!0),n.action=l.action,n.nonce=l.nonce,e.ajax({type:"POST",url:l.url,data:n,dataType:"json"}).done(function(e){i&&i(e)}).fail(function(e){a||f(e.status,e.responseText,n.action)}).always(function(){t&&("object"==typeof o?e.when.apply(e,o).then(function(){p(t,!1)}):p(t,!1))})}function b(e,t){v(e,{cmd:"clear-"+e,which:t},function(e){m(e.page,e.tab)})}function k(e){return e.stopImmediatePropagation(),!1}function w(e,t){t?e.removeClass("folding-disable"):(e.children(s(".","hide")).hide(),e.addClass("folding-disable"),e.removeClass(s("dropdown")).addClass(s("dropup")))}function x(t,n,i){var a=t.prop("type")||"",o=0===a.indexOf("checkbox")&&t.is(":checked")||0===a.indexOf("select")&&"0"!==t.val();t.siblings('input[name^="'+s("%","settings")+'"]:checkbox').prop("disabled",!o),e.isArray(n)?e.each(n,function(t,n){e(n).nextAll(s(".","settings-folding")).each(function(n,a){w(e(a),o&&i[t])})}):n.nextAll(s(".","settings-folding")).each(function(t,n){w(e(n),o&&i)})}function y(t){var n=s("@","validation_ajax_");w(t.closest("ul").next(),e(n+"1").is(":checked")||e(n+"2").is(":checked"))}function _(e){return String(e).replace(/[a-z]/gi,function(e){return String.fromCharCode(e.charCodeAt(0)+(e.toLowerCase()<"n"?13:-13))})}function C(e){return function(e){return t.btoa(e)}(_(e))}function P(e){return _(function(e){return t.atob(e)}(e))}function S(t){var n=t.is(":checked"),i=e(s("@","public_target_rule")),a=e(s("@","public_behavior")),o=t.closest("tr").nextAll("tr");o.find('[name^="'+s("%","settings")+'"]').prop("disabled",!n),o.find(s(".","desc")).css("opacity",n?1:.5),x(t,[i,a],["1"===i.val(),a.val()]),n&&a.change()}function A(t,n){t&&("string"==typeof t&&(t=JSON.parse(t)),n&&(e('input[type="checkbox"]').prop("checked",!1).change(),e("input[name*=providers]").prop("disabled",!1).change()),e(s("#","import")).closest("form").deserialize(t),e(s("@","exception_admin")+","+s("@","validation_mimetype")).change(),e('select[name*="'+s("%","settings")+'"]').change(),e(s("@","validation_login")).change(),S(e(s("@","validation_public"))),y(e(s("@","validation_ajax_1"))),n&&(n=s("%","settings[providers][IPInfoDB]"),e(s("@","providers_IPInfoDB")).prop("checked",!!t[n])))}e.fn.deserialize=function(t){return this.each(function(){var n,i,a,o=this,r={};for(n in t)if(t.hasOwnProperty(n))try{i=d(decodeURIComponent(n)),a=d(decodeURIComponent(t[n])),r.hasOwnProperty(i)||(r[i]=[]),r[i].push(a)}catch(e){}e.each(r,function(t,i){"hidden"!==(n=e('[name="'+t+'"]:input',o).val(i)).attr("type")&&n.before('<span style="color:red">*</span>')})})};var O={dataPie:[],viewPie:[],drawPie:function(a){var o,r;O.dataPie[a]===i&&((o=O.dataPie[a]=new t.google.visualization.DataTable).addColumn("string","Country"),o.addColumn("number","Requests"),r=e.parseJSON(e("#"+a).attr("data-"+a)),O.dataPie[a].addRows(r)),O.viewPie[a]===i&&(O.viewPie[a]=new t.google.visualization.PieChart(n.getElementById(a))),O.dataPie[a]!==i&&O.viewPie[a]!==i&&0<(o=e("#"+a).width())&&O.viewPie[a].draw(O.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,o){var r,l,c;if(O.dataLine[a]===i){for((r=O.dataLine[a]=new t.google.visualization.DataTable).addColumn(o,"Date"),r.addColumn("number","comment"),r.addColumn("number","xmlrpc"),r.addColumn("number","login"),r.addColumn("number","admin"),r.addColumn("number","public"),l=(c=e.parseJSON(e("#"+a).attr("data-"+a))).length,r=0;r<l;++r)c[r][0]=new Date(1e3*c[r][0]);O.dataLine[a].addRows(c)}O.viewLine[a]===i&&(O.viewLine[a]=new t.google.visualization.LineChart(n.getElementById(a))),O.dataLine[a]!==i&&O.viewLine[a]!==i&&0<(r=e("#"+a).width())&&O.viewLine[a].draw(O.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===o?" HH:mm":"")},vAxis:{textPosition:r>320?"out":"in"},chartArea:{left:r>320?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(a){var o,r,l,c,u=e("#"+d(a));O.dataStacked[a]===i&&(l=e.parseJSON(u.attr("data-"+a)))&&(l.unshift(["site","comment","xmlrpc","login","admin","public",{role:"link"}]),O.dataStacked[a]=t.google.visualization.arrayToDataTable(l)),O.viewStacked[a]===i&&(O.viewStacked[a]=new t.google.visualization.BarChart(n.getElementById(a)),t.google.visualization.events.addListener(O.viewStacked[a],"animationfinish",function(){var t,i,o,r=[],l=O.dataStacked[a],c=l.getNumberOfRows(),d=e(s("#","open-new")).prop("checked");for(t=0;t<c;t++)r.push({label:l.getValue(t,0),link:l.getValue(t,6)});c="http://www.w3.org/1999/xlink",u.find("text").each(function(e,t){"g"===(o=t.parentNode).tagName.toLowerCase()&&-1!==(e=function(e,t){var n,i=t.length;for(e=e.replace("…",""),n=0;n<i;++n)if(t.hasOwnProperty(n)&&0===t[n].label.indexOf(e))return n;return-1}(t.textContent,r))&&((i=n.createElementNS("http://www.w3.org/2000/svg","a")).setAttributeNS(c,"xlink:href",r[e].link),i.setAttributeNS(c,"title",r[e].label),i.setAttribute("target",d?"_blank":"_self"),i.setAttribute("class","site"),i.appendChild(o.removeChild(t)),o.appendChild(i),r.splice(e,1))})})),0<(r=u.width())&&O.dataStacked[a]!==i&&O.viewStacked[a]!==i&&(o=s("range"),c=e.parseJSON(e("."+o).attr("data-"+o)),o=40*(l=O.dataStacked[a]).getNumberOfRows(),O.viewStacked[a].draw(l,{width:r,height:o+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:o},hAxis:{minValue:0,maxValue:c[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}}))},ajaxStacked:function(t,n,a,o){v(null,{cmd:"restore-network",which:t=Math.max(0,Math.min(4,t)),offset:(n=5*Math.max(1,Math.min(5,n)))*a*o,length:n},function(t){var a,o,r,l,c;t=function(e,t){var n,i,a=Math.ceil(e.length/t),o=[];for(n=0;n<a;++n)i=n*t,o.push(e.slice(i,i+t));return o}(t,n),e(s(".","network")).each(function(s,d){if(t[s]!==i){for(l=e(d).attr("id"),c=O.dataStacked[l],r=Math.min(n,t[s].length),a=0;a<r;++a)for(o=1;o<=5;o++)c.setValue(a,o,t[s][a][o]);O.drawStacked(l)}})})}};function I(n){"object"==typeof t.google&&(1===n?e(s("#","chart-countries")).length&&(O.drawPie(s("chart-countries")),O.drawLine(s("chart-daily"),"date")):5===n&&e(s(".","network")).each(function(t,n){O.drawStacked(e(n).attr("id"))}))}function N(e){if("object"==typeof t.google){var n=["corechart"];5===e&&n.push("bar"),t.google.charts.load("current",{packages:n,callback:function(){I(e)}}),u("draw-chart."+e,function(){I(e)})}}function D(n){var a,o,r=[];e.each(n,function(e,t){if(r[e]="",t!==i&&(o=t.length))for(r[e]=(t[0]||"o").toString(),a=1;a<o;++a)r[e]+=(t[a]||"o").toString()}),wpCookies!==i&&wpCookies.setHash("ip-geo-block",r,new Date(Date.now()+2592e6),t.location.pathname.replace(/\\/g,"/").match(/.*\//)||c.home+c.admin)}function j(t){var a=function(e){var t,n=wpCookies!==i&&wpCookies.getHash("ip-geo-block")||[];for(t in n)n.hasOwnProperty(t)&&(n[t]=n[t].replace(/[^ox\d]/gi,"").split(""));return n[e]===i&&(n[e]=[]),n}(t);return e(n).on("click","form>h2,h3",function(){return function(e,t,n){var i,a=e.closest("fieldset").data("section"),o=e.parent().nextAll(".panel-body").toggle();e.toggleClass(s("dropup")).toggleClass(s("dropdown")),(i=e.hasClass(s("dropdown")))?o.addClass(s("border")).trigger(s("show-body")):o.removeClass(s("border")),n[t][a]=i?"o":"x",D(n),I(t)}(e(this),t,a),!1}),e(s("#","toggle-sections")).on("click",function(){var n,i=e(s(".","field")).find("h2,h3"),o=[s("dropdown"),s("dropup")],r=i.filter("."+o[0]).length;return i.each(function(i){(n=e(this)).removeClass(o.join(" ")).addClass(r?o[1]:o[0]),n=n.parent().nextAll(".panel-body").toggle(!r),r?n.removeClass(s("border")):n.addClass(s("border")).trigger("show-body"),a[t][i]=r?"x":"o"}),D(a),I(t),!1}),a}function T(t){e("body").append('<div style="display:none"><form method="POST" id="'+s("export-form")+'" action="'+l.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+l.action+'" /><input type="hidden" name="nonce" value="'+l.nonce+'" /><input type="hidden" name="cmd" value="'+t+'" /><input type="hidden" name="data" value="" id="'+s("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+s("file-dialog")+'" /></div>')}function L(e,t,n,i){var a,o;return(a=e.cloneNode(!1)).setAttribute("title",d(n)),(o=t.cloneNode(!1)).setAttribute("class","dashicons dashicons-"+i),a.appendChild(o),a}function R(n,a,o,r){var c=Number(r[n][1===n?3:2])||0;c=[10,25,50,100][c],e.extend(!0,e.fn.dataTable.defaults,o,{dom:"tlp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,language:{emptyTable:l.i18n[1],loadingRecords:l.i18n[0],processing:l.i18n[0],zeroRecords:l.i18n[2],lengthMenu:"_MENU_",paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",lengthMenu:[10,25,50,100],pageLength:c,scroller:!0,scrollY:1e4,scrollCollapse:!0,drawCallback:function(t){var n=e(s("#",a.tableID)).find("td.dataTables_empty"),i="restore-logs"===a.ajaxCMD?3:2;i>t.iDraw?n.html(l.i18n[0]):i===t.iDraw&&(n.html(l.i18n[1]),(n=e(s("@","search_filter"))).val()&&n.trigger("keyup"))}});var d=e(s("#",a.tableID)).DataTable({ajax:{url:l.url,type:"POST",data:{cmd:a.ajaxCMD,action:l.action,nonce:l.nonce}},mark:!0}),p=function(){d.columns.adjust().responsive.recalc().draw(!1)};return u("draw-table."+n,p),e(s("#",a.sectionID)).find(".panel-body").off(s("show-body")).on(s("show-body"),function(){return p(),!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var t=e(this).prop("checked");return e(s("#",a.tableID)).find('td>input[type="checkbox"]').prop("checked",t),!1}),e(s("#","select-target")).off("change").on("change",function(){var t=e(this).find('input[name="'+s("target")+'"]:checked').val();return d.columns(a.targetColumn).search("all"!==t?t:"").draw(),!1}).trigger("change"),e(s("#","bulk-action")).off("click").on("click",function(){var t,o,r=e(this).prev().val(),c=/(<([^>]+)>)/gi,u=/data-hash=[\W]([\w]+)[\W]/i,p={IP:[],AS:[]},h=d.$("input:checked");return!!r&&(h.length?(h.each(function(){o=d.cell(this.parentNode).data(),t=("bulk-action-remove"===r||"bulk-action-ip-erase"===r)&&(t=o[a.columnIP].match(u))?","+t[1]:"",p.IP.push(o[a.columnIP].replace(c,"")+t),p.AS.push(o[a.columnAS].replace(c,""))}),p.IP.length&&v("loading",{cmd:r,which:p},function(t){t.page!==i?m(t.page,"tab="+n):t&&(d.ajax.reload(),e(s("#",a.tableID)).find('th input[type="checkbox"]').prop("checked",!1))}),!1):(f(null,l.msg[10]),!1))}),e(s("@","search_filter")).off("keyup").on("keyup",function(){return d.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw(),!1}),e(s("#","reset-filter")).off("click").on("click",function(){return e(s("@","search_filter")).val(""),d.search("").draw(),!1}),e(s("@","clear_all")).off("click").on("click",function(){return h(l.msg[0],function(){b(1===n?"cache":"logs",null)}),!1}),e("table"+s(".","dataTable")+" tbody").on("click","a",function(){var i,a,o=t.location.search.slice(1).split("&"),r=o.length,l={};for(i=0;i<r;++i)l[(a=o[i].split("="))[0]]=a[1];for(i in l.tab=1===n?4:2,l.s=e(this).text().replace(/[^\w\.\:\*]/,""),a=[],l)l.hasOwnProperty(i)&&a.push(i+"="+l[i]);return t.open(t.location.pathname+"?"+a.join("&"),"_blank"),!1}),e(s("#",a.tableID)).on("length.dt",function(e,t,i){r[n][1===n?3:2]={10:0,25:1,50:2,100:3}[i]||0,D(r)}),d}e(function(){var o=Number(l.tab)||0,r=j(o);switch(e(s(".","inhibit")).on("submit",function(){return!1}),e(t).on("beforeunload",function(){a=!0}),o){case 0:var u=s("%","settings");e('[id^="'+s("scan-")+'"]').on("click",function(){var t=e(this),n=t.attr("id"),i=t.parent();return v(n.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:n.replace(s("scan-"),"")},function(e){var t,n;for(t in i.children("ul").length||i.append('<ul id="'+s("code-list")+'"></ul>'),i=i.children("ul").empty(),e)e.hasOwnProperty(t)&&("string"==typeof e[t=d(t)]?n=d(e[t]):(n=d(e[t].code),t='<abbr title="'+d(e[t].type)+'">'+t+"</abbr>"),i.append("<li>"+t+' : <span class="'+s("notice")+'">'+n+"</span></li>"));i.show("slow")}),!1}),e(s("@","matching_rule")).on("change",function(){var t=this.value;return e(s("@","white_list")).closest("tr").toggle("0"===t),e(s("@","black_list")).closest("tr").toggle("1"===t),!1}).change(),e(s(".","icon-cidr")).on("click",function(){var n=e(s("#","admin-styles-css")).get(0).href,i=t.open("about:blank","","width=560,height=170");return n=n.slice(0,n.lastIndexOf("css/")),i.document.write('<!DOCTYPE html><html lang=en><meta charset=utf-8><title>CIDR calculator for IPv4 / IPv6</title><link href="'+n+'css/cidr.min.css?v=.1" rel=stylesheet><div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g> </span></div></div><script src="'+n+'js/cidr.min.js?v=.1"><\/script>'),i.document.close(),!1}),e(s("@","validation_mimetype")).on("change",function(t){var n=e(this),i=Number(n.val());return n.nextAll(s(".","settings-folding")).each(function(t,n){w(e(n),i===t+1||i&&2===t)}),k(t)}).change(),e('select[name*="response_code"]').on("change",function(t){var n=e(this),i=parseInt(n.val()/100,10),a=n.closest("tr").nextAll("tr");return 0<=n.attr("name").indexOf("public")&&-1===Number(e(s("@","public_matching_rule")).val())?(a.each(function(t){1>=t&&e(this).hide()}),k(t)):(i<=3?a.each(function(t){0===t?e(this).show():1===t&&e(this).hide()}):a.each(function(t){0===t?e(this).hide():1===t&&e(this).show()}),k(t))}).change(),e(s("#","decode")).on("click",function(){var t=e(s("@","signature")),n=t.val();return-1===n.search(/,/)?t.val(P(n)):t.val(C(n)),!1}),e(s("@","validation_login")).on("change",function(t){var n=e(this);return x(n,n,u),k(t)}).change(),v(null,{cmd:"get-actions"},function(t){var i,a,o,r,u=e(s("#","list-admin")),p=n.createElement("li"),h=n.createElement("input"),f=n.createElement("label"),g=n.createElement("dfn"),m=n.createElement("span");for(r in t)t.hasOwnProperty(r)&&(r=d(r),u.find("#"+(o=s("!","exception_admin_"+r))).size()||((i=h.cloneNode(!1)).setAttribute("id",o),i.setAttribute("value",r),i.setAttribute("type","checkbox"),(a=p.cloneNode(!1)).appendChild(i),(i=f.cloneNode(!1)).setAttribute("for",o),i.appendChild(n.createTextNode(r)),a.appendChild(i),1&t[r]&&a.appendChild(L(g,m,l.msg[5],"lock")),2&t[r]&&a.appendChild(L(g,m,l.msg[6],"unlock")),u.append(a)));e(s(".","icon-unlock")).on("click",function(){return e(s("#","list-admin")+">li").filter(function(){return!e(this).find(".dashicons-unlock").length}).toggle(),!1}),e(s("@","exception_admin")).on("change",function(t){var n=e.grep(e(this).val().split(","),function(e){return""!==e.replace(/^\s+|\s+#x2F;g,"")});return e(s("#","list-admin")).find("input").each(function(){var t=e(this),i=t.val();t.prop("checked",-1!==e.inArray(i,n))}),k(t)}).change(),e(s("#","list-admin")).on("click","input",function(){var t,n=e(this),i=e(s("@","exception_admin")),a=n.val(),o=e.grep(i.val().split(","),function(e){return""!==e.replace(/^\s+|\s+#x2F;g,"")});-1===(t=e.inArray(a,o))?o.push(a):o.splice(t,1),i.val(o.join(",")).change()}),e(s(".","icon-find")).on("click",function(){var t,n,i,a,o=e(this),r=[],u=0,p=d(l.msg[8]),h=d(o.data("target"));return e(s("#","find-"+h)).empty(),o.next().children(s(".","find-desc")).show(),(o=e(s("#","list-"+h))).children("li").each(function(t,n){r.push(e(n).find("input").val())}),v("find-"+h,{cmd:"find-"+h},function(f){var g;for(g in f)f.hasOwnProperty(g)&&(++u,t=d(f[g]),g=d(g),n=e.inArray(g,r),i=s("!","exception_"+h+"_"+g),a="admin"===h?t+" "+g:"/"+t+"/"+g+"/",a='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="'+c.sites[0]+c.admin+"options-general.php?page=ip-geo-block&tab=4&s="+encodeURIComponent(a)+'" title="'+p.replace("%s",a)+'" target="_blank"><span></span></a>',n<0?(r.push(g),o.prepend('<li><input id="'+i+'" value="'+g+'" type="checkbox" '+("admin"===h?"/>":"name=ip_geo_block_settings[exception]["+h+"]["+g+"] />")+'<label for="'+i+'">'+g+"</lable>"+a+"</li>")):(i=o.find("#"+i).parent()).find("a").length||i.append(a));e(s("@","exception_"+h)).trigger("change"),e(s("#","find-"+h)).append(' <span class="ip-geo-block-warn">'+d(l.msg[7].replace("%d",u))+"</span>")}),!1})}),e('input[id^="'+s("!","validation_ajax_")+'"]').on("change",function(){y(e(this))}).change(),e(s("@","validation_public")).on("change",function(t){return S(e(this)),k(t)}).change(),e(s("@","public_matching_rule")).on("change",function(t){var n=this.value;return e(s("@","public_white_list")).closest("tr").toggle("0"===n),e(s("@","public_black_list")).closest("tr").toggle("1"===n),e(s("@","public_response_code")).change().closest("tr").toggle("-1"!==n),k(t)}).change(),e(s("@","public_behavior")).on("change",function(t){var n=e(this);return w(n.siblings("ul"),n.prop("checked")),k(t)}).change(),e(s("@","update")).on("click",function(){return v("download",{cmd:"download"},function(t){var n,i,a;for(n in t)if(t.hasOwnProperty(n))for(i in a=t[n])a.hasOwnProperty(i)&&(a[i=d(i)].filename&&e(s("@",n+"_"+i+"_path")).val(d(a[i].filename)),a[i].message&&e(s("#",n+"-"+i)).text(d(a[i].message)))}),!1}),e(s("@","restrict_api")).on("change",function(){e('input[class*="remote"]').prop("disabled",e(this).prop("checked"))}).trigger("change"),e(s("@","save_statistics")).on("change",function(){return e(s("@","validation_recdays")).prop("disabled",!e(this).prop("checked")),!1}).trigger("change"),e(s("@","validation_reclogs")).on("change",function(){var t=e(this);t.parent().parent().nextAll().find('input[id*="validation"]').prop("disabled",0===Number(t.prop("selectedIndex")))}).trigger("change"),e(s("@","cache_hold")).on("change",function(){var t=e(this).prop("checked");e('input[name*="[cache_time]"]').prop("disabled",!t),e('select[id*="login_fails"]').prop("disabled",!t)}).trigger("change"),e(s("@","comment_pos")).on("change",function(){var t=e(this);t.nextAll('input[type="text"]').prop("disabled",0===Number(t.prop("selectedIndex")))}).trigger("change"),T("validate"),e(s("#","export")).on("click",function(){if(JSON===i)return g(),!1;var t=u,n={};return e.each(e(this).closest("form").serializeArray(),function(e,i){-1!==i.name.indexOf(t)&&(n[i.name]=i.value)}),n[t+="[signature]"]=C(n[t]),e(s("#","export-data")).val(JSON.stringify(n)),e(s("#","export-form")).submit(),!1}),e(s("#","file-dialog")).on("change",function(e){if(t.FileReader===i)return g(),!1;var n,a=e.target.files[0];return a&&function(e,n){var i=new t.FileReader;i.onload=function(e){n&&n(e.target.result)},i.onerror=function(e){f("Error",e.target.error.code)},i.readAsText(e)}(a,function(e){(e=JSON.parse(e))[n=u+"[signature]"]!==i&&(e[n]=C(e[n])),v("export-import",{cmd:"validate",data:JSON.stringify(e)},function(e){A(e,!0)})}),!1}),e(s("#","import")).on("click",function(){return e(s("#","file-dialog")).click(),!1}),e(s("#","default")).on("click",function(){return h(l.msg[0],function(){v("pre-defined",{cmd:"import-default"},function(e){A(e,!0)})}),!1}),e(s("#","preferred")).on("click",function(){return h(l.msg[0],function(){v("pre-defined",{cmd:"import-preferred"},function(e){A(e,!1)})}),!1}),e(s("@","reset_live")).on("click",function(){return v("reset-live",{cmd:"reset-live"}),!1}),e(s("#","login-link")).on("click",function(){var t=e(this),n=s("quot;,"primary");return t.hasClass(n)?v("login-loading",{cmd:"generate-link"},function(i){t.text(l.msg[3]),t.removeClass(n).nextAll(s(".","desc")).remove(),e('<p class="ip-geo-block-desc"></p>').appendTo(t.parent()).append(l.msg[4],'<a href="'+i.link+'" title="'+l.msg[1]+'" target=_blank>'+i.link+"</a></p>")}):h(l.msg[0],function(){v("login-loading",{cmd:"delete-link"},function(){t.text(l.msg[2]),t.addClass(n).nextAll(s(".","desc")).remove()})}),!1}),e(s("@","diag_tables")).on("click",function(){return h(l.msg[0],function(){var e;v(e="diag-tables",{cmd:e},function(e){m(e.page,e.tab)})}),!1}),e(s("#","show-info")).on("click",function(){e(s("#","wp-info")).empty(),v("wp-info",{cmd:"show-info"},function(t){var n,i=[];for(n in t)t.hasOwnProperty(n)&&i.push("- "+n+" "+t[n]);return e(s("#","wp-info")).html('<textarea class="regular-text code" rows="'+i.length+'">'+i.join("\n")+"</textarea>").find("textarea").select(),!1})}),e('select[name^="'+u+'"]').on("change",function(){var t,n,i,a=e(this);return t=a,i=s(".","desc"),t.next(i).empty(),(n=t.children("option:selected").data("desc"))&&t.next(i).html(e.parseHTML(n)),x(a,a,u),!1}).change(),e(s(".","icon-cycle")).on("click",function(){var t,n=e(this).nextAll("li"),i=n.find(s("@","exception_admin")),a=n.find("input:checkbox").filter(":visible"),o=a.filter(":checked").length;return a.prop("checked",!o),i.length&&(o?i.val(""):(t=[],a.each(function(n,i){t.push(e(i).val())}),i.val(t.join(",")))),e(this).blur(),!1}),e(s(".","settings-folding>dfn")).on("click",function(){var t=s("drop"),n=e(this).parent();return n.children(s(".","hide")).toggle(),n.toggleClass(t+"up").toggleClass(t+"down"),n.hasClass(t+"up")&&n.children("div").hide(),!1}),e("#submit").on("click",function(){var t=e(s("@","signature")),n=t.val();return-1!==n.indexOf(",")&&t.val(C(n)),!0});break;case 1:N(o);var p=0;e(s("#","sort-slug")).on("click",function(){var t=e(this).closest("ol"),n=t.children("li");(p=!p)?n.sort(function(t,n){return e(t).text()>e(n).text()}):n.sort(function(t,n){return Number(e(t).text().replace(/^.*\((\d+)\)#x2F;,"$1"))<=Number(e(n).text().replace(/^.*\((\d+)\)#x2F;,"$1"))}),t.children("li").remove(),n.appendTo(t)}),e(s("@","clear_statistics")).on("click",function(){return h(l.msg[0],function(){b("statistics",null)}),!1}),e(s("@","clear_logs")).on("click",function(){return h(l.msg[0],function(){b("logs",null)}),!1}),R(o,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:l.i18n[3]},{title:l.i18n[4]},{title:l.i18n[5]},{title:l.i18n[6]},{title:l.i18n[7]},{title:l.i18n[8]},{title:l.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]},r),T("export-cache"),e(s("#","export-cache")).on("click",function(){return e(s("#","export-form")).submit(),!1});break;case 4:var _={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},I={columns:[{title:'<input type="checkbox">'},{title:""},{title:l.i18n[10]},{title:l.i18n[3]},{title:l.i18n[4]},{title:l.i18n[5]},{title:l.i18n[7]},{title:l.i18n[11]},{title:l.i18n[12]},{title:l.i18n[13]},{title:l.i18n[14]},{title:l.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},M=null,z=null,E=e(s("#","live-loading")),$=null,J=function(e){M&&(t.clearTimeout(M),M=null),z&&(E.removeClass(s("live-timer")),t.clearTimeout(z),z=null),v(e===i?"live-loading":null,{cmd:"live-start"},function(n){if(n.error)f(null,n.error);else if(n.data.length){var a,o=n.data.length;for(a=0;a<o;a++)$.row.add(n.data[a]);$.draw(!1)}e===i&&(M=t.setTimeout(J,1e3*l.interval))})},B=function(e,t){J(!1),v(null,{cmd:e||"live-stop",callback:t})},q=s(""),H=function(t,n,i){-1===n[7].indexOf("pass")?e(t).addClass(q+i+"blocked"):e(t).addClass(q+i+"passed")},V=e(s("#","live-log")),G=e(s("#","live-update"));e(s("#","validation-logs")).on("animationend",function(){return e(this).find('tr[class*="'+q+'new"]').each(function(){var t=e(this);-1!==t.prop("class").indexOf("passed")?t.addClass(q+"passed").removeClass(q+"new-passed"):t.addClass(q+"blocked").removeClass(q+"new-blocked")}),!1}),V.on("change",function(){switch(e('input[name="'+s("live-log")+'"]:checked').val()){case"start":J();break;case"pause":B("live-pause",function(){E.addClass(s("live-timer")),z=t.setTimeout(function(){e(s("#","live-log-stop")).prop("checked",!0),B()},1e3*l.timeout)});break;case"stop":B()}}),G.on("change",function(){var t=V.closest("tr"),n=G.prop("checked");return r[o][1]=n?"o":"x",D(r),amp;&$.clear().destroy(),n?(t.show().next().next().next().nextAll().hide(),_.ajaxCMD="live-stop",I.order=[1,"desc"],I.createdRow=function(e,t){H(e,t,"new-")}):(t.hide().next().next().next().nextAll().show(),_.ajaxCMD="restore-logs",I.order=[0,""],I.createdRow=function(e,t){H(e,t,"")}),e(s("#","live-log-stop")).trigger("click"),$=R(o,_,I,r),!1}).trigger("change"),e(s("#","logs-preset")).on("click","a",function(){var t=e(this).data("value");return e(s("@","search_filter")).val(t),$.search(t,!1,!0,!/[A-Z]/.test(t)).draw(),!1}),T("export-logs"),e(s("#","export-logs")).on("click",function(){return e(s("#","export-form")).submit(),!1});break;case 2:e(t).on(s("gmap-error"),function(){v(null,{cmd:"gmap-error"},function(e){m(e.page,e.tab)})});var U=e(s("#","map"));"object"==typeof t.google?U.each(function(){e(this).GmapRS()}):U.each(function(){e(this).empty().html('<iframe src="'+l.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});I=[];e('select[id^="'+s("!","service")+'"]').on("change",function(){e(this).children("option").each(function(t,n){I[e(n).text()]=t,r[o][3+t]=e(n).prop("selected")?"o":"x"}),"o"!==r[o][3+(Number(r[o][2])||0)]&&(r[o][2]=e(this).prop("selectedIndex")),D(r)}).change(),e(s("@","get_location")).on("click",function(){var n,i=e(s("#","whois")),a=e(s("#","apis")),c=e(s("@","service")).val(),u=e.trim(e(s("@","ip_address")).val());if(u&&c){if(e(s("@","anonymize")).prop("checked")){if(/[^0-9a-f\.:]/.test(u))return f(null,"illegal format."),!1;-1!==u.indexOf(".")?u=u.replace(/\.\w+#x2F;,".0"):(-1===(u=(u=u.split(":")).splice(0,4).join(":")).indexOf("::")&&(u+="::"),u=u.replace(/:{3,}/,"::")),e(s("@","ip_address")).val(u)}i.hide().empty(),a.hide().empty(),n=e.whois(u,function(t){var n,a="";for(n=0;n<t.length;++n)a+="<tr><td>"+t[n].name+"</td><td>"+t[n].value+"</td></tr>";i.html('<fieldset id="'+s("section-1")+'" class="'+s("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+s("whois-title")+'" class="'+s("dropdown")+'">Whois</h3></legend><div class="panel-body '+s("border")+'"><table class="'+s("table")+'">'+a+"</table></div></fieldset>").fadeIn("slow"),"x"===r[o][1]&&e(s("#","whois-title")).trigger("click")}),v("loading",{cmd:"search",ip:u,which:c},function(n){var i,c="",p=Number(r[o][2])||0;for(i in n)n.hasOwnProperty(i)&&(c+='<a href="#!" class="nav-tab'+(I[i]===p?" nav-tab-active":"")+'" data-index="'+I[i]+"\" data-api='"+d(JSON.stringify(n[i]))+"'>"+i+"</a>");a.html('<div class="nav-tab-wrapper">'+c+'</div><div id="ip-geo-block-geoinfo"></div>').fadeIn("slow").on("click","a",function(){var n,i=e(this),a=e(this).data("api"),c="",p=d(a.latitude||"0"),h=d(a.longitude||"0"),f=a.latitude||a.longitude?7:2;for(n in i.parent().children("a").removeClass("nav-tab-active"),i.addClass("nav-tab-active"),r[o][2]=i.data("index"),D(r),a)a.hasOwnProperty(n)&&(n=d(n),c+='<li><span class="'+s("title")+'">'+n+' : </span><span class="'+s("result")+'">'+d(a[n])+"</span></li>");"object"==typeof t.google?U.GmapRS("deleteMarkers").GmapRS("addMarker",{latitude:p,longitude:h,title:u,content:"<ul>"+c+"</ul>",show:!0,zoom:f}):(U.empty().html('<iframe src="'+l.altgmap+"?q="+p+","+h+"&z="+f+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>'),e(s("#","geoinfo")).html("<ul>"+c+"</ul>"))}).find(".nav-tab-active").trigger("click")},[n])}return!1}),e(s("@","ip_address")).on("keypress",function(t){if(t.which&&13===t.which||t.keyCode&&13===t.keyCode)return e(s("@","get_location")).click(),!1}),e(s("@","ip_address")).val()&&e(s("@","get_location")).click();break;case 5:N(o),e("input[name="+s("duration")+"]:radio").on("click",function(){var t=e('div[class*="paginate"]').find('a[class*="current"]').text();r[o][2]=e(this).val()||0,r[o][3]=r[o][3]||2,r[o][4]=r[o][4]||1,D(r),O.ajaxStacked(r[o][2],r[o][3],r[o][4],t-1)}),e(s("#","open-new")).on("change",function(){var t=e(this).prop("checked");r[o][1]=t?"o":"x",D(r),e(s("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",t?"_blank":"_self")})}),e(s("#","apply-layout")).on("click",function(){var t=e(s("#","select-layout"));r[o][3]=t.find('select[name="rows"] option:selected').val(),r[o][4]=t.find('select[name="cols"] option:selected').val(),D(r)}),e("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})}(jQuery,window,document);
1
/*!
2
* Project: WordPress IP Geo Block
3
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
+ !function(e,t,n,i){var a=!1,o=[],r=e(t).width(),l=IP_GEO_BLOCK,c=IP_GEO_BLOCK_AUTH;function s(e,t){var n={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return t!==i?n[e]+t:n.$+e}function d(e){return e?function(e){return e.toString().replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}(e.toString().replace(/(<([^>]+)>)/gi,"")):""}function u(n,a){var l=e(t).width();l!==r&&(r=l,o[n]===i&&(o[n]={id:!1,callback:a}),e(t).off("resize").on("resize",function(){return!1!==o[n].id&&t.clearTimeout(o[n].id),o[n].time=t.setTimeout(o[n].callback,200),!1}))}function p(t,n){n?e(s("#",t)).addClass(s("loading")):e(s("#",t)).removeClass(s("loading"))}function h(e,n){t.confirm(d(e))&&n()}function f(e,n,i){t.alert(d(n||l.msg[11].replace("%s",i)+" ("+e+")"))}function g(){f(null,d(l.msg[9]))}function m(e,n){-1!==t.location.href.indexOf(e)&&(t.location=d(e)+(n?"&"+d(n):"")+"&"+(c.key?c.key+"="+c.nonce:""))}function v(t,n,i,o){t&&p(t,!0),n.action=l.action,n.nonce=l.nonce,e.ajax({type:"POST",url:l.url,data:n,dataType:"json"}).done(function(e){i&&i(e)}).fail(function(e){a||f(e.status,e.responseText,n.action)}).always(function(){t&&("object"==typeof o?e.when.apply(e,o).then(function(){p(t,!1)}):p(t,!1))})}function b(e,t){v(e,{cmd:"clear-"+e,which:t},function(e){m(e.page,e.tab)})}function k(e){return e.stopImmediatePropagation(),!1}function w(e,t){t?e.removeClass("folding-disable"):(e.children(s(".","hide")).hide(),e.addClass("folding-disable"),e.removeClass(s("dropdown")).addClass(s("dropup")))}function x(t,n,i){var a=t.prop("type")||"",o=0===a.indexOf("checkbox")&&t.is(":checked")||0===a.indexOf("select")&&"0"!==t.val();t.siblings('input[name^="'+s("%","settings")+'"]:checkbox').prop("disabled",!o),e.isArray(n)?e.each(n,function(t,n){e(n).nextAll(s(".","settings-folding")).each(function(n,a){w(e(a),o&&i[t])})}):n.nextAll(s(".","settings-folding")).each(function(t,n){w(e(n),o&&i)})}function y(t){var n=s("@","validation_ajax_");w(t.closest("ul").next(),e(n+"1").is(":checked")||e(n+"2").is(":checked"))}function _(e){return String(e).replace(/[a-z]/gi,function(e){return String.fromCharCode(e.charCodeAt(0)+(e.toLowerCase()<"n"?13:-13))})}function C(e){return function(e){return t.btoa(e)}(_(e))}function P(e){return _(function(e){return t.atob(e)}(e))}function S(t){var n=t.is(":checked"),i=e(s("@","public_target_rule")),a=e(s("@","public_behavior")),o=t.closest("tr").nextAll("tr");o.find('[name^="'+s("%","settings")+'"]').prop("disabled",!n),o.find(s(".","desc")).css("opacity",n?1:.5),x(t,[i,a],["1"===i.val(),a.val()]),n&&a.change()}function A(t,n){t&&("string"==typeof t&&(t=JSON.parse(t)),n&&(e('input[type="checkbox"]').prop("checked",!1).change(),e("input[name*=providers]").prop("disabled",!1).change()),e(s("#","import")).closest("form").deserialize(t),e(s("@","exception_admin")+","+s("@","validation_mimetype")).change(),e('select[name*="'+s("%","settings")+'"]').change(),e(s("@","validation_login")).change(),S(e(s("@","validation_public"))),y(e(s("@","validation_ajax_1"))),n&&(n=s("%","settings[providers][IPInfoDB]"),e(s("@","providers_IPInfoDB")).prop("checked",!!t[n])))}e.fn.deserialize=function(t){return this.each(function(){var n,i,a,o=this,r={};for(n in t)if(t.hasOwnProperty(n))try{i=d(decodeURIComponent(n)),a=d(decodeURIComponent(t[n])),r.hasOwnProperty(i)||(r[i]=[]),r[i].push(a)}catch(e){}e.each(r,function(t,i){"hidden"!==(n=e('[name="'+t+'"]:input',o).val(i)).attr("type")&&n.before('<span style="color:red">*</span>')})})};var O={dataPie:[],viewPie:[],drawPie:function(a){var o,r;O.dataPie[a]===i&&((o=O.dataPie[a]=new t.google.visualization.DataTable).addColumn("string","Country"),o.addColumn("number","Requests"),r=e.parseJSON(e("#"+a).attr("data-"+a)),O.dataPie[a].addRows(r)),O.viewPie[a]===i&&(O.viewPie[a]=new t.google.visualization.PieChart(n.getElementById(a))),O.dataPie[a]!==i&&O.viewPie[a]!==i&&0<(o=e("#"+a).width())&&O.viewPie[a].draw(O.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,o){var r,l,c;if(O.dataLine[a]===i){for((r=O.dataLine[a]=new t.google.visualization.DataTable).addColumn(o,"Date"),r.addColumn("number","comment"),r.addColumn("number","xmlrpc"),r.addColumn("number","login"),r.addColumn("number","admin"),r.addColumn("number","public"),l=(c=e.parseJSON(e("#"+a).attr("data-"+a))).length,r=0;r<l;++r)c[r][0]=new Date(1e3*c[r][0]);O.dataLine[a].addRows(c)}O.viewLine[a]===i&&(O.viewLine[a]=new t.google.visualization.LineChart(n.getElementById(a))),O.dataLine[a]!==i&&O.viewLine[a]!==i&&0<(r=e("#"+a).width())&&O.viewLine[a].draw(O.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===o?" HH:mm":"")},vAxis:{textPosition:r>320?"out":"in"},chartArea:{left:r>320?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(a){var o,r,l,c,u=e("#"+d(a));O.dataStacked[a]===i&&(l=e.parseJSON(u.attr("data-"+a)))&&(l.unshift(["site","comment","xmlrpc","login","admin","public",{role:"link"}]),O.dataStacked[a]=t.google.visualization.arrayToDataTable(l)),O.viewStacked[a]===i&&(O.viewStacked[a]=new t.google.visualization.BarChart(n.getElementById(a)),t.google.visualization.events.addListener(O.viewStacked[a],"animationfinish",function(){var t,i,o,r=[],l=O.dataStacked[a],c=l.getNumberOfRows(),d=e(s("#","open-new")).prop("checked");for(t=0;t<c;t++)r.push({label:l.getValue(t,0),link:l.getValue(t,6)});c="http://www.w3.org/1999/xlink",u.find("text").each(function(e,t){"g"===(o=t.parentNode).tagName.toLowerCase()&&-1!==(e=function(e,t){var n,i=t.length;for(e=e.replace("…",""),n=0;n<i;++n)if(t.hasOwnProperty(n)&&0===t[n].label.indexOf(e))return n;return-1}(t.textContent,r))&&((i=n.createElementNS("http://www.w3.org/2000/svg","a")).setAttributeNS(c,"xlink:href",r[e].link),i.setAttributeNS(c,"title",r[e].label),i.setAttribute("target",d?"_blank":"_self"),i.setAttribute("class","site"),i.appendChild(o.removeChild(t)),o.appendChild(i),r.splice(e,1))})})),0<(r=u.width())&&O.dataStacked[a]!==i&&O.viewStacked[a]!==i&&(o=s("range"),c=e.parseJSON(e("."+o).attr("data-"+o)),o=40*(l=O.dataStacked[a]).getNumberOfRows(),O.viewStacked[a].draw(l,{width:r,height:o+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:o},hAxis:{minValue:0,maxValue:c[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}}))},ajaxStacked:function(t,n,a,o){v(null,{cmd:"restore-network",which:t=Math.max(0,Math.min(4,t)),offset:(n=5*Math.max(1,Math.min(5,n)))*a*o,length:n},function(t){var a,o,r,l,c;t=function(e,t){var n,i,a=Math.ceil(e.length/t),o=[];for(n=0;n<a;++n)i=n*t,o.push(e.slice(i,i+t));return o}(t,n),e(s(".","network")).each(function(s,d){if(t[s]!==i){for(l=e(d).attr("id"),c=O.dataStacked[l],r=Math.min(n,t[s].length),a=0;a<r;++a)for(o=1;o<=5;o++)c.setValue(a,o,t[s][a][o]);O.drawStacked(l)}})})}};function I(n){"object"==typeof t.google&&(1===n?e(s("#","chart-countries")).length&&(O.drawPie(s("chart-countries")),O.drawLine(s("chart-daily"),"date")):5===n&&e(s(".","network")).each(function(t,n){O.drawStacked(e(n).attr("id"))}))}function N(e){if("object"==typeof t.google){var n=["corechart"];5===e&&n.push("bar"),t.google.charts.load("current",{packages:n,callback:function(){I(e)}}),u("draw-chart."+e,function(){I(e)})}}function D(n){var a,o,r=[];e.each(n,function(e,t){if(r[e]="",t!==i&&(o=t.length))for(r[e]=(t[0]||"o").toString(),a=1;a<o;++a)r[e]+=(t[a]||"o").toString()}),wpCookies!==i&&wpCookies.setHash("ip-geo-block",r,new Date(Date.now()+2592e6),t.location.pathname.replace(/\\/g,"/").match(/.*\//)||c.home+c.admin)}function j(t){var a=function(e){var t,n=wpCookies!==i&&wpCookies.getHash("ip-geo-block")||[];for(t in n)n.hasOwnProperty(t)&&(n[t]=n[t].replace(/[^ox\d]/gi,"").split(""));return n[e]===i&&(n[e]=[]),n}(t);return e(n).on("click","form>h2,h3",function(){return function(e,t,n){var i,a=e.closest("fieldset").data("section"),o=e.parent().nextAll(".panel-body").toggle();e.toggleClass(s("dropup")).toggleClass(s("dropdown")),(i=e.hasClass(s("dropdown")))?o.addClass(s("border")).trigger(s("show-body")):o.removeClass(s("border")),n[t][a]=i?"o":"x",D(n),I(t)}(e(this),t,a),!1}),e(s("#","toggle-sections")).on("click",function(){var n,i=e(s(".","field")).find("h2,h3"),o=[s("dropdown"),s("dropup")],r=i.filter("."+o[0]).length;return i.each(function(i){(n=e(this)).removeClass(o.join(" ")).addClass(r?o[1]:o[0]),n=n.parent().nextAll(".panel-body").toggle(!r),r?n.removeClass(s("border")):n.addClass(s("border")).trigger("show-body"),a[t][i]=r?"x":"o"}),D(a),I(t),!1}),a}function T(t){e("body").append('<div style="display:none"><form method="POST" id="'+s("export-form")+'" action="'+l.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+l.action+'" /><input type="hidden" name="nonce" value="'+l.nonce+'" /><input type="hidden" name="cmd" value="'+t+'" /><input type="hidden" name="data" value="" id="'+s("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+s("file-dialog")+'" /></div>')}function L(e,t,n,i){var a,o;return(a=e.cloneNode(!1)).setAttribute("title",d(n)),(o=t.cloneNode(!1)).setAttribute("class","dashicons dashicons-"+i),a.appendChild(o),a}function R(n,a,o,r){var c=Number(r[n][1===n?3:2])||0;c=[10,25,50,100][c],e.extend(!0,e.fn.dataTable.defaults,o,{dom:"tlp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,language:{emptyTable:l.i18n[1],loadingRecords:l.i18n[0],processing:l.i18n[0],zeroRecords:l.i18n[2],lengthMenu:"_MENU_",paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",lengthMenu:[10,25,50,100],pageLength:c,scroller:!0,scrollY:1e4,scrollCollapse:!0,drawCallback:function(t){var n=e(s("#",a.tableID)).find("td.dataTables_empty"),i="restore-logs"===a.ajaxCMD?3:2;i>t.iDraw?n.html(l.i18n[0]):i===t.iDraw&&(n.html(l.i18n[1]),(n=e(s("@","search_filter"))).val()&&n.trigger("keyup"))}});var d=e(s("#",a.tableID)).DataTable({ajax:{url:l.url,type:"POST",data:{cmd:a.ajaxCMD,action:l.action,nonce:l.nonce}},mark:!0}),p=function(){d.columns.adjust().responsive.recalc().draw(!1)};return u("draw-table."+n,p),e(s("#",a.sectionID)).find(".panel-body").off(s("show-body")).on(s("show-body"),function(){return p(),!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var t=e(this).prop("checked");return e(s("#",a.tableID)).find('td>input[type="checkbox"]').prop("checked",t),!1}),e(s("#","select-target")).off("change").on("change",function(){var t=e(this).find('input[name="'+s("target")+'"]:checked').val();return d.columns(a.targetColumn).search("all"!==t?t:"").draw(),!1}).trigger("change"),e(s("#","bulk-action")).off("click").on("click",function(){var t,o,r=e(this).prev().val(),c=/(<([^>]+)>)/gi,u=/data-hash=[\W]([\w]+)[\W]/i,p={IP:[],AS:[]},h=d.$("input:checked");return!!r&&(h.length?(h.each(function(){o=d.cell(this.parentNode).data(),t=("bulk-action-remove"===r||"bulk-action-ip-erase"===r)&&(t=o[a.columnIP].match(u))?","+t[1]:"",p.IP.push(o[a.columnIP].replace(c,"")+t),p.AS.push(o[a.columnAS].replace(c,""))}),p.IP.length&&v("loading",{cmd:r,which:p},function(t){t.page!==i?m(t.page,"tab="+n):t&&(d.ajax.reload(),e(s("#",a.tableID)).find('th input[type="checkbox"]').prop("checked",!1))}),!1):(f(null,l.msg[10]),!1))}),e(s("@","search_filter")).off("keyup").on("keyup",function(){return d.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw(),!1}),e(s("#","reset-filter")).off("click").on("click",function(){return e(s("@","search_filter")).val(""),d.search("").draw(),!1}),e(s("@","clear_all")).off("click").on("click",function(){return h(l.msg[0],function(){b(1===n?"cache":"logs",null)}),!1}),e("table"+s(".","dataTable")+" tbody").on("click","a",function(){var i,a,o=t.location.search.slice(1).split("&"),r=o.length,l={};for(i=0;i<r;++i)l[(a=o[i].split("="))[0]]=a[1];for(i in l.tab=1===n?4:2,l.s=e(this).text().replace(/[^\w\.\:\*]/,""),a=[],l)l.hasOwnProperty(i)&&a.push(i+"="+l[i]);return t.open(t.location.pathname+"?"+a.join("&"),"_blank"),!1}),e(s("#",a.tableID)).on("length.dt",function(e,t,i){r[n][1===n?3:2]={10:0,25:1,50:2,100:3}[i]||0,D(r)}),d}e(function(){var o=Number(l.tab)||0,r=j(o);switch(e(s(".","inhibit")).on("submit",function(){return!1}),e(t).on("beforeunload",function(){a=!0}),o){case 0:var u=s("%","settings");e('[id^="'+s("scan-")+'"]').on("click",function(){var t=e(this),n=t.attr("id"),i=t.parent();return v(n.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:n.replace(s("scan-"),"")},function(e){var t,n;for(t in i.children("ul").length||i.append('<ul id="'+s("code-list")+'"></ul>'),i=i.children("ul").empty(),e)e.hasOwnProperty(t)&&("string"==typeof e[t=d(t)]?n=d(e[t]):(n=d(e[t].code),t='<abbr title="'+d(e[t].type)+'">'+t+"</abbr>"),i.append("<li>"+t+' : <span class="'+s("notice")+'">'+n+"</span></li>"));i.show("slow")}),!1}),e(s("@","matching_rule")).on("change",function(){var t=this.value;return e(s("@","white_list")).closest("tr").toggle("0"===t),e(s("@","black_list")).closest("tr").toggle("1"===t),!1}).change(),e(s(".","icon-cidr")).on("click",function(){var n=e(s("#","admin-styles-css")).get(0).href,i=t.open("about:blank","","width=560,height=170");return n=n.slice(0,n.lastIndexOf("css/")),i.document.write('<!DOCTYPE html><html lang=en><meta charset=utf-8><title>CIDR calculator for IPv4 / IPv6</title><link href="'+n+'css/cidr.min.css?v=.1" rel=stylesheet><div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g> </span></div></div><script src="'+n+'js/cidr.min.js?v=.1"><\/script>'),i.document.close(),!1}),e(s("@","validation_mimetype")).on("change",function(t){var n=e(this),i=Number(n.val());return n.nextAll(s(".","settings-folding")).each(function(t,n){w(e(n),i===t+1||i&&2===t)}),k(t)}).change(),e('select[name*="response_code"]').on("change",function(t){var n=e(this),i=parseInt(n.val()/100,10),a=n.closest("tr").nextAll("tr");return 0<=n.attr("name").indexOf("public")&&-1===Number(e(s("@","public_matching_rule")).val())?(a.each(function(t){1>=t&&e(this).hide()}),k(t)):(i<=3?a.each(function(t){0===t?e(this).show():1===t&&e(this).hide()}):a.each(function(t){0===t?e(this).hide():1===t&&e(this).show()}),k(t))}).change(),e(s("#","decode")).on("click",function(){var t=e(s("@","signature")),n=t.val();return-1===n.search(/,/)?t.val(P(n)):t.val(C(n)),!1}),e(s("@","validation_login")).on("change",function(t){var n=e(this);return x(n,n,u),k(t)}).change(),v(null,{cmd:"get-actions"},function(t){var i,a,o,r,u=e(s("#","list-admin")),p=n.createElement("li"),h=n.createElement("input"),f=n.createElement("label"),g=n.createElement("dfn"),m=n.createElement("span");for(r in t)t.hasOwnProperty(r)&&(r=d(r),u.find("#"+(o=s("!","exception_admin_"+r))).size()||((i=h.cloneNode(!1)).setAttribute("id",o),i.setAttribute("value",r),i.setAttribute("type","checkbox"),(a=p.cloneNode(!1)).appendChild(i),(i=f.cloneNode(!1)).setAttribute("for",o),i.appendChild(n.createTextNode(r)),a.appendChild(i),1&t[r]&&a.appendChild(L(g,m,l.msg[5],"lock")),2&t[r]&&a.appendChild(L(g,m,l.msg[6],"unlock")),u.append(a)));e(s(".","icon-unlock")).on("click",function(){return e(s("#","list-admin")+">li").filter(function(){return!e(this).find(".dashicons-unlock").length}).toggle(),!1}),e(s("@","exception_admin")).on("change",function(t){var n=e.grep(e(this).val().split(","),function(e){return""!==e.replace(/^\s+|\s+#x2F;g,"")});return e(s("#","list-admin")).find("input").each(function(){var t=e(this),i=t.val();t.prop("checked",-1!==e.inArray(i,n))}),k(t)}).change(),e(s("#","list-admin")).on("click","input",function(){var t,n=e(this),i=e(s("@","exception_admin")),a=n.val(),o=e.grep(i.val().split(","),function(e){return""!==e.replace(/^\s+|\s+#x2F;g,"")});-1===(t=e.inArray(a,o))?o.push(a):o.splice(t,1),i.val(o.join(",")).change()}),e(s(".","icon-find")).on("click",function(){var t,n,i,a,o=e(this),r=[],u=0,p=d(l.msg[8]),h=d(o.data("target"));return e(s("#","find-"+h)).empty(),o.next().children(s(".","find-desc")).show(),(o=e(s("#","list-"+h))).children("li").each(function(t,n){r.push(e(n).find("input").val())}),v("find-"+h,{cmd:"find-"+h},function(f){var g;for(g in f)f.hasOwnProperty(g)&&(++u,t=d(f[g]),g=d(g),n=e.inArray(g,r),i=s("!","exception_"+h+"_"+g),a="admin"===h?t+" "+g:"/"+t+"/"+g+"/",a='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="'+c.sites[0]+c.admin+"options-general.php?page=ip-geo-block&tab=4&s="+encodeURIComponent(a)+'" title="'+p.replace("%s",a)+'" target="_blank"><span></span></a>',n<0?(r.push(g),o.prepend('<li><input id="'+i+'" value="'+g+'" type="checkbox" '+("admin"===h?"/>":"name=ip_geo_block_settings[exception]["+h+"]["+g+"] />")+'<label for="'+i+'">'+g+"</lable>"+a+"</li>")):(i=o.find("#"+i).parent()).find("a").length||i.append(a));e(s("@","exception_"+h)).trigger("change"),e(s("#","find-"+h)).append(' <span class="ip-geo-block-warn">'+d(l.msg[7].replace("%d",u))+"</span>")}),!1})}),e('input[id^="'+s("!","validation_ajax_")+'"]').on("change",function(){y(e(this))}).change(),e(s("@","validation_public")).on("change",function(t){return S(e(this)),k(t)}).change(),e(s("@","public_matching_rule")).on("change",function(t){var n=this.value;return e(s("@","public_white_list")).closest("tr").toggle("0"===n),e(s("@","public_black_list")).closest("tr").toggle("1"===n),e(s("@","public_response_code")).change().closest("tr").toggle("-1"!==n),k(t)}).change(),e(s("@","public_behavior")).on("change",function(t){var n=e(this);return w(n.siblings("ul"),n.prop("checked")),k(t)}).change(),e(s("@","update")).on("click",function(){return v("download",{cmd:"download"},function(t){var n,i,a;for(n in t)if(t.hasOwnProperty(n))for(i in a=t[n])a.hasOwnProperty(i)&&(a[i=d(i)].filename&&e(s("@",n+"_"+i+"_path")).val(d(a[i].filename)),a[i].message&&e(s("#",n+"-"+i)).text(d(a[i].message)))}),!1}),e(s("@","restrict_api")).on("change",function(){e('input[class*="remote"]').prop("disabled",e(this).prop("checked"))}).trigger("change"),e(s("@","save_statistics")).on("change",function(){return e(s("@","validation_recdays")).prop("disabled",!e(this).prop("checked")),!1}).trigger("change"),e(s("@","validation_reclogs")).on("change",function(){var t=e(this);t.parent().parent().nextAll().find('input[id*="validation"]').prop("disabled",0===Number(t.prop("selectedIndex")))}).trigger("change"),e(s("@","cache_hold")).on("change",function(){var t=e(this).prop("checked");e('input[name*="[cache_time]"]').prop("disabled",!t),e('select[id*="login_fails"]').prop("disabled",!t)}).trigger("change"),e(s("@","comment_pos")).on("change",function(){var t=e(this);t.nextAll('input[type="text"]').prop("disabled",0===Number(t.prop("selectedIndex")))}).trigger("change"),T("validate"),e(s("#","export")).on("click",function(){if(JSON===i)return g(),!1;var t=u,n={};return e.each(e(this).closest("form").serializeArray(),function(e,i){-1!==i.name.indexOf(t)&&(n[i.name]=i.value)}),n[t+="[signature]"]=C(n[t]),e(s("#","export-data")).val(JSON.stringify(n)),e(s("#","export-form")).submit(),!1}),e(s("#","file-dialog")).on("change",function(e){if(t.FileReader===i)return g(),!1;var n,a=e.target.files[0];return a&&function(e,n){var i=new t.FileReader;i.onload=function(e){n&&n(e.target.result)},i.onerror=function(e){f("Error",e.target.error.code)},i.readAsText(e)}(a,function(e){(e=JSON.parse(e))[n=u+"[signature]"]!==i&&(e[n]=C(e[n])),v("export-import",{cmd:"validate",data:JSON.stringify(e)},function(e){A(e,!0)})}),!1}),e(s("#","import")).on("click",function(){return e(s("#","file-dialog")).click(),!1}),e(s("#","default")).on("click",function(){return h(l.msg[0],function(){v("pre-defined",{cmd:"import-default"},function(e){A(e,!0)})}),!1}),e(s("#","preferred")).on("click",function(){return h(l.msg[0],function(){v("pre-defined",{cmd:"import-preferred"},function(e){A(e,!1)})}),!1}),e(s("@","reset_live")).on("click",function(){return v("reset-live",{cmd:"reset-live"}),!1}),e(s("#","login-link")).on("click",function(){var t=e(this),n=s("quot;,"primary");return t.hasClass(n)?v("login-loading",{cmd:"generate-link"},function(i){t.text(l.msg[3]),t.removeClass(n).nextAll(s(".","desc")).remove(),e('<p class="ip-geo-block-desc"></p>').appendTo(t.parent()).append(l.msg[4],'<a href="'+i.link+'" title="'+l.msg[1]+'" target=_blank>'+i.link+"</a></p>")}):h(l.msg[0],function(){v("login-loading",{cmd:"delete-link"},function(){t.text(l.msg[2]),t.addClass(n).nextAll(s(".","desc")).remove()})}),!1}),e(s("@","diag_tables")).on("click",function(){return h(l.msg[0],function(){var e;v(e="diag-tables",{cmd:e},function(e){m(e.page,e.tab)})}),!1}),e(s("#","show-info")).on("click",function(){e(s("#","wp-info")).empty(),v("wp-info",{cmd:"show-info"},function(t){var n,i=[];for(n in t)t.hasOwnProperty(n)&&i.push("- "+n+" "+t[n]);return e(s("#","wp-info")).html('<textarea class="regular-text code" rows="'+i.length+'">'+i.join("\n")+"</textarea>").find("textarea").select(),!1})}),e('select[name^="'+u+'"]').on("change",function(){var t,n,i,a=e(this);return t=a,i=s(".","desc"),t.next(i).empty(),(n=t.children("option:selected").data("desc"))&&t.next(i).html(e.parseHTML(n)),x(a,a,u),!1}).change(),e(s(".","icon-cycle")).on("click",function(){var t,n=e(this).nextAll("li"),i=n.find(s("@","exception_admin")),a=n.find("input:checkbox").filter(":visible"),o=a.filter(":checked").length;return a.prop("checked",!o),i.length&&(o?i.val(""):(t=[],a.each(function(n,i){t.push(e(i).val())}),i.val(t.join(",")))),e(this).blur(),!1}),e(s(".","settings-folding>dfn")).on("click",function(){var t=s("drop"),n=e(this).parent();return n.children(s(".","hide")).toggle(),n.toggleClass(t+"up").toggleClass(t+"down"),n.hasClass(t+"up")&&n.children("div").hide(),!1}),e("#submit").on("click",function(){var t=e(s("@","signature")),n=t.val();return-1!==n.indexOf(",")&&t.val(C(n)),!0});break;case 1:N(o);var p=0;e(s("#","sort-slug")).on("click",function(){var t=e(this).closest("ol"),n=t.children("li");(p=!p)?n.sort(function(t,n){return e(t).text()>e(n).text()}):n.sort(function(t,n){return Number(e(t).text().replace(/^.*\((\d+)\)#x2F;,"$1"))<=Number(e(n).text().replace(/^.*\((\d+)\)#x2F;,"$1"))}),t.children("li").remove(),n.appendTo(t)}),e(s("@","clear_statistics")).on("click",function(){return h(l.msg[0],function(){b("statistics",null)}),!1}),e(s("@","clear_logs")).on("click",function(){return h(l.msg[0],function(){b("logs",null)}),!1}),R(o,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:l.i18n[3]},{title:l.i18n[4]},{title:l.i18n[5]},{title:l.i18n[6]},{title:l.i18n[7]},{title:l.i18n[8]},{title:l.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]},r),T("export-cache"),e(s("#","export-cache")).on("click",function(){return e(s("#","export-form")).submit(),!1});break;case 4:var _={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},I={columns:[{title:'<input type="checkbox">'},{title:""},{title:l.i18n[10]},{title:l.i18n[3]},{title:l.i18n[4]},{title:l.i18n[5]},{title:l.i18n[7]},{title:l.i18n[11]},{title:l.i18n[12]},{title:l.i18n[13]},{title:l.i18n[14]},{title:l.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},M=null,z=null,E=e(s("#","live-loading")),$=null,J=function(e){M&&(t.clearTimeout(M),M=null),z&&(E.removeClass(s("live-timer")),t.clearTimeout(z),z=null),v(e===i?"live-loading":null,{cmd:"live-start"},function(n){if(n.error)f(null,n.error);else if(n.data.length){var a,o=n.data.length;for(a=0;a<o;a++)$.row.add(n.data[a]);$.draw(!1)}e===i&&(M=t.setTimeout(J,1e3*l.interval))})},B=function(e,t){J(!1),v(null,{cmd:e||"live-stop",callback:t})},q=s(""),H=function(t,n,i){-1===n[7].indexOf("pass")?e(t).addClass(q+i+"blocked"):e(t).addClass(q+i+"passed")},V=e(s("#","live-log")),G=e(s("#","live-update"));e(s("#","validation-logs")).on("animationend",function(){return e(this).find('tr[class*="'+q+'new"]').each(function(){var t=e(this);-1!==t.prop("class").indexOf("passed")?t.addClass(q+"passed").removeClass(q+"new-passed"):t.addClass(q+"blocked").removeClass(q+"new-blocked")}),!1}),V.on("change",function(){switch(e('input[name="'+s("live-log")+'"]:checked').val()){case"start":J();break;case"pause":B("live-pause",function(){E.addClass(s("live-timer")),z=t.setTimeout(function(){e(s("#","live-log-stop")).prop("checked",!0),B()},1e3*l.timeout)});break;case"stop":B()}}),G.on("change",function(){var t=V.closest("tr"),n=G.prop("checked");return r[o][1]=n?"o":"x",D(r),amp;&$.clear().destroy(),n?(t.show().next().next().next().nextAll().hide(),_.ajaxCMD="live-stop",I.order=[1,"desc"],I.createdRow=function(e,t){H(e,t,"new-")}):(t.hide().next().next().next().nextAll().show(),_.ajaxCMD="restore-logs",I.order=[0,""],I.createdRow=function(e,t){H(e,t,"")}),e(s("#","live-log-stop")).trigger("click"),$=R(o,_,I,r),!1}).trigger("change"),e(s("#","logs-preset")).on("click","a",function(){var t=e(this).data("value");return e(s("@","search_filter")).val(t),$.search(t,!1,!0,!/[A-Z]/.test(t)).draw(),!1}),T("export-logs"),e(s("#","export-logs")).on("click",function(){return e(s("#","export-form")).submit(),!1});break;case 2:e(t).on(s("gmap-error"),function(){v(null,{cmd:"gmap-error"},function(e){m(e.page,e.tab)})});var U=e(s("#","map"));"object"==typeof t.google?U.each(function(){e(this).GmapRS()}):U.each(function(){e(this).empty().html('<iframe src="'+l.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});I=[];e('select[id^="'+s("!","service")+'"]').on("change",function(){e(this).children("option").each(function(t,n){I[e(n).text()]=t,r[o][3+t]=e(n).prop("selected")?"o":"x"}),"o"!==r[o][3+(Number(r[o][2])||0)]&&(r[o][2]=e(this).prop("selectedIndex")),D(r)}).change(),e(s("@","get_location")).on("click",function(){var n,i=e(s("#","whois")),a=e(s("#","apis")),c=e(s("@","service")).val(),u=e.trim(e(s("@","ip_address")).val());if(u&&c){if(e(s("@","anonymize")).prop("checked")){if(/[^0-9a-f\.:]/.test(u))return f(null,"illegal format."),!1;-1!==u.indexOf(".")?u=u.replace(/\.\w+#x2F;,".0"):(-1===(u=(u=u.split(":")).splice(0,4).join(":")).indexOf("::")&&(u+="::"),u=u.replace(/:{3,}/,"::")),e(s("@","ip_address")).val(u)}i.hide().empty(),a.hide().empty(),n=e.whois(u,function(t){var n,a="";for(n=0;n<t.length;++n)a+="<tr><td>"+t[n].name+"</td><td>"+t[n].value+"</td></tr>";i.html('<fieldset id="'+s("section-1")+'" class="'+s("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+s("whois-title")+'" class="'+s("dropdown")+'">Whois</h3></legend><div class="panel-body '+s("border")+'"><table class="'+s("table")+'">'+a+"</table></div></fieldset>").fadeIn("slow"),"x"===r[o][1]&&e(s("#","whois-title")).trigger("click")}),v("loading",{cmd:"search",ip:u,which:c},function(n){var i,c="",p=Number(r[o][2])||0;for(i in n)n.hasOwnProperty(i)&&(c+='<a href="#!" class="nav-tab'+(I[i]===p?" nav-tab-active":"")+'" data-index="'+I[i]+"\" data-api='"+d(JSON.stringify(n[i]))+"'>"+i+"</a>");a.html('<div class="nav-tab-wrapper">'+c+'</div><div id="ip-geo-block-geoinfo"></div>').fadeIn("slow").on("click","a.nav-tab",function(){var n,i=e(this),a=e(this).data("api"),c="",p=a?d(a.latitude):"0",h=a?d(a.longitude):"0",f=a&&(a.latitude||a.longitude)?7:2;for(n in i.parent().children("a").removeClass("nav-tab-active"),i.addClass("nav-tab-active"),r[o][2]=i.data("index"),D(r),a)a.hasOwnProperty(n)&&(a[n=d(n)]=d(a[n]),"AS number"===n&&0===a[n].indexOf("AS")&&(a[n]=a[n].replace(/^(AS\d+)/,'<a href="https://ipinfo.io/$1" title="search on ipinfo.io">$1</a>')),c+='<li><span class="'+s("title")+'">'+n+' : </span><span class="'+s("result")+'">'+a[n]+"</span></li>");"object"==typeof t.google?U.GmapRS("deleteMarkers").GmapRS("addMarker",{latitude:p,longitude:h,title:u,content:"<ul>"+c+"</ul>",show:!0,zoom:f}):(U.empty().html('<iframe src="'+l.altgmap+"?q="+p+","+h+"&z="+f+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>'),e(s("#","geoinfo")).html("<ul>"+c+"</ul>"))}).find(".nav-tab-active").trigger("click")},[n])}return!1}),e(s("@","ip_address")).on("keypress",function(t){if(t.which&&13===t.which||t.keyCode&&13===t.keyCode)return e(s("@","get_location")).click(),!1}),e(s("@","ip_address")).val()&&e(s("@","get_location")).click();break;case 5:N(o),e("input[name="+s("duration")+"]:radio").on("click",function(){var t=e('div[class*="paginate"]').find('a[class*="current"]').text();r[o][2]=e(this).val()||0,r[o][3]=r[o][3]||2,r[o][4]=r[o][4]||1,D(r),O.ajaxStacked(r[o][2],r[o][3],r[o][4],t-1)}),e(s("#","open-new")).on("change",function(){var t=e(this).prop("checked");r[o][1]=t?"o":"x",D(r),e(s("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",t?"_blank":"_self")})}),e(s("#","apply-layout")).on("click",function(){var t=e(s("#","select-layout"));r[o][3]=t.find('select[name="rows"] option:selected').val(),r[o][4]=t.find('select[name="cols"] option:selected').val(),D(r)}),e("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})}(jQuery,window,document);
admin/js/authenticate.js CHANGED
@@ -1,7 +1,7 @@
1
/*jslint white: true */
2
/*!
3
* Project: WP-ZEP - Zero-day exploit Prevention for wp-admin
4
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
5
* This software is released under the MIT License.
6
*/
7
(function ($, window, document) {
1
/*jslint white: true */
2
/*!
3
* Project: WP-ZEP - Zero-day exploit Prevention for wp-admin
4
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
5
* This software is released under the MIT License.
6
*/
7
(function ($, window, document) {
admin/js/authenticate.min.js CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* Project: WP-ZEP - Zero-day exploit Prevention for wp-admin
3
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
!function(e,t,n){var r=IP_GEO_BLOCK_AUTH,o={init:!1,regexp:new RegExp(r.key+"(?:=|%3D)\\w+")},a=new RegExp("^(?:"+(r.home||"")+r.admin+"|"+(r.home||"")+r.plugins+"|"+(r.home||"")+r.themes+"|"+r.admin+")(?:.*\\.php|.*\\/)?quot;),i=function(e){for(var t=e.length,n="request%5Bbrowse%5D="+r.key;t-- >0;)if(-1!==e[t].indexOf(n)){e[t]="request%5Bbrowse%5D=featured";break}return e},h={"upload.php":function(e){for(var t=e.length,n="query%5B"+r.key+"%5D=";t-- >0;)if(-1!==e[t].indexOf(n)){delete e[t];break}return e},"theme-install.php":i,"network/theme-install.php":i};function s(e){var t=(e=e?e.toString():"").match(/^(?:([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/);return{scheme:t[1]||"",relative:t[2]||"",authority:t[3]||"",path:t[4]||"",query:t[5]||"",fragment:t[6]||""}}var c,p=function(){var e=null;try{new URL("/","http://example.com/")}catch(t){try{e=(new DOMParser).parseFromString("<html><head></head><body></body></html>","text/html")}catch(t){e=n.implementation.createHTMLDocument("")}}return function(r,o){var a,i,h,s=n;if(r=void 0!==r?r:t.location.href,null===e){void 0===o&&(o=t.location.href);try{h=new URL(r,o)}catch(e){h=new URL(r,t.location.href)}}else{if(void 0!==o){for(s=e;s.head.firstChild;)s.head.removeChild(s.head.firstChild);(a=s.createElement("base")).setAttribute("href",o),s.head.appendChild(a)}(i=s.createElement("a")).setAttribute("href",r),i.setAttribute("href",i.href),"http:"===(h={protocol:i.protocol,host:i.host,hostname:i.hostname,port:i.port,pathname:i.pathname,search:i.search,hash:i.hash,href:i.href,username:"",password:"",origin:i.origin||null}).protocol&&"80"===h.port?(h.port="",h.host=h.host.replace(/:80#x2F;,"")):"https:"===h.protocol&&"443"===h.port&&(h.port="",h.host=h.host.replace(/:443#x2F;,"")),"http:"!==h.protocol&&"https:"!==h.protocol||(h.pathname&&"/"!==h.pathname.charAt(0)&&(h.pathname="/"+h.pathname),h.origin||(h.origin=h.protocol+"//"+h.hostname+(h.port?":"+h.port:"")))}if(h.username||h.password)throw new URIError(h.username+":"+h.password);return h}}();function l(e,n){"object"!=typeof e&&(e=s(e||t.location.href));for(var o=e.query?e.query.split("&"):[],a=o.length,i=r.key+"=";a-- >0;)if(0===o[a].indexOf(i)){o.splice(a,1);break}return o.push(r.key+"="+encodeURIComponent(n)),e.query=o.join("&"),function(e){return(e.scheme?e.scheme+":":"")+(e.relative+e.path)+(e.query?"?"+e.query:"")+(e.fragment?"#"+e.fragment:"")}(e)}function f(e){return(!e.scheme||/^https?#x2F;.test(e.scheme))&&(e.path||e.query)}function u(e){try{e=e||t.location.pathname||""}catch(t){e=""}var n=s(e.toLowerCase());if(f(n)){if((n=p(e)).origin!==t.location.origin)return-1;if((e=a.exec(n.pathname))&&(0<=e[0].indexOf(r.admin+"admin-")||0<=e[0].indexOf(r.admin)||0<=e[0].indexOf(r.plugins)||0<=e[0].indexOf(r.themes)))return 1}return 0}function m(e){return/\/#x2F;.test(e.path)}function d(e){return-1!==(e.attr("rel")||"").indexOf("nofollow")}
1
/*!
2
* Project: WP-ZEP - Zero-day exploit Prevention for wp-admin
3
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
4
* This software is released under the MIT License.
5
*/
6
!function(e,t,n){var r=IP_GEO_BLOCK_AUTH,o={init:!1,regexp:new RegExp(r.key+"(?:=|%3D)\\w+")},a=new RegExp("^(?:"+(r.home||"")+r.admin+"|"+(r.home||"")+r.plugins+"|"+(r.home||"")+r.themes+"|"+r.admin+")(?:.*\\.php|.*\\/)?quot;),i=function(e){for(var t=e.length,n="request%5Bbrowse%5D="+r.key;t-- >0;)if(-1!==e[t].indexOf(n)){e[t]="request%5Bbrowse%5D=featured";break}return e},h={"upload.php":function(e){for(var t=e.length,n="query%5B"+r.key+"%5D=";t-- >0;)if(-1!==e[t].indexOf(n)){delete e[t];break}return e},"theme-install.php":i,"network/theme-install.php":i};function s(e){var t=(e=e?e.toString():"").match(/^(?:([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/);return{scheme:t[1]||"",relative:t[2]||"",authority:t[3]||"",path:t[4]||"",query:t[5]||"",fragment:t[6]||""}}var c,p=function(){var e=null;try{new URL("/","http://example.com/")}catch(t){try{e=(new DOMParser).parseFromString("<html><head></head><body></body></html>","text/html")}catch(t){e=n.implementation.createHTMLDocument("")}}return function(r,o){var a,i,h,s=n;if(r=void 0!==r?r:t.location.href,null===e){void 0===o&&(o=t.location.href);try{h=new URL(r,o)}catch(e){h=new URL(r,t.location.href)}}else{if(void 0!==o){for(s=e;s.head.firstChild;)s.head.removeChild(s.head.firstChild);(a=s.createElement("base")).setAttribute("href",o),s.head.appendChild(a)}(i=s.createElement("a")).setAttribute("href",r),i.setAttribute("href",i.href),"http:"===(h={protocol:i.protocol,host:i.host,hostname:i.hostname,port:i.port,pathname:i.pathname,search:i.search,hash:i.hash,href:i.href,username:"",password:"",origin:i.origin||null}).protocol&&"80"===h.port?(h.port="",h.host=h.host.replace(/:80#x2F;,"")):"https:"===h.protocol&&"443"===h.port&&(h.port="",h.host=h.host.replace(/:443#x2F;,"")),"http:"!==h.protocol&&"https:"!==h.protocol||(h.pathname&&"/"!==h.pathname.charAt(0)&&(h.pathname="/"+h.pathname),h.origin||(h.origin=h.protocol+"//"+h.hostname+(h.port?":"+h.port:"")))}if(h.username||h.password)throw new URIError(h.username+":"+h.password);return h}}();function l(e,n){"object"!=typeof e&&(e=s(e||t.location.href));for(var o=e.query?e.query.split("&"):[],a=o.length,i=r.key+"=";a-- >0;)if(0===o[a].indexOf(i)){o.splice(a,1);break}return o.push(r.key+"="+encodeURIComponent(n)),e.query=o.join("&"),function(e){return(e.scheme?e.scheme+":":"")+(e.relative+e.path)+(e.query?"?"+e.query:"")+(e.fragment?"#"+e.fragment:"")}(e)}function f(e){return(!e.scheme||/^https?#x2F;.test(e.scheme))&&(e.path||e.query)}function u(e){try{e=e||t.location.pathname||""}catch(t){e=""}var n=s(e.toLowerCase());if(f(n)){if((n=p(e)).origin!==t.location.origin)return-1;if((e=a.exec(n.pathname))&&(0<=e[0].indexOf(r.admin+"admin-")||0<=e[0].indexOf(r.admin)||0<=e[0].indexOf(r.plugins)||0<=e[0].indexOf(r.themes)))return 1}return 0}function m(e){return/\/#x2F;.test(e.path)}function d(e){return-1!==(e.attr("rel")||"").indexOf("nofollow")}
admin/js/cidr.min.js CHANGED
@@ -1,6 +1,6 @@
1
/*
2
Project: IP address range - CIDR converter
3
- Copyright (c) 2018 tokkonopapa (tokkonopapa@yahoo.com)
4
The following libraries are ported to this program.
5
- S1lentium/IPTools (https://github.com/S1lentium/IPTools)
6
- kvz/locutus (https://github.com/kvz/locutus)
1
/*
2
Project: IP address range - CIDR converter
3
+ Copyright (c) 2019 tokkonopapa (tokkonopapa@yahoo.com)
4
The following libraries are ported to this program.
5
- S1lentium/IPTools (https://github.com/S1lentium/IPTools)
6
- kvz/locutus (https://github.com/kvz/locutus)
admin/js/gmap.js CHANGED
@@ -2,7 +2,7 @@
2
* Project: GmapRS - google map for WordPress IP Geo Block
3
* Description: A really simple google map plugin based on jQuery-boilerplate.
4
* Version: 0.2.4
5
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
// https://developers.google.com/maps/documentation/javascript/events?hl=en#auth-errors
2
* Project: GmapRS - google map for WordPress IP Geo Block
3
* Description: A really simple google map plugin based on jQuery-boilerplate.
4
* Version: 0.2.4
5
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
// https://developers.google.com/maps/documentation/javascript/events?hl=en#auth-errors
admin/js/gmap.min.js CHANGED
@@ -2,7 +2,7 @@
2
* Project: GmapRS - google map for WordPress IP Geo Block
3
* Description: A really simple google map plugin based on jQuery-boilerplate.
4
* Version: 0.2.4
5
- * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
function gm_authFailure(){jQuery(window).trigger("ip-geo-block-gmap-error")}jQuery(function(t){if("undefined"!=typeof google){var e="GmapRS",i="plugin_"+e,o={zoom:2,latitude:0,longitude:0},n=google.maps,s=function(e){this.o=t.extend({},o),this.q=[]};s.prototype={init:function(e){t.extend(this.o,e),this.c=new n.LatLng(this.o.latitude,this.o.longitude),this.m=new n.Map(this.e.get(0),{zoom:this.o.zoom,center:this.c,mapTypeId:n.MapTypeId.ROADMAP})},destroy:function(){this.deleteMarkers(),this.e.data(i,null)},setCenter:function(){if(arguments.length>=2){var t=new n.LatLng(this.o.latitude=arguments[0],this.o.longitude=arguments[1]);delete this.c,this.c=t}return this.m.setCenter(this.c),this.e},setZoom:function(t){return this.m.setZoom(t||this.o.zoom),this.e},getZoom:function(){return this.m.getZoom()},showMarker:function(t,e){var i=this.q[t];i&&i.w&&(!1===e?i.w.close():i.w.open(this.m,i.m))},addMarker:function(t){var e,i,o;return e=new n.LatLng(t.latitude||this.o.latitude,t.longitude||this.o.longitude),i=new n.Marker({position:e,map:this.m,title:t.title||""}),t.content&&(o=new n.InfoWindow({content:t.content}),n.event.addListener(i,"click",function(){o.open(i.getMap(),i)})),this.q.push({p:e,w:o,m:i}),this.m.setCenter(e),this.m.setZoom(t.zoom),t.show&&this.showMarker(this.q.length-1),this.e},deleteMarkers:function(){var t;for(t in this.q)this.q.hasOwnProperty(t)&&this.q[t].m.setMap(null);return this.q.length=0,this.e}},t.fn[e]=function(o){var n,r;if(this.data(i)instanceof s||this.data(i,new s(this)),(r=this.data(i)).e=this,void 0===o||"object"==typeof o)"function"==typeof r.init&&r.init(o);else{if("string"==typeof o&&"function"==typeof r[o])return n=Array.prototype.slice.call(arguments,1),r[o].apply(r,n);t.error("Method "+o+" does not exist."+e)}}}});
2
* Project: GmapRS - google map for WordPress IP Geo Block
3
* Description: A really simple google map plugin based on jQuery-boilerplate.
4
* Version: 0.2.4
5
+ * Copyright (c) 2013-2019 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
function gm_authFailure(){jQuery(window).trigger("ip-geo-block-gmap-error")}jQuery(function(t){if("undefined"!=typeof google){var e="GmapRS",i="plugin_"+e,o={zoom:2,latitude:0,longitude:0},n=google.maps,s=function(e){this.o=t.extend({},o),this.q=[]};s.prototype={init:function(e){t.extend(this.o,e),this.c=new n.LatLng(this.o.latitude,this.o.longitude),this.m=new n.Map(this.e.get(0),{zoom:this.o.zoom,center:this.c,mapTypeId:n.MapTypeId.ROADMAP})},destroy:function(){this.deleteMarkers(),this.e.data(i,null)},setCenter:function(){if(arguments.length>=2){var t=new n.LatLng(this.o.latitude=arguments[0],this.o.longitude=arguments[1]);delete this.c,this.c=t}return this.m.setCenter(this.c),this.e},setZoom:function(t){return this.m.setZoom(t||this.o.zoom),this.e},getZoom:function(){return this.m.getZoom()},showMarker:function(t,e){var i=this.q[t];i&&i.w&&(!1===e?i.w.close():i.w.open(this.m,i.m))},addMarker:function(t){var e,i,o;return e=new n.LatLng(t.latitude||this.o.latitude,t.longitude||this.o.longitude),i=new n.Marker({position:e,map:this.m,title:t.title||""}),t.content&&(o=new n.InfoWindow({content:t.content}),n.event.addListener(i,"click",function(){o.open(i.getMap(),i)})),this.q.push({p:e,w:o,m:i}),this.m.setCenter(e),this.m.setZoom(t.zoom),t.show&&this.showMarker(this.q.length-1),this.e},deleteMarkers:function(){var t;for(t in this.q)this.q.hasOwnProperty(t)&&this.q[t].m.setMap(null);return this.q.length=0,this.e}},t.fn[e]=function(o){var n,r;if(this.data(i)instanceof s||this.data(i,new s(this)),(r=this.data(i)).e=this,void 0===o||"object"==typeof o)"function"==typeof r.init&&r.init(o);else{if("string"==typeof o&&"function"==typeof r[o])return n=Array.prototype.slice.call(arguments,1),r[o].apply(r,n);t.error("Method "+o+" does not exist."+e)}}}});
admin/js/whois.js CHANGED
@@ -1,29 +1,19 @@
1
/*jslint white: true */
2
/*!
3
- * Project: whois.js - get whois infomation
4
* Description: A jQuery plugin to get whois infomation from RIPE NCC database.
5
- * Version: 0.1
6
- * Copyright (c) 2016 tokkonopapa (tokkonopapa@yahoo.com)
7
* This software is released under the MIT License.
8
*
9
* RIPE NCC
10
- * @link https://apps.db.ripe.net/search/query.html
11
- * @link https://labs.ripe.net/ripe-database/database-api/api-documentation
12
- * @link https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-database-documentation
13
- * @link https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-database-documentation/how-to-query-the-ripe-database/14-3-restful-api-queries/14-3-2-api-search
14
- * @link https://github.com/RIPE-NCC/whois/wiki/WHOIS-REST-API-search
15
*/
16
(function ($) {
17
$.extend({
18
whois: function (query, callback) {
19
- /**
20
- * APIs that doesn't support CORS.
21
- * It is accessed through https://developer.yahoo.com/yql/
22
- */
23
var results = [],
24
- yql = 'https://query.yahooapis.com/v1/public/yql?q=select * from xml where url="%URL%"&format=json&jsonCompat=new',
25
- url = 'https://rest.db.ripe.net/search%3fflags=no-filtering%26flags=resource%26query-string=';
26
- // app = 'https://apps.db.ripe.net/search/lookup.html?source=%SRC%&key=%KEY%&type=%TYPE%';
27
28
function escapeHTML(str) {
29
return str ? str.toString().replace(/[&<>"']/g, function (match) { //'"
@@ -38,85 +28,38 @@
38
}
39
40
return $.ajax({
41
- url: yql.replace(/%URL%/, url + query),
42
method: 'GET',
43
dataType: 'json'
44
})
45
46
.done(function (data, textStatus, jqXHR) {
47
// https://stackoverflow.com/questions/722668/traverse-all-the-nodes-of-a-json-object-tree-with-javascript#answer-722676
48
- function traverse(key, value) {
49
if (value && typeof value === 'object') {
50
- if (value.errormessage) {
51
- var err = value.errormessage,
52
- msg = err.text.split(/\n+/);
53
-
54
- results.push({
55
- name : escapeHTML(err.severity),
56
- value: escapeHTML(msg[1].replace(/%s/, err.args.value))
57
- });
58
- }
59
-
60
- else if (value.href) {
61
- value.href = escapeHTML(value.href);
62
- results.push({
63
- name : escapeHTML(key),
64
- value: '<a href="' + value.href + '.json" target=_blank>' + value.href + '</a>'
65
- });
66
- }
67
-
68
- else if (value.name && value.value) {
69
- /*if (value.link) {
70
- var src = value.link.href.match(/\w+-grs/);
71
- value.value = '<a href="' +
72
- app.replace('%SRC%', src[0])
73
- .replace('%KEY%', encodeURI(value['value']))
74
- .replace('%TYPE%', value['referenced-type']) +
75
- '" target=_blank>' + value.value + '</a>';
76
- }*/
77
-
78
- if (value.link) {
79
- if ((value['referenced-type'] || false) && 'aut-num' === value['referenced-type']) {
80
- value.value += ' [ <a href="https://ipinfo.io/' + escapeHTML(value.value) + '" target=_blank>Search at ipinfo.io</a> ]';
81
- } else {
82
- value.value = '<a href="' + escapeHTML(value.link.href) + '.json" target=_blank>' + escapeHTML(value.value) + '</a>';
83
- }
84
- }
85
-
86
- else if (value.value.match(/^AS\d+#x2F;)) {
87
- value.value += ' [ <a href="https://ipinfo.io/' + escapeHTML(value.value) + '" target=_blank>Search at ipinfo.io</a> ]';
88
}
89
-
90
- else if ('remarks' === value.name) {
91
- value.value = escapeHTML(value.value);
92
- value.value = value.value.replace(/(https?:\/\/[^\s]+)/gi, '<a href="$1" target=_blank>$1</a>');
93
- }
94
-
95
results.push({
96
- name : escapeHTML(value.name),
97
value: value.value
98
});
99
}
100
-
101
- else if ('primary-key' !== key) {
102
- $.each(value, function(k, v) {
103
- // k is either an array index or object key
104
- traverse(k, v);
105
- });
106
- }
107
}
108
}
109
110
- var i, attr = data.query.results, objs = [];
111
-
112
- for (i in attr) {
113
- if (attr.hasOwnProperty(i)) {
114
- objs = attr[i]; // whois-resouces
115
- break;
116
}
117
}
118
-
119
- traverse(null, objs);
120
})
121
122
.fail(function (jqXHR, textStatus, errorThrown) {
@@ -127,11 +70,6 @@
127
})
128
129
.always(function () {
130
- results.push({
131
- name : 'copyright',
132
- value: '<a href="https://apps.db.ripe.net/search/query.html" title="Database Query - RIPE Network Coordination Centre">RIPE NCC</a>'
133
- });
134
-
135
if (callback) {
136
callback(results);
137
}
1
/*jslint white: true */
2
/*!
3
+ * Project: whois.js - get whois infomation from RIPE Network Coordination Center
4
* Description: A jQuery plugin to get whois infomation from RIPE NCC database.
5
+ * Version: 0.2
6
+ * Copyright (c) 2019 tokkonopapa (tokkonopapa@yahoo.com)
7
* This software is released under the MIT License.
8
*
9
* RIPE NCC
10
+ * @link https://stat.ripe.net/docs/data_api#Whois
11
*/
12
(function ($) {
13
$.extend({
14
whois: function (query, callback) {
15
var results = [],
16
+ url = 'https://stat.ripe.net/data/whois/data.json?resource=';
17
18
function escapeHTML(str) {
19
return str ? str.toString().replace(/[&<>"']/g, function (match) { //'"
28
}
29
30
return $.ajax({
31
+ url: url + query,
32
method: 'GET',
33
dataType: 'json'
34
})
35
36
.done(function (data, textStatus, jqXHR) {
37
// https://stackoverflow.com/questions/722668/traverse-all-the-nodes-of-a-json-object-tree-with-javascript#answer-722676
38
+ function process(key, value) {
39
if (value && typeof value === 'object') {
40
+ if (value.key) {
41
+ value.key = escapeHTML(value.key);
42
+ value.value = escapeHTML(value.value);
43
+ if (value.details_link) {
44
+ value.value = '<a href="' + escapeHTML(value.details_link) + '">' + value.value + '</a>';
45
}
46
results.push({
47
+ name : value.key,
48
value: value.value
49
});
50
}
51
}
52
}
53
54
+ function traverse(obj, func) {
55
+ for (var i in obj) {
56
+ func.apply(this, [i, obj[i]]);
57
+ if (obj[i] !== null && typeof(obj[i]) === 'object') {
58
+ traverse(obj[i], func); //going one step down in the object tree!!
59
+ }
60
}
61
}
62
+ traverse(data.data, process);
63
})
64
65
.fail(function (jqXHR, textStatus, errorThrown) {
70
})
71
72
.always(function () {
73
if (callback) {
74
callback(results);
75
}
admin/js/whois.min.js CHANGED
@@ -1,8 +1,8 @@
1
/*!
2
- * Project: whois.js - get whois infomation
3
* Description: A jQuery plugin to get whois infomation from RIPE NCC database.
4
- * Version: 0.1
5
- * Copyright (c) 2016 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
- !function(e){e.extend({whois:function(a,r){var t=[];function n(e){return e?e.toString().replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]}):""}return e.ajax({url:'https://query.yahooapis.com/v1/public/yql?q=select * from xml where url="%URL%"&format=json&jsonCompat=new'.replace(/%URL%/,"https://rest.db.ripe.net/search%3fflags=no-filtering%26flags=resource%26query-string="+a),method:"GET",dataType:"json"}).done(function(a,r,u){var l,o=a.query.results,i=[];for(l in o)if(o.hasOwnProperty(l)){i=o[l];break}!function a(r,u){if(u&&"object"==typeof u)if(u.errormessage){var l=u.errormessage,o=l.text.split(/\n+/);t.push({name:n(l.severity),value:n(o[1].replace(/%s/,l.args.value))})}else u.href?(u.href=n(u.href),t.push({name:n(r),value:'<a href="'+u.href+'.json" target=_blank>'+u.href+"</a>"})):u.name&&u.value?(u.link?u["referenced-type"]&&"aut-num"===u["referenced-type"]?u.value+=' [ <a href="https://ipinfo.io/'+n(u.value)+'" target=_blank>Search at ipinfo.io</a> ]':u.value='<a href="'+n(u.link.href)+'.json" target=_blank>'+n(u.value)+"</a>":u.value.match(/^AS\d+#x2F;)?u.value+=' [ <a href="https://ipinfo.io/'+n(u.value)+'" target=_blank>Search at ipinfo.io</a> ]':"remarks"===u.name&&(u.value=n(u.value),u.value=u.value.replace(/(https?:\/\/[^\s]+)/gi,'<a href="$1" target=_blank>$1</a>')),t.push({name:n(u.name),value:u.value})):"primary-key"!==r&&e.each(u,function(e,r){a(e,r)})}(null,i)}).fail(function(e,a,r){t.push({name:n(a),value:n(r)})}).always(function(){t.push({name:"copyright",value:'<a href="https://apps.db.ripe.net/search/query.html" title="Database Query - RIPE Network Coordination Centre">RIPE NCC</a>'}),r&&r(t)})}})}(jQuery);
1
/*!
2
+ * Project: whois.js - get whois infomation from RIPE Network Coordination Center
3
* Description: A jQuery plugin to get whois infomation from RIPE NCC database.
4
+ * Version: 0.2
5
+ * Copyright (c) 2019 tokkonopapa (tokkonopapa@yahoo.com)
6
* This software is released under the MIT License.
7
*/
8
+ !function(e){e.extend({whois:function(t,n){var a=[];function u(e){return e?e.toString().replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]}):""}return e.ajax({url:"https://stat.ripe.net/data/whois/data.json?resource="+t,method:"GET",dataType:"json"}).done(function(e,t,n){!function e(t,n){for(var a in t)n.apply(this,[a,t[a]]),null!==t[a]&&"object"==typeof t[a]&&e(t[a],n)}(e.data,function(e,t){t&&"object"==typeof t&&t.key&&(t.key=u(t.key),t.value=u(t.value),t.details_link&&(t.value='<a href="'+u(t.details_link)+'">'+t.value+"</a>"),a.push({name:t.key,value:t.value}))})}).fail(function(e,t,n){a.push({name:u(t),value:u(n)})}).always(function(){n&&n(a)})}})}(jQuery);
classes/class-ip-geo-block-actv.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
// Stuff for resources
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
// Stuff for resources
classes/class-ip-geo-block-apis.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
/**
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
/**
classes/class-ip-geo-block-cron.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Cron {
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Cron {
classes/class-ip-geo-block-file.php CHANGED
@@ -7,7 +7,7 @@
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
* @link https://codex.wordpress.org/Filesystem_API
10
- * @copyright 2013-2018 tokkonopapa
11
*/
12
13
class IP_Geo_Block_FS {
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
* @link https://codex.wordpress.org/Filesystem_API
10
+ * @copyright 2013-2019 tokkonopapa
11
*/
12
13
class IP_Geo_Block_FS {
classes/class-ip-geo-block-lkup.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2016-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Lkup {
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2016-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Lkup {
classes/class-ip-geo-block-load.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2016-2018 tokkonopapa
10
*/
11
12
/**
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2016-2019 tokkonopapa
10
*/
11
12
/**
classes/class-ip-geo-block-logs.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
// varchar can not be exceeded over 255 before MySQL-5.0.3.
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
// varchar can not be exceeded over 255 before MySQL-5.0.3.
classes/class-ip-geo-block-opts.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Opts {
@@ -67,6 +67,8 @@ class IP_Geo_Block_Opts {
67
// since version 3.0.3
68
'restapi' => 3, // for get_rest_url()
69
'mimetype' => 0, // 0:disable, 1:white_list, 2:black_list
70
),
71
'update' => array( // Updating IP address DB
72
'auto' => TRUE, // Auto updating of DB files
@@ -434,8 +436,9 @@ class IP_Geo_Block_Opts {
434
$settings['priority'] = $default['priority'];
435
436
if ( version_compare( $version, '3.0.18' ) < 0 ) {
437
- $settings['monitor' ] = $default['monitor' ];
438
- $settings['metadata'] = $default['metadata'];
439
IP_Geo_Block::update_metadata( NULL );
440
441
self::remove_mu_plugin( ); // remove new file
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Opts {
67
// since version 3.0.3
68
'restapi' => 3, // for get_rest_url()
69
'mimetype' => 0, // 0:disable, 1:white_list, 2:black_list
70
+ // since version 3.0.18
71
+ 'metadata' => FALSE,
72
),
73
'update' => array( // Updating IP address DB
74
'auto' => TRUE, // Auto updating of DB files
436
$settings['priority'] = $default['priority'];
437
438
if ( version_compare( $version, '3.0.18' ) < 0 ) {
439
+ $settings['validation']['metadata'] = $default['validation']['metadata'];
440
+ $settings['monitor' ] = $default['monitor' ];
441
+ $settings['metadata' ] = $default['metadata'];
442
IP_Geo_Block::update_metadata( NULL );
443
444
self::remove_mu_plugin( ); // remove new file
classes/class-ip-geo-block-util.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Util {
@@ -149,15 +149,15 @@ class IP_Geo_Block_Util {
149
* @source https://php.net/manual/en/function.parse-url.php#106731
150
*/
151
private static function unparse_url( $url ) {
152
- $scheme = isset( $url['scheme' ] ) ? $url['scheme' ] . '://' : '';
153
- $host = isset( $url['host' ] ) ? $url['host' ] : '';
154
- $port = isset( $url['port' ] ) ? ':' . $url['port' ] : '';
155
- $user = isset( $url['user' ] ) ? $url['user' ] : '';
156
- $pass = isset( $url['pass' ] ) ? ':' . $url['pass' ] : '';
157
- $pass = ( $user || $pass ) ? "$pass@" : '';
158
- $path = isset( $url['path' ] ) ? $url['path' ] : '';
159
- $query = isset( $url['query' ] ) ? '?' . $url['query' ] : '';
160
- $fragment = isset( $url['fragment'] ) ? '#' . $url['fragment'] : '';
161
162
return "$scheme$user$pass$host$port$path$query$fragment";
163
}
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block_Util {
149
* @source https://php.net/manual/en/function.parse-url.php#106731
150
*/
151
private static function unparse_url( $url ) {
152
+ $scheme = ! empty( $url['scheme' ] ) ? $url['scheme' ] . '://' : '';
153
+ $host = ! empty( $url['host' ] ) ? $url['host' ] : '';
154
+ $port = ! empty( $url['port' ] ) ? ':' . $url['port' ] : '';
155
+ $user = ! empty( $url['user' ] ) ? $url['user' ] : '';
156
+ $pass = ! empty( $url['pass' ] ) ? ':' . $url['pass' ] : '';
157
+ $pass = ( $user || $pass ) ? $pass . '@' : '';
158
+ $path = ! empty( $url['path' ] ) ? $url['path' ] : '';
159
+ $query = ! empty( $url['query' ] ) ? '?' . $url['query' ] : '';
160
+ $fragment = ! empty( $url['fragment'] ) ? '#' . $url['fragment'] : '';
161
162
return "$scheme$user$pass$host$port$path$query$fragment";
163
}
classes/class-ip-geo-block.php CHANGED
@@ -6,7 +6,7 @@
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
- * @copyright 2013-2018 tokkonopapa
10
*/
11
12
class IP_Geo_Block {
@@ -15,7 +15,7 @@ class IP_Geo_Block {
15
* Unique identifier for this plugin.
16
*
17
*/
18
- const VERSION = '3.0.17.3';
19
const GEOAPI_NAME = 'ip-geo-api';
20
const PLUGIN_NAME = 'ip-geo-block';
21
const OPTION_NAME = 'ip_geo_block_settings';
@@ -163,7 +163,8 @@ class IP_Geo_Block {
163
add_filter( 'http_request_args', array( $this, 'request_nonce' ), $priority[1], 2 ); // @since 2.7.0
164
165
// register validation of updating metadata
166
- $this->validate_metadata( $settings, $priority[0] );
167
}
168
169
/**
6
* @author tokkonopapa <tokkonopapa@yahoo.com>
7
* @license GPL-3.0
8
* @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
*/
11
12
class IP_Geo_Block {
15
* Unique identifier for this plugin.
16
*
17
*/
18
+ const VERSION = '3.0.17.4';
19
const GEOAPI_NAME = 'ip-geo-api';
20
const PLUGIN_NAME = 'ip-geo-block';
21
const OPTION_NAME = 'ip_geo_block_settings';
163
add_filter( 'http_request_args', array( $this, 'request_nonce' ), $priority[1], 2 ); // @since 2.7.0
164
165
// register validation of updating metadata
166
+ if ( $validate['metadata'] )
167
+ $this->validate_metadata( $settings, $priority[0] );
168
}
169
170
/**
ip-geo-block.php CHANGED
@@ -8,12 +8,12 @@
8
* @author tokkonopapa <tokkonopapa@yahoo.com>
9
* @license GPL-3.0
10
* @link https://www.ipgeoblock.com/
11
- * @copyright 2013-2018 tokkonopapa
12
*
13
* Plugin Name: IP Geo Block
14
* Plugin URI: https://wordpress.org/plugins/ip-geo-block/
15
* Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
- * Version: 3.0.17.3
17
* Author: tokkonopapa
18
* Author URI: https://www.ipgeoblock.com/
19
* Text Domain: ip-geo-block
8
* @author tokkonopapa <tokkonopapa@yahoo.com>
9
* @license GPL-3.0
10
* @link https://www.ipgeoblock.com/
11
+ * @copyright 2013-2019 tokkonopapa
12
*
13
* Plugin Name: IP Geo Block
14
* Plugin URI: https://wordpress.org/plugins/ip-geo-block/
15
* Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
+ * Version: 3.0.17.4
17
* Author: tokkonopapa
18
* Author URI: https://www.ipgeoblock.com/
19
* Text Domain: ip-geo-block
languages/ip-geo-block-ja.mo CHANGED
Binary file
languages/ip-geo-block-ja.po CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
msgstr ""
5
"Project-Id-Version: IP Geo Block 3.0.17.1\n"
6
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-12-31 01:11+0900\n"
8
- "PO-Revision-Date: 2018-12-31 01:12+0900\n"
9
"Language-Team: \n"
10
"MIME-Version: 1.0\n"
11
"Content-Type: text/plain; charset=UTF-8\n"
@@ -33,15 +33,15 @@ msgid "Are you sure ?"
33
msgstr "実行してもよいですか?"
34
35
#: admin/class-ip-geo-block-admin.php:297
36
- #: admin/class-ip-geo-block-admin.php:791
37
msgid "Open a new window"
38
msgstr "別窓で開く"
39
40
- #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1528
41
msgid "Generate new link"
42
msgstr "新しいリンクを生成"
43
44
- #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1529
45
msgid "Delete current link"
46
msgstr "生成したリンクを削除"
47
@@ -166,9 +166,9 @@ msgstr "開発に参加"
166
167
#: admin/class-ip-geo-block-admin.php:365
168
#: admin/class-ip-geo-block-admin.php:491
169
- #: admin/class-ip-geo-block-admin.php:732
170
- #: admin/class-ip-geo-block-admin.php:752
171
- #: admin/class-ip-geo-block-admin.php:768
172
msgid "Settings"
173
msgstr "設定"
174
@@ -182,17 +182,17 @@ msgid "IP Geo Block"
182
msgstr "IP Geo Block"
183
184
#: admin/class-ip-geo-block-admin.php:481
185
- #: admin/class-ip-geo-block-admin.php:731
186
- #: admin/class-ip-geo-block-admin.php:749
187
- #: admin/class-ip-geo-block-admin.php:766
188
msgid "Sites list"
189
msgstr "サイト一覧"
190
191
- #: admin/class-ip-geo-block-admin.php:521
192
msgid "You need WordPress 3.7+."
193
msgstr "WordPress 3.7 以上が必要です。"
194
195
- #: admin/class-ip-geo-block-admin.php:525
196
#, php-format
197
msgid ""
198
"Can not load Geolocation API libraries from <code>%s</code>. It seems to "
@@ -216,7 +216,7 @@ msgstr ""
216
"title=\"How can I fix permission troubles? | IP Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共"
217
"に <code>ip-geo-api</code> をインストールしてください。"
218
219
- #: admin/class-ip-geo-block-admin.php:534
220
#, php-format
221
msgid ""
222
"You should select at least one API at <a href=\"%s\">Geolocation API "
@@ -226,7 +226,7 @@ msgstr ""
226
"<a href=\"%s\">位置情報APIの設定</a>で、少なくとも1つ以上のAPIを選択して下さい。未選択の場合、キャッ"
227
"シュの有効期限切れと共にロックアウトされます。"
228
229
- #: admin/class-ip-geo-block-admin.php:543
230
#, php-format
231
msgid ""
232
"You should select at least one API for local database at <a href=\"%s"
@@ -236,7 +236,7 @@ msgstr ""
236
"<a href=\"%s\">位置情報APIの設定</a>で、ローカルデータベース用のAPIを少なくとも1つ以上選択して下さ"
237
"い。未選択の場合、外部APIへのアクセスにより、サイトの応答性が悪くなります。"
238
239
- #: admin/class-ip-geo-block-admin.php:554
240
#, php-format
241
msgid ""
242
"Now downloading geolocation databases in background. After a little while, "
@@ -247,7 +247,7 @@ msgstr ""
247
"と[<strong>マッチング規則</strong>]を[<a href=\"%s\">検証ルールと振る舞いの設定</a>]で確認して下"
248
"さい。"
249
250
- #: admin/class-ip-geo-block-admin.php:560
251
#, php-format
252
msgid ""
253
"The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
@@ -256,11 +256,11 @@ msgstr ""
256
"[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s\">検証ルールと振る舞い"
257
"の設定</a>]を確認して下さい。"
258
259
- #: admin/class-ip-geo-block-admin.php:569
260
msgid "Local database and matching rule have been updated."
261
msgstr "ローカル・データベースとマッチング規則を更新しました。"
262
263
- #: admin/class-ip-geo-block-admin.php:580
264
msgid ""
265
"Once you logout, you will be unable to login again because the number of "
266
"login attempts reaches the limit."
@@ -268,7 +268,7 @@ msgstr ""
268
"あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトすると再びログインする事が"
269
"出来なくなります。"
270
271
- #: admin/class-ip-geo-block-admin.php:582
272
#, php-format
273
msgid ""
274
"Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
@@ -278,7 +278,7 @@ msgstr ""
278
"[%3$s統計%4$s]タブの[%1$sIPアドレスのキャッシュ%2$s]から自身のIPアドレスを削除し、ロックアウトを"
279
"回避してください。"
280
281
- #: admin/class-ip-geo-block-admin.php:593
282
msgid ""
283
"Once you logout, you will be unable to login again because your country code "
284
"or IP address is in the blacklist."
@@ -286,7 +286,7 @@ msgstr ""
286
"あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウトすると再びログインする"
287
"事が出来なくなります。"
288
289
- #: admin/class-ip-geo-block-admin.php:594
290
msgid ""
291
"Once you logout, you will be unable to login again because your country code "
292
"or IP address is not in the whitelist."
@@ -294,12 +294,12 @@ msgstr ""
294
"あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウトすると再びログインす"
295
"る事が出来なくなります。"
296
297
- #: admin/class-ip-geo-block-admin.php:598
298
#, php-format
299
msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
300
msgstr "[%s検証ルールと振る舞いの設定%s]を確認して下さい。"
301
302
- #: admin/class-ip-geo-block-admin.php:602
303
#, php-format
304
msgid ""
305
"Please confirm your local geolocation database files exist at &#8220;%sLocal "
@@ -309,7 +309,7 @@ msgstr ""
309
"[%sローカル・データベースの設定%s]で位置情報データベース・ファイルの有無を確認して下さい。あるいは"
310
"[%sキャッシュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
311
312
- #: admin/class-ip-geo-block-admin.php:616
313
#, php-format
314
msgid ""
315
"Emergency login link is outdated. Please delete it once and generate again "
@@ -319,7 +319,7 @@ msgstr ""
319
"緊急ログイン・リンクが古くなっています。[%sプラグインの設定%s]で一度削除してから再度生成してくださ"
320
"い。 またブラウザのお気に入り/ブックマークも忘れずに更新して下さい。"
321
322
- #: admin/class-ip-geo-block-admin.php:625
323
msgid ""
324
"&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
325
"timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
@@ -329,27 +329,27 @@ msgstr ""
329
"<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;init&#8221; アクション・フック」を選択し"
330
"てください。"
331
332
- #: admin/class-ip-geo-block-admin.php:733
333
msgid "Statistics"
334
msgstr "統計"
335
336
- #: admin/class-ip-geo-block-admin.php:734
337
msgid "Logs"
338
msgstr "ログ"
339
340
- #: admin/class-ip-geo-block-admin.php:735
341
msgid "Search"
342
msgstr "検索"
343
344
- #: admin/class-ip-geo-block-admin.php:736
345
msgid "Attribution"
346
msgstr "リンク"
347
348
- #: admin/class-ip-geo-block-admin.php:784
349
msgid "Toggle all"
350
msgstr "全てを開閉"
351
352
- #: admin/class-ip-geo-block-admin.php:787
353
msgid ""
354
"Independent of &#8220;Privacy and record settings&#8221;, you can see all "
355
"the requests validated by this plugin in almost real time."
@@ -357,19 +357,19 @@ msgstr ""
357
"[プライバシーと記録の設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼリアルタイムに"
358
"表示します。"
359
360
- #: admin/class-ip-geo-block-admin.php:787 admin/includes/tab-accesslog.php:39
361
msgid "Live update"
362
msgstr "ライブアップデート"
363
364
- #: admin/class-ip-geo-block-admin.php:791
365
msgid "Open a new window on clicking the link in the chart."
366
msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
367
368
- #: admin/class-ip-geo-block-admin.php:815
369
msgid "Thanks for providing these great services for free."
370
msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
371
372
- #: admin/class-ip-geo-block-admin.php:816
373
msgid ""
374
"(Most browsers will redirect you to each site <a href=\"https://www."
375
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
@@ -378,15 +378,15 @@ msgstr ""
378
"(ほとんどのブラウザでは、<a href=\"https://www.ipgeoblock.com/etc/referer.html\" title=\"Referer "
379
"Checker\">参照元を残さずにリンク先にリダイレクトできます</a>。)"
380
381
- #: admin/class-ip-geo-block-admin.php:821
382
msgid "Back to top"
383
msgstr "トップに戻る"
384
385
- #: admin/class-ip-geo-block-admin.php:913
386
msgid "Enable"
387
msgstr "有効"
388
389
- #: admin/class-ip-geo-block-admin.php:928
390
msgid "Select one"
391
msgstr "何れかを選択"
392
@@ -399,7 +399,7 @@ msgstr "このページにアクセスするための十分な権限がありま
399
#: classes/class-ip-geo-block-cron.php:228
400
#: classes/class-ip-geo-block-cron.php:332
401
#: classes/class-ip-geo-block-cron.php:410
402
- #: classes/class-ip-geo-block-opts.php:484
403
#, php-format
404
msgid "Unable to write <code>%s</code>. Please check the permission."
405
msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
@@ -505,23 +505,23 @@ msgstr "検証のログ"
505
msgid "Help"
506
msgstr "ヘルプ"
507
508
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:450
509
msgid "Comment post"
510
msgstr "コメント投稿"
511
512
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:451
513
msgid "XML-RPC"
514
msgstr "XML-RPC"
515
516
- #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:452
517
msgid "Login form"
518
msgstr "ログイン・フォーム"
519
520
- #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:453
521
msgid "Admin area"
522
msgstr "管理領域"
523
524
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:455
525
msgid "Public facing pages"
526
msgstr "一般公開ページ"
527
@@ -587,7 +587,7 @@ msgstr "全てをクリア"
587
msgid "Export logs"
588
msgstr "ログをエクスポート"
589
590
- #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1560
591
#: admin/includes/tab-statistics.php:283
592
msgid "Export to the local file"
593
msgstr "ローカル・ファイルへエクスポートする"
@@ -620,7 +620,7 @@ msgstr "IPアドレスの位置情報を検索"
620
msgid "Geolocation API"
621
msgstr "位置情報API"
622
623
- #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1105
624
msgid ""
625
"<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
626
"Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
@@ -771,7 +771,7 @@ msgstr ""
771
"の国にもマッチさせないことが必要な場合には、「YY」を指定してください。\">国コードのブラックリスト</"
772
"dfn>"
773
774
- #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:827
775
msgid "Matching rule"
776
msgstr "マッチング規則"
777
@@ -893,8 +893,8 @@ msgstr ""
893
"ング]を「&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)」に設定することを検討してください。\">悪意の"
894
"あるアップロード防止</dfn>"
895
896
- #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:516
897
- #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:1177
898
msgid "Disable"
899
msgstr "無効"
900
@@ -906,7 +906,15 @@ msgstr "拡張子と MIME タイプを検証"
906
msgid "Verify file extension only"
907
msgstr "ファイル拡張子のみを検証"
908
909
- #: admin/includes/tab-settings.php:314
910
msgid ""
911
"<dfn title=\"Specify the table names to be verified for single site. This "
912
"verification will be skipped if empty.\">pre_update_option</dfn>"
@@ -914,7 +922,7 @@ msgstr ""
914
"<dfn title=\"データベース中のシングルサイト用テーブル名を指定します。空欄の場合、この検証はスキップさ"
915
"れます。\">pre_update_option</dfn>"
916
917
- #: admin/includes/tab-settings.php:316
918
msgid ""
919
"<dfn title=\"Specify the table names to be verified for multisite. This "
920
"verification will be skipped if empty.\">pre_update_site_option</dfn>"
@@ -922,13 +930,13 @@ msgstr ""
922
"<dfn title=\"データベース中のマルチサイト用テーブル名を指定します。空欄の場合、この検証はスキップされ"
923
"ます。\">pre_update_site_option</dfn>"
924
925
- #: admin/includes/tab-settings.php:321
926
msgid ""
927
"<dfn title=\"It prevents to manipulate metadata in database without admin "
928
"privilege.\">Prevent metadata alteration</dfn>"
929
msgstr "<dfn title=\"管理者権限なくメタデータが改変される事を防止します。\">メタデータの改竄防止</dfn>"
930
931
- #: admin/includes/tab-settings.php:337
932
#, php-format
933
msgid ""
934
"<dfn title=\"You can put your original 403.php and so on into your theme "
@@ -937,7 +945,7 @@ msgstr ""
937
"<dfn title=\"テーマ・ディレクトリには 403.php など、独自のファイルを設置する事が出来ます。\">レスポン"
938
"ス・コード</dfn> %s"
939
940
- #: admin/includes/tab-settings.php:366 admin/includes/tab-settings.php:910
941
msgid ""
942
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
943
"to a public facing page, visitors would not be blocked on the page to "
@@ -949,36 +957,36 @@ msgstr ""
949
"避けるため、自サイト内の URL は[フロントエンドの設定]に関わらず遮断の対象外となります。空欄の場合、"
950
"サイトのホームが使用されます。\">リダイレクト先 URL</dfn>"
951
952
- #: admin/includes/tab-settings.php:383 admin/includes/tab-settings.php:928
953
msgid ""
954
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
955
"message</dfn>"
956
msgstr ""
957
"<dfn title=\"レスポンス・コード 4xx、5xx 用のメッセージを指定します。\">レスポンス・メッセージ</dfn>"
958
959
- #: admin/includes/tab-settings.php:401
960
msgid "Select when to run the validation."
961
msgstr "検証を実行するタイミングを選択します。"
962
963
- #: admin/includes/tab-settings.php:401
964
msgid "Validation timing"
965
msgstr "検証のタイミング"
966
967
- #: admin/includes/tab-settings.php:412
968
msgid "&#8220;init&#8221; action hook"
969
msgstr "&#8220;init&#8221; アクション・フック"
970
971
- #: admin/includes/tab-settings.php:413
972
msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
973
msgstr "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
974
975
- #: admin/includes/tab-settings.php:416
976
msgid ""
977
"Validate at &#8220;init&#8221; action hook in the same manner as typical "
978
"plugins."
979
msgstr "標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行します。"
980
981
- #: admin/includes/tab-settings.php:417
982
msgid ""
983
"Validate at an earlier phase than other typical plugins. It can reduce load "
984
"on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
@@ -989,7 +997,7 @@ msgstr ""
989
"が、<a rel=‘noreferrer’ href=‘https://www.ipgeoblock.com/codex/validation-timing.html' "
990
"title=‘Validation timing | IP Geo Block’>幾つかの制限事項</a> が生じます。"
991
992
- #: admin/includes/tab-settings.php:425
993
msgid ""
994
"It enables to simulate the validation rules without actual blocking in order "
995
"to check the behavior of this plugin. The results can be found on &#8220;"
@@ -998,122 +1006,122 @@ msgstr ""
998
"このプラグインの動作を確認するために、実際に遮断させることなく検証ルールをシミュレートします。結果は"
999
"ログで確認する事が出来ます。"
1000
1001
- #: admin/includes/tab-settings.php:425
1002
msgid "Simulation mode"
1003
msgstr "シミュレーション・モード"
1004
1005
- #: admin/includes/tab-settings.php:442
1006
msgid "Back-end target settings"
1007
msgstr "バックエンドの設定"
1008
1009
- #: admin/includes/tab-settings.php:448
1010
#, php-format
1011
msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
1012
msgstr "<dfn title=\"%s へのリクエストを検証します。\">%s</dfn>"
1013
1014
- #: admin/includes/tab-settings.php:454
1015
msgid "Other areas"
1016
msgstr "その他の領域"
1017
1018
- #: admin/includes/tab-settings.php:455
1019
msgid "public facing pages"
1020
msgstr "一般公開ページ"
1021
1022
- #: admin/includes/tab-settings.php:471 admin/includes/tab-settings.php:517
1023
- #: admin/includes/tab-settings.php:549 admin/includes/tab-settings.php:555
1024
- #: admin/includes/tab-settings.php:820
1025
msgid "Block by country"
1026
msgstr "国コードで遮断"
1027
1028
- #: admin/includes/tab-settings.php:481
1029
msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1030
msgstr "全体を &lt;p&gt; タグで囲みます。使用可能タグ:"
1031
1032
- #: admin/includes/tab-settings.php:481
1033
msgid "Message on comment form"
1034
msgstr "投稿フォーム上のメッセージ"
1035
1036
- #: admin/includes/tab-settings.php:494
1037
msgid "None"
1038
msgstr "なし"
1039
1040
- #: admin/includes/tab-settings.php:495
1041
msgid "Top"
1042
msgstr "上部"
1043
1044
- #: admin/includes/tab-settings.php:496
1045
msgid "Bottom"
1046
msgstr "下部"
1047
1048
- #: admin/includes/tab-settings.php:518
1049
msgid "Completely close"
1050
msgstr "完全に閉鎖"
1051
1052
- #: admin/includes/tab-settings.php:524
1053
msgid "Action to login as a registered user."
1054
msgstr "登録済みユーザーとしてログインするアクション。"
1055
1056
- #: admin/includes/tab-settings.php:524
1057
msgid "Log in"
1058
msgstr "ログイン"
1059
1060
- #: admin/includes/tab-settings.php:525
1061
msgid "Action to register new users."
1062
msgstr "新規ユーザーを登録するアクション。"
1063
1064
- #: admin/includes/tab-settings.php:525
1065
msgid "Register"
1066
msgstr "登録"
1067
1068
- #: admin/includes/tab-settings.php:526
1069
msgid "Action to reset a password to create a new one."
1070
msgstr "パスワードをリセットし、新しいパスワードに更新するアクション。"
1071
1072
- #: admin/includes/tab-settings.php:526
1073
msgid "Password Reset"
1074
msgstr "パスワードのリセット"
1075
1076
- #: admin/includes/tab-settings.php:527
1077
msgid "Action to email a password to a registered user."
1078
msgstr "登録済みユーザーにパスワードを送付するアクション。"
1079
1080
- #: admin/includes/tab-settings.php:527
1081
msgid "Lost Password"
1082
msgstr "パスワード紛失"
1083
1084
- #: admin/includes/tab-settings.php:528
1085
msgid ""
1086
"Action to show prompt to enter a password on password protected post and "
1087
"page."
1088
msgstr "パスワードで保護された投稿とページにパスワードを入力するプロンプトを表示するアクション。"
1089
1090
- #: admin/includes/tab-settings.php:528
1091
msgid "Password protected"
1092
msgstr "パスワード保護"
1093
1094
- #: admin/includes/tab-settings.php:550
1095
msgid ""
1096
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
1097
"actions</dfn>"
1098
msgstr "<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
1099
1100
- #: admin/includes/tab-settings.php:556
1101
msgid "Prevent Zero-day Exploit"
1102
msgstr "ゼロデイ攻撃を遮断"
1103
1104
- #: admin/includes/tab-settings.php:560
1105
msgid ""
1106
"It will block a request related to the services for both &#8220;non-logged "
1107
"in user&#8221; and &#8220;logged-in user&#8221;."
1108
msgstr "認証済ユーザーおよび未認証ユーザー用のサービスに関連するリクエストを遮断します。"
1109
1110
- #: admin/includes/tab-settings.php:561
1111
msgid ""
1112
"Regardless of the country code, it will block a malicious request related to "
1113
"the services only for &#8220;logged-in user&#8221;."
1114
msgstr "国コードにかかわらず、認証済ユーザー限定のサービスに関連する悪意のあるリクエストを遮断します。"
1115
1116
- #: admin/includes/tab-settings.php:567
1117
msgid ""
1118
"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1119
"&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
@@ -1123,23 +1131,23 @@ msgstr ""
1123
"[プライバシーと記録の設定]&raquo;[IPアドレスのキャッシュを記録]が有効の時、[XML-RPC]と[ログイ"
1124
"ン・フォーム]に適用されます。ロックアウト時間は[有効時間]で定義します。"
1125
1126
- #: admin/includes/tab-settings.php:567
1127
msgid "Max failed login attempts per IP address"
1128
msgstr "IPアドレス当たりのログイン試行可能回数"
1129
1130
- #: admin/includes/tab-settings.php:608
1131
msgid "admin post for logged-in user"
1132
msgstr "認証済ユーザー用 admin post"
1133
1134
- #: admin/includes/tab-settings.php:609
1135
msgid "admin post for non logged-in user"
1136
msgstr "未認証ユーザー用 admin post"
1137
1138
- #: admin/includes/tab-settings.php:631
1139
msgid "Admin ajax/post"
1140
msgstr "管理領域 ajax/post"
1141
1142
- #: admin/includes/tab-settings.php:645
1143
msgid ""
1144
"Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1145
"(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
@@ -1151,27 +1159,27 @@ msgstr ""
1151
"&#8221; 部分)、またはページ名(&#8220;page=&hellip;&#8221; の &#8220;&hellip;&#8221; 部分)を指定"
1152
"し、検証対象から除外します。"
1153
1154
- #: admin/includes/tab-settings.php:645 admin/includes/tab-settings.php:723
1155
- #: admin/includes/tab-settings.php:783
1156
msgid "Exceptions"
1157
msgstr "例外"
1158
1159
- #: admin/includes/tab-settings.php:646
1160
msgid "Toggle with non logged-in user"
1161
msgstr "未認証ユーザー用を含む項目に限定して表示する"
1162
1163
- #: admin/includes/tab-settings.php:649
1164
msgid "Candidate actions/pages"
1165
msgstr "候補 アクション/ページ"
1166
1167
- #: admin/includes/tab-settings.php:663
1168
#, php-format
1169
msgid ""
1170
"Regardless of the country code, it will block a malicious request to <code>"
1171
"%s&ctdot;/*.php</code>."
1172
msgstr "国コードにかかわらず、<code>%s&ctdot;/*.php</code>への悪意のあるリクエストを遮断します。"
1173
1174
- #: admin/includes/tab-settings.php:664
1175
msgid ""
1176
"Select the item which causes unintended blocking in order to exclude from "
1177
"the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
@@ -1179,7 +1187,7 @@ msgstr ""
1179
"意図しない遮断の原因となる項目を選択し、検証対象から除外します。灰色で表示された項目は、「非アクティ"
1180
"ブ」であることを示しています。"
1181
1182
- #: admin/includes/tab-settings.php:665
1183
#, php-format
1184
msgid ""
1185
"It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
@@ -1189,37 +1197,37 @@ msgstr ""
1189
"WordPressコアを読み込まないPHPファイルへのリクエストを検証対象とするために、%s を設定します。ドットで"
1190
"始まる隠しファイルへのアクセス拒否がサーバー側で設定されていることを確認して下さい。"
1191
1192
- #: admin/includes/tab-settings.php:666
1193
msgid "Sorry, but your server type is not supported."
1194
msgstr "このサーバーではサポートされません。"
1195
1196
- #: admin/includes/tab-settings.php:667
1197
msgid ""
1198
"You need to click &#8220;Save Changes&#8221; button for imported settings to "
1199
"take effect."
1200
msgstr "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要があります。"
1201
1202
- #: admin/includes/tab-settings.php:702 admin/includes/tab-settings.php:762
1203
msgid "Force to load WP core"
1204
msgstr "WPコアの読み込みを強制"
1205
1206
- #: admin/includes/tab-settings.php:707
1207
msgid "Plugins area"
1208
msgstr "プラグイン領域"
1209
1210
- #: admin/includes/tab-settings.php:767
1211
msgid "Themes area"
1212
msgstr "テーマ領域"
1213
1214
- #: admin/includes/tab-settings.php:802
1215
msgid "Front-end target settings"
1216
msgstr "フロントエンドの設定"
1217
1218
- #: admin/includes/tab-settings.php:837
1219
msgid "Follow &#8220;Validation rules and behavior&#8221;"
1220
msgstr "[検証ルールと振る舞いの設定]に従う"
1221
1222
- #: admin/includes/tab-settings.php:879
1223
#, php-format
1224
msgid ""
1225
"<dfn title=\"You can configure a different response code from the Back-end. "
@@ -1229,18 +1237,18 @@ msgstr ""
1229
"<dfn title=\"バックエンドと異なるレスポンス・コードを設定できます。これは、アフィリエイト・プログラム"
1230
"に対する違反を防止するのに役立つでしょう。\">レスポンス・コード</dfn> %s"
1231
1232
- #: admin/includes/tab-settings.php:943
1233
msgid ""
1234
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1235
msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
1236
1237
- #: admin/includes/tab-settings.php:955
1238
msgid ""
1239
"<dfn title=\"Specify the individual post type on a single page as a blocking "
1240
"target.\">Post type</dfn>"
1241
msgstr "<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿タイプ</dfn>"
1242
1243
- #: admin/includes/tab-settings.php:967
1244
msgid ""
1245
"<dfn title=\"Specify the individual category on a single page or archive "
1246
"page as a blocking target.\">Category</dfn>"
@@ -1248,30 +1256,30 @@ msgstr ""
1248
"<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に指定します。\">カテゴリ"
1249
"</dfn>"
1250
1251
- #: admin/includes/tab-settings.php:979
1252
msgid ""
1253
"<dfn title=\"Specify the individual tag on a single page or archive page as "
1254
"a blocking target.\">Tag</dfn>"
1255
msgstr ""
1256
"<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定します。\">タグ</dfn>"
1257
1258
- #: admin/includes/tab-settings.php:993
1259
msgid "Specify the validation target on front-end."
1260
msgstr "フロントエンドの検証対象を設定します。"
1261
1262
- #: admin/includes/tab-settings.php:993
1263
msgid "Validation target"
1264
msgstr "検証対象"
1265
1266
- #: admin/includes/tab-settings.php:1004
1267
msgid "All requests"
1268
msgstr "全てのリクエスト"
1269
1270
- #: admin/includes/tab-settings.php:1005
1271
msgid "Specify the targets"
1272
msgstr "ターゲットを指定"
1273
1274
- #: admin/includes/tab-settings.php:1008
1275
msgid ""
1276
"Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1277
"wp&#8221; action hook. It means that this feature would not be compatible "
@@ -1280,32 +1288,32 @@ msgstr ""
1280
"[検証のタイミング]が &#8220;wp&#8221; アクション・フックまで遅延されます。これにより、ページ・"
1281
"キャッシュとの互換性がなくなることに注意してください。"
1282
1283
- #: admin/includes/tab-settings.php:1018
1284
msgid "Specify the name of actions as exception that is invariably blocked."
1285
msgstr "常に遮断されるアクション名を例外として指定します。"
1286
1287
- #: admin/includes/tab-settings.php:1018
1288
msgid "Excluded actions"
1289
msgstr "除外するアクション"
1290
1291
- #: admin/includes/tab-settings.php:1034
1292
msgid ""
1293
"<dfn title=\"Specify the frequency of request for certain period of time."
1294
"\">Blocking condition</dfn>"
1295
msgstr "<dfn title=\"特定期間のリクエスト頻度を設定します。\">遮断条件</dfn>"
1296
1297
- #: admin/includes/tab-settings.php:1036
1298
#, php-format
1299
msgid "More than %1$s page view (PV) in %2$s seconds"
1300
msgstr "%2$s 秒間で %1$s を超えるページビュー (PV)"
1301
1302
- #: admin/includes/tab-settings.php:1044
1303
msgid ""
1304
"<dfn title=\"It will validate the frequency of request.\">Block badly-"
1305
"behaved bots and crawlers</dfn>"
1306
msgstr "<dfn title=\"リクエスト頻度を検証します。\">行儀の悪いボットやクローラーを遮断</dfn>"
1307
1308
- #: admin/includes/tab-settings.php:1061
1309
msgid ""
1310
"A part of user agent string and a qualification connected with a separator "
1311
"that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
@@ -1318,11 +1326,11 @@ msgstr ""
1318
"「条件」のペアです。「条件」には「DNS」、「FEED」、国コード、または&nbsp;IPアドレス(CIDR記法)が使え"
1319
"ます。また否定を表す記号「!」を「条件」の直前に配置する事が出来ます。"
1320
1321
- #: admin/includes/tab-settings.php:1061
1322
msgid "UA string and qualification"
1323
msgstr "ユーザーエージェント文字列と条件"
1324
1325
- #: admin/includes/tab-settings.php:1078
1326
msgid ""
1327
"It enables to verify the host by reverse DNS lookup which would spend some "
1328
"server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -1332,15 +1340,15 @@ msgstr ""
1332
"DNS 逆引きによりホストを検証します(幾らかのサーバー・リソースを消費します)。無効にした場合、[ユー"
1333
"ザーエージェント文字列と条件]中の「HOST」および「HOST=&hellip;」は常に真となります。"
1334
1335
- #: admin/includes/tab-settings.php:1078
1336
msgid "Reverse DNS lookup"
1337
msgstr "DNS 逆引き"
1338
1339
- #: admin/includes/tab-settings.php:1097
1340
msgid "Privacy and record settings"
1341
msgstr "プライバシーと記録の設定"
1342
1343
- #: admin/includes/tab-settings.php:1120
1344
msgid ""
1345
"<dfn title=\"This option restricts not to send IP address to the external "
1346
"Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
@@ -1348,7 +1356,7 @@ msgstr ""
1348
"<dfn title=\"このオプションは、IPアドレスを外部の位置情報APIへ送信することを制限します。\">外部APIへ"
1349
"の送信を制限する</dfn>"
1350
1351
- #: admin/includes/tab-settings.php:1135
1352
msgid ""
1353
"<dfn title=\"This option enables to record the IP address, country code and "
1354
"failure counter of login attempts into the cache on database to minimize the "
@@ -1357,7 +1365,7 @@ msgstr ""
1357
"<dfn title=\"このオプションは、IPアドレス、国コード、ログイン失敗回数等のキャッシュへの記録を有効に"
1358
"し、サイト速度への影響を最小化します。\">IPアドレスをキャッシュに記録</dfn>"
1359
1360
- #: admin/includes/tab-settings.php:1150
1361
msgid ""
1362
"<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1363
"number of failed login attempts per IP address&#8221;, subsequent login will "
@@ -1367,7 +1375,7 @@ msgstr ""
1367
"<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ(ガベージコレクション周"
1368
"期を含む)禁止されます。\">各エントリーの有効期間 [秒]</dfn>"
1369
1370
- #: admin/includes/tab-settings.php:1166
1371
msgid ""
1372
"<dfn title=\"This option enables to record the validation logs including IP "
1373
"addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
@@ -1375,48 +1383,48 @@ msgstr ""
1375
"<dfn title=\"このオプションは、IPアドレスを含む検証ログの記録を有効にします。\">検証のログを記録</"
1376
"dfn>"
1377
1378
- #: admin/includes/tab-settings.php:1178
1379
msgid "When blocked"
1380
msgstr "遮断時に記録"
1381
1382
- #: admin/includes/tab-settings.php:1179
1383
msgid "When passed"
1384
msgstr "通過時に記録"
1385
1386
- #: admin/includes/tab-settings.php:1180
1387
msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1388
msgstr "遮断時または遮断対象国の通過時に記録"
1389
1390
- #: admin/includes/tab-settings.php:1181
1391
msgid "Unauthenticated visitor"
1392
msgstr "未認証の訪問者を記録"
1393
1394
- #: admin/includes/tab-settings.php:1182
1395
msgid "Authenticated user"
1396
msgstr "認証済のユーザーを記録"
1397
1398
- #: admin/includes/tab-settings.php:1183
1399
msgid "All the validation"
1400
msgstr "すべての検証を記録"
1401
1402
- #: admin/includes/tab-settings.php:1191
1403
#, php-format
1404
msgid ""
1405
"<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1406
"\">Expiration time [days] for each entry</dfn>"
1407
msgstr "<dfn title=\"ログの最大エントリー数は %d に制限されます。\">各エントリーの有効期間[日]</dfn>"
1408
1409
- #: admin/includes/tab-settings.php:1208
1410
msgid ""
1411
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1412
"with value</dfn>"
1413
msgstr "<dfn title=\"例)action, comment, log, pwd, FILES\">内容を展開する$_POSTのキー</dfn>"
1414
1415
- #: admin/includes/tab-settings.php:1227
1416
msgid "Maximum entries in &#8220;Logs&#8221;"
1417
msgstr "記録するログの最大エントリ数"
1418
1419
- #: admin/includes/tab-settings.php:1244
1420
msgid ""
1421
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1422
"&#8220;Live update&#8221;</dfn>"
@@ -1424,47 +1432,47 @@ msgstr ""
1424
"<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用SQLiteデータベース・ソー"
1425
"スの選択</dfn>"
1426
1427
- #: admin/includes/tab-settings.php:1257
1428
msgid "Ordinary file"
1429
msgstr "ファイル"
1430
1431
- #: admin/includes/tab-settings.php:1258
1432
msgid "In-Memory"
1433
msgstr "イン・メモリ"
1434
1435
- #: admin/includes/tab-settings.php:1261
1436
msgid "PDO_SQLITE driver not available"
1437
msgstr "PDO_SQLITEドライバが利用出来ません"
1438
1439
- #: admin/includes/tab-settings.php:1262
1440
msgid ""
1441
"It takes a few tens of milliseconds as overhead. It can be safely used "
1442
"without conflict with other plugins."
1443
msgstr "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全に使用できます。"
1444
1445
- #: admin/includes/tab-settings.php:1263
1446
msgid ""
1447
"It takes a few milliseconds as overhead. There is a possibility of conflict "
1448
"with other plugins using this method."
1449
msgstr ""
1450
"数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する可能性があります。"
1451
1452
- #: admin/includes/tab-settings.php:1271
1453
msgid "Reset database source of &#8220;Live update&#8221;"
1454
msgstr "ライブアップデートのデータソースをリセットする"
1455
1456
- #: admin/includes/tab-settings.php:1279
1457
msgid "Reset now"
1458
msgstr "今すぐリセット"
1459
1460
- #: admin/includes/tab-settings.php:1288 admin/includes/tab-settings.php:1449
1461
msgid ""
1462
"Task could not be found in WP-Cron. Please try to deactivate this plugin "
1463
"once and activate again."
1464
msgstr ""
1465
"WP-Cronのタスクが見つかりません。 一旦このプラグインを停止させた後、再度、有効化してみてください。"
1466
1467
- #: admin/includes/tab-settings.php:1293
1468
msgid ""
1469
"<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1470
"expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
@@ -1473,12 +1481,12 @@ msgstr ""
1473
"<dfn title=\"キャッシュとログから有効期限の切れたIPアドレスのエントリーを削除する WP-Cron イベントの"
1474
"起動周期を設定します。\">ガベージコレクション周期[秒]</dfn>"
1475
1476
- #: admin/includes/tab-settings.php:1302 admin/includes/tab-settings.php:1465
1477
#, php-format
1478
msgid "Next schedule: %s"
1479
msgstr "次回日時:%s"
1480
1481
- #: admin/includes/tab-settings.php:1309
1482
msgid ""
1483
"<dfn title=\"This option enables to record the number blocked countries and "
1484
"the number of blocked requests per day.\">Record &#8220;Statistics of "
@@ -1487,19 +1495,19 @@ msgstr ""
1487
"<dfn title=\"このオプションは、国別遮断数や1日あたりの遮断数など、統計の記録を有効にします。\">検証の"
1488
"統計を記録</dfn>"
1489
1490
- #: admin/includes/tab-settings.php:1324
1491
msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1492
msgstr "記録する統計の最大期間[日]"
1493
1494
- #: admin/includes/tab-settings.php:1342
1495
msgid "Remove all settings and records at uninstallation"
1496
msgstr "アンインストール時に設定と記録を全て削除"
1497
1498
- #: admin/includes/tab-settings.php:1359
1499
msgid "Geolocation API settings"
1500
msgstr "位置情報APIの設定"
1501
1502
- #: admin/includes/tab-settings.php:1380
1503
msgid ""
1504
"<dfn title=\"IP address cache and local databases are scanned at the top "
1505
"priority.\">API selection and key settings</dfn>"
@@ -1507,46 +1515,46 @@ msgstr ""
1507
"<dfn title=\"IPアドレスのキャッシュとローカルのデータベースが最優先で検索されます。\">APIの選択とキー"
1508
"の設定</dfn>"
1509
1510
- #: admin/includes/tab-settings.php:1399
1511
msgid "Timeout for network API [sec]"
1512
msgstr "ネットワークAPIのタイムアウト[秒]"
1513
1514
- #: admin/includes/tab-settings.php:1417
1515
msgid "Local database settings"
1516
msgstr "ローカル・データベースの設定"
1517
1518
- #: admin/includes/tab-settings.php:1431
1519
msgid "database"
1520
msgstr "ファイル"
1521
1522
- #: admin/includes/tab-settings.php:1432 classes/class-ip-geo-block-cron.php:434
1523
#, php-format
1524
msgid "Last update: %s"
1525
msgstr "最終更新:%s"
1526
1527
- #: admin/includes/tab-settings.php:1454
1528
msgid "Auto updating (once a month)"
1529
msgstr "自動更新(月1回)"
1530
1531
- #: admin/includes/tab-settings.php:1472
1532
msgid "Download database"
1533
msgstr "データベースのダウンロード"
1534
1535
- #: admin/includes/tab-settings.php:1480
1536
msgid "Download now"
1537
msgstr "今すぐダウンロード"
1538
1539
- #: admin/includes/tab-settings.php:1491
1540
msgid "Plugin settings"
1541
msgstr "プラグインの設定"
1542
1543
- #: admin/includes/tab-settings.php:1503
1544
msgid ""
1545
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1546
"settings</dfn>"
1547
msgstr "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワーク内で設定を同期</dfn>"
1548
1549
- #: admin/includes/tab-settings.php:1521
1550
msgid ""
1551
"<dfn title=\"You can access to the login form with a specific key at "
1552
"emergency. Please add the generated link to favorites / bookmarks in your "
@@ -1556,7 +1564,7 @@ msgstr ""
1556
"<dfn title=\"緊急時にもログイン可能なリンクを生成します。キー自体は保存されないので、生成したリンクを"
1557
"ブラウザのお気に入り/ブックマークに追加してください。\">緊急時用ログイン・リンク</dfn>"
1558
1559
- #: admin/includes/tab-settings.php:1537
1560
msgid ""
1561
"<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1562
"iframe can be available without key in case it's empty.\">Google Maps API "
@@ -1565,55 +1573,55 @@ msgstr ""
1565
"<dfn title=\"Google Maps JavaScript API の有効なキー。空欄にするとキーなしの Maps Embed API が使用可"
1566
"能です。\">Google Maps API キー</dfn>"
1567
1568
- #: admin/includes/tab-settings.php:1553
1569
msgid "Export / Import settings"
1570
msgstr "設定のエクスポート、インポート"
1571
1572
- #: admin/includes/tab-settings.php:1560
1573
msgid "Export settings"
1574
msgstr "エクスポート"
1575
1576
- #: admin/includes/tab-settings.php:1561
1577
msgid "Import from the local file"
1578
msgstr "ローカル・ファイルからインポートします"
1579
1580
- #: admin/includes/tab-settings.php:1561
1581
msgid "Import settings"
1582
msgstr "インポート"
1583
1584
- #: admin/includes/tab-settings.php:1569
1585
msgid "Import pre-defined settings"
1586
msgstr "プリセットのインポート"
1587
1588
- #: admin/includes/tab-settings.php:1576
1589
msgid ""
1590
"Import the default settings to revert to the &#8220;Right after "
1591
"installing&#8221; state"
1592
msgstr "インストール直後の状態に戻すための設定値をインポートします"
1593
1594
- #: admin/includes/tab-settings.php:1576
1595
msgid "Default settings"
1596
msgstr "初期設定"
1597
1598
- #: admin/includes/tab-settings.php:1577
1599
msgid ""
1600
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1601
"for the &#8220;Back-end target settings&#8221;"
1602
msgstr "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートします"
1603
1604
- #: admin/includes/tab-settings.php:1577
1605
msgid "Best for Back-end"
1606
msgstr "バックエンドの推奨設定"
1607
1608
- #: admin/includes/tab-settings.php:1586
1609
msgid "Diagnose all DB tables"
1610
msgstr "全データベース・テーブルの検査"
1611
1612
- #: admin/includes/tab-settings.php:1594
1613
msgid "Diagnose now"
1614
msgstr "今すぐ検査"
1615
1616
- #: admin/includes/tab-settings.php:1603
1617
msgid ""
1618
"<dfn title=\"When you have some unexpected blocking experiences, please "
1619
"press the button to find the blocked requests at the end of dumped "
@@ -1627,15 +1635,15 @@ msgstr ""
1627
"org/support/plugin/ip-geo-block\" title=\"[IP Geo Block] Support | WordPress.org\">サポート・フォーラ"
1628
"ム</a> ]"
1629
1630
- #: admin/includes/tab-settings.php:1610
1631
msgid "Please copy &amp; paste when submitting your issue to support forum"
1632
msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください"
1633
1634
- #: admin/includes/tab-settings.php:1610
1635
msgid "Show information"
1636
msgstr "情報を表示"
1637
1638
- #: admin/includes/tab-settings.php:1627
1639
msgid ""
1640
"While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1641
"others will pass an IP address to the 3rd parties' API via HTTP."
@@ -1643,14 +1651,14 @@ msgstr ""
1643
"MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して外部のAPIにIPアドレスを渡"
1644
"します。"
1645
1646
- #: admin/includes/tab-settings.php:1628
1647
msgid ""
1648
"Please select the appropriate APIs to fit the privacy law / regulation in "
1649
"your country / region."
1650
msgstr ""
1651
"あなたの国/地域におけるプライバシー保護の法規・条例に適合するよう、適切なAPIを選択して下さい。"
1652
1653
- #: admin/includes/tab-settings.php:1637
1654
#, php-format
1655
msgid ""
1656
"Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
@@ -1659,7 +1667,7 @@ msgstr ""
1659
"Maxmind GeoLite2 データベースと API には、PHP バージョン 5.4.0 以上と %sPECL phar 2.0.0 以上%sが必要"
1660
"です。"
1661
1662
- #: admin/includes/tab-settings.php:1645
1663
#, php-format
1664
msgid ""
1665
"Please refer to \"%sLiving with cache plugin%s\" for compatibility with "
4
msgstr ""
5
"Project-Id-Version: IP Geo Block 3.0.17.1\n"
6
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2019-01-14 23:36+0900\n"
8
+ "PO-Revision-Date: 2019-01-14 23:39+0900\n"
9
"Language-Team: \n"
10
"MIME-Version: 1.0\n"
11
"Content-Type: text/plain; charset=UTF-8\n"
33
msgstr "実行してもよいですか?"
34
35
#: admin/class-ip-geo-block-admin.php:297
36
+ #: admin/class-ip-geo-block-admin.php:792
37
msgid "Open a new window"
38
msgstr "別窓で開く"
39
40
+ #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1544
41
msgid "Generate new link"
42
msgstr "新しいリンクを生成"
43
44
+ #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1545
45
msgid "Delete current link"
46
msgstr "生成したリンクを削除"
47
166
167
#: admin/class-ip-geo-block-admin.php:365
168
#: admin/class-ip-geo-block-admin.php:491
169
+ #: admin/class-ip-geo-block-admin.php:733
170
+ #: admin/class-ip-geo-block-admin.php:753
171
+ #: admin/class-ip-geo-block-admin.php:769
172
msgid "Settings"
173
msgstr "設定"
174
182
msgstr "IP Geo Block"
183
184
#: admin/class-ip-geo-block-admin.php:481
185
+ #: admin/class-ip-geo-block-admin.php:732
186
+ #: admin/class-ip-geo-block-admin.php:750
187
+ #: admin/class-ip-geo-block-admin.php:767
188
msgid "Sites list"
189
msgstr "サイト一覧"
190
191
+ #: admin/class-ip-geo-block-admin.php:522
192
msgid "You need WordPress 3.7+."
193
msgstr "WordPress 3.7 以上が必要です。"
194
195
+ #: admin/class-ip-geo-block-admin.php:526
196
#, php-format
197
msgid ""
198
"Can not load Geolocation API libraries from <code>%s</code>. It seems to "
216
"title=\"How can I fix permission troubles? | IP Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共"
217
"に <code>ip-geo-api</code> をインストールしてください。"
218
219
+ #: admin/class-ip-geo-block-admin.php:535
220
#, php-format
221
msgid ""
222
"You should select at least one API at <a href=\"%s\">Geolocation API "
226
"<a href=\"%s\">位置情報APIの設定</a>で、少なくとも1つ以上のAPIを選択して下さい。未選択の場合、キャッ"
227
"シュの有効期限切れと共にロックアウトされます。"
228
229
+ #: admin/class-ip-geo-block-admin.php:544
230
#, php-format
231
msgid ""
232
"You should select at least one API for local database at <a href=\"%s"
236
"<a href=\"%s\">位置情報APIの設定</a>で、ローカルデータベース用のAPIを少なくとも1つ以上選択して下さ"
237
"い。未選択の場合、外部APIへのアクセスにより、サイトの応答性が悪くなります。"
238
239
+ #: admin/class-ip-geo-block-admin.php:555
240
#, php-format
241
msgid ""
242
"Now downloading geolocation databases in background. After a little while, "
247
"と[<strong>マッチング規則</strong>]を[<a href=\"%s\">検証ルールと振る舞いの設定</a>]で確認して下"
248
"さい。"
249
250
+ #: admin/class-ip-geo-block-admin.php:561
251
#, php-format
252
msgid ""
253
"The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
256
"[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s\">検証ルールと振る舞い"
257
"の設定</a>]を確認して下さい。"
258
259
+ #: admin/class-ip-geo-block-admin.php:570
260
msgid "Local database and matching rule have been updated."
261
msgstr "ローカル・データベースとマッチング規則を更新しました。"
262
263
+ #: admin/class-ip-geo-block-admin.php:581
264
msgid ""
265
"Once you logout, you will be unable to login again because the number of "
266
"login attempts reaches the limit."
268
"あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトすると再びログインする事が"
269
"出来なくなります。"
270
271
+ #: admin/class-ip-geo-block-admin.php:583
272
#, php-format
273
msgid ""
274
"Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
278
"[%3$s統計%4$s]タブの[%1$sIPアドレスのキャッシュ%2$s]から自身のIPアドレスを削除し、ロックアウトを"
279
"回避してください。"
280
281
+ #: admin/class-ip-geo-block-admin.php:594
282
msgid ""
283
"Once you logout, you will be unable to login again because your country code "
284
"or IP address is in the blacklist."
286
"あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウトすると再びログインする"
287
"事が出来なくなります。"
288
289
+ #: admin/class-ip-geo-block-admin.php:595
290
msgid ""
291
"Once you logout, you will be unable to login again because your country code "
292
"or IP address is not in the whitelist."
294
"あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウトすると再びログインす"
295
"る事が出来なくなります。"
296
297
+ #: admin/class-ip-geo-block-admin.php:599
298
#, php-format
299
msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
300
msgstr "[%s検証ルールと振る舞いの設定%s]を確認して下さい。"
301
302
+ #: admin/class-ip-geo-block-admin.php:603
303
#, php-format
304
msgid ""
305
"Please confirm your local geolocation database files exist at &#8220;%sLocal "
309
"[%sローカル・データベースの設定%s]で位置情報データベース・ファイルの有無を確認して下さい。あるいは"
310
"[%sキャッシュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
311
312
+ #: admin/class-ip-geo-block-admin.php:617
313
#, php-format
314
msgid ""
315
"Emergency login link is outdated. Please delete it once and generate again "
319
"緊急ログイン・リンクが古くなっています。[%sプラグインの設定%s]で一度削除してから再度生成してくださ"
320
"い。 またブラウザのお気に入り/ブックマークも忘れずに更新して下さい。"
321
322
+ #: admin/class-ip-geo-block-admin.php:626
323
msgid ""
324
"&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
325
"timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
329
"<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;init&#8221; アクション・フック」を選択し"
330
"てください。"
331
332
+ #: admin/class-ip-geo-block-admin.php:734
333
msgid "Statistics"
334
msgstr "統計"
335
336
+ #: admin/class-ip-geo-block-admin.php:735
337
msgid "Logs"
338
msgstr "ログ"
339
340
+ #: admin/class-ip-geo-block-admin.php:736
341
msgid "Search"
342
msgstr "検索"
343
344
+ #: admin/class-ip-geo-block-admin.php:737
345
msgid "Attribution"
346
msgstr "リンク"
347
348
+ #: admin/class-ip-geo-block-admin.php:785
349
msgid "Toggle all"
350
msgstr "全てを開閉"
351
352
+ #: admin/class-ip-geo-block-admin.php:788
353
msgid ""
354
"Independent of &#8220;Privacy and record settings&#8221;, you can see all "
355
"the requests validated by this plugin in almost real time."
357
"[プライバシーと記録の設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼリアルタイムに"
358
"表示します。"
359
360
+ #: admin/class-ip-geo-block-admin.php:788 admin/includes/tab-accesslog.php:39
361
msgid "Live update"
362
msgstr "ライブアップデート"
363
364
+ #: admin/class-ip-geo-block-admin.php:792
365
msgid "Open a new window on clicking the link in the chart."
366
msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
367
368
+ #: admin/class-ip-geo-block-admin.php:816
369
msgid "Thanks for providing these great services for free."
370
msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
371
372
+ #: admin/class-ip-geo-block-admin.php:817
373
msgid ""
374
"(Most browsers will redirect you to each site <a href=\"https://www."
375
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
378
"(ほとんどのブラウザでは、<a href=\"https://www.ipgeoblock.com/etc/referer.html\" title=\"Referer "
379
"Checker\">参照元を残さずにリンク先にリダイレクトできます</a>。)"
380
381
+ #: admin/class-ip-geo-block-admin.php:822
382
msgid "Back to top"
383
msgstr "トップに戻る"
384
385
+ #: admin/class-ip-geo-block-admin.php:914
386
msgid "Enable"
387
msgstr "有効"
388
389
+ #: admin/class-ip-geo-block-admin.php:929
390
msgid "Select one"
391
msgstr "何れかを選択"
392
399
#: classes/class-ip-geo-block-cron.php:228
400
#: classes/class-ip-geo-block-cron.php:332
401
#: classes/class-ip-geo-block-cron.php:410
402
+ #: classes/class-ip-geo-block-opts.php:487
403
#, php-format
404
msgid "Unable to write <code>%s</code>. Please check the permission."
405
msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
505
msgid "Help"
506
msgstr "ヘルプ"
507
508
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:466
509
msgid "Comment post"
510
msgstr "コメント投稿"
511
512
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:467
513
msgid "XML-RPC"
514
msgstr "XML-RPC"
515
516
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:468
517
msgid "Login form"
518
msgstr "ログイン・フォーム"
519
520
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:469
521
msgid "Admin area"
522
msgstr "管理領域"
523
524
+ #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:471
525
msgid "Public facing pages"
526
msgstr "一般公開ページ"
527
587
msgid "Export logs"
588
msgstr "ログをエクスポート"
589
590
+ #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1576
591
#: admin/includes/tab-statistics.php:283
592
msgid "Export to the local file"
593
msgstr "ローカル・ファイルへエクスポートする"
620
msgid "Geolocation API"
621
msgstr "位置情報API"
622
623
+ #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1121
624
msgid ""
625
"<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
626
"Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
771
"の国にもマッチさせないことが必要な場合には、「YY」を指定してください。\">国コードのブラックリスト</"
772
"dfn>"
773
774
+ #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:843
775
msgid "Matching rule"
776
msgstr "マッチング規則"
777
893
"ング]を「&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)」に設定することを検討してください。\">悪意の"
894
"あるアップロード防止</dfn>"
895
896
+ #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:532
897
+ #: admin/includes/tab-settings.php:677 admin/includes/tab-settings.php:1193
898
msgid "Disable"
899
msgstr "無効"
900
906
msgid "Verify file extension only"
907
msgstr "ファイル拡張子のみを検証"
908
909
+ #: admin/includes/tab-settings.php:315
910
+ msgid ""
911
+ "<dfn title=\"It prevents important information in the database from being "
912
+ "defaced and exploited.\">Metadata Exploit Protection</dfn>"
913
+ msgstr ""
914
+ "<dfn title=\"データベース中の重要情報が改ざん・悪用されることを防止します。\">メタデータの改ざん防止"
915
+ "</dfn>"
916
+
917
+ #: admin/includes/tab-settings.php:330
918
msgid ""
919
"<dfn title=\"Specify the table names to be verified for single site. This "
920
"verification will be skipped if empty.\">pre_update_option</dfn>"
922
"<dfn title=\"データベース中のシングルサイト用テーブル名を指定します。空欄の場合、この検証はスキップさ"
923
"れます。\">pre_update_option</dfn>"
924
925
+ #: admin/includes/tab-settings.php:332
926
msgid ""
927
"<dfn title=\"Specify the table names to be verified for multisite. This "
928
"verification will be skipped if empty.\">pre_update_site_option</dfn>"
930
"<dfn title=\"データベース中のマルチサイト用テーブル名を指定します。空欄の場合、この検証はスキップされ"
931
"ます。\">pre_update_site_option</dfn>"
932
933
+ #: admin/includes/tab-settings.php:337
934
msgid ""
935
"<dfn title=\"It prevents to manipulate metadata in database without admin "
936
"privilege.\">Prevent metadata alteration</dfn>"
937
msgstr "<dfn title=\"管理者権限なくメタデータが改変される事を防止します。\">メタデータの改竄防止</dfn>"
938
939
+ #: admin/includes/tab-settings.php:353
940
#, php-format
941
msgid ""
942
"<dfn title=\"You can put your original 403.php and so on into your theme "
945
"<dfn title=\"テーマ・ディレクトリには 403.php など、独自のファイルを設置する事が出来ます。\">レスポン"
946
"ス・コード</dfn> %s"
947
948
+ #: admin/includes/tab-settings.php:382 admin/includes/tab-settings.php:926
949
msgid ""
950
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
951
"to a public facing page, visitors would not be blocked on the page to "
957
"避けるため、自サイト内の URL は[フロントエンドの設定]に関わらず遮断の対象外となります。空欄の場合、"
958
"サイトのホームが使用されます。\">リダイレクト先 URL</dfn>"
959
960
+ #: admin/includes/tab-settings.php:399 admin/includes/tab-settings.php:944
961
msgid ""
962
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
963
"message</dfn>"
964
msgstr ""
965
"<dfn title=\"レスポンス・コード 4xx、5xx 用のメッセージを指定します。\">レスポンス・メッセージ</dfn>"
966
967
+ #: admin/includes/tab-settings.php:417
968
msgid "Select when to run the validation."
969
msgstr "検証を実行するタイミングを選択します。"
970
971
+ #: admin/includes/tab-settings.php:417
972
msgid "Validation timing"
973
msgstr "検証のタイミング"
974
975
+ #: admin/includes/tab-settings.php:428
976
msgid "&#8220;init&#8221; action hook"
977
msgstr "&#8220;init&#8221; アクション・フック"
978
979
+ #: admin/includes/tab-settings.php:429
980
msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
981
msgstr "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
982
983
+ #: admin/includes/tab-settings.php:432
984
msgid ""
985
"Validate at &#8220;init&#8221; action hook in the same manner as typical "
986
"plugins."
987
msgstr "標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行します。"
988
989
+ #: admin/includes/tab-settings.php:433
990
msgid ""
991
"Validate at an earlier phase than other typical plugins. It can reduce load "
992
"on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
997
"が、<a rel=‘noreferrer’ href=‘https://www.ipgeoblock.com/codex/validation-timing.html' "
998
"title=‘Validation timing | IP Geo Block’>幾つかの制限事項</a> が生じます。"
999
1000
+ #: admin/includes/tab-settings.php:441
1001
msgid ""
1002
"It enables to simulate the validation rules without actual blocking in order "
1003
"to check the behavior of this plugin. The results can be found on &#8220;"
1006
"このプラグインの動作を確認するために、実際に遮断させることなく検証ルールをシミュレートします。結果は"
1007
"ログで確認する事が出来ます。"
1008
1009
+ #: admin/includes/tab-settings.php:441
1010
msgid "Simulation mode"
1011
msgstr "シミュレーション・モード"
1012
1013
+ #: admin/includes/tab-settings.php:458
1014
msgid "Back-end target settings"
1015
msgstr "バックエンドの設定"
1016
1017
+ #: admin/includes/tab-settings.php:464
1018
#, php-format
1019
msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
1020
msgstr "<dfn title=\"%s へのリクエストを検証します。\">%s</dfn>"
1021
1022
+ #: admin/includes/tab-settings.php:470
1023
msgid "Other areas"
1024
msgstr "その他の領域"
1025
1026
+ #: admin/includes/tab-settings.php:471
1027
msgid "public facing pages"
1028
msgstr "一般公開ページ"
1029
1030
+ #: admin/includes/tab-settings.php:487 admin/includes/tab-settings.php:533
1031
+ #: admin/includes/tab-settings.php:565 admin/includes/tab-settings.php:571
1032
+ #: admin/includes/tab-settings.php:836
1033
msgid "Block by country"
1034
msgstr "国コードで遮断"
1035
1036
+ #: admin/includes/tab-settings.php:497
1037
msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1038
msgstr "全体を &lt;p&gt; タグで囲みます。使用可能タグ:"
1039
1040
+ #: admin/includes/tab-settings.php:497
1041
msgid "Message on comment form"
1042
msgstr "投稿フォーム上のメッセージ"
1043
1044
+ #: admin/includes/tab-settings.php:510
1045
msgid "None"
1046
msgstr "なし"
1047
1048
+ #: admin/includes/tab-settings.php:511
1049
msgid "Top"
1050
msgstr "上部"
1051
1052
+ #: admin/includes/tab-settings.php:512
1053
msgid "Bottom"
1054
msgstr "下部"
1055
1056
+ #: admin/includes/tab-settings.php:534
1057
msgid "Completely close"
1058
msgstr "完全に閉鎖"
1059
1060
+ #: admin/includes/tab-settings.php:540
1061
msgid "Action to login as a registered user."
1062
msgstr "登録済みユーザーとしてログインするアクション。"
1063
1064
+ #: admin/includes/tab-settings.php:540
1065
msgid "Log in"
1066
msgstr "ログイン"
1067
1068
+ #: admin/includes/tab-settings.php:541
1069
msgid "Action to register new users."
1070
msgstr "新規ユーザーを登録するアクション。"
1071
1072
+ #: admin/includes/tab-settings.php:541
1073
msgid "Register"
1074
msgstr "登録"
1075
1076
+ #: admin/includes/tab-settings.php:542
1077
msgid "Action to reset a password to create a new one."
1078
msgstr "パスワードをリセットし、新しいパスワードに更新するアクション。"
1079
1080
+ #: admin/includes/tab-settings.php:542
1081
msgid "Password Reset"
1082
msgstr "パスワードのリセット"
1083
1084
+ #: admin/includes/tab-settings.php:543
1085
msgid "Action to email a password to a registered user."
1086
msgstr "登録済みユーザーにパスワードを送付するアクション。"
1087
1088
+ #: admin/includes/tab-settings.php:543
1089
msgid "Lost Password"
1090
msgstr "パスワード紛失"
1091
1092
+ #: admin/includes/tab-settings.php:544
1093
msgid ""
1094
"Action to show prompt to enter a password on password protected post and "
1095
"page."
1096
msgstr "パスワードで保護された投稿とページにパスワードを入力するプロンプトを表示するアクション。"
1097
1098
+ #: admin/includes/tab-settings.php:544
1099
msgid "Password protected"
1100
msgstr "パスワード保護"
1101
1102
+ #: admin/includes/tab-settings.php:566
1103
msgid ""
1104
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
1105
"actions</dfn>"
1106
msgstr "<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
1107
1108
+ #: admin/includes/tab-settings.php:572
1109
msgid "Prevent Zero-day Exploit"
1110
msgstr "ゼロデイ攻撃を遮断"
1111
1112
+ #: admin/includes/tab-settings.php:576
1113
msgid ""
1114
"It will block a request related to the services for both &#8220;non-logged "
1115
"in user&#8221; and &#8220;logged-in user&#8221;."
1116
msgstr "認証済ユーザーおよび未認証ユーザー用のサービスに関連するリクエストを遮断します。"
1117
1118
+ #: admin/includes/tab-settings.php:577
1119
msgid ""
1120
"Regardless of the country code, it will block a malicious request related to "
1121
"the services only for &#8220;logged-in user&#8221;."
1122
msgstr "国コードにかかわらず、認証済ユーザー限定のサービスに関連する悪意のあるリクエストを遮断します。"
1123
1124
+ #: admin/includes/tab-settings.php:583
1125
msgid ""
1126
"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1127
"&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
1131
"[プライバシーと記録の設定]&raquo;[IPアドレスのキャッシュを記録]が有効の時、[XML-RPC]と[ログイ"
1132
"ン・フォーム]に適用されます。ロックアウト時間は[有効時間]で定義します。"
1133
1134
+ #: admin/includes/tab-settings.php:583
1135
msgid "Max failed login attempts per IP address"
1136
msgstr "IPアドレス当たりのログイン試行可能回数"
1137
1138
+ #: admin/includes/tab-settings.php:624
1139
msgid "admin post for logged-in user"
1140
msgstr "認証済ユーザー用 admin post"
1141
1142
+ #: admin/includes/tab-settings.php:625
1143
msgid "admin post for non logged-in user"
1144
msgstr "未認証ユーザー用 admin post"
1145
1146
+ #: admin/includes/tab-settings.php:647
1147
msgid "Admin ajax/post"
1148
msgstr "管理領域 ajax/post"
1149
1150
+ #: admin/includes/tab-settings.php:661
1151
msgid ""
1152
"Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1153
"(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
1159
"&#8221; 部分)、またはページ名(&#8220;page=&hellip;&#8221; の &#8220;&hellip;&#8221; 部分)を指定"
1160
"し、検証対象から除外します。"
1161
1162
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:739
1163
+ #: admin/includes/tab-settings.php:799
1164
msgid "Exceptions"
1165
msgstr "例外"
1166
1167
+ #: admin/includes/tab-settings.php:662
1168
msgid "Toggle with non logged-in user"
1169
msgstr "未認証ユーザー用を含む項目に限定して表示する"
1170
1171
+ #: admin/includes/tab-settings.php:665
1172
msgid "Candidate actions/pages"
1173
msgstr "候補 アクション/ページ"
1174
1175
+ #: admin/includes/tab-settings.php:679
1176
#, php-format
1177
msgid ""
1178
"Regardless of the country code, it will block a malicious request to <code>"
1179
"%s&ctdot;/*.php</code>."
1180
msgstr "国コードにかかわらず、<code>%s&ctdot;/*.php</code>への悪意のあるリクエストを遮断します。"
1181
1182
+ #: admin/includes/tab-settings.php:680
1183
msgid ""
1184
"Select the item which causes unintended blocking in order to exclude from "
1185
"the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
1187
"意図しない遮断の原因となる項目を選択し、検証対象から除外します。灰色で表示された項目は、「非アクティ"
1188
"ブ」であることを示しています。"
1189
1190
+ #: admin/includ