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+$/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+$/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("$","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+)\)$/,"$1"))<=Number(e(n).text().replace(/^.*\((\d+)\)$/,"$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),$&&$.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+$/,".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+$/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+$/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("$","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+)\)$/,"$1"))<=Number(e(n).text().replace(/^.*\((\d+)\)$/,"$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),$&&$.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+$/,".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|.*\\/)?$"),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$/,"")):"https:"===h.protocol&&"443"===h.port&&(h.port="",h.host=h.host.replace(/:443$/,"")),"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?$/.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/\/$/.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|.*\\/)?$"),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$/,"")):"https:"===h.protocol&&"443"===h.port&&(h.port="",h.host=h.host.replace(/:443$/,"")),"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?$/.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/\/$/.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+$/)) {
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+$/)?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/includes/tab-settings.php:681
1191
  #, php-format
1192
  msgid ""
1193
  "It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
1197
  "WordPressコアを読み込まないPHPファイルへのリクエストを検証対象とするために、%s を設定します。ドットで"
1198
  "始まる隠しファイルへのアクセス拒否がサーバー側で設定されていることを確認して下さい。"
1199
 
1200
+ #: admin/includes/tab-settings.php:682
1201
  msgid "Sorry, but your server type is not supported."
1202
  msgstr "このサーバーではサポートされません。"
1203
 
1204
+ #: admin/includes/tab-settings.php:683
1205
  msgid ""
1206
  "You need to click &#8220;Save Changes&#8221; button for imported settings to "
1207
  "take effect."
1208
  msgstr "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要があります。"
1209
 
1210
+ #: admin/includes/tab-settings.php:718 admin/includes/tab-settings.php:778
1211
  msgid "Force to load WP core"
1212
  msgstr "WPコアの読み込みを強制"
1213
 
1214
+ #: admin/includes/tab-settings.php:723
1215
  msgid "Plugins area"
1216
  msgstr "プラグイン領域"
1217
 
1218
+ #: admin/includes/tab-settings.php:783
1219
  msgid "Themes area"
1220
  msgstr "テーマ領域"
1221
 
1222
+ #: admin/includes/tab-settings.php:818
1223
  msgid "Front-end target settings"
1224
  msgstr "フロントエンドの設定"
1225
 
1226
+ #: admin/includes/tab-settings.php:853
1227
  msgid "Follow &#8220;Validation rules and behavior&#8221;"
1228
  msgstr "[検証ルールと振る舞いの設定]に従う"
1229
 
1230
+ #: admin/includes/tab-settings.php:895
1231
  #, php-format
1232
  msgid ""
1233
  "<dfn title=\"You can configure a different response code from the Back-end. "
1237
  "<dfn title=\"バックエンドと異なるレスポンス・コードを設定できます。これは、アフィリエイト・プログラム"
1238
  "に対する違反を防止するのに役立つでしょう。\">レスポンス・コード</dfn> %s"
1239
 
1240
+ #: admin/includes/tab-settings.php:959
1241
  msgid ""
1242
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1243
  msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
1244
 
1245
+ #: admin/includes/tab-settings.php:971
1246
  msgid ""
1247
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1248
  "target.\">Post type</dfn>"
1249
  msgstr "<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿タイプ</dfn>"
1250
 
1251
+ #: admin/includes/tab-settings.php:983
1252
  msgid ""
1253
  "<dfn title=\"Specify the individual category on a single page or archive "
1254
  "page as a blocking target.\">Category</dfn>"
1256
  "<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に指定します。\">カテゴリ"
1257
  "</dfn>"
1258
 
1259
+ #: admin/includes/tab-settings.php:995
1260
  msgid ""
1261
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
1262
  "a blocking target.\">Tag</dfn>"
1263
  msgstr ""
1264
  "<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定します。\">タグ</dfn>"
1265
 
1266
+ #: admin/includes/tab-settings.php:1009
1267
  msgid "Specify the validation target on front-end."
1268
  msgstr "フロントエンドの検証対象を設定します。"
1269
 
1270
+ #: admin/includes/tab-settings.php:1009
1271
  msgid "Validation target"
1272
  msgstr "検証対象"
1273
 
1274
+ #: admin/includes/tab-settings.php:1020
1275
  msgid "All requests"
1276
  msgstr "全てのリクエスト"
1277
 
1278
+ #: admin/includes/tab-settings.php:1021
1279
  msgid "Specify the targets"
1280
  msgstr "ターゲットを指定"
1281
 
1282
+ #: admin/includes/tab-settings.php:1024
1283
  msgid ""
1284
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1285
  "wp&#8221; action hook. It means that this feature would not be compatible "
1288
  "[検証のタイミング]が &#8220;wp&#8221; アクション・フックまで遅延されます。これにより、ページ・"
1289
  "キャッシュとの互換性がなくなることに注意してください。"
1290
 
1291
+ #: admin/includes/tab-settings.php:1034
1292
  msgid "Specify the name of actions as exception that is invariably blocked."
1293
  msgstr "常に遮断されるアクション名を例外として指定します。"
1294
 
1295
+ #: admin/includes/tab-settings.php:1034
1296
  msgid "Excluded actions"
1297
  msgstr "除外するアクション"
1298
 
1299
+ #: admin/includes/tab-settings.php:1050
1300
  msgid ""
1301
  "<dfn title=\"Specify the frequency of request for certain period of time."
1302
  "\">Blocking condition</dfn>"
1303
  msgstr "<dfn title=\"特定期間のリクエスト頻度を設定します。\">遮断条件</dfn>"
1304
 
1305
+ #: admin/includes/tab-settings.php:1052
1306
  #, php-format
1307
  msgid "More than %1$s page view (PV) in %2$s seconds"
1308
  msgstr "%2$s 秒間で %1$s を超えるページビュー (PV)"
1309
 
1310
+ #: admin/includes/tab-settings.php:1060
1311
  msgid ""
1312
  "<dfn title=\"It will validate the frequency of request.\">Block badly-"
1313
  "behaved bots and crawlers</dfn>"
1314
  msgstr "<dfn title=\"リクエスト頻度を検証します。\">行儀の悪いボットやクローラーを遮断</dfn>"
1315
 
1316
+ #: admin/includes/tab-settings.php:1077
1317
  msgid ""
1318
  "A part of user agent string and a qualification connected with a separator "
1319
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
1326
  "「条件」のペアです。「条件」には「DNS」、「FEED」、国コード、または&nbsp;IPアドレス(CIDR記法)が使え"
1327
  "ます。また否定を表す記号「!」を「条件」の直前に配置する事が出来ます。"
1328
 
1329
+ #: admin/includes/tab-settings.php:1077
1330
  msgid "UA string and qualification"
1331
  msgstr "ユーザーエージェント文字列と条件"
1332
 
1333
+ #: admin/includes/tab-settings.php:1094
1334
  msgid ""
1335
  "It enables to verify the host by reverse DNS lookup which would spend some "
1336
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
1340
  "DNS 逆引きによりホストを検証します(幾らかのサーバー・リソースを消費します)。無効にした場合、[ユー"
1341
  "ザーエージェント文字列と条件]中の「HOST」および「HOST=&hellip;」は常に真となります。"
1342
 
1343
+ #: admin/includes/tab-settings.php:1094
1344
  msgid "Reverse DNS lookup"
1345
  msgstr "DNS 逆引き"
1346
 
1347
+ #: admin/includes/tab-settings.php:1113
1348
  msgid "Privacy and record settings"
1349
  msgstr "プライバシーと記録の設定"
1350
 
1351
+ #: admin/includes/tab-settings.php:1136
1352
  msgid ""
1353
  "<dfn title=\"This option restricts not to send IP address to the external "
1354
  "Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
1356
  "<dfn title=\"このオプションは、IPアドレスを外部の位置情報APIへ送信することを制限します。\">外部APIへ"
1357
  "の送信を制限する</dfn>"
1358
 
1359
+ #: admin/includes/tab-settings.php:1151
1360
  msgid ""
1361
  "<dfn title=\"This option enables to record the IP address, country code and "
1362
  "failure counter of login attempts into the cache on database to minimize the "
1365
  "<dfn title=\"このオプションは、IPアドレス、国コード、ログイン失敗回数等のキャッシュへの記録を有効に"
1366
  "し、サイト速度への影響を最小化します。\">IPアドレスをキャッシュに記録</dfn>"
1367
 
1368
+ #: admin/includes/tab-settings.php:1166
1369
  msgid ""
1370
  "<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1371
  "number of failed login attempts per IP address&#8221;, subsequent login will "
1375
  "<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ(ガベージコレクション周"
1376
  "期を含む)禁止されます。\">各エントリーの有効期間 [秒]</dfn>"
1377
 
1378
+ #: admin/includes/tab-settings.php:1182
1379
  msgid ""
1380
  "<dfn title=\"This option enables to record the validation logs including IP "
1381
  "addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
1383
  "<dfn title=\"このオプションは、IPアドレスを含む検証ログの記録を有効にします。\">検証のログを記録</"
1384
  "dfn>"
1385
 
1386
+ #: admin/includes/tab-settings.php:1194
1387
  msgid "When blocked"
1388
  msgstr "遮断時に記録"
1389
 
1390
+ #: admin/includes/tab-settings.php:1195
1391
  msgid "When passed"
1392
  msgstr "通過時に記録"
1393
 
1394
+ #: admin/includes/tab-settings.php:1196
1395
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1396
  msgstr "遮断時または遮断対象国の通過時に記録"
1397
 
1398
+ #: admin/includes/tab-settings.php:1197
1399
  msgid "Unauthenticated visitor"
1400
  msgstr "未認証の訪問者を記録"
1401
 
1402
+ #: admin/includes/tab-settings.php:1198
1403
  msgid "Authenticated user"
1404
  msgstr "認証済のユーザーを記録"
1405
 
1406
+ #: admin/includes/tab-settings.php:1199
1407
  msgid "All the validation"
1408
  msgstr "すべての検証を記録"
1409
 
1410
+ #: admin/includes/tab-settings.php:1207
1411
  #, php-format
1412
  msgid ""
1413
  "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1414
  "\">Expiration time [days] for each entry</dfn>"
1415
  msgstr "<dfn title=\"ログの最大エントリー数は %d に制限されます。\">各エントリーの有効期間[日]</dfn>"
1416
 
1417
+ #: admin/includes/tab-settings.php:1224
1418
  msgid ""
1419
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1420
  "with value</dfn>"
1421
  msgstr "<dfn title=\"例)action, comment, log, pwd, FILES\">内容を展開する$_POSTのキー</dfn>"
1422
 
1423
+ #: admin/includes/tab-settings.php:1243
1424
  msgid "Maximum entries in &#8220;Logs&#8221;"
1425
  msgstr "記録するログの最大エントリ数"
1426
 
1427
+ #: admin/includes/tab-settings.php:1260
1428
  msgid ""
1429
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1430
  "&#8220;Live update&#8221;</dfn>"
1432
  "<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用SQLiteデータベース・ソー"
1433
  "スの選択</dfn>"
1434
 
1435
+ #: admin/includes/tab-settings.php:1273
1436
  msgid "Ordinary file"
1437
  msgstr "ファイル"
1438
 
1439
+ #: admin/includes/tab-settings.php:1274
1440
  msgid "In-Memory"
1441
  msgstr "イン・メモリ"
1442
 
1443
+ #: admin/includes/tab-settings.php:1277
1444
  msgid "PDO_SQLITE driver not available"
1445
  msgstr "PDO_SQLITEドライバが利用出来ません"
1446
 
1447
+ #: admin/includes/tab-settings.php:1278
1448
  msgid ""
1449
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1450
  "without conflict with other plugins."
1451
  msgstr "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全に使用できます。"
1452
 
1453
+ #: admin/includes/tab-settings.php:1279
1454
  msgid ""
1455
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1456
  "with other plugins using this method."
1457
  msgstr ""
1458
  "数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する可能性があります。"
1459
 
1460
+ #: admin/includes/tab-settings.php:1287
1461
  msgid "Reset database source of &#8220;Live update&#8221;"
1462
  msgstr "ライブアップデートのデータソースをリセットする"
1463
 
1464
+ #: admin/includes/tab-settings.php:1295
1465
  msgid "Reset now"
1466
  msgstr "今すぐリセット"
1467
 
1468
+ #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1465
1469
  msgid ""
1470
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1471
  "once and activate again."
1472
  msgstr ""
1473
  "WP-Cronのタスクが見つかりません。 一旦このプラグインを停止させた後、再度、有効化してみてください。"
1474
 
1475
+ #: admin/includes/tab-settings.php:1309
1476
  msgid ""
1477
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1478
  "expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
1481
  "<dfn title=\"キャッシュとログから有効期限の切れたIPアドレスのエントリーを削除する WP-Cron イベントの"
1482
  "起動周期を設定します。\">ガベージコレクション周期[秒]</dfn>"
1483
 
1484
+ #: admin/includes/tab-settings.php:1318 admin/includes/tab-settings.php:1481
1485
  #, php-format
1486
  msgid "Next schedule: %s"
1487
  msgstr "次回日時:%s"
1488
 
1489
+ #: admin/includes/tab-settings.php:1325
1490
  msgid ""
1491
  "<dfn title=\"This option enables to record the number blocked countries and "
1492
  "the number of blocked requests per day.\">Record &#8220;Statistics of "
1495
  "<dfn title=\"このオプションは、国別遮断数や1日あたりの遮断数など、統計の記録を有効にします。\">検証の"
1496
  "統計を記録</dfn>"
1497
 
1498
+ #: admin/includes/tab-settings.php:1340
1499
  msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1500
  msgstr "記録する統計の最大期間[日]"
1501
 
1502
+ #: admin/includes/tab-settings.php:1358
1503
  msgid "Remove all settings and records at uninstallation"
1504
  msgstr "アンインストール時に設定と記録を全て削除"
1505
 
1506
+ #: admin/includes/tab-settings.php:1375
1507
  msgid "Geolocation API settings"
1508
  msgstr "位置情報APIの設定"
1509
 
1510
+ #: admin/includes/tab-settings.php:1396
1511
  msgid ""
1512
  "<dfn title=\"IP address cache and local databases are scanned at the top "
1513
  "priority.\">API selection and key settings</dfn>"
1515
  "<dfn title=\"IPアドレスのキャッシュとローカルのデータベースが最優先で検索されます。\">APIの選択とキー"
1516
  "の設定</dfn>"
1517
 
1518
+ #: admin/includes/tab-settings.php:1415
1519
  msgid "Timeout for network API [sec]"
1520
  msgstr "ネットワークAPIのタイムアウト[秒]"
1521
 
1522
+ #: admin/includes/tab-settings.php:1433
1523
  msgid "Local database settings"
1524
  msgstr "ローカル・データベースの設定"
1525
 
1526
+ #: admin/includes/tab-settings.php:1447
1527
  msgid "database"
1528
  msgstr "ファイル"
1529
 
1530
+ #: admin/includes/tab-settings.php:1448 classes/class-ip-geo-block-cron.php:434
1531
  #, php-format
1532
  msgid "Last update: %s"
1533
  msgstr "最終更新:%s"
1534
 
1535
+ #: admin/includes/tab-settings.php:1470
1536
  msgid "Auto updating (once a month)"
1537
  msgstr "自動更新(月1回)"
1538
 
1539
+ #: admin/includes/tab-settings.php:1488
1540
  msgid "Download database"
1541
  msgstr "データベースのダウンロード"
1542
 
1543
+ #: admin/includes/tab-settings.php:1496
1544
  msgid "Download now"
1545
  msgstr "今すぐダウンロード"
1546
 
1547
+ #: admin/includes/tab-settings.php:1507
1548
  msgid "Plugin settings"
1549
  msgstr "プラグインの設定"
1550
 
1551
+ #: admin/includes/tab-settings.php:1519
1552
  msgid ""
1553
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1554
  "settings</dfn>"
1555
  msgstr "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワーク内で設定を同期</dfn>"
1556
 
1557
+ #: admin/includes/tab-settings.php:1537
1558
  msgid ""
1559
  "<dfn title=\"You can access to the login form with a specific key at "
1560
  "emergency. Please add the generated link to favorites / bookmarks in your "
1564
  "<dfn title=\"緊急時にもログイン可能なリンクを生成します。キー自体は保存されないので、生成したリンクを"
1565
  "ブラウザのお気に入り/ブックマークに追加してください。\">緊急時用ログイン・リンク</dfn>"
1566
 
1567
+ #: admin/includes/tab-settings.php:1553
1568
  msgid ""
1569
  "<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1570
  "iframe can be available without key in case it's empty.\">Google Maps API "
1573
  "<dfn title=\"Google Maps JavaScript API の有効なキー。空欄にするとキーなしの Maps Embed API が使用可"
1574
  "能です。\">Google Maps API キー</dfn>"
1575
 
1576
+ #: admin/includes/tab-settings.php:1569
1577
  msgid "Export / Import settings"
1578
  msgstr "設定のエクスポート、インポート"
1579
 
1580
+ #: admin/includes/tab-settings.php:1576
1581
  msgid "Export settings"
1582
  msgstr "エクスポート"
1583
 
1584
+ #: admin/includes/tab-settings.php:1577
1585
  msgid "Import from the local file"
1586
  msgstr "ローカル・ファイルからインポートします"
1587
 
1588
+ #: admin/includes/tab-settings.php:1577
1589
  msgid "Import settings"
1590
  msgstr "インポート"
1591
 
1592
+ #: admin/includes/tab-settings.php:1585
1593
  msgid "Import pre-defined settings"
1594
  msgstr "プリセットのインポート"
1595
 
1596
+ #: admin/includes/tab-settings.php:1592
1597
  msgid ""
1598
  "Import the default settings to revert to the &#8220;Right after "
1599
  "installing&#8221; state"
1600
  msgstr "インストール直後の状態に戻すための設定値をインポートします"
1601
 
1602
+ #: admin/includes/tab-settings.php:1592
1603
  msgid "Default settings"
1604
  msgstr "初期設定"
1605
 
1606
+ #: admin/includes/tab-settings.php:1593
1607
  msgid ""
1608
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1609
  "for the &#8220;Back-end target settings&#8221;"
1610
  msgstr "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートします"
1611
 
1612
+ #: admin/includes/tab-settings.php:1593
1613
  msgid "Best for Back-end"
1614
  msgstr "バックエンドの推奨設定"
1615
 
1616
+ #: admin/includes/tab-settings.php:1602
1617
  msgid "Diagnose all DB tables"
1618
  msgstr "全データベース・テーブルの検査"
1619
 
1620
+ #: admin/includes/tab-settings.php:1610
1621
  msgid "Diagnose now"
1622
  msgstr "今すぐ検査"
1623
 
1624
+ #: admin/includes/tab-settings.php:1619
1625
  msgid ""
1626
  "<dfn title=\"When you have some unexpected blocking experiences, please "
1627
  "press the button to find the blocked requests at the end of dumped "
1635
  "org/support/plugin/ip-geo-block\" title=\"[IP Geo Block] Support | WordPress.org\">サポート・フォーラ"
1636
  "ム</a> ]"
1637
 
1638
+ #: admin/includes/tab-settings.php:1626
1639
  msgid "Please copy &amp; paste when submitting your issue to support forum"
1640
  msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください"
1641
 
1642
+ #: admin/includes/tab-settings.php:1626
1643
  msgid "Show information"
1644
  msgstr "情報を表示"
1645
 
1646
+ #: admin/includes/tab-settings.php:1643
1647
  msgid ""
1648
  "While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1649
  "others will pass an IP address to the 3rd parties' API via HTTP."
1651
  "MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して外部のAPIにIPアドレスを渡"
1652
  "します。"
1653
 
1654
+ #: admin/includes/tab-settings.php:1644
1655
  msgid ""
1656
  "Please select the appropriate APIs to fit the privacy law / regulation in "
1657
  "your country / region."
1658
  msgstr ""
1659
  "あなたの国/地域におけるプライバシー保護の法規・条例に適合するよう、適切なAPIを選択して下さい。"
1660
 
1661
+ #: admin/includes/tab-settings.php:1653
1662
  #, php-format
1663
  msgid ""
1664
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1667
  "Maxmind GeoLite2 データベースと API には、PHP バージョン 5.4.0 以上と %sPECL phar 2.0.0 以上%sが必要"
1668
  "です。"
1669
 
1670
+ #: admin/includes/tab-settings.php:1661
1671
  #, php-format
1672
  msgid ""
1673
  "Please refer to \"%sLiving with cache plugin%s\" for compatibility with "
languages/ip-geo-block.mo CHANGED
Binary file
languages/ip-geo-block.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"
@@ -31,15 +31,15 @@ msgid "Are you sure ?"
31
  msgstr ""
32
 
33
  #: admin/class-ip-geo-block-admin.php:297
34
- #: admin/class-ip-geo-block-admin.php:791
35
  msgid "Open a new window"
36
  msgstr ""
37
 
38
- #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1528
39
  msgid "Generate new link"
40
  msgstr ""
41
 
42
- #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1529
43
  msgid "Delete current link"
44
  msgstr ""
45
 
@@ -164,9 +164,9 @@ msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:365
166
  #: admin/class-ip-geo-block-admin.php:491
167
- #: admin/class-ip-geo-block-admin.php:732
168
- #: admin/class-ip-geo-block-admin.php:752
169
- #: admin/class-ip-geo-block-admin.php:768
170
  msgid "Settings"
171
  msgstr ""
172
 
@@ -180,17 +180,17 @@ msgid "IP Geo Block"
180
  msgstr ""
181
 
182
  #: admin/class-ip-geo-block-admin.php:481
183
- #: admin/class-ip-geo-block-admin.php:731
184
- #: admin/class-ip-geo-block-admin.php:749
185
- #: admin/class-ip-geo-block-admin.php:766
186
  msgid "Sites list"
187
  msgstr ""
188
 
189
- #: admin/class-ip-geo-block-admin.php:521
190
  msgid "You need WordPress 3.7+."
191
  msgstr ""
192
 
193
- #: admin/class-ip-geo-block-admin.php:525
194
  #, php-format
195
  msgid ""
196
  "Can not load Geolocation API libraries from <code>%s</code>. It seems to "
@@ -206,7 +206,7 @@ msgid ""
206
  "\">this instruction</a>."
207
  msgstr ""
208
 
209
- #: admin/class-ip-geo-block-admin.php:534
210
  #, php-format
211
  msgid ""
212
  "You should select at least one API at <a href=\"%s\">Geolocation API "
@@ -214,7 +214,7 @@ msgid ""
214
  "expires."
215
  msgstr ""
216
 
217
- #: admin/class-ip-geo-block-admin.php:543
218
  #, php-format
219
  msgid ""
220
  "You should select at least one API for local database at <a href=\"%s"
@@ -222,7 +222,7 @@ msgid ""
222
  "slow down the site."
223
  msgstr ""
224
 
225
- #: admin/class-ip-geo-block-admin.php:554
226
  #, php-format
227
  msgid ""
228
  "Now downloading geolocation databases in background. After a little while, "
@@ -230,24 +230,24 @@ msgid ""
230
  "strong>&#8221; at <a href=\"%s\">Validation rules and behavior</a>."
231
  msgstr ""
232
 
233
- #: admin/class-ip-geo-block-admin.php:560
234
  #, php-format
235
  msgid ""
236
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
237
  "confirm it at <a href=\"%s\">Validation rules and behavior</a>."
238
  msgstr ""
239
 
240
- #: admin/class-ip-geo-block-admin.php:569
241
  msgid "Local database and matching rule have been updated."
242
  msgstr ""
243
 
244
- #: admin/class-ip-geo-block-admin.php:580
245
  msgid ""
246
  "Once you logout, you will be unable to login again because the number of "
247
  "login attempts reaches the limit."
248
  msgstr ""
249
 
250
- #: admin/class-ip-geo-block-admin.php:582
251
  #, php-format
252
  msgid ""
253
  "Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
@@ -255,24 +255,24 @@ msgid ""
255
  "yourself out."
256
  msgstr ""
257
 
258
- #: admin/class-ip-geo-block-admin.php:593
259
  msgid ""
260
  "Once you logout, you will be unable to login again because your country code "
261
  "or IP address is in the blacklist."
262
  msgstr ""
263
 
264
- #: admin/class-ip-geo-block-admin.php:594
265
  msgid ""
266
  "Once you logout, you will be unable to login again because your country code "
267
  "or IP address is not in the whitelist."
268
  msgstr ""
269
 
270
- #: admin/class-ip-geo-block-admin.php:598
271
  #, php-format
272
  msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
273
  msgstr ""
274
 
275
- #: admin/class-ip-geo-block-admin.php:602
276
  #, php-format
277
  msgid ""
278
  "Please confirm your local geolocation database files exist at &#8220;%sLocal "
@@ -280,7 +280,7 @@ msgid ""
280
  "&#8220;%sStatistics in cache%s&#8221; section."
281
  msgstr ""
282
 
283
- #: admin/class-ip-geo-block-admin.php:616
284
  #, php-format
285
  msgid ""
286
  "Emergency login link is outdated. Please delete it once and generate again "
@@ -288,67 +288,67 @@ msgid ""
288
  "favorites / bookmarks in your browser."
289
  msgstr ""
290
 
291
- #: admin/class-ip-geo-block-admin.php:625
292
  msgid ""
293
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
294
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
295
  "select &#8220;init&#8221; action hook."
296
  msgstr ""
297
 
298
- #: admin/class-ip-geo-block-admin.php:733
299
  msgid "Statistics"
300
  msgstr ""
301
 
302
- #: admin/class-ip-geo-block-admin.php:734
303
  msgid "Logs"
304
  msgstr ""
305
 
306
- #: admin/class-ip-geo-block-admin.php:735
307
  msgid "Search"
308
  msgstr ""
309
 
310
- #: admin/class-ip-geo-block-admin.php:736
311
  msgid "Attribution"
312
  msgstr ""
313
 
314
- #: admin/class-ip-geo-block-admin.php:784
315
  msgid "Toggle all"
316
  msgstr ""
317
 
318
- #: admin/class-ip-geo-block-admin.php:787
319
  msgid ""
320
  "Independent of &#8220;Privacy and record settings&#8221;, you can see all "
321
  "the requests validated by this plugin in almost real time."
322
  msgstr ""
323
 
324
- #: admin/class-ip-geo-block-admin.php:787 admin/includes/tab-accesslog.php:39
325
  msgid "Live update"
326
  msgstr ""
327
 
328
- #: admin/class-ip-geo-block-admin.php:791
329
  msgid "Open a new window on clicking the link in the chart."
330
  msgstr ""
331
 
332
- #: admin/class-ip-geo-block-admin.php:815
333
  msgid "Thanks for providing these great services for free."
334
  msgstr ""
335
 
336
- #: admin/class-ip-geo-block-admin.php:816
337
  msgid ""
338
  "(Most browsers will redirect you to each site <a href=\"https://www."
339
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
340
  "when you click the link</a>.)"
341
  msgstr ""
342
 
343
- #: admin/class-ip-geo-block-admin.php:821
344
  msgid "Back to top"
345
  msgstr ""
346
 
347
- #: admin/class-ip-geo-block-admin.php:913
348
  msgid "Enable"
349
  msgstr ""
350
 
351
- #: admin/class-ip-geo-block-admin.php:928
352
  msgid "Select one"
353
  msgstr ""
354
 
@@ -361,7 +361,7 @@ msgstr ""
361
  #: classes/class-ip-geo-block-cron.php:228
362
  #: classes/class-ip-geo-block-cron.php:332
363
  #: classes/class-ip-geo-block-cron.php:410
364
- #: classes/class-ip-geo-block-opts.php:484
365
  #, php-format
366
  msgid "Unable to write <code>%s</code>. Please check the permission."
367
  msgstr ""
@@ -455,23 +455,23 @@ msgstr ""
455
  msgid "Help"
456
  msgstr ""
457
 
458
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:450
459
  msgid "Comment post"
460
  msgstr ""
461
 
462
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:451
463
  msgid "XML-RPC"
464
  msgstr ""
465
 
466
- #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:452
467
  msgid "Login form"
468
  msgstr ""
469
 
470
- #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:453
471
  msgid "Admin area"
472
  msgstr ""
473
 
474
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:455
475
  msgid "Public facing pages"
476
  msgstr ""
477
 
@@ -537,7 +537,7 @@ msgstr ""
537
  msgid "Export logs"
538
  msgstr ""
539
 
540
- #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1560
541
  #: admin/includes/tab-statistics.php:283
542
  msgid "Export to the local file"
543
  msgstr ""
@@ -570,7 +570,7 @@ msgstr ""
570
  msgid "Geolocation API"
571
  msgstr ""
572
 
573
- #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1105
574
  msgid ""
575
  "<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
576
  "Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
@@ -704,7 +704,7 @@ msgid ""
704
  "country code</dfn>"
705
  msgstr ""
706
 
707
- #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:827
708
  msgid "Matching rule"
709
  msgstr ""
710
 
@@ -800,8 +800,8 @@ msgid ""
800
  "this validation.\">Prevent malicious file uploading</dfn>"
801
  msgstr ""
802
 
803
- #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:516
804
- #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:1177
805
  msgid "Disable"
806
  msgstr ""
807
 
@@ -813,32 +813,38 @@ msgstr ""
813
  msgid "Verify file extension only"
814
  msgstr ""
815
 
816
- #: admin/includes/tab-settings.php:314
 
 
 
 
 
 
817
  msgid ""
818
  "<dfn title=\"Specify the table names to be verified for single site. This "
819
  "verification will be skipped if empty.\">pre_update_option</dfn>"
820
  msgstr ""
821
 
822
- #: admin/includes/tab-settings.php:316
823
  msgid ""
824
  "<dfn title=\"Specify the table names to be verified for multisite. This "
825
  "verification will be skipped if empty.\">pre_update_site_option</dfn>"
826
  msgstr ""
827
 
828
- #: admin/includes/tab-settings.php:321
829
  msgid ""
830
  "<dfn title=\"It prevents to manipulate metadata in database without admin "
831
  "privilege.\">Prevent metadata alteration</dfn>"
832
  msgstr ""
833
 
834
- #: admin/includes/tab-settings.php:337
835
  #, php-format
836
  msgid ""
837
  "<dfn title=\"You can put your original 403.php and so on into your theme "
838
  "directory.\">Response code</dfn> %s"
839
  msgstr ""
840
 
841
- #: admin/includes/tab-settings.php:366 admin/includes/tab-settings.php:910
842
  msgid ""
843
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
844
  "to a public facing page, visitors would not be blocked on the page to "
@@ -847,35 +853,35 @@ msgid ""
847
  "\">Redirect URL</dfn>"
848
  msgstr ""
849
 
850
- #: admin/includes/tab-settings.php:383 admin/includes/tab-settings.php:928
851
  msgid ""
852
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
853
  "message</dfn>"
854
  msgstr ""
855
 
856
- #: admin/includes/tab-settings.php:401
857
  msgid "Select when to run the validation."
858
  msgstr ""
859
 
860
- #: admin/includes/tab-settings.php:401
861
  msgid "Validation timing"
862
  msgstr ""
863
 
864
- #: admin/includes/tab-settings.php:412
865
  msgid "&#8220;init&#8221; action hook"
866
  msgstr ""
867
 
868
- #: admin/includes/tab-settings.php:413
869
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
870
  msgstr ""
871
 
872
- #: admin/includes/tab-settings.php:416
873
  msgid ""
874
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
875
  "plugins."
876
  msgstr ""
877
 
878
- #: admin/includes/tab-settings.php:417
879
  msgid ""
880
  "Validate at an earlier phase than other typical plugins. It can reduce load "
881
  "on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
@@ -883,129 +889,129 @@ msgid ""
883
  "restrictions</a>."
884
  msgstr ""
885
 
886
- #: admin/includes/tab-settings.php:425
887
  msgid ""
888
  "It enables to simulate the validation rules without actual blocking in order "
889
  "to check the behavior of this plugin. The results can be found on &#8220;"
890
  "Logs&#8221; tab."
891
  msgstr ""
892
 
893
- #: admin/includes/tab-settings.php:425
894
  msgid "Simulation mode"
895
  msgstr ""
896
 
897
- #: admin/includes/tab-settings.php:442
898
  msgid "Back-end target settings"
899
  msgstr ""
900
 
901
- #: admin/includes/tab-settings.php:448
902
  #, php-format
903
  msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
904
  msgstr ""
905
 
906
- #: admin/includes/tab-settings.php:454
907
  msgid "Other areas"
908
  msgstr ""
909
 
910
- #: admin/includes/tab-settings.php:455
911
  msgid "public facing pages"
912
  msgstr ""
913
 
914
- #: admin/includes/tab-settings.php:471 admin/includes/tab-settings.php:517
915
- #: admin/includes/tab-settings.php:549 admin/includes/tab-settings.php:555
916
- #: admin/includes/tab-settings.php:820
917
  msgid "Block by country"
918
  msgstr ""
919
 
920
- #: admin/includes/tab-settings.php:481
921
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
922
  msgstr ""
923
 
924
- #: admin/includes/tab-settings.php:481
925
  msgid "Message on comment form"
926
  msgstr ""
927
 
928
- #: admin/includes/tab-settings.php:494
929
  msgid "None"
930
  msgstr ""
931
 
932
- #: admin/includes/tab-settings.php:495
933
  msgid "Top"
934
  msgstr ""
935
 
936
- #: admin/includes/tab-settings.php:496
937
  msgid "Bottom"
938
  msgstr ""
939
 
940
- #: admin/includes/tab-settings.php:518
941
  msgid "Completely close"
942
  msgstr ""
943
 
944
- #: admin/includes/tab-settings.php:524
945
  msgid "Action to login as a registered user."
946
  msgstr ""
947
 
948
- #: admin/includes/tab-settings.php:524
949
  msgid "Log in"
950
  msgstr ""
951
 
952
- #: admin/includes/tab-settings.php:525
953
  msgid "Action to register new users."
954
  msgstr ""
955
 
956
- #: admin/includes/tab-settings.php:525
957
  msgid "Register"
958
  msgstr ""
959
 
960
- #: admin/includes/tab-settings.php:526
961
  msgid "Action to reset a password to create a new one."
962
  msgstr ""
963
 
964
- #: admin/includes/tab-settings.php:526
965
  msgid "Password Reset"
966
  msgstr ""
967
 
968
- #: admin/includes/tab-settings.php:527
969
  msgid "Action to email a password to a registered user."
970
  msgstr ""
971
 
972
- #: admin/includes/tab-settings.php:527
973
  msgid "Lost Password"
974
  msgstr ""
975
 
976
- #: admin/includes/tab-settings.php:528
977
  msgid ""
978
  "Action to show prompt to enter a password on password protected post and "
979
  "page."
980
  msgstr ""
981
 
982
- #: admin/includes/tab-settings.php:528
983
  msgid "Password protected"
984
  msgstr ""
985
 
986
- #: admin/includes/tab-settings.php:550
987
  msgid ""
988
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
989
  "actions</dfn>"
990
  msgstr ""
991
 
992
- #: admin/includes/tab-settings.php:556
993
  msgid "Prevent Zero-day Exploit"
994
  msgstr ""
995
 
996
- #: admin/includes/tab-settings.php:560
997
  msgid ""
998
  "It will block a request related to the services for both &#8220;non-logged "
999
  "in user&#8221; and &#8220;logged-in user&#8221;."
1000
  msgstr ""
1001
 
1002
- #: admin/includes/tab-settings.php:561
1003
  msgid ""
1004
  "Regardless of the country code, it will block a malicious request related to "
1005
  "the services only for &#8220;logged-in user&#8221;."
1006
  msgstr ""
1007
 
1008
- #: admin/includes/tab-settings.php:567
1009
  msgid ""
1010
  "This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1011
  "&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
@@ -1013,23 +1019,23 @@ msgid ""
1013
  "cache."
1014
  msgstr ""
1015
 
1016
- #: admin/includes/tab-settings.php:567
1017
  msgid "Max failed login attempts per IP address"
1018
  msgstr ""
1019
 
1020
- #: admin/includes/tab-settings.php:608
1021
  msgid "admin post for logged-in user"
1022
  msgstr ""
1023
 
1024
- #: admin/includes/tab-settings.php:609
1025
  msgid "admin post for non logged-in user"
1026
  msgstr ""
1027
 
1028
- #: admin/includes/tab-settings.php:631
1029
  msgid "Admin ajax/post"
1030
  msgstr ""
1031
 
1032
- #: admin/includes/tab-settings.php:645
1033
  msgid ""
1034
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1035
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
@@ -1037,33 +1043,33 @@ msgid ""
1037
  "Zero-day Exploit&#8221; (for logged-in user)."
1038
  msgstr ""
1039
 
1040
- #: admin/includes/tab-settings.php:645 admin/includes/tab-settings.php:723
1041
- #: admin/includes/tab-settings.php:783
1042
  msgid "Exceptions"
1043
  msgstr ""
1044
 
1045
- #: admin/includes/tab-settings.php:646
1046
  msgid "Toggle with non logged-in user"
1047
  msgstr ""
1048
 
1049
- #: admin/includes/tab-settings.php:649
1050
  msgid "Candidate actions/pages"
1051
  msgstr ""
1052
 
1053
- #: admin/includes/tab-settings.php:663
1054
  #, php-format
1055
  msgid ""
1056
  "Regardless of the country code, it will block a malicious request to <code>"
1057
  "%s&ctdot;/*.php</code>."
1058
  msgstr ""
1059
 
1060
- #: admin/includes/tab-settings.php:664
1061
  msgid ""
1062
  "Select the item which causes unintended blocking in order to exclude from "
1063
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
1064
  msgstr ""
1065
 
1066
- #: admin/includes/tab-settings.php:665
1067
  #, php-format
1068
  msgid ""
1069
  "It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
@@ -1071,37 +1077,37 @@ msgid ""
1071
  "hidden files beginning with a dot by the server's configuration."
1072
  msgstr ""
1073
 
1074
- #: admin/includes/tab-settings.php:666
1075
  msgid "Sorry, but your server type is not supported."
1076
  msgstr ""
1077
 
1078
- #: admin/includes/tab-settings.php:667
1079
  msgid ""
1080
  "You need to click &#8220;Save Changes&#8221; button for imported settings to "
1081
  "take effect."
1082
  msgstr ""
1083
 
1084
- #: admin/includes/tab-settings.php:702 admin/includes/tab-settings.php:762
1085
  msgid "Force to load WP core"
1086
  msgstr ""
1087
 
1088
- #: admin/includes/tab-settings.php:707
1089
  msgid "Plugins area"
1090
  msgstr ""
1091
 
1092
- #: admin/includes/tab-settings.php:767
1093
  msgid "Themes area"
1094
  msgstr ""
1095
 
1096
- #: admin/includes/tab-settings.php:802
1097
  msgid "Front-end target settings"
1098
  msgstr ""
1099
 
1100
- #: admin/includes/tab-settings.php:837
1101
  msgid "Follow &#8220;Validation rules and behavior&#8221;"
1102
  msgstr ""
1103
 
1104
- #: admin/includes/tab-settings.php:879
1105
  #, php-format
1106
  msgid ""
1107
  "<dfn title=\"You can configure a different response code from the Back-end. "
@@ -1109,78 +1115,78 @@ msgid ""
1109
  "\">Response code</dfn> %s"
1110
  msgstr ""
1111
 
1112
- #: admin/includes/tab-settings.php:943
1113
  msgid ""
1114
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1115
  msgstr ""
1116
 
1117
- #: admin/includes/tab-settings.php:955
1118
  msgid ""
1119
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1120
  "target.\">Post type</dfn>"
1121
  msgstr ""
1122
 
1123
- #: admin/includes/tab-settings.php:967
1124
  msgid ""
1125
  "<dfn title=\"Specify the individual category on a single page or archive "
1126
  "page as a blocking target.\">Category</dfn>"
1127
  msgstr ""
1128
 
1129
- #: admin/includes/tab-settings.php:979
1130
  msgid ""
1131
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
1132
  "a blocking target.\">Tag</dfn>"
1133
  msgstr ""
1134
 
1135
- #: admin/includes/tab-settings.php:993
1136
  msgid "Specify the validation target on front-end."
1137
  msgstr ""
1138
 
1139
- #: admin/includes/tab-settings.php:993
1140
  msgid "Validation target"
1141
  msgstr ""
1142
 
1143
- #: admin/includes/tab-settings.php:1004
1144
  msgid "All requests"
1145
  msgstr ""
1146
 
1147
- #: admin/includes/tab-settings.php:1005
1148
  msgid "Specify the targets"
1149
  msgstr ""
1150
 
1151
- #: admin/includes/tab-settings.php:1008
1152
  msgid ""
1153
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1154
  "wp&#8221; action hook. It means that this feature would not be compatible "
1155
  "with any page caching."
1156
  msgstr ""
1157
 
1158
- #: admin/includes/tab-settings.php:1018
1159
  msgid "Specify the name of actions as exception that is invariably blocked."
1160
  msgstr ""
1161
 
1162
- #: admin/includes/tab-settings.php:1018
1163
  msgid "Excluded actions"
1164
  msgstr ""
1165
 
1166
- #: admin/includes/tab-settings.php:1034
1167
  msgid ""
1168
  "<dfn title=\"Specify the frequency of request for certain period of time."
1169
  "\">Blocking condition</dfn>"
1170
  msgstr ""
1171
 
1172
- #: admin/includes/tab-settings.php:1036
1173
  #, php-format
1174
  msgid "More than %1$s page view (PV) in %2$s seconds"
1175
  msgstr ""
1176
 
1177
- #: admin/includes/tab-settings.php:1044
1178
  msgid ""
1179
  "<dfn title=\"It will validate the frequency of request.\">Block badly-"
1180
  "behaved bots and crawlers</dfn>"
1181
  msgstr ""
1182
 
1183
- #: admin/includes/tab-settings.php:1061
1184
  msgid ""
1185
  "A part of user agent string and a qualification connected with a separator "
1186
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
@@ -1190,11 +1196,11 @@ msgid ""
1190
  "qualification&#8221;."
1191
  msgstr ""
1192
 
1193
- #: admin/includes/tab-settings.php:1061
1194
  msgid "UA string and qualification"
1195
  msgstr ""
1196
 
1197
- #: admin/includes/tab-settings.php:1078
1198
  msgid ""
1199
  "It enables to verify the host by reverse DNS lookup which would spend some "
1200
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -1202,28 +1208,28 @@ msgid ""
1202
  "return &#8220;true&#8221;."
1203
  msgstr ""
1204
 
1205
- #: admin/includes/tab-settings.php:1078
1206
  msgid "Reverse DNS lookup"
1207
  msgstr ""
1208
 
1209
- #: admin/includes/tab-settings.php:1097
1210
  msgid "Privacy and record settings"
1211
  msgstr ""
1212
 
1213
- #: admin/includes/tab-settings.php:1120
1214
  msgid ""
1215
  "<dfn title=\"This option restricts not to send IP address to the external "
1216
  "Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
1217
  msgstr ""
1218
 
1219
- #: admin/includes/tab-settings.php:1135
1220
  msgid ""
1221
  "<dfn title=\"This option enables to record the IP address, country code and "
1222
  "failure counter of login attempts into the cache on database to minimize the "
1223
  "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1224
  msgstr ""
1225
 
1226
- #: admin/includes/tab-settings.php:1150
1227
  msgid ""
1228
  "<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1229
  "number of failed login attempts per IP address&#8221;, subsequent login will "
@@ -1231,174 +1237,174 @@ msgid ""
1231
  "dfn>"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1166
1235
  msgid ""
1236
  "<dfn title=\"This option enables to record the validation logs including IP "
1237
  "addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
1238
  msgstr ""
1239
 
1240
- #: admin/includes/tab-settings.php:1178
1241
  msgid "When blocked"
1242
  msgstr ""
1243
 
1244
- #: admin/includes/tab-settings.php:1179
1245
  msgid "When passed"
1246
  msgstr ""
1247
 
1248
- #: admin/includes/tab-settings.php:1180
1249
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1250
  msgstr ""
1251
 
1252
- #: admin/includes/tab-settings.php:1181
1253
  msgid "Unauthenticated visitor"
1254
  msgstr ""
1255
 
1256
- #: admin/includes/tab-settings.php:1182
1257
  msgid "Authenticated user"
1258
  msgstr ""
1259
 
1260
- #: admin/includes/tab-settings.php:1183
1261
  msgid "All the validation"
1262
  msgstr ""
1263
 
1264
- #: admin/includes/tab-settings.php:1191
1265
  #, php-format
1266
  msgid ""
1267
  "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1268
  "\">Expiration time [days] for each entry</dfn>"
1269
  msgstr ""
1270
 
1271
- #: admin/includes/tab-settings.php:1208
1272
  msgid ""
1273
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1274
  "with value</dfn>"
1275
  msgstr ""
1276
 
1277
- #: admin/includes/tab-settings.php:1227
1278
  msgid "Maximum entries in &#8220;Logs&#8221;"
1279
  msgstr ""
1280
 
1281
- #: admin/includes/tab-settings.php:1244
1282
  msgid ""
1283
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1284
  "&#8220;Live update&#8221;</dfn>"
1285
  msgstr ""
1286
 
1287
- #: admin/includes/tab-settings.php:1257
1288
  msgid "Ordinary file"
1289
  msgstr ""
1290
 
1291
- #: admin/includes/tab-settings.php:1258
1292
  msgid "In-Memory"
1293
  msgstr ""
1294
 
1295
- #: admin/includes/tab-settings.php:1261
1296
  msgid "PDO_SQLITE driver not available"
1297
  msgstr ""
1298
 
1299
- #: admin/includes/tab-settings.php:1262
1300
  msgid ""
1301
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1302
  "without conflict with other plugins."
1303
  msgstr ""
1304
 
1305
- #: admin/includes/tab-settings.php:1263
1306
  msgid ""
1307
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1308
  "with other plugins using this method."
1309
  msgstr ""
1310
 
1311
- #: admin/includes/tab-settings.php:1271
1312
  msgid "Reset database source of &#8220;Live update&#8221;"
1313
  msgstr ""
1314
 
1315
- #: admin/includes/tab-settings.php:1279
1316
  msgid "Reset now"
1317
  msgstr ""
1318
 
1319
- #: admin/includes/tab-settings.php:1288 admin/includes/tab-settings.php:1449
1320
  msgid ""
1321
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1322
  "once and activate again."
1323
  msgstr ""
1324
 
1325
- #: admin/includes/tab-settings.php:1293
1326
  msgid ""
1327
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1328
  "expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
1329
  "logs&#8221;.\">Interval [sec] to cleanup expired entries of IP address</dfn>"
1330
  msgstr ""
1331
 
1332
- #: admin/includes/tab-settings.php:1302 admin/includes/tab-settings.php:1465
1333
  #, php-format
1334
  msgid "Next schedule: %s"
1335
  msgstr ""
1336
 
1337
- #: admin/includes/tab-settings.php:1309
1338
  msgid ""
1339
  "<dfn title=\"This option enables to record the number blocked countries and "
1340
  "the number of blocked requests per day.\">Record &#8220;Statistics of "
1341
  "validation&#8221;</dfn>"
1342
  msgstr ""
1343
 
1344
- #: admin/includes/tab-settings.php:1324
1345
  msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1346
  msgstr ""
1347
 
1348
- #: admin/includes/tab-settings.php:1342
1349
  msgid "Remove all settings and records at uninstallation"
1350
  msgstr ""
1351
 
1352
- #: admin/includes/tab-settings.php:1359
1353
  msgid "Geolocation API settings"
1354
  msgstr ""
1355
 
1356
- #: admin/includes/tab-settings.php:1380
1357
  msgid ""
1358
  "<dfn title=\"IP address cache and local databases are scanned at the top "
1359
  "priority.\">API selection and key settings</dfn>"
1360
  msgstr ""
1361
 
1362
- #: admin/includes/tab-settings.php:1399
1363
  msgid "Timeout for network API [sec]"
1364
  msgstr ""
1365
 
1366
- #: admin/includes/tab-settings.php:1417
1367
  msgid "Local database settings"
1368
  msgstr ""
1369
 
1370
- #: admin/includes/tab-settings.php:1431
1371
  msgid "database"
1372
  msgstr ""
1373
 
1374
- #: admin/includes/tab-settings.php:1432 classes/class-ip-geo-block-cron.php:434
1375
  #, php-format
1376
  msgid "Last update: %s"
1377
  msgstr ""
1378
 
1379
- #: admin/includes/tab-settings.php:1454
1380
  msgid "Auto updating (once a month)"
1381
  msgstr ""
1382
 
1383
- #: admin/includes/tab-settings.php:1472
1384
  msgid "Download database"
1385
  msgstr ""
1386
 
1387
- #: admin/includes/tab-settings.php:1480
1388
  msgid "Download now"
1389
  msgstr ""
1390
 
1391
- #: admin/includes/tab-settings.php:1491
1392
  msgid "Plugin settings"
1393
  msgstr ""
1394
 
1395
- #: admin/includes/tab-settings.php:1503
1396
  msgid ""
1397
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1398
  "settings</dfn>"
1399
  msgstr ""
1400
 
1401
- #: admin/includes/tab-settings.php:1521
1402
  msgid ""
1403
  "<dfn title=\"You can access to the login form with a specific key at "
1404
  "emergency. Please add the generated link to favorites / bookmarks in your "
@@ -1406,62 +1412,62 @@ msgid ""
1406
  "dfn>"
1407
  msgstr ""
1408
 
1409
- #: admin/includes/tab-settings.php:1537
1410
  msgid ""
1411
  "<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1412
  "iframe can be available without key in case it's empty.\">Google Maps API "
1413
  "key</dfn>"
1414
  msgstr ""
1415
 
1416
- #: admin/includes/tab-settings.php:1553
1417
  msgid "Export / Import settings"
1418
  msgstr ""
1419
 
1420
- #: admin/includes/tab-settings.php:1560
1421
  msgid "Export settings"
1422
  msgstr ""
1423
 
1424
- #: admin/includes/tab-settings.php:1561
1425
  msgid "Import from the local file"
1426
  msgstr ""
1427
 
1428
- #: admin/includes/tab-settings.php:1561
1429
  msgid "Import settings"
1430
  msgstr ""
1431
 
1432
- #: admin/includes/tab-settings.php:1569
1433
  msgid "Import pre-defined settings"
1434
  msgstr ""
1435
 
1436
- #: admin/includes/tab-settings.php:1576
1437
  msgid ""
1438
  "Import the default settings to revert to the &#8220;Right after "
1439
  "installing&#8221; state"
1440
  msgstr ""
1441
 
1442
- #: admin/includes/tab-settings.php:1576
1443
  msgid "Default settings"
1444
  msgstr ""
1445
 
1446
- #: admin/includes/tab-settings.php:1577
1447
  msgid ""
1448
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1449
  "for the &#8220;Back-end target settings&#8221;"
1450
  msgstr ""
1451
 
1452
- #: admin/includes/tab-settings.php:1577
1453
  msgid "Best for Back-end"
1454
  msgstr ""
1455
 
1456
- #: admin/includes/tab-settings.php:1586
1457
  msgid "Diagnose all DB tables"
1458
  msgstr ""
1459
 
1460
- #: admin/includes/tab-settings.php:1594
1461
  msgid "Diagnose now"
1462
  msgstr ""
1463
 
1464
- #: admin/includes/tab-settings.php:1603
1465
  msgid ""
1466
  "<dfn title=\"When you have some unexpected blocking experiences, please "
1467
  "press the button to find the blocked requests at the end of dumped "
@@ -1471,34 +1477,34 @@ msgid ""
1471
  "\">support forum</a> ]"
1472
  msgstr ""
1473
 
1474
- #: admin/includes/tab-settings.php:1610
1475
  msgid "Please copy &amp; paste when submitting your issue to support forum"
1476
  msgstr ""
1477
 
1478
- #: admin/includes/tab-settings.php:1610
1479
  msgid "Show information"
1480
  msgstr ""
1481
 
1482
- #: admin/includes/tab-settings.php:1627
1483
  msgid ""
1484
  "While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1485
  "others will pass an IP address to the 3rd parties' API via HTTP."
1486
  msgstr ""
1487
 
1488
- #: admin/includes/tab-settings.php:1628
1489
  msgid ""
1490
  "Please select the appropriate APIs to fit the privacy law / regulation in "
1491
  "your country / region."
1492
  msgstr ""
1493
 
1494
- #: admin/includes/tab-settings.php:1637
1495
  #, php-format
1496
  msgid ""
1497
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1498
  "2.0.0+%s."
1499
  msgstr ""
1500
 
1501
- #: admin/includes/tab-settings.php:1645
1502
  #, php-format
1503
  msgid ""
1504
  "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"
31
  msgstr ""
32
 
33
  #: admin/class-ip-geo-block-admin.php:297
34
+ #: admin/class-ip-geo-block-admin.php:792
35
  msgid "Open a new window"
36
  msgstr ""
37
 
38
+ #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1544
39
  msgid "Generate new link"
40
  msgstr ""
41
 
42
+ #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1545
43
  msgid "Delete current link"
44
  msgstr ""
45
 
164
 
165
  #: admin/class-ip-geo-block-admin.php:365
166
  #: admin/class-ip-geo-block-admin.php:491
167
+ #: admin/class-ip-geo-block-admin.php:733
168
+ #: admin/class-ip-geo-block-admin.php:753
169
+ #: admin/class-ip-geo-block-admin.php:769
170
  msgid "Settings"
171
  msgstr ""
172
 
180
  msgstr ""
181
 
182
  #: admin/class-ip-geo-block-admin.php:481
183
+ #: admin/class-ip-geo-block-admin.php:732
184
+ #: admin/class-ip-geo-block-admin.php:750
185
+ #: admin/class-ip-geo-block-admin.php:767
186
  msgid "Sites list"
187
  msgstr ""
188
 
189
+ #: admin/class-ip-geo-block-admin.php:522
190
  msgid "You need WordPress 3.7+."
191
  msgstr ""
192
 
193
+ #: admin/class-ip-geo-block-admin.php:526
194
  #, php-format
195
  msgid ""
196
  "Can not load Geolocation API libraries from <code>%s</code>. It seems to "
206
  "\">this instruction</a>."
207
  msgstr ""
208
 
209
+ #: admin/class-ip-geo-block-admin.php:535
210
  #, php-format
211
  msgid ""
212
  "You should select at least one API at <a href=\"%s\">Geolocation API "
214
  "expires."
215
  msgstr ""
216
 
217
+ #: admin/class-ip-geo-block-admin.php:544
218
  #, php-format
219
  msgid ""
220
  "You should select at least one API for local database at <a href=\"%s"
222
  "slow down the site."
223
  msgstr ""
224
 
225
+ #: admin/class-ip-geo-block-admin.php:555
226
  #, php-format
227
  msgid ""
228
  "Now downloading geolocation databases in background. After a little while, "
230
  "strong>&#8221; at <a href=\"%s\">Validation rules and behavior</a>."
231
  msgstr ""
232
 
233
+ #: admin/class-ip-geo-block-admin.php:561
234
  #, php-format
235
  msgid ""
236
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
237
  "confirm it at <a href=\"%s\">Validation rules and behavior</a>."
238
  msgstr ""
239
 
240
+ #: admin/class-ip-geo-block-admin.php:570
241
  msgid "Local database and matching rule have been updated."
242
  msgstr ""
243
 
244
+ #: admin/class-ip-geo-block-admin.php:581
245
  msgid ""
246
  "Once you logout, you will be unable to login again because the number of "
247
  "login attempts reaches the limit."
248
  msgstr ""
249
 
250
+ #: admin/class-ip-geo-block-admin.php:583
251
  #, php-format
252
  msgid ""
253
  "Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
255
  "yourself out."
256
  msgstr ""
257
 
258
+ #: admin/class-ip-geo-block-admin.php:594
259
  msgid ""
260
  "Once you logout, you will be unable to login again because your country code "
261
  "or IP address is in the blacklist."
262
  msgstr ""
263
 
264
+ #: admin/class-ip-geo-block-admin.php:595
265
  msgid ""
266
  "Once you logout, you will be unable to login again because your country code "
267
  "or IP address is not in the whitelist."
268
  msgstr ""
269
 
270
+ #: admin/class-ip-geo-block-admin.php:599
271
  #, php-format
272
  msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
273
  msgstr ""
274
 
275
+ #: admin/class-ip-geo-block-admin.php:603
276
  #, php-format
277
  msgid ""
278
  "Please confirm your local geolocation database files exist at &#8220;%sLocal "
280
  "&#8220;%sStatistics in cache%s&#8221; section."
281
  msgstr ""
282
 
283
+ #: admin/class-ip-geo-block-admin.php:617
284
  #, php-format
285
  msgid ""
286
  "Emergency login link is outdated. Please delete it once and generate again "
288
  "favorites / bookmarks in your browser."
289
  msgstr ""
290
 
291
+ #: admin/class-ip-geo-block-admin.php:626
292
  msgid ""
293
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
294
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
295
  "select &#8220;init&#8221; action hook."
296
  msgstr ""
297
 
298
+ #: admin/class-ip-geo-block-admin.php:734
299
  msgid "Statistics"
300
  msgstr ""
301
 
302
+ #: admin/class-ip-geo-block-admin.php:735
303
  msgid "Logs"
304
  msgstr ""
305
 
306
+ #: admin/class-ip-geo-block-admin.php:736
307
  msgid "Search"
308
  msgstr ""
309
 
310
+ #: admin/class-ip-geo-block-admin.php:737
311
  msgid "Attribution"
312
  msgstr ""
313
 
314
+ #: admin/class-ip-geo-block-admin.php:785
315
  msgid "Toggle all"
316
  msgstr ""
317
 
318
+ #: admin/class-ip-geo-block-admin.php:788
319
  msgid ""
320
  "Independent of &#8220;Privacy and record settings&#8221;, you can see all "
321
  "the requests validated by this plugin in almost real time."
322
  msgstr ""
323
 
324
+ #: admin/class-ip-geo-block-admin.php:788 admin/includes/tab-accesslog.php:39
325
  msgid "Live update"
326
  msgstr ""
327
 
328
+ #: admin/class-ip-geo-block-admin.php:792
329
  msgid "Open a new window on clicking the link in the chart."
330
  msgstr ""
331
 
332
+ #: admin/class-ip-geo-block-admin.php:816
333
  msgid "Thanks for providing these great services for free."
334
  msgstr ""
335
 
336
+ #: admin/class-ip-geo-block-admin.php:817
337
  msgid ""
338
  "(Most browsers will redirect you to each site <a href=\"https://www."
339
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
340
  "when you click the link</a>.)"
341
  msgstr ""
342
 
343
+ #: admin/class-ip-geo-block-admin.php:822
344
  msgid "Back to top"
345
  msgstr ""
346
 
347
+ #: admin/class-ip-geo-block-admin.php:914
348
  msgid "Enable"
349
  msgstr ""
350
 
351
+ #: admin/class-ip-geo-block-admin.php:929
352
  msgid "Select one"
353
  msgstr ""
354
 
361
  #: classes/class-ip-geo-block-cron.php:228
362
  #: classes/class-ip-geo-block-cron.php:332
363
  #: classes/class-ip-geo-block-cron.php:410
364
+ #: classes/class-ip-geo-block-opts.php:487
365
  #, php-format
366
  msgid "Unable to write <code>%s</code>. Please check the permission."
367
  msgstr ""
455
  msgid "Help"
456
  msgstr ""
457
 
458
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:466
459
  msgid "Comment post"
460
  msgstr ""
461
 
462
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:467
463
  msgid "XML-RPC"
464
  msgstr ""
465
 
466
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:468
467
  msgid "Login form"
468
  msgstr ""
469
 
470
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:469
471
  msgid "Admin area"
472
  msgstr ""
473
 
474
+ #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:471
475
  msgid "Public facing pages"
476
  msgstr ""
477
 
537
  msgid "Export logs"
538
  msgstr ""
539
 
540
+ #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1576
541
  #: admin/includes/tab-statistics.php:283
542
  msgid "Export to the local file"
543
  msgstr ""
570
  msgid "Geolocation API"
571
  msgstr ""
572
 
573
+ #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1121
574
  msgid ""
575
  "<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
576
  "Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
704
  "country code</dfn>"
705
  msgstr ""
706
 
707
+ #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:843
708
  msgid "Matching rule"
709
  msgstr ""
710
 
800
  "this validation.\">Prevent malicious file uploading</dfn>"
801
  msgstr ""
802
 
803
+ #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:532
804
+ #: admin/includes/tab-settings.php:677 admin/includes/tab-settings.php:1193
805
  msgid "Disable"
806
  msgstr ""
807
 
813
  msgid "Verify file extension only"
814
  msgstr ""
815
 
816
+ #: admin/includes/tab-settings.php:315
817
+ msgid ""
818
+ "<dfn title=\"It prevents important information in the database from being "
819
+ "defaced and exploited.\">Metadata Exploit Protection</dfn>"
820
+ msgstr ""
821
+
822
+ #: admin/includes/tab-settings.php:330
823
  msgid ""
824
  "<dfn title=\"Specify the table names to be verified for single site. This "
825
  "verification will be skipped if empty.\">pre_update_option</dfn>"
826
  msgstr ""
827
 
828
+ #: admin/includes/tab-settings.php:332
829
  msgid ""
830
  "<dfn title=\"Specify the table names to be verified for multisite. This "
831
  "verification will be skipped if empty.\">pre_update_site_option</dfn>"
832
  msgstr ""
833
 
834
+ #: admin/includes/tab-settings.php:337
835
  msgid ""
836
  "<dfn title=\"It prevents to manipulate metadata in database without admin "
837
  "privilege.\">Prevent metadata alteration</dfn>"
838
  msgstr ""
839
 
840
+ #: admin/includes/tab-settings.php:353
841
  #, php-format
842
  msgid ""
843
  "<dfn title=\"You can put your original 403.php and so on into your theme "
844
  "directory.\">Response code</dfn> %s"
845
  msgstr ""
846
 
847
+ #: admin/includes/tab-settings.php:382 admin/includes/tab-settings.php:926
848
  msgid ""
849
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
850
  "to a public facing page, visitors would not be blocked on the page to "
853
  "\">Redirect URL</dfn>"
854
  msgstr ""
855
 
856
+ #: admin/includes/tab-settings.php:399 admin/includes/tab-settings.php:944
857
  msgid ""
858
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
859
  "message</dfn>"
860
  msgstr ""
861
 
862
+ #: admin/includes/tab-settings.php:417
863
  msgid "Select when to run the validation."
864
  msgstr ""
865
 
866
+ #: admin/includes/tab-settings.php:417
867
  msgid "Validation timing"
868
  msgstr ""
869
 
870
+ #: admin/includes/tab-settings.php:428
871
  msgid "&#8220;init&#8221; action hook"
872
  msgstr ""
873
 
874
+ #: admin/includes/tab-settings.php:429
875
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
876
  msgstr ""
877
 
878
+ #: admin/includes/tab-settings.php:432
879
  msgid ""
880
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
881
  "plugins."
882
  msgstr ""
883
 
884
+ #: admin/includes/tab-settings.php:433
885
  msgid ""
886
  "Validate at an earlier phase than other typical plugins. It can reduce load "
887
  "on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
889
  "restrictions</a>."
890
  msgstr ""
891
 
892
+ #: admin/includes/tab-settings.php:441
893
  msgid ""
894
  "It enables to simulate the validation rules without actual blocking in order "
895
  "to check the behavior of this plugin. The results can be found on &#8220;"
896
  "Logs&#8221; tab."
897
  msgstr ""
898
 
899
+ #: admin/includes/tab-settings.php:441
900
  msgid "Simulation mode"
901
  msgstr ""
902
 
903
+ #: admin/includes/tab-settings.php:458
904
  msgid "Back-end target settings"
905
  msgstr ""
906
 
907
+ #: admin/includes/tab-settings.php:464
908
  #, php-format
909
  msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
910
  msgstr ""
911
 
912
+ #: admin/includes/tab-settings.php:470
913
  msgid "Other areas"
914
  msgstr ""
915
 
916
+ #: admin/includes/tab-settings.php:471
917
  msgid "public facing pages"
918
  msgstr ""
919
 
920
+ #: admin/includes/tab-settings.php:487 admin/includes/tab-settings.php:533
921
+ #: admin/includes/tab-settings.php:565 admin/includes/tab-settings.php:571
922
+ #: admin/includes/tab-settings.php:836
923
  msgid "Block by country"
924
  msgstr ""
925
 
926
+ #: admin/includes/tab-settings.php:497
927
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
928
  msgstr ""
929
 
930
+ #: admin/includes/tab-settings.php:497
931
  msgid "Message on comment form"
932
  msgstr ""
933
 
934
+ #: admin/includes/tab-settings.php:510
935
  msgid "None"
936
  msgstr ""
937
 
938
+ #: admin/includes/tab-settings.php:511
939
  msgid "Top"
940
  msgstr ""
941
 
942
+ #: admin/includes/tab-settings.php:512
943
  msgid "Bottom"
944
  msgstr ""
945
 
946
+ #: admin/includes/tab-settings.php:534
947
  msgid "Completely close"
948
  msgstr ""
949
 
950
+ #: admin/includes/tab-settings.php:540
951
  msgid "Action to login as a registered user."
952
  msgstr ""
953
 
954
+ #: admin/includes/tab-settings.php:540
955
  msgid "Log in"
956
  msgstr ""
957
 
958
+ #: admin/includes/tab-settings.php:541
959
  msgid "Action to register new users."
960
  msgstr ""
961
 
962
+ #: admin/includes/tab-settings.php:541
963
  msgid "Register"
964
  msgstr ""
965
 
966
+ #: admin/includes/tab-settings.php:542
967
  msgid "Action to reset a password to create a new one."
968
  msgstr ""
969
 
970
+ #: admin/includes/tab-settings.php:542
971
  msgid "Password Reset"
972
  msgstr ""
973
 
974
+ #: admin/includes/tab-settings.php:543
975
  msgid "Action to email a password to a registered user."
976
  msgstr ""
977
 
978
+ #: admin/includes/tab-settings.php:543
979
  msgid "Lost Password"
980
  msgstr ""
981
 
982
+ #: admin/includes/tab-settings.php:544
983
  msgid ""
984
  "Action to show prompt to enter a password on password protected post and "
985
  "page."
986
  msgstr ""
987
 
988
+ #: admin/includes/tab-settings.php:544
989
  msgid "Password protected"
990
  msgstr ""
991
 
992
+ #: admin/includes/tab-settings.php:566
993
  msgid ""
994
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
995
  "actions</dfn>"
996
  msgstr ""
997
 
998
+ #: admin/includes/tab-settings.php:572
999
  msgid "Prevent Zero-day Exploit"
1000
  msgstr ""
1001
 
1002
+ #: admin/includes/tab-settings.php:576
1003
  msgid ""
1004
  "It will block a request related to the services for both &#8220;non-logged "
1005
  "in user&#8221; and &#8220;logged-in user&#8221;."
1006
  msgstr ""
1007
 
1008
+ #: admin/includes/tab-settings.php:577
1009
  msgid ""
1010
  "Regardless of the country code, it will block a malicious request related to "
1011
  "the services only for &#8220;logged-in user&#8221;."
1012
  msgstr ""
1013
 
1014
+ #: admin/includes/tab-settings.php:583
1015
  msgid ""
1016
  "This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1017
  "&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
1019
  "cache."
1020
  msgstr ""
1021
 
1022
+ #: admin/includes/tab-settings.php:583
1023
  msgid "Max failed login attempts per IP address"
1024
  msgstr ""
1025
 
1026
+ #: admin/includes/tab-settings.php:624
1027
  msgid "admin post for logged-in user"
1028
  msgstr ""
1029
 
1030
+ #: admin/includes/tab-settings.php:625
1031
  msgid "admin post for non logged-in user"
1032
  msgstr ""
1033
 
1034
+ #: admin/includes/tab-settings.php:647
1035
  msgid "Admin ajax/post"
1036
  msgstr ""
1037
 
1038
+ #: admin/includes/tab-settings.php:661
1039
  msgid ""
1040
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1041
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
1043
  "Zero-day Exploit&#8221; (for logged-in user)."
1044
  msgstr ""
1045
 
1046
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:739
1047
+ #: admin/includes/tab-settings.php:799
1048
  msgid "Exceptions"
1049
  msgstr ""
1050
 
1051
+ #: admin/includes/tab-settings.php:662
1052
  msgid "Toggle with non logged-in user"
1053
  msgstr ""
1054
 
1055
+ #: admin/includes/tab-settings.php:665
1056
  msgid "Candidate actions/pages"
1057
  msgstr ""
1058
 
1059
+ #: admin/includes/tab-settings.php:679
1060
  #, php-format
1061
  msgid ""
1062
  "Regardless of the country code, it will block a malicious request to <code>"
1063
  "%s&ctdot;/*.php</code>."
1064
  msgstr ""
1065
 
1066
+ #: admin/includes/tab-settings.php:680
1067
  msgid ""
1068
  "Select the item which causes unintended blocking in order to exclude from "
1069
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
1070
  msgstr ""
1071
 
1072
+ #: admin/includes/tab-settings.php:681
1073
  #, php-format
1074
  msgid ""
1075
  "It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
1077
  "hidden files beginning with a dot by the server's configuration."
1078
  msgstr ""
1079
 
1080
+ #: admin/includes/tab-settings.php:682
1081
  msgid "Sorry, but your server type is not supported."
1082
  msgstr ""
1083
 
1084
+ #: admin/includes/tab-settings.php:683
1085
  msgid ""
1086
  "You need to click &#8220;Save Changes&#8221; button for imported settings to "
1087
  "take effect."
1088
  msgstr ""
1089
 
1090
+ #: admin/includes/tab-settings.php:718 admin/includes/tab-settings.php:778
1091
  msgid "Force to load WP core"
1092
  msgstr ""
1093
 
1094
+ #: admin/includes/tab-settings.php:723
1095
  msgid "Plugins area"
1096
  msgstr ""
1097
 
1098
+ #: admin/includes/tab-settings.php:783
1099
  msgid "Themes area"
1100
  msgstr ""
1101
 
1102
+ #: admin/includes/tab-settings.php:818
1103
  msgid "Front-end target settings"
1104
  msgstr ""
1105
 
1106
+ #: admin/includes/tab-settings.php:853
1107
  msgid "Follow &#8220;Validation rules and behavior&#8221;"
1108
  msgstr ""
1109
 
1110
+ #: admin/includes/tab-settings.php:895
1111
  #, php-format
1112
  msgid ""
1113
  "<dfn title=\"You can configure a different response code from the Back-end. "
1115
  "\">Response code</dfn> %s"
1116
  msgstr ""
1117
 
1118
+ #: admin/includes/tab-settings.php:959
1119
  msgid ""
1120
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1121
  msgstr ""
1122
 
1123
+ #: admin/includes/tab-settings.php:971
1124
  msgid ""
1125
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1126
  "target.\">Post type</dfn>"
1127
  msgstr ""
1128
 
1129
+ #: admin/includes/tab-settings.php:983
1130
  msgid ""
1131
  "<dfn title=\"Specify the individual category on a single page or archive "
1132
  "page as a blocking target.\">Category</dfn>"
1133
  msgstr ""
1134
 
1135
+ #: admin/includes/tab-settings.php:995
1136
  msgid ""
1137
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
1138
  "a blocking target.\">Tag</dfn>"
1139
  msgstr ""
1140
 
1141
+ #: admin/includes/tab-settings.php:1009
1142
  msgid "Specify the validation target on front-end."
1143
  msgstr ""
1144
 
1145
+ #: admin/includes/tab-settings.php:1009
1146
  msgid "Validation target"
1147
  msgstr ""
1148
 
1149
+ #: admin/includes/tab-settings.php:1020
1150
  msgid "All requests"
1151
  msgstr ""
1152
 
1153
+ #: admin/includes/tab-settings.php:1021
1154
  msgid "Specify the targets"
1155
  msgstr ""
1156
 
1157
+ #: admin/includes/tab-settings.php:1024
1158
  msgid ""
1159
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1160
  "wp&#8221; action hook. It means that this feature would not be compatible "
1161
  "with any page caching."
1162
  msgstr ""
1163
 
1164
+ #: admin/includes/tab-settings.php:1034
1165
  msgid "Specify the name of actions as exception that is invariably blocked."
1166
  msgstr ""
1167
 
1168
+ #: admin/includes/tab-settings.php:1034
1169
  msgid "Excluded actions"
1170
  msgstr ""
1171
 
1172
+ #: admin/includes/tab-settings.php:1050
1173
  msgid ""
1174
  "<dfn title=\"Specify the frequency of request for certain period of time."
1175
  "\">Blocking condition</dfn>"
1176
  msgstr ""
1177
 
1178
+ #: admin/includes/tab-settings.php:1052
1179
  #, php-format
1180
  msgid "More than %1$s page view (PV) in %2$s seconds"
1181
  msgstr ""
1182
 
1183
+ #: admin/includes/tab-settings.php:1060
1184
  msgid ""
1185
  "<dfn title=\"It will validate the frequency of request.\">Block badly-"
1186
  "behaved bots and crawlers</dfn>"
1187
  msgstr ""
1188
 
1189
+ #: admin/includes/tab-settings.php:1077
1190
  msgid ""
1191
  "A part of user agent string and a qualification connected with a separator "
1192
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
1196
  "qualification&#8221;."
1197
  msgstr ""
1198
 
1199
+ #: admin/includes/tab-settings.php:1077
1200
  msgid "UA string and qualification"
1201
  msgstr ""
1202
 
1203
+ #: admin/includes/tab-settings.php:1094
1204
  msgid ""
1205
  "It enables to verify the host by reverse DNS lookup which would spend some "
1206
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
1208
  "return &#8220;true&#8221;."
1209
  msgstr ""
1210
 
1211
+ #: admin/includes/tab-settings.php:1094
1212
  msgid "Reverse DNS lookup"
1213
  msgstr ""
1214
 
1215
+ #: admin/includes/tab-settings.php:1113
1216
  msgid "Privacy and record settings"
1217
  msgstr ""
1218
 
1219
+ #: admin/includes/tab-settings.php:1136
1220
  msgid ""
1221
  "<dfn title=\"This option restricts not to send IP address to the external "
1222
  "Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
1223
  msgstr ""
1224
 
1225
+ #: admin/includes/tab-settings.php:1151
1226
  msgid ""
1227
  "<dfn title=\"This option enables to record the IP address, country code and "
1228
  "failure counter of login attempts into the cache on database to minimize the "
1229
  "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1230
  msgstr ""
1231
 
1232
+ #: admin/includes/tab-settings.php:1166
1233
  msgid ""
1234
  "<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1235
  "number of failed login attempts per IP address&#8221;, subsequent login will "
1237
  "dfn>"
1238
  msgstr ""
1239
 
1240
+ #: admin/includes/tab-settings.php:1182
1241
  msgid ""
1242
  "<dfn title=\"This option enables to record the validation logs including IP "
1243
  "addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
1244
  msgstr ""
1245
 
1246
+ #: admin/includes/tab-settings.php:1194
1247
  msgid "When blocked"
1248
  msgstr ""
1249
 
1250
+ #: admin/includes/tab-settings.php:1195
1251
  msgid "When passed"
1252
  msgstr ""
1253
 
1254
+ #: admin/includes/tab-settings.php:1196
1255
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1256
  msgstr ""
1257
 
1258
+ #: admin/includes/tab-settings.php:1197
1259
  msgid "Unauthenticated visitor"
1260
  msgstr ""
1261
 
1262
+ #: admin/includes/tab-settings.php:1198
1263
  msgid "Authenticated user"
1264
  msgstr ""
1265
 
1266
+ #: admin/includes/tab-settings.php:1199
1267
  msgid "All the validation"
1268
  msgstr ""
1269
 
1270
+ #: admin/includes/tab-settings.php:1207
1271
  #, php-format
1272
  msgid ""
1273
  "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1274
  "\">Expiration time [days] for each entry</dfn>"
1275
  msgstr ""
1276
 
1277
+ #: admin/includes/tab-settings.php:1224
1278
  msgid ""
1279
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1280
  "with value</dfn>"
1281
  msgstr ""
1282
 
1283
+ #: admin/includes/tab-settings.php:1243
1284
  msgid "Maximum entries in &#8220;Logs&#8221;"
1285
  msgstr ""
1286
 
1287
+ #: admin/includes/tab-settings.php:1260
1288
  msgid ""
1289
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1290
  "&#8220;Live update&#8221;</dfn>"
1291
  msgstr ""
1292
 
1293
+ #: admin/includes/tab-settings.php:1273
1294
  msgid "Ordinary file"
1295
  msgstr ""
1296
 
1297
+ #: admin/includes/tab-settings.php:1274
1298
  msgid "In-Memory"
1299
  msgstr ""
1300
 
1301
+ #: admin/includes/tab-settings.php:1277
1302
  msgid "PDO_SQLITE driver not available"
1303
  msgstr ""
1304
 
1305
+ #: admin/includes/tab-settings.php:1278
1306
  msgid ""
1307
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1308
  "without conflict with other plugins."
1309
  msgstr ""
1310
 
1311
+ #: admin/includes/tab-settings.php:1279
1312
  msgid ""
1313
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1314
  "with other plugins using this method."
1315
  msgstr ""
1316
 
1317
+ #: admin/includes/tab-settings.php:1287
1318
  msgid "Reset database source of &#8220;Live update&#8221;"
1319
  msgstr ""
1320
 
1321
+ #: admin/includes/tab-settings.php:1295
1322
  msgid "Reset now"
1323
  msgstr ""
1324
 
1325
+ #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1465
1326
  msgid ""
1327
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1328
  "once and activate again."
1329
  msgstr ""
1330
 
1331
+ #: admin/includes/tab-settings.php:1309
1332
  msgid ""
1333
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1334
  "expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
1335
  "logs&#8221;.\">Interval [sec] to cleanup expired entries of IP address</dfn>"
1336
  msgstr ""
1337
 
1338
+ #: admin/includes/tab-settings.php:1318 admin/includes/tab-settings.php:1481
1339
  #, php-format
1340
  msgid "Next schedule: %s"
1341
  msgstr ""
1342
 
1343
+ #: admin/includes/tab-settings.php:1325
1344
  msgid ""
1345
  "<dfn title=\"This option enables to record the number blocked countries and "
1346
  "the number of blocked requests per day.\">Record &#8220;Statistics of "
1347
  "validation&#8221;</dfn>"
1348
  msgstr ""
1349
 
1350
+ #: admin/includes/tab-settings.php:1340
1351
  msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1352
  msgstr ""
1353
 
1354
+ #: admin/includes/tab-settings.php:1358
1355
  msgid "Remove all settings and records at uninstallation"
1356
  msgstr ""
1357
 
1358
+ #: admin/includes/tab-settings.php:1375
1359
  msgid "Geolocation API settings"
1360
  msgstr ""
1361
 
1362
+ #: admin/includes/tab-settings.php:1396
1363
  msgid ""
1364
  "<dfn title=\"IP address cache and local databases are scanned at the top "
1365
  "priority.\">API selection and key settings</dfn>"
1366
  msgstr ""
1367
 
1368
+ #: admin/includes/tab-settings.php:1415
1369
  msgid "Timeout for network API [sec]"
1370
  msgstr ""
1371
 
1372
+ #: admin/includes/tab-settings.php:1433
1373
  msgid "Local database settings"
1374
  msgstr ""
1375
 
1376
+ #: admin/includes/tab-settings.php:1447
1377
  msgid "database"
1378
  msgstr ""
1379
 
1380
+ #: admin/includes/tab-settings.php:1448 classes/class-ip-geo-block-cron.php:434
1381
  #, php-format
1382
  msgid "Last update: %s"
1383
  msgstr ""
1384
 
1385
+ #: admin/includes/tab-settings.php:1470
1386
  msgid "Auto updating (once a month)"
1387
  msgstr ""
1388
 
1389
+ #: admin/includes/tab-settings.php:1488
1390
  msgid "Download database"
1391
  msgstr ""
1392
 
1393
+ #: admin/includes/tab-settings.php:1496
1394
  msgid "Download now"
1395
  msgstr ""
1396
 
1397
+ #: admin/includes/tab-settings.php:1507
1398
  msgid "Plugin settings"
1399
  msgstr ""
1400
 
1401
+ #: admin/includes/tab-settings.php:1519
1402
  msgid ""
1403
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1404
  "settings</dfn>"
1405
  msgstr ""
1406
 
1407
+ #: admin/includes/tab-settings.php:1537
1408
  msgid ""
1409
  "<dfn title=\"You can access to the login form with a specific key at "
1410
  "emergency. Please add the generated link to favorites / bookmarks in your "
1412
  "dfn>"
1413
  msgstr ""
1414
 
1415
+ #: admin/includes/tab-settings.php:1553
1416
  msgid ""
1417
  "<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1418
  "iframe can be available without key in case it's empty.\">Google Maps API "
1419
  "key</dfn>"
1420
  msgstr ""
1421
 
1422
+ #: admin/includes/tab-settings.php:1569
1423
  msgid "Export / Import settings"
1424
  msgstr ""
1425
 
1426
+ #: admin/includes/tab-settings.php:1576
1427
  msgid "Export settings"
1428
  msgstr ""
1429
 
1430
+ #: admin/includes/tab-settings.php:1577
1431
  msgid "Import from the local file"
1432
  msgstr ""
1433
 
1434
+ #: admin/includes/tab-settings.php:1577
1435
  msgid "Import settings"
1436
  msgstr ""
1437
 
1438
+ #: admin/includes/tab-settings.php:1585
1439
  msgid "Import pre-defined settings"
1440
  msgstr ""
1441
 
1442
+ #: admin/includes/tab-settings.php:1592
1443
  msgid ""
1444
  "Import the default settings to revert to the &#8220;Right after "
1445
  "installing&#8221; state"
1446
  msgstr ""
1447
 
1448
+ #: admin/includes/tab-settings.php:1592
1449
  msgid "Default settings"
1450
  msgstr ""
1451
 
1452
+ #: admin/includes/tab-settings.php:1593
1453
  msgid ""
1454
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1455
  "for the &#8220;Back-end target settings&#8221;"
1456
  msgstr ""
1457
 
1458
+ #: admin/includes/tab-settings.php:1593
1459
  msgid "Best for Back-end"
1460
  msgstr ""
1461
 
1462
+ #: admin/includes/tab-settings.php:1602
1463
  msgid "Diagnose all DB tables"
1464
  msgstr ""
1465
 
1466
+ #: admin/includes/tab-settings.php:1610
1467
  msgid "Diagnose now"
1468
  msgstr ""
1469
 
1470
+ #: admin/includes/tab-settings.php:1619
1471
  msgid ""
1472
  "<dfn title=\"When you have some unexpected blocking experiences, please "
1473
  "press the button to find the blocked requests at the end of dumped "
1477
  "\">support forum</a> ]"
1478
  msgstr ""
1479
 
1480
+ #: admin/includes/tab-settings.php:1626
1481
  msgid "Please copy &amp; paste when submitting your issue to support forum"
1482
  msgstr ""
1483
 
1484
+ #: admin/includes/tab-settings.php:1626
1485
  msgid "Show information"
1486
  msgstr ""
1487
 
1488
+ #: admin/includes/tab-settings.php:1643
1489
  msgid ""
1490
  "While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1491
  "others will pass an IP address to the 3rd parties' API via HTTP."
1492
  msgstr ""
1493
 
1494
+ #: admin/includes/tab-settings.php:1644
1495
  msgid ""
1496
  "Please select the appropriate APIs to fit the privacy law / regulation in "
1497
  "your country / region."
1498
  msgstr ""
1499
 
1500
+ #: admin/includes/tab-settings.php:1653
1501
  #, php-format
1502
  msgid ""
1503
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1504
  "2.0.0+%s."
1505
  msgstr ""
1506
 
1507
+ #: admin/includes/tab-settings.php:1661
1508
  #, php-format
1509
  msgid ""
1510
  "Please refer to \"%sLiving with cache plugin%s\" for compatibility with "
languages/ip-geo-block.pot 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:11+0900\n"
9
  "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
10
  "Language-Team: \n"
11
  "Language: en\n"
@@ -31,15 +31,15 @@ msgid "Are you sure ?"
31
  msgstr ""
32
 
33
  #: admin/class-ip-geo-block-admin.php:297
34
- #: admin/class-ip-geo-block-admin.php:791
35
  msgid "Open a new window"
36
  msgstr ""
37
 
38
- #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1528
39
  msgid "Generate new link"
40
  msgstr ""
41
 
42
- #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1529
43
  msgid "Delete current link"
44
  msgstr ""
45
 
@@ -164,9 +164,9 @@ msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:365
166
  #: admin/class-ip-geo-block-admin.php:491
167
- #: admin/class-ip-geo-block-admin.php:732
168
- #: admin/class-ip-geo-block-admin.php:752
169
- #: admin/class-ip-geo-block-admin.php:768
170
  msgid "Settings"
171
  msgstr ""
172
 
@@ -180,17 +180,17 @@ msgid "IP Geo Block"
180
  msgstr ""
181
 
182
  #: admin/class-ip-geo-block-admin.php:481
183
- #: admin/class-ip-geo-block-admin.php:731
184
- #: admin/class-ip-geo-block-admin.php:749
185
- #: admin/class-ip-geo-block-admin.php:766
186
  msgid "Sites list"
187
  msgstr ""
188
 
189
- #: admin/class-ip-geo-block-admin.php:521
190
  msgid "You need WordPress 3.7+."
191
  msgstr ""
192
 
193
- #: admin/class-ip-geo-block-admin.php:525
194
  #, php-format
195
  msgid ""
196
  "Can not load Geolocation API libraries from <code>%s</code>. It seems to "
@@ -206,7 +206,7 @@ msgid ""
206
  "\">this instruction</a>."
207
  msgstr ""
208
 
209
- #: admin/class-ip-geo-block-admin.php:534
210
  #, php-format
211
  msgid ""
212
  "You should select at least one API at <a href=\"%s\">Geolocation API "
@@ -214,7 +214,7 @@ msgid ""
214
  "expires."
215
  msgstr ""
216
 
217
- #: admin/class-ip-geo-block-admin.php:543
218
  #, php-format
219
  msgid ""
220
  "You should select at least one API for local database at <a href=\"%s"
@@ -222,7 +222,7 @@ msgid ""
222
  "slow down the site."
223
  msgstr ""
224
 
225
- #: admin/class-ip-geo-block-admin.php:554
226
  #, php-format
227
  msgid ""
228
  "Now downloading geolocation databases in background. After a little while, "
@@ -230,24 +230,24 @@ msgid ""
230
  "strong>&#8221; at <a href=\"%s\">Validation rules and behavior</a>."
231
  msgstr ""
232
 
233
- #: admin/class-ip-geo-block-admin.php:560
234
  #, php-format
235
  msgid ""
236
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
237
  "confirm it at <a href=\"%s\">Validation rules and behavior</a>."
238
  msgstr ""
239
 
240
- #: admin/class-ip-geo-block-admin.php:569
241
  msgid "Local database and matching rule have been updated."
242
  msgstr ""
243
 
244
- #: admin/class-ip-geo-block-admin.php:580
245
  msgid ""
246
  "Once you logout, you will be unable to login again because the number of "
247
  "login attempts reaches the limit."
248
  msgstr ""
249
 
250
- #: admin/class-ip-geo-block-admin.php:582
251
  #, php-format
252
  msgid ""
253
  "Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
@@ -255,24 +255,24 @@ msgid ""
255
  "yourself out."
256
  msgstr ""
257
 
258
- #: admin/class-ip-geo-block-admin.php:593
259
  msgid ""
260
  "Once you logout, you will be unable to login again because your country code "
261
  "or IP address is in the blacklist."
262
  msgstr ""
263
 
264
- #: admin/class-ip-geo-block-admin.php:594
265
  msgid ""
266
  "Once you logout, you will be unable to login again because your country code "
267
  "or IP address is not in the whitelist."
268
  msgstr ""
269
 
270
- #: admin/class-ip-geo-block-admin.php:598
271
  #, php-format
272
  msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
273
  msgstr ""
274
 
275
- #: admin/class-ip-geo-block-admin.php:602
276
  #, php-format
277
  msgid ""
278
  "Please confirm your local geolocation database files exist at &#8220;%sLocal "
@@ -280,7 +280,7 @@ msgid ""
280
  "&#8220;%sStatistics in cache%s&#8221; section."
281
  msgstr ""
282
 
283
- #: admin/class-ip-geo-block-admin.php:616
284
  #, php-format
285
  msgid ""
286
  "Emergency login link is outdated. Please delete it once and generate again "
@@ -288,67 +288,67 @@ msgid ""
288
  "favorites / bookmarks in your browser."
289
  msgstr ""
290
 
291
- #: admin/class-ip-geo-block-admin.php:625
292
  msgid ""
293
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
294
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
295
  "select &#8220;init&#8221; action hook."
296
  msgstr ""
297
 
298
- #: admin/class-ip-geo-block-admin.php:733
299
  msgid "Statistics"
300
  msgstr ""
301
 
302
- #: admin/class-ip-geo-block-admin.php:734
303
  msgid "Logs"
304
  msgstr ""
305
 
306
- #: admin/class-ip-geo-block-admin.php:735
307
  msgid "Search"
308
  msgstr ""
309
 
310
- #: admin/class-ip-geo-block-admin.php:736
311
  msgid "Attribution"
312
  msgstr ""
313
 
314
- #: admin/class-ip-geo-block-admin.php:784
315
  msgid "Toggle all"
316
  msgstr ""
317
 
318
- #: admin/class-ip-geo-block-admin.php:787
319
  msgid ""
320
  "Independent of &#8220;Privacy and record settings&#8221;, you can see all "
321
  "the requests validated by this plugin in almost real time."
322
  msgstr ""
323
 
324
- #: admin/class-ip-geo-block-admin.php:787 admin/includes/tab-accesslog.php:39
325
  msgid "Live update"
326
  msgstr ""
327
 
328
- #: admin/class-ip-geo-block-admin.php:791
329
  msgid "Open a new window on clicking the link in the chart."
330
  msgstr ""
331
 
332
- #: admin/class-ip-geo-block-admin.php:815
333
  msgid "Thanks for providing these great services for free."
334
  msgstr ""
335
 
336
- #: admin/class-ip-geo-block-admin.php:816
337
  msgid ""
338
  "(Most browsers will redirect you to each site <a href=\"https://www."
339
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
340
  "when you click the link</a>.)"
341
  msgstr ""
342
 
343
- #: admin/class-ip-geo-block-admin.php:821
344
  msgid "Back to top"
345
  msgstr ""
346
 
347
- #: admin/class-ip-geo-block-admin.php:913
348
  msgid "Enable"
349
  msgstr ""
350
 
351
- #: admin/class-ip-geo-block-admin.php:928
352
  msgid "Select one"
353
  msgstr ""
354
 
@@ -361,7 +361,7 @@ msgstr ""
361
  #: classes/class-ip-geo-block-cron.php:228
362
  #: classes/class-ip-geo-block-cron.php:332
363
  #: classes/class-ip-geo-block-cron.php:410
364
- #: classes/class-ip-geo-block-opts.php:484
365
  #, php-format
366
  msgid "Unable to write <code>%s</code>. Please check the permission."
367
  msgstr ""
@@ -455,23 +455,23 @@ msgstr ""
455
  msgid "Help"
456
  msgstr ""
457
 
458
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:450
459
  msgid "Comment post"
460
  msgstr ""
461
 
462
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:451
463
  msgid "XML-RPC"
464
  msgstr ""
465
 
466
- #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:452
467
  msgid "Login form"
468
  msgstr ""
469
 
470
- #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:453
471
  msgid "Admin area"
472
  msgstr ""
473
 
474
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:455
475
  msgid "Public facing pages"
476
  msgstr ""
477
 
@@ -537,7 +537,7 @@ msgstr ""
537
  msgid "Export logs"
538
  msgstr ""
539
 
540
- #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1560
541
  #: admin/includes/tab-statistics.php:283
542
  msgid "Export to the local file"
543
  msgstr ""
@@ -570,7 +570,7 @@ msgstr ""
570
  msgid "Geolocation API"
571
  msgstr ""
572
 
573
- #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1105
574
  msgid ""
575
  "<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
576
  "Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
@@ -704,7 +704,7 @@ msgid ""
704
  "country code</dfn>"
705
  msgstr ""
706
 
707
- #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:827
708
  msgid "Matching rule"
709
  msgstr ""
710
 
@@ -800,8 +800,8 @@ msgid ""
800
  "this validation.\">Prevent malicious file uploading</dfn>"
801
  msgstr ""
802
 
803
- #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:516
804
- #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:1177
805
  msgid "Disable"
806
  msgstr ""
807
 
@@ -813,32 +813,38 @@ msgstr ""
813
  msgid "Verify file extension only"
814
  msgstr ""
815
 
816
- #: admin/includes/tab-settings.php:314
 
 
 
 
 
 
817
  msgid ""
818
  "<dfn title=\"Specify the table names to be verified for single site. This "
819
  "verification will be skipped if empty.\">pre_update_option</dfn>"
820
  msgstr ""
821
 
822
- #: admin/includes/tab-settings.php:316
823
  msgid ""
824
  "<dfn title=\"Specify the table names to be verified for multisite. This "
825
  "verification will be skipped if empty.\">pre_update_site_option</dfn>"
826
  msgstr ""
827
 
828
- #: admin/includes/tab-settings.php:321
829
  msgid ""
830
  "<dfn title=\"It prevents to manipulate metadata in database without admin "
831
  "privilege.\">Prevent metadata alteration</dfn>"
832
  msgstr ""
833
 
834
- #: admin/includes/tab-settings.php:337
835
  #, php-format
836
  msgid ""
837
  "<dfn title=\"You can put your original 403.php and so on into your theme "
838
  "directory.\">Response code</dfn> %s"
839
  msgstr ""
840
 
841
- #: admin/includes/tab-settings.php:366 admin/includes/tab-settings.php:910
842
  msgid ""
843
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
844
  "to a public facing page, visitors would not be blocked on the page to "
@@ -847,35 +853,35 @@ msgid ""
847
  "\">Redirect URL</dfn>"
848
  msgstr ""
849
 
850
- #: admin/includes/tab-settings.php:383 admin/includes/tab-settings.php:928
851
  msgid ""
852
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
853
  "message</dfn>"
854
  msgstr ""
855
 
856
- #: admin/includes/tab-settings.php:401
857
  msgid "Select when to run the validation."
858
  msgstr ""
859
 
860
- #: admin/includes/tab-settings.php:401
861
  msgid "Validation timing"
862
  msgstr ""
863
 
864
- #: admin/includes/tab-settings.php:412
865
  msgid "&#8220;init&#8221; action hook"
866
  msgstr ""
867
 
868
- #: admin/includes/tab-settings.php:413
869
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
870
  msgstr ""
871
 
872
- #: admin/includes/tab-settings.php:416
873
  msgid ""
874
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
875
  "plugins."
876
  msgstr ""
877
 
878
- #: admin/includes/tab-settings.php:417
879
  msgid ""
880
  "Validate at an earlier phase than other typical plugins. It can reduce load "
881
  "on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
@@ -883,129 +889,129 @@ msgid ""
883
  "restrictions</a>."
884
  msgstr ""
885
 
886
- #: admin/includes/tab-settings.php:425
887
  msgid ""
888
  "It enables to simulate the validation rules without actual blocking in order "
889
  "to check the behavior of this plugin. The results can be found on &#8220;"
890
  "Logs&#8221; tab."
891
  msgstr ""
892
 
893
- #: admin/includes/tab-settings.php:425
894
  msgid "Simulation mode"
895
  msgstr ""
896
 
897
- #: admin/includes/tab-settings.php:442
898
  msgid "Back-end target settings"
899
  msgstr ""
900
 
901
- #: admin/includes/tab-settings.php:448
902
  #, php-format
903
  msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
904
  msgstr ""
905
 
906
- #: admin/includes/tab-settings.php:454
907
  msgid "Other areas"
908
  msgstr ""
909
 
910
- #: admin/includes/tab-settings.php:455
911
  msgid "public facing pages"
912
  msgstr ""
913
 
914
- #: admin/includes/tab-settings.php:471 admin/includes/tab-settings.php:517
915
- #: admin/includes/tab-settings.php:549 admin/includes/tab-settings.php:555
916
- #: admin/includes/tab-settings.php:820
917
  msgid "Block by country"
918
  msgstr ""
919
 
920
- #: admin/includes/tab-settings.php:481
921
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
922
  msgstr ""
923
 
924
- #: admin/includes/tab-settings.php:481
925
  msgid "Message on comment form"
926
  msgstr ""
927
 
928
- #: admin/includes/tab-settings.php:494
929
  msgid "None"
930
  msgstr ""
931
 
932
- #: admin/includes/tab-settings.php:495
933
  msgid "Top"
934
  msgstr ""
935
 
936
- #: admin/includes/tab-settings.php:496
937
  msgid "Bottom"
938
  msgstr ""
939
 
940
- #: admin/includes/tab-settings.php:518
941
  msgid "Completely close"
942
  msgstr ""
943
 
944
- #: admin/includes/tab-settings.php:524
945
  msgid "Action to login as a registered user."
946
  msgstr ""
947
 
948
- #: admin/includes/tab-settings.php:524
949
  msgid "Log in"
950
  msgstr ""
951
 
952
- #: admin/includes/tab-settings.php:525
953
  msgid "Action to register new users."
954
  msgstr ""
955
 
956
- #: admin/includes/tab-settings.php:525
957
  msgid "Register"
958
  msgstr ""
959
 
960
- #: admin/includes/tab-settings.php:526
961
  msgid "Action to reset a password to create a new one."
962
  msgstr ""
963
 
964
- #: admin/includes/tab-settings.php:526
965
  msgid "Password Reset"
966
  msgstr ""
967
 
968
- #: admin/includes/tab-settings.php:527
969
  msgid "Action to email a password to a registered user."
970
  msgstr ""
971
 
972
- #: admin/includes/tab-settings.php:527
973
  msgid "Lost Password"
974
  msgstr ""
975
 
976
- #: admin/includes/tab-settings.php:528
977
  msgid ""
978
  "Action to show prompt to enter a password on password protected post and "
979
  "page."
980
  msgstr ""
981
 
982
- #: admin/includes/tab-settings.php:528
983
  msgid "Password protected"
984
  msgstr ""
985
 
986
- #: admin/includes/tab-settings.php:550
987
  msgid ""
988
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
989
  "actions</dfn>"
990
  msgstr ""
991
 
992
- #: admin/includes/tab-settings.php:556
993
  msgid "Prevent Zero-day Exploit"
994
  msgstr ""
995
 
996
- #: admin/includes/tab-settings.php:560
997
  msgid ""
998
  "It will block a request related to the services for both &#8220;non-logged "
999
  "in user&#8221; and &#8220;logged-in user&#8221;."
1000
  msgstr ""
1001
 
1002
- #: admin/includes/tab-settings.php:561
1003
  msgid ""
1004
  "Regardless of the country code, it will block a malicious request related to "
1005
  "the services only for &#8220;logged-in user&#8221;."
1006
  msgstr ""
1007
 
1008
- #: admin/includes/tab-settings.php:567
1009
  msgid ""
1010
  "This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1011
  "&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
@@ -1013,23 +1019,23 @@ msgid ""
1013
  "cache."
1014
  msgstr ""
1015
 
1016
- #: admin/includes/tab-settings.php:567
1017
  msgid "Max failed login attempts per IP address"
1018
  msgstr ""
1019
 
1020
- #: admin/includes/tab-settings.php:608
1021
  msgid "admin post for logged-in user"
1022
  msgstr ""
1023
 
1024
- #: admin/includes/tab-settings.php:609
1025
  msgid "admin post for non logged-in user"
1026
  msgstr ""
1027
 
1028
- #: admin/includes/tab-settings.php:631
1029
  msgid "Admin ajax/post"
1030
  msgstr ""
1031
 
1032
- #: admin/includes/tab-settings.php:645
1033
  msgid ""
1034
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1035
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
@@ -1037,33 +1043,33 @@ msgid ""
1037
  "Zero-day Exploit&#8221; (for logged-in user)."
1038
  msgstr ""
1039
 
1040
- #: admin/includes/tab-settings.php:645 admin/includes/tab-settings.php:723
1041
- #: admin/includes/tab-settings.php:783
1042
  msgid "Exceptions"
1043
  msgstr ""
1044
 
1045
- #: admin/includes/tab-settings.php:646
1046
  msgid "Toggle with non logged-in user"
1047
  msgstr ""
1048
 
1049
- #: admin/includes/tab-settings.php:649
1050
  msgid "Candidate actions/pages"
1051
  msgstr ""
1052
 
1053
- #: admin/includes/tab-settings.php:663
1054
  #, php-format
1055
  msgid ""
1056
  "Regardless of the country code, it will block a malicious request to <code>"
1057
  "%s&ctdot;/*.php</code>."
1058
  msgstr ""
1059
 
1060
- #: admin/includes/tab-settings.php:664
1061
  msgid ""
1062
  "Select the item which causes unintended blocking in order to exclude from "
1063
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
1064
  msgstr ""
1065
 
1066
- #: admin/includes/tab-settings.php:665
1067
  #, php-format
1068
  msgid ""
1069
  "It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
@@ -1071,37 +1077,37 @@ msgid ""
1071
  "hidden files beginning with a dot by the server's configuration."
1072
  msgstr ""
1073
 
1074
- #: admin/includes/tab-settings.php:666
1075
  msgid "Sorry, but your server type is not supported."
1076
  msgstr ""
1077
 
1078
- #: admin/includes/tab-settings.php:667
1079
  msgid ""
1080
  "You need to click &#8220;Save Changes&#8221; button for imported settings to "
1081
  "take effect."
1082
  msgstr ""
1083
 
1084
- #: admin/includes/tab-settings.php:702 admin/includes/tab-settings.php:762
1085
  msgid "Force to load WP core"
1086
  msgstr ""
1087
 
1088
- #: admin/includes/tab-settings.php:707
1089
  msgid "Plugins area"
1090
  msgstr ""
1091
 
1092
- #: admin/includes/tab-settings.php:767
1093
  msgid "Themes area"
1094
  msgstr ""
1095
 
1096
- #: admin/includes/tab-settings.php:802
1097
  msgid "Front-end target settings"
1098
  msgstr ""
1099
 
1100
- #: admin/includes/tab-settings.php:837
1101
  msgid "Follow &#8220;Validation rules and behavior&#8221;"
1102
  msgstr ""
1103
 
1104
- #: admin/includes/tab-settings.php:879
1105
  #, php-format
1106
  msgid ""
1107
  "<dfn title=\"You can configure a different response code from the Back-end. "
@@ -1109,78 +1115,78 @@ msgid ""
1109
  "\">Response code</dfn> %s"
1110
  msgstr ""
1111
 
1112
- #: admin/includes/tab-settings.php:943
1113
  msgid ""
1114
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1115
  msgstr ""
1116
 
1117
- #: admin/includes/tab-settings.php:955
1118
  msgid ""
1119
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1120
  "target.\">Post type</dfn>"
1121
  msgstr ""
1122
 
1123
- #: admin/includes/tab-settings.php:967
1124
  msgid ""
1125
  "<dfn title=\"Specify the individual category on a single page or archive "
1126
  "page as a blocking target.\">Category</dfn>"
1127
  msgstr ""
1128
 
1129
- #: admin/includes/tab-settings.php:979
1130
  msgid ""
1131
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
1132
  "a blocking target.\">Tag</dfn>"
1133
  msgstr ""
1134
 
1135
- #: admin/includes/tab-settings.php:993
1136
  msgid "Specify the validation target on front-end."
1137
  msgstr ""
1138
 
1139
- #: admin/includes/tab-settings.php:993
1140
  msgid "Validation target"
1141
  msgstr ""
1142
 
1143
- #: admin/includes/tab-settings.php:1004
1144
  msgid "All requests"
1145
  msgstr ""
1146
 
1147
- #: admin/includes/tab-settings.php:1005
1148
  msgid "Specify the targets"
1149
  msgstr ""
1150
 
1151
- #: admin/includes/tab-settings.php:1008
1152
  msgid ""
1153
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1154
  "wp&#8221; action hook. It means that this feature would not be compatible "
1155
  "with any page caching."
1156
  msgstr ""
1157
 
1158
- #: admin/includes/tab-settings.php:1018
1159
  msgid "Specify the name of actions as exception that is invariably blocked."
1160
  msgstr ""
1161
 
1162
- #: admin/includes/tab-settings.php:1018
1163
  msgid "Excluded actions"
1164
  msgstr ""
1165
 
1166
- #: admin/includes/tab-settings.php:1034
1167
  msgid ""
1168
  "<dfn title=\"Specify the frequency of request for certain period of time."
1169
  "\">Blocking condition</dfn>"
1170
  msgstr ""
1171
 
1172
- #: admin/includes/tab-settings.php:1036
1173
  #, php-format
1174
  msgid "More than %1$s page view (PV) in %2$s seconds"
1175
  msgstr ""
1176
 
1177
- #: admin/includes/tab-settings.php:1044
1178
  msgid ""
1179
  "<dfn title=\"It will validate the frequency of request.\">Block badly-"
1180
  "behaved bots and crawlers</dfn>"
1181
  msgstr ""
1182
 
1183
- #: admin/includes/tab-settings.php:1061
1184
  msgid ""
1185
  "A part of user agent string and a qualification connected with a separator "
1186
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
@@ -1190,11 +1196,11 @@ msgid ""
1190
  "qualification&#8221;."
1191
  msgstr ""
1192
 
1193
- #: admin/includes/tab-settings.php:1061
1194
  msgid "UA string and qualification"
1195
  msgstr ""
1196
 
1197
- #: admin/includes/tab-settings.php:1078
1198
  msgid ""
1199
  "It enables to verify the host by reverse DNS lookup which would spend some "
1200
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -1202,28 +1208,28 @@ msgid ""
1202
  "return &#8220;true&#8221;."
1203
  msgstr ""
1204
 
1205
- #: admin/includes/tab-settings.php:1078
1206
  msgid "Reverse DNS lookup"
1207
  msgstr ""
1208
 
1209
- #: admin/includes/tab-settings.php:1097
1210
  msgid "Privacy and record settings"
1211
  msgstr ""
1212
 
1213
- #: admin/includes/tab-settings.php:1120
1214
  msgid ""
1215
  "<dfn title=\"This option restricts not to send IP address to the external "
1216
  "Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
1217
  msgstr ""
1218
 
1219
- #: admin/includes/tab-settings.php:1135
1220
  msgid ""
1221
  "<dfn title=\"This option enables to record the IP address, country code and "
1222
  "failure counter of login attempts into the cache on database to minimize the "
1223
  "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1224
  msgstr ""
1225
 
1226
- #: admin/includes/tab-settings.php:1150
1227
  msgid ""
1228
  "<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1229
  "number of failed login attempts per IP address&#8221;, subsequent login will "
@@ -1231,174 +1237,174 @@ msgid ""
1231
  "dfn>"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1166
1235
  msgid ""
1236
  "<dfn title=\"This option enables to record the validation logs including IP "
1237
  "addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
1238
  msgstr ""
1239
 
1240
- #: admin/includes/tab-settings.php:1178
1241
  msgid "When blocked"
1242
  msgstr ""
1243
 
1244
- #: admin/includes/tab-settings.php:1179
1245
  msgid "When passed"
1246
  msgstr ""
1247
 
1248
- #: admin/includes/tab-settings.php:1180
1249
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1250
  msgstr ""
1251
 
1252
- #: admin/includes/tab-settings.php:1181
1253
  msgid "Unauthenticated visitor"
1254
  msgstr ""
1255
 
1256
- #: admin/includes/tab-settings.php:1182
1257
  msgid "Authenticated user"
1258
  msgstr ""
1259
 
1260
- #: admin/includes/tab-settings.php:1183
1261
  msgid "All the validation"
1262
  msgstr ""
1263
 
1264
- #: admin/includes/tab-settings.php:1191
1265
  #, php-format
1266
  msgid ""
1267
  "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1268
  "\">Expiration time [days] for each entry</dfn>"
1269
  msgstr ""
1270
 
1271
- #: admin/includes/tab-settings.php:1208
1272
  msgid ""
1273
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1274
  "with value</dfn>"
1275
  msgstr ""
1276
 
1277
- #: admin/includes/tab-settings.php:1227
1278
  msgid "Maximum entries in &#8220;Logs&#8221;"
1279
  msgstr ""
1280
 
1281
- #: admin/includes/tab-settings.php:1244
1282
  msgid ""
1283
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1284
  "&#8220;Live update&#8221;</dfn>"
1285
  msgstr ""
1286
 
1287
- #: admin/includes/tab-settings.php:1257
1288
  msgid "Ordinary file"
1289
  msgstr ""
1290
 
1291
- #: admin/includes/tab-settings.php:1258
1292
  msgid "In-Memory"
1293
  msgstr ""
1294
 
1295
- #: admin/includes/tab-settings.php:1261
1296
  msgid "PDO_SQLITE driver not available"
1297
  msgstr ""
1298
 
1299
- #: admin/includes/tab-settings.php:1262
1300
  msgid ""
1301
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1302
  "without conflict with other plugins."
1303
  msgstr ""
1304
 
1305
- #: admin/includes/tab-settings.php:1263
1306
  msgid ""
1307
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1308
  "with other plugins using this method."
1309
  msgstr ""
1310
 
1311
- #: admin/includes/tab-settings.php:1271
1312
  msgid "Reset database source of &#8220;Live update&#8221;"
1313
  msgstr ""
1314
 
1315
- #: admin/includes/tab-settings.php:1279
1316
  msgid "Reset now"
1317
  msgstr ""
1318
 
1319
- #: admin/includes/tab-settings.php:1288 admin/includes/tab-settings.php:1449
1320
  msgid ""
1321
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1322
  "once and activate again."
1323
  msgstr ""
1324
 
1325
- #: admin/includes/tab-settings.php:1293
1326
  msgid ""
1327
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1328
  "expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
1329
  "logs&#8221;.\">Interval [sec] to cleanup expired entries of IP address</dfn>"
1330
  msgstr ""
1331
 
1332
- #: admin/includes/tab-settings.php:1302 admin/includes/tab-settings.php:1465
1333
  #, php-format
1334
  msgid "Next schedule: %s"
1335
  msgstr ""
1336
 
1337
- #: admin/includes/tab-settings.php:1309
1338
  msgid ""
1339
  "<dfn title=\"This option enables to record the number blocked countries and "
1340
  "the number of blocked requests per day.\">Record &#8220;Statistics of "
1341
  "validation&#8221;</dfn>"
1342
  msgstr ""
1343
 
1344
- #: admin/includes/tab-settings.php:1324
1345
  msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1346
  msgstr ""
1347
 
1348
- #: admin/includes/tab-settings.php:1342
1349
  msgid "Remove all settings and records at uninstallation"
1350
  msgstr ""
1351
 
1352
- #: admin/includes/tab-settings.php:1359
1353
  msgid "Geolocation API settings"
1354
  msgstr ""
1355
 
1356
- #: admin/includes/tab-settings.php:1380
1357
  msgid ""
1358
  "<dfn title=\"IP address cache and local databases are scanned at the top "
1359
  "priority.\">API selection and key settings</dfn>"
1360
  msgstr ""
1361
 
1362
- #: admin/includes/tab-settings.php:1399
1363
  msgid "Timeout for network API [sec]"
1364
  msgstr ""
1365
 
1366
- #: admin/includes/tab-settings.php:1417
1367
  msgid "Local database settings"
1368
  msgstr ""
1369
 
1370
- #: admin/includes/tab-settings.php:1431
1371
  msgid "database"
1372
  msgstr ""
1373
 
1374
- #: admin/includes/tab-settings.php:1432 classes/class-ip-geo-block-cron.php:434
1375
  #, php-format
1376
  msgid "Last update: %s"
1377
  msgstr ""
1378
 
1379
- #: admin/includes/tab-settings.php:1454
1380
  msgid "Auto updating (once a month)"
1381
  msgstr ""
1382
 
1383
- #: admin/includes/tab-settings.php:1472
1384
  msgid "Download database"
1385
  msgstr ""
1386
 
1387
- #: admin/includes/tab-settings.php:1480
1388
  msgid "Download now"
1389
  msgstr ""
1390
 
1391
- #: admin/includes/tab-settings.php:1491
1392
  msgid "Plugin settings"
1393
  msgstr ""
1394
 
1395
- #: admin/includes/tab-settings.php:1503
1396
  msgid ""
1397
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1398
  "settings</dfn>"
1399
  msgstr ""
1400
 
1401
- #: admin/includes/tab-settings.php:1521
1402
  msgid ""
1403
  "<dfn title=\"You can access to the login form with a specific key at "
1404
  "emergency. Please add the generated link to favorites / bookmarks in your "
@@ -1406,62 +1412,62 @@ msgid ""
1406
  "dfn>"
1407
  msgstr ""
1408
 
1409
- #: admin/includes/tab-settings.php:1537
1410
  msgid ""
1411
  "<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1412
  "iframe can be available without key in case it's empty.\">Google Maps API "
1413
  "key</dfn>"
1414
  msgstr ""
1415
 
1416
- #: admin/includes/tab-settings.php:1553
1417
  msgid "Export / Import settings"
1418
  msgstr ""
1419
 
1420
- #: admin/includes/tab-settings.php:1560
1421
  msgid "Export settings"
1422
  msgstr ""
1423
 
1424
- #: admin/includes/tab-settings.php:1561
1425
  msgid "Import from the local file"
1426
  msgstr ""
1427
 
1428
- #: admin/includes/tab-settings.php:1561
1429
  msgid "Import settings"
1430
  msgstr ""
1431
 
1432
- #: admin/includes/tab-settings.php:1569
1433
  msgid "Import pre-defined settings"
1434
  msgstr ""
1435
 
1436
- #: admin/includes/tab-settings.php:1576
1437
  msgid ""
1438
  "Import the default settings to revert to the &#8220;Right after "
1439
  "installing&#8221; state"
1440
  msgstr ""
1441
 
1442
- #: admin/includes/tab-settings.php:1576
1443
  msgid "Default settings"
1444
  msgstr ""
1445
 
1446
- #: admin/includes/tab-settings.php:1577
1447
  msgid ""
1448
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1449
  "for the &#8220;Back-end target settings&#8221;"
1450
  msgstr ""
1451
 
1452
- #: admin/includes/tab-settings.php:1577
1453
  msgid "Best for Back-end"
1454
  msgstr ""
1455
 
1456
- #: admin/includes/tab-settings.php:1586
1457
  msgid "Diagnose all DB tables"
1458
  msgstr ""
1459
 
1460
- #: admin/includes/tab-settings.php:1594
1461
  msgid "Diagnose now"
1462
  msgstr ""
1463
 
1464
- #: admin/includes/tab-settings.php:1603
1465
  msgid ""
1466
  "<dfn title=\"When you have some unexpected blocking experiences, please "
1467
  "press the button to find the blocked requests at the end of dumped "
@@ -1471,34 +1477,34 @@ msgid ""
1471
  "\">support forum</a> ]"
1472
  msgstr ""
1473
 
1474
- #: admin/includes/tab-settings.php:1610
1475
  msgid "Please copy &amp; paste when submitting your issue to support forum"
1476
  msgstr ""
1477
 
1478
- #: admin/includes/tab-settings.php:1610
1479
  msgid "Show information"
1480
  msgstr ""
1481
 
1482
- #: admin/includes/tab-settings.php:1627
1483
  msgid ""
1484
  "While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1485
  "others will pass an IP address to the 3rd parties' API via HTTP."
1486
  msgstr ""
1487
 
1488
- #: admin/includes/tab-settings.php:1628
1489
  msgid ""
1490
  "Please select the appropriate APIs to fit the privacy law / regulation in "
1491
  "your country / region."
1492
  msgstr ""
1493
 
1494
- #: admin/includes/tab-settings.php:1637
1495
  #, php-format
1496
  msgid ""
1497
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1498
  "2.0.0+%s."
1499
  msgstr ""
1500
 
1501
- #: admin/includes/tab-settings.php:1645
1502
  #, php-format
1503
  msgid ""
1504
  "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:37+0900\n"
9
  "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
10
  "Language-Team: \n"
11
  "Language: en\n"
31
  msgstr ""
32
 
33
  #: admin/class-ip-geo-block-admin.php:297
34
+ #: admin/class-ip-geo-block-admin.php:792
35
  msgid "Open a new window"
36
  msgstr ""
37
 
38
+ #: admin/class-ip-geo-block-admin.php:298 admin/includes/tab-settings.php:1544
39
  msgid "Generate new link"
40
  msgstr ""
41
 
42
+ #: admin/class-ip-geo-block-admin.php:299 admin/includes/tab-settings.php:1545
43
  msgid "Delete current link"
44
  msgstr ""
45
 
164
 
165
  #: admin/class-ip-geo-block-admin.php:365
166
  #: admin/class-ip-geo-block-admin.php:491
167
+ #: admin/class-ip-geo-block-admin.php:733
168
+ #: admin/class-ip-geo-block-admin.php:753
169
+ #: admin/class-ip-geo-block-admin.php:769
170
  msgid "Settings"
171
  msgstr ""
172
 
180
  msgstr ""
181
 
182
  #: admin/class-ip-geo-block-admin.php:481
183
+ #: admin/class-ip-geo-block-admin.php:732
184
+ #: admin/class-ip-geo-block-admin.php:750
185
+ #: admin/class-ip-geo-block-admin.php:767
186
  msgid "Sites list"
187
  msgstr ""
188
 
189
+ #: admin/class-ip-geo-block-admin.php:522
190
  msgid "You need WordPress 3.7+."
191
  msgstr ""
192
 
193
+ #: admin/class-ip-geo-block-admin.php:526
194
  #, php-format
195
  msgid ""
196
  "Can not load Geolocation API libraries from <code>%s</code>. It seems to "
206
  "\">this instruction</a>."
207
  msgstr ""
208
 
209
+ #: admin/class-ip-geo-block-admin.php:535
210
  #, php-format
211
  msgid ""
212
  "You should select at least one API at <a href=\"%s\">Geolocation API "
214
  "expires."
215
  msgstr ""
216
 
217
+ #: admin/class-ip-geo-block-admin.php:544
218
  #, php-format
219
  msgid ""
220
  "You should select at least one API for local database at <a href=\"%s"
222
  "slow down the site."
223
  msgstr ""
224
 
225
+ #: admin/class-ip-geo-block-admin.php:555
226
  #, php-format
227
  msgid ""
228
  "Now downloading geolocation databases in background. After a little while, "
230
  "strong>&#8221; at <a href=\"%s\">Validation rules and behavior</a>."
231
  msgstr ""
232
 
233
+ #: admin/class-ip-geo-block-admin.php:561
234
  #, php-format
235
  msgid ""
236
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
237
  "confirm it at <a href=\"%s\">Validation rules and behavior</a>."
238
  msgstr ""
239
 
240
+ #: admin/class-ip-geo-block-admin.php:570
241
  msgid "Local database and matching rule have been updated."
242
  msgstr ""
243
 
244
+ #: admin/class-ip-geo-block-admin.php:581
245
  msgid ""
246
  "Once you logout, you will be unable to login again because the number of "
247
  "login attempts reaches the limit."
248
  msgstr ""
249
 
250
+ #: admin/class-ip-geo-block-admin.php:583
251
  #, php-format
252
  msgid ""
253
  "Please remove your IP address in &#8220;%1$sStatistics in IP address cache"
255
  "yourself out."
256
  msgstr ""
257
 
258
+ #: admin/class-ip-geo-block-admin.php:594
259
  msgid ""
260
  "Once you logout, you will be unable to login again because your country code "
261
  "or IP address is in the blacklist."
262
  msgstr ""
263
 
264
+ #: admin/class-ip-geo-block-admin.php:595
265
  msgid ""
266
  "Once you logout, you will be unable to login again because your country code "
267
  "or IP address is not in the whitelist."
268
  msgstr ""
269
 
270
+ #: admin/class-ip-geo-block-admin.php:599
271
  #, php-format
272
  msgid "Please check your &#8220;%sValidation rules and behavior%s&#8221;."
273
  msgstr ""
274
 
275
+ #: admin/class-ip-geo-block-admin.php:603
276
  #, php-format
277
  msgid ""
278
  "Please confirm your local geolocation database files exist at &#8220;%sLocal "
280
  "&#8220;%sStatistics in cache%s&#8221; section."
281
  msgstr ""
282
 
283
+ #: admin/class-ip-geo-block-admin.php:617
284
  #, php-format
285
  msgid ""
286
  "Emergency login link is outdated. Please delete it once and generate again "
288
  "favorites / bookmarks in your browser."
289
  msgstr ""
290
 
291
+ #: admin/class-ip-geo-block-admin.php:626
292
  msgid ""
293
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
294
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
295
  "select &#8220;init&#8221; action hook."
296
  msgstr ""
297
 
298
+ #: admin/class-ip-geo-block-admin.php:734
299
  msgid "Statistics"
300
  msgstr ""
301
 
302
+ #: admin/class-ip-geo-block-admin.php:735
303
  msgid "Logs"
304
  msgstr ""
305
 
306
+ #: admin/class-ip-geo-block-admin.php:736
307
  msgid "Search"
308
  msgstr ""
309
 
310
+ #: admin/class-ip-geo-block-admin.php:737
311
  msgid "Attribution"
312
  msgstr ""
313
 
314
+ #: admin/class-ip-geo-block-admin.php:785
315
  msgid "Toggle all"
316
  msgstr ""
317
 
318
+ #: admin/class-ip-geo-block-admin.php:788
319
  msgid ""
320
  "Independent of &#8220;Privacy and record settings&#8221;, you can see all "
321
  "the requests validated by this plugin in almost real time."
322
  msgstr ""
323
 
324
+ #: admin/class-ip-geo-block-admin.php:788 admin/includes/tab-accesslog.php:39
325
  msgid "Live update"
326
  msgstr ""
327
 
328
+ #: admin/class-ip-geo-block-admin.php:792
329
  msgid "Open a new window on clicking the link in the chart."
330
  msgstr ""
331
 
332
+ #: admin/class-ip-geo-block-admin.php:816
333
  msgid "Thanks for providing these great services for free."
334
  msgstr ""
335
 
336
+ #: admin/class-ip-geo-block-admin.php:817
337
  msgid ""
338
  "(Most browsers will redirect you to each site <a href=\"https://www."
339
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
340
  "when you click the link</a>.)"
341
  msgstr ""
342
 
343
+ #: admin/class-ip-geo-block-admin.php:822
344
  msgid "Back to top"
345
  msgstr ""
346
 
347
+ #: admin/class-ip-geo-block-admin.php:914
348
  msgid "Enable"
349
  msgstr ""
350
 
351
+ #: admin/class-ip-geo-block-admin.php:929
352
  msgid "Select one"
353
  msgstr ""
354
 
361
  #: classes/class-ip-geo-block-cron.php:228
362
  #: classes/class-ip-geo-block-cron.php:332
363
  #: classes/class-ip-geo-block-cron.php:410
364
+ #: classes/class-ip-geo-block-opts.php:487
365
  #, php-format
366
  msgid "Unable to write <code>%s</code>. Please check the permission."
367
  msgstr ""
455
  msgid "Help"
456
  msgstr ""
457
 
458
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:466
459
  msgid "Comment post"
460
  msgstr ""
461
 
462
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:467
463
  msgid "XML-RPC"
464
  msgstr ""
465
 
466
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:468
467
  msgid "Login form"
468
  msgstr ""
469
 
470
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:469
471
  msgid "Admin area"
472
  msgstr ""
473
 
474
+ #: admin/includes/tab-accesslog.php:59 admin/includes/tab-settings.php:471
475
  msgid "Public facing pages"
476
  msgstr ""
477
 
537
  msgid "Export logs"
538
  msgstr ""
539
 
540
+ #: admin/includes/tab-accesslog.php:180 admin/includes/tab-settings.php:1576
541
  #: admin/includes/tab-statistics.php:283
542
  msgid "Export to the local file"
543
  msgstr ""
570
  msgid "Geolocation API"
571
  msgstr ""
572
 
573
+ #: admin/includes/tab-geolocation.php:89 admin/includes/tab-settings.php:1121
574
  msgid ""
575
  "<dfn title=\"IP address is always encrypted on recording in Cache and Logs. "
576
  "Moreover, this option replaces the end of IP address with &#8220;***&#8221; "
704
  "country code</dfn>"
705
  msgstr ""
706
 
707
+ #: admin/includes/tab-settings.php:125 admin/includes/tab-settings.php:843
708
  msgid "Matching rule"
709
  msgstr ""
710
 
800
  "this validation.\">Prevent malicious file uploading</dfn>"
801
  msgstr ""
802
 
803
+ #: admin/includes/tab-settings.php:304 admin/includes/tab-settings.php:532
804
+ #: admin/includes/tab-settings.php:677 admin/includes/tab-settings.php:1193
805
  msgid "Disable"
806
  msgstr ""
807
 
813
  msgid "Verify file extension only"
814
  msgstr ""
815
 
816
+ #: admin/includes/tab-settings.php:315
817
+ msgid ""
818
+ "<dfn title=\"It prevents important information in the database from being "
819
+ "defaced and exploited.\">Metadata Exploit Protection</dfn>"
820
+ msgstr ""
821
+
822
+ #: admin/includes/tab-settings.php:330
823
  msgid ""
824
  "<dfn title=\"Specify the table names to be verified for single site. This "
825
  "verification will be skipped if empty.\">pre_update_option</dfn>"
826
  msgstr ""
827
 
828
+ #: admin/includes/tab-settings.php:332
829
  msgid ""
830
  "<dfn title=\"Specify the table names to be verified for multisite. This "
831
  "verification will be skipped if empty.\">pre_update_site_option</dfn>"
832
  msgstr ""
833
 
834
+ #: admin/includes/tab-settings.php:337
835
  msgid ""
836
  "<dfn title=\"It prevents to manipulate metadata in database without admin "
837
  "privilege.\">Prevent metadata alteration</dfn>"
838
  msgstr ""
839
 
840
+ #: admin/includes/tab-settings.php:353
841
  #, php-format
842
  msgid ""
843
  "<dfn title=\"You can put your original 403.php and so on into your theme "
844
  "directory.\">Response code</dfn> %s"
845
  msgstr ""
846
 
847
+ #: admin/includes/tab-settings.php:382 admin/includes/tab-settings.php:926
848
  msgid ""
849
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
850
  "to a public facing page, visitors would not be blocked on the page to "
853
  "\">Redirect URL</dfn>"
854
  msgstr ""
855
 
856
+ #: admin/includes/tab-settings.php:399 admin/includes/tab-settings.php:944
857
  msgid ""
858
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
859
  "message</dfn>"
860
  msgstr ""
861
 
862
+ #: admin/includes/tab-settings.php:417
863
  msgid "Select when to run the validation."
864
  msgstr ""
865
 
866
+ #: admin/includes/tab-settings.php:417
867
  msgid "Validation timing"
868
  msgstr ""
869
 
870
+ #: admin/includes/tab-settings.php:428
871
  msgid "&#8220;init&#8221; action hook"
872
  msgstr ""
873
 
874
+ #: admin/includes/tab-settings.php:429
875
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
876
  msgstr ""
877
 
878
+ #: admin/includes/tab-settings.php:432
879
  msgid ""
880
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
881
  "plugins."
882
  msgstr ""
883
 
884
+ #: admin/includes/tab-settings.php:433
885
  msgid ""
886
  "Validate at an earlier phase than other typical plugins. It can reduce load "
887
  "on server but has <a rel='noreferrer' href='https://www.ipgeoblock.com/codex/"
889
  "restrictions</a>."
890
  msgstr ""
891
 
892
+ #: admin/includes/tab-settings.php:441
893
  msgid ""
894
  "It enables to simulate the validation rules without actual blocking in order "
895
  "to check the behavior of this plugin. The results can be found on &#8220;"
896
  "Logs&#8221; tab."
897
  msgstr ""
898
 
899
+ #: admin/includes/tab-settings.php:441
900
  msgid "Simulation mode"
901
  msgstr ""
902
 
903
+ #: admin/includes/tab-settings.php:458
904
  msgid "Back-end target settings"
905
  msgstr ""
906
 
907
+ #: admin/includes/tab-settings.php:464
908
  #, php-format
909
  msgid "<dfn title=\"It enables to validate requests to %s.\">%s</dfn>"
910
  msgstr ""
911
 
912
+ #: admin/includes/tab-settings.php:470
913
  msgid "Other areas"
914
  msgstr ""
915
 
916
+ #: admin/includes/tab-settings.php:471
917
  msgid "public facing pages"
918
  msgstr ""
919
 
920
+ #: admin/includes/tab-settings.php:487 admin/includes/tab-settings.php:533
921
+ #: admin/includes/tab-settings.php:565 admin/includes/tab-settings.php:571
922
+ #: admin/includes/tab-settings.php:836
923
  msgid "Block by country"
924
  msgstr ""
925
 
926
+ #: admin/includes/tab-settings.php:497
927
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
928
  msgstr ""
929
 
930
+ #: admin/includes/tab-settings.php:497
931
  msgid "Message on comment form"
932
  msgstr ""
933
 
934
+ #: admin/includes/tab-settings.php:510
935
  msgid "None"
936
  msgstr ""
937
 
938
+ #: admin/includes/tab-settings.php:511
939
  msgid "Top"
940
  msgstr ""
941
 
942
+ #: admin/includes/tab-settings.php:512
943
  msgid "Bottom"
944
  msgstr ""
945
 
946
+ #: admin/includes/tab-settings.php:534
947
  msgid "Completely close"
948
  msgstr ""
949
 
950
+ #: admin/includes/tab-settings.php:540
951
  msgid "Action to login as a registered user."
952
  msgstr ""
953
 
954
+ #: admin/includes/tab-settings.php:540
955
  msgid "Log in"
956
  msgstr ""
957
 
958
+ #: admin/includes/tab-settings.php:541
959
  msgid "Action to register new users."
960
  msgstr ""
961
 
962
+ #: admin/includes/tab-settings.php:541
963
  msgid "Register"
964
  msgstr ""
965
 
966
+ #: admin/includes/tab-settings.php:542
967
  msgid "Action to reset a password to create a new one."
968
  msgstr ""
969
 
970
+ #: admin/includes/tab-settings.php:542
971
  msgid "Password Reset"
972
  msgstr ""
973
 
974
+ #: admin/includes/tab-settings.php:543
975
  msgid "Action to email a password to a registered user."
976
  msgstr ""
977
 
978
+ #: admin/includes/tab-settings.php:543
979
  msgid "Lost Password"
980
  msgstr ""
981
 
982
+ #: admin/includes/tab-settings.php:544
983
  msgid ""
984
  "Action to show prompt to enter a password on password protected post and "
985
  "page."
986
  msgstr ""
987
 
988
+ #: admin/includes/tab-settings.php:544
989
  msgid "Password protected"
990
  msgstr ""
991
 
992
+ #: admin/includes/tab-settings.php:566
993
  msgid ""
994
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
995
  "actions</dfn>"
996
  msgstr ""
997
 
998
+ #: admin/includes/tab-settings.php:572
999
  msgid "Prevent Zero-day Exploit"
1000
  msgstr ""
1001
 
1002
+ #: admin/includes/tab-settings.php:576
1003
  msgid ""
1004
  "It will block a request related to the services for both &#8220;non-logged "
1005
  "in user&#8221; and &#8220;logged-in user&#8221;."
1006
  msgstr ""
1007
 
1008
+ #: admin/includes/tab-settings.php:577
1009
  msgid ""
1010
  "Regardless of the country code, it will block a malicious request related to "
1011
  "the services only for &#8220;logged-in user&#8221;."
1012
  msgstr ""
1013
 
1014
+ #: admin/includes/tab-settings.php:583
1015
  msgid ""
1016
  "This is applied to &#8220;XML-RPC&#8221; and &#8220;Login form&#8221; when "
1017
  "&#8220;IP address cache&#8221; in &#8220;Privacy and record settings&#8221; "
1019
  "cache."
1020
  msgstr ""
1021
 
1022
+ #: admin/includes/tab-settings.php:583
1023
  msgid "Max failed login attempts per IP address"
1024
  msgstr ""
1025
 
1026
+ #: admin/includes/tab-settings.php:624
1027
  msgid "admin post for logged-in user"
1028
  msgstr ""
1029
 
1030
+ #: admin/includes/tab-settings.php:625
1031
  msgid "admin post for non logged-in user"
1032
  msgstr ""
1033
 
1034
+ #: admin/includes/tab-settings.php:647
1035
  msgid "Admin ajax/post"
1036
  msgstr ""
1037
 
1038
+ #: admin/includes/tab-settings.php:661
1039
  msgid ""
1040
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
1041
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
1043
  "Zero-day Exploit&#8221; (for logged-in user)."
1044
  msgstr ""
1045
 
1046
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:739
1047
+ #: admin/includes/tab-settings.php:799
1048
  msgid "Exceptions"
1049
  msgstr ""
1050
 
1051
+ #: admin/includes/tab-settings.php:662
1052
  msgid "Toggle with non logged-in user"
1053
  msgstr ""
1054
 
1055
+ #: admin/includes/tab-settings.php:665
1056
  msgid "Candidate actions/pages"
1057
  msgstr ""
1058
 
1059
+ #: admin/includes/tab-settings.php:679
1060
  #, php-format
1061
  msgid ""
1062
  "Regardless of the country code, it will block a malicious request to <code>"
1063
  "%s&ctdot;/*.php</code>."
1064
  msgstr ""
1065
 
1066
+ #: admin/includes/tab-settings.php:680
1067
  msgid ""
1068
  "Select the item which causes unintended blocking in order to exclude from "
1069
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
1070
  msgstr ""
1071
 
1072
+ #: admin/includes/tab-settings.php:681
1073
  #, php-format
1074
  msgid ""
1075
  "It configures &#8220;%s&#8221; to validate a direct request to the PHP file "
1077
  "hidden files beginning with a dot by the server's configuration."
1078
  msgstr ""
1079
 
1080
+ #: admin/includes/tab-settings.php:682
1081
  msgid "Sorry, but your server type is not supported."
1082
  msgstr ""
1083
 
1084
+ #: admin/includes/tab-settings.php:683
1085
  msgid ""
1086
  "You need to click &#8220;Save Changes&#8221; button for imported settings to "
1087
  "take effect."
1088
  msgstr ""
1089
 
1090
+ #: admin/includes/tab-settings.php:718 admin/includes/tab-settings.php:778
1091
  msgid "Force to load WP core"
1092
  msgstr ""
1093
 
1094
+ #: admin/includes/tab-settings.php:723
1095
  msgid "Plugins area"
1096
  msgstr ""
1097
 
1098
+ #: admin/includes/tab-settings.php:783
1099
  msgid "Themes area"
1100
  msgstr ""
1101
 
1102
+ #: admin/includes/tab-settings.php:818
1103
  msgid "Front-end target settings"
1104
  msgstr ""
1105
 
1106
+ #: admin/includes/tab-settings.php:853
1107
  msgid "Follow &#8220;Validation rules and behavior&#8221;"
1108
  msgstr ""
1109
 
1110
+ #: admin/includes/tab-settings.php:895
1111
  #, php-format
1112
  msgid ""
1113
  "<dfn title=\"You can configure a different response code from the Back-end. "
1115
  "\">Response code</dfn> %s"
1116
  msgstr ""
1117
 
1118
+ #: admin/includes/tab-settings.php:959
1119
  msgid ""
1120
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1121
  msgstr ""
1122
 
1123
+ #: admin/includes/tab-settings.php:971
1124
  msgid ""
1125
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1126
  "target.\">Post type</dfn>"
1127
  msgstr ""
1128
 
1129
+ #: admin/includes/tab-settings.php:983
1130
  msgid ""
1131
  "<dfn title=\"Specify the individual category on a single page or archive "
1132
  "page as a blocking target.\">Category</dfn>"
1133
  msgstr ""
1134
 
1135
+ #: admin/includes/tab-settings.php:995
1136
  msgid ""
1137
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
1138
  "a blocking target.\">Tag</dfn>"
1139
  msgstr ""
1140
 
1141
+ #: admin/includes/tab-settings.php:1009
1142
  msgid "Specify the validation target on front-end."
1143
  msgstr ""
1144
 
1145
+ #: admin/includes/tab-settings.php:1009
1146
  msgid "Validation target"
1147
  msgstr ""
1148
 
1149
+ #: admin/includes/tab-settings.php:1020
1150
  msgid "All requests"
1151
  msgstr ""
1152
 
1153
+ #: admin/includes/tab-settings.php:1021
1154
  msgid "Specify the targets"
1155
  msgstr ""
1156
 
1157
+ #: admin/includes/tab-settings.php:1024
1158
  msgid ""
1159
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1160
  "wp&#8221; action hook. It means that this feature would not be compatible "
1161
  "with any page caching."
1162
  msgstr ""
1163
 
1164
+ #: admin/includes/tab-settings.php:1034
1165
  msgid "Specify the name of actions as exception that is invariably blocked."
1166
  msgstr ""
1167
 
1168
+ #: admin/includes/tab-settings.php:1034
1169
  msgid "Excluded actions"
1170
  msgstr ""
1171
 
1172
+ #: admin/includes/tab-settings.php:1050
1173
  msgid ""
1174
  "<dfn title=\"Specify the frequency of request for certain period of time."
1175
  "\">Blocking condition</dfn>"
1176
  msgstr ""
1177
 
1178
+ #: admin/includes/tab-settings.php:1052
1179
  #, php-format
1180
  msgid "More than %1$s page view (PV) in %2$s seconds"
1181
  msgstr ""
1182
 
1183
+ #: admin/includes/tab-settings.php:1060
1184
  msgid ""
1185
  "<dfn title=\"It will validate the frequency of request.\">Block badly-"
1186
  "behaved bots and crawlers</dfn>"
1187
  msgstr ""
1188
 
1189
+ #: admin/includes/tab-settings.php:1077
1190
  msgid ""
1191
  "A part of user agent string and a qualification connected with a separator "
1192
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
1196
  "qualification&#8221;."
1197
  msgstr ""
1198
 
1199
+ #: admin/includes/tab-settings.php:1077
1200
  msgid "UA string and qualification"
1201
  msgstr ""
1202
 
1203
+ #: admin/includes/tab-settings.php:1094
1204
  msgid ""
1205
  "It enables to verify the host by reverse DNS lookup which would spend some "
1206
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
1208
  "return &#8220;true&#8221;."
1209
  msgstr ""
1210
 
1211
+ #: admin/includes/tab-settings.php:1094
1212
  msgid "Reverse DNS lookup"
1213
  msgstr ""
1214
 
1215
+ #: admin/includes/tab-settings.php:1113
1216
  msgid "Privacy and record settings"
1217
  msgstr ""
1218
 
1219
+ #: admin/includes/tab-settings.php:1136
1220
  msgid ""
1221
  "<dfn title=\"This option restricts not to send IP address to the external "
1222
  "Geolocation APIs.\">Do not send IP address to external APIs</dfn>"
1223
  msgstr ""
1224
 
1225
+ #: admin/includes/tab-settings.php:1151
1226
  msgid ""
1227
  "<dfn title=\"This option enables to record the IP address, country code and "
1228
  "failure counter of login attempts into the cache on database to minimize the "
1229
  "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1230
  msgstr ""
1231
 
1232
+ #: admin/includes/tab-settings.php:1166
1233
  msgid ""
1234
  "<dfn title=\"If user authentication fails consecutively beyond &#8220;Max "
1235
  "number of failed login attempts per IP address&#8221;, subsequent login will "
1237
  "dfn>"
1238
  msgstr ""
1239
 
1240
+ #: admin/includes/tab-settings.php:1182
1241
  msgid ""
1242
  "<dfn title=\"This option enables to record the validation logs including IP "
1243
  "addresses.\">Record &#8220;Validation logs&#8221;</dfn>"
1244
  msgstr ""
1245
 
1246
+ #: admin/includes/tab-settings.php:1194
1247
  msgid "When blocked"
1248
  msgstr ""
1249
 
1250
+ #: admin/includes/tab-settings.php:1195
1251
  msgid "When passed"
1252
  msgstr ""
1253
 
1254
+ #: admin/includes/tab-settings.php:1196
1255
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1256
  msgstr ""
1257
 
1258
+ #: admin/includes/tab-settings.php:1197
1259
  msgid "Unauthenticated visitor"
1260
  msgstr ""
1261
 
1262
+ #: admin/includes/tab-settings.php:1198
1263
  msgid "Authenticated user"
1264
  msgstr ""
1265
 
1266
+ #: admin/includes/tab-settings.php:1199
1267
  msgid "All the validation"
1268
  msgstr ""
1269
 
1270
+ #: admin/includes/tab-settings.php:1207
1271
  #, php-format
1272
  msgid ""
1273
  "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1274
  "\">Expiration time [days] for each entry</dfn>"
1275
  msgstr ""
1276
 
1277
+ #: admin/includes/tab-settings.php:1224
1278
  msgid ""
1279
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST key to record "
1280
  "with value</dfn>"
1281
  msgstr ""
1282
 
1283
+ #: admin/includes/tab-settings.php:1243
1284
  msgid "Maximum entries in &#8220;Logs&#8221;"
1285
  msgstr ""
1286
 
1287
+ #: admin/includes/tab-settings.php:1260
1288
  msgid ""
1289
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1290
  "&#8220;Live update&#8221;</dfn>"
1291
  msgstr ""
1292
 
1293
+ #: admin/includes/tab-settings.php:1273
1294
  msgid "Ordinary file"
1295
  msgstr ""
1296
 
1297
+ #: admin/includes/tab-settings.php:1274
1298
  msgid "In-Memory"
1299
  msgstr ""
1300
 
1301
+ #: admin/includes/tab-settings.php:1277
1302
  msgid "PDO_SQLITE driver not available"
1303
  msgstr ""
1304
 
1305
+ #: admin/includes/tab-settings.php:1278
1306
  msgid ""
1307
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1308
  "without conflict with other plugins."
1309
  msgstr ""
1310
 
1311
+ #: admin/includes/tab-settings.php:1279
1312
  msgid ""
1313
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1314
  "with other plugins using this method."
1315
  msgstr ""
1316
 
1317
+ #: admin/includes/tab-settings.php:1287
1318
  msgid "Reset database source of &#8220;Live update&#8221;"
1319
  msgstr ""
1320
 
1321
+ #: admin/includes/tab-settings.php:1295
1322
  msgid "Reset now"
1323
  msgstr ""
1324
 
1325
+ #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1465
1326
  msgid ""
1327
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1328
  "once and activate again."
1329
  msgstr ""
1330
 
1331
+ #: admin/includes/tab-settings.php:1309
1332
  msgid ""
1333
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1334
  "expired entries from &#8220;IP address cache&#8221; and &#8220;Validation "
1335
  "logs&#8221;.\">Interval [sec] to cleanup expired entries of IP address</dfn>"
1336
  msgstr ""
1337
 
1338
+ #: admin/includes/tab-settings.php:1318 admin/includes/tab-settings.php:1481
1339
  #, php-format
1340
  msgid "Next schedule: %s"
1341
  msgstr ""
1342
 
1343
+ #: admin/includes/tab-settings.php:1325
1344
  msgid ""
1345
  "<dfn title=\"This option enables to record the number blocked countries and "
1346
  "the number of blocked requests per day.\">Record &#8220;Statistics of "
1347
  "validation&#8221;</dfn>"
1348
  msgstr ""
1349
 
1350
+ #: admin/includes/tab-settings.php:1340
1351
  msgid "Maximum period for &#8220;Statistics&#8221; [days]"
1352
  msgstr ""
1353
 
1354
+ #: admin/includes/tab-settings.php:1358
1355
  msgid "Remove all settings and records at uninstallation"
1356
  msgstr ""
1357
 
1358
+ #: admin/includes/tab-settings.php:1375
1359
  msgid "Geolocation API settings"
1360
  msgstr ""
1361
 
1362
+ #: admin/includes/tab-settings.php:1396
1363
  msgid ""
1364
  "<dfn title=\"IP address cache and local databases are scanned at the top "
1365
  "priority.\">API selection and key settings</dfn>"
1366
  msgstr ""
1367
 
1368
+ #: admin/includes/tab-settings.php:1415
1369
  msgid "Timeout for network API [sec]"
1370
  msgstr ""
1371
 
1372
+ #: admin/includes/tab-settings.php:1433
1373
  msgid "Local database settings"
1374
  msgstr ""
1375
 
1376
+ #: admin/includes/tab-settings.php:1447
1377
  msgid "database"
1378
  msgstr ""
1379
 
1380
+ #: admin/includes/tab-settings.php:1448 classes/class-ip-geo-block-cron.php:434
1381
  #, php-format
1382
  msgid "Last update: %s"
1383
  msgstr ""
1384
 
1385
+ #: admin/includes/tab-settings.php:1470
1386
  msgid "Auto updating (once a month)"
1387
  msgstr ""
1388
 
1389
+ #: admin/includes/tab-settings.php:1488
1390
  msgid "Download database"
1391
  msgstr ""
1392
 
1393
+ #: admin/includes/tab-settings.php:1496
1394
  msgid "Download now"
1395
  msgstr ""
1396
 
1397
+ #: admin/includes/tab-settings.php:1507
1398
  msgid "Plugin settings"
1399
  msgstr ""
1400
 
1401
+ #: admin/includes/tab-settings.php:1519
1402
  msgid ""
1403
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1404
  "settings</dfn>"
1405
  msgstr ""
1406
 
1407
+ #: admin/includes/tab-settings.php:1537
1408
  msgid ""
1409
  "<dfn title=\"You can access to the login form with a specific key at "
1410
  "emergency. Please add the generated link to favorites / bookmarks in your "
1412
  "dfn>"
1413
  msgstr ""
1414
 
1415
+ #: admin/includes/tab-settings.php:1553
1416
  msgid ""
1417
  "<dfn title=\"Valid key for Google Maps JavaScript API. Maps Embed API in "
1418
  "iframe can be available without key in case it's empty.\">Google Maps API "
1419
  "key</dfn>"
1420
  msgstr ""
1421
 
1422
+ #: admin/includes/tab-settings.php:1569
1423
  msgid "Export / Import settings"
1424
  msgstr ""
1425
 
1426
+ #: admin/includes/tab-settings.php:1576
1427
  msgid "Export settings"
1428
  msgstr ""
1429
 
1430
+ #: admin/includes/tab-settings.php:1577
1431
  msgid "Import from the local file"
1432
  msgstr ""
1433
 
1434
+ #: admin/includes/tab-settings.php:1577
1435
  msgid "Import settings"
1436
  msgstr ""
1437
 
1438
+ #: admin/includes/tab-settings.php:1585
1439
  msgid "Import pre-defined settings"
1440
  msgstr ""
1441
 
1442
+ #: admin/includes/tab-settings.php:1592
1443
  msgid ""
1444
  "Import the default settings to revert to the &#8220;Right after "
1445
  "installing&#8221; state"
1446
  msgstr ""
1447
 
1448
+ #: admin/includes/tab-settings.php:1592
1449
  msgid "Default settings"
1450
  msgstr ""
1451
 
1452
+ #: admin/includes/tab-settings.php:1593
1453
  msgid ""
1454
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1455
  "for the &#8220;Back-end target settings&#8221;"
1456
  msgstr ""
1457
 
1458
+ #: admin/includes/tab-settings.php:1593
1459
  msgid "Best for Back-end"
1460
  msgstr ""
1461
 
1462
+ #: admin/includes/tab-settings.php:1602
1463
  msgid "Diagnose all DB tables"
1464
  msgstr ""
1465
 
1466
+ #: admin/includes/tab-settings.php:1610
1467
  msgid "Diagnose now"
1468
  msgstr ""
1469
 
1470
+ #: admin/includes/tab-settings.php:1619
1471
  msgid ""
1472
  "<dfn title=\"When you have some unexpected blocking experiences, please "
1473
  "press the button to find the blocked requests at the end of dumped "
1477
  "\">support forum</a> ]"
1478
  msgstr ""
1479
 
1480
+ #: admin/includes/tab-settings.php:1626
1481
  msgid "Please copy &amp; paste when submitting your issue to support forum"
1482
  msgstr ""
1483
 
1484
+ #: admin/includes/tab-settings.php:1626
1485
  msgid "Show information"
1486
  msgstr ""
1487
 
1488
+ #: admin/includes/tab-settings.php:1643
1489
  msgid ""
1490
  "While Geolite2 / Maxmind and IP2Location will fetch the local databases, "
1491
  "others will pass an IP address to the 3rd parties' API via HTTP."
1492
  msgstr ""
1493
 
1494
+ #: admin/includes/tab-settings.php:1644
1495
  msgid ""
1496
  "Please select the appropriate APIs to fit the privacy law / regulation in "
1497
  "your country / region."
1498
  msgstr ""
1499
 
1500
+ #: admin/includes/tab-settings.php:1653
1501
  #, php-format
1502
  msgid ""
1503
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1504
  "2.0.0+%s."
1505
  msgstr ""
1506
 
1507
+ #: admin/includes/tab-settings.php:1661
1508
  #, php-format
1509
  msgid ""
1510
  "Please refer to \"%sLiving with cache plugin%s\" for compatibility with "
rewrite-ini.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
  * THIS IS FOR THE ADVANCED USERS:
12
  * This file is for WP-ZEP. If some php files in the plugins/themes directory
6
  * @author tokkonopapa <tokkonopapa@yahoo.com>
7
  * @license GPL-3.0
8
  * @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
  *
11
  * THIS IS FOR THE ADVANCED USERS:
12
  * This file is for WP-ZEP. If some php files in the plugins/themes directory
rewrite.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
  * THIS IS FOR THE ADVANCED USERS:
12
  * This file is for WP-ZEP. If some php files in the plugins/themes directory
@@ -35,44 +35,6 @@ if ( ! class_exists( 'IP_Geo_Block_Rewrite', FALSE ) ):
35
 
36
  class IP_Geo_Block_Rewrite {
37
 
38
- /**
39
- * Get document root
40
- *
41
- * Note: It assumes that the super global can not be infected because `register_globals` is off by default.
42
- * @see network_step2() in wp-admin/includes/network.php, get_home_path() in wp-admin/includes/file.php
43
- * @link https://php.net/manual/en/security.globals.php
44
- * @link https://php.net/manual/en/reserved.variables.php#63831
45
- * @link https://stackoverflow.com/questions/4577853/document-root-variable-on-php-iis
46
- * @link https://stackoverflow.com/questions/11893832/is-it-a-good-idea-to-use-serverdocument-root-in-includes
47
- * @link https://stackoverflow.com/questions/25017381/setting-php-document-root-on-webserver
48
- * @link https://www.securityfocus.com/archive/1/476274/100/0/threaded
49
- * @link https://www.securityfocus.com/archive/1/476437/100/0/threaded
50
- */
51
- private static function get_docroot() {
52
- // $_SERVER['DOCUMENT_ROOT'] can be aliased or symbolic linked on virtual host while $_SERVER['SCRIPT_FILENAME'] and $_SERVER['SCRIPT_NAME'] are real path.
53
- // $_SERVER['SCRIPT_FILENAME'] is the absolute pathname of the currently executing script while $_SERVER['SCRIPT_NAME'] is the path from document root.
54
- // $root = isset( $_SERVER['DOCUMENT_ROOT'] ) ? $_SERVER['DOCUMENT_ROOT'] : substr( $_SERVER['SCRIPT_FILENAME'], 0, -strlen( $_SERVER['SCRIPT_NAME'] ) );
55
- $root = isset( $_SERVER['DOCUMENT_ROOT'] ) ? $_SERVER['DOCUMENT_ROOT'] : str_replace( $_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME'] );
56
- return self::realpath( str_replace( DIRECTORY_SEPARATOR, '/', $root ) );
57
- }
58
-
59
- /**
60
- * Virtual requested uri to real path for multisite
61
- *
62
- */
63
- private static function realpath( $path ) {
64
-
65
- if ( is_multisite() ) {
66
- $site = str_replace(
67
- parse_url( network_site_url(), PHP_URL_PATH ), '',
68
- parse_url( site_url(), PHP_URL_PATH )
69
- );
70
- $path = str_replace( $site, '', $path );
71
- }
72
-
73
- return self::normalize_path( realpath( $path ) );
74
- }
75
-
76
  /**
77
  * WP alternative function for advanced-cache.php
78
  *
@@ -121,29 +83,27 @@ class IP_Geo_Block_Rewrite {
121
  * Note: This function doesn't care about malicious query string.
122
  */
123
  public static function exec( $context, $validate, $settings ) {
124
-
125
- // get absolute path of requested uri
126
- // @link https://davidwalsh.name/iis-php-server-request_uri
127
- $root = self::get_docroot();
128
- $path = self::realpath( $root . parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ) );
 
129
 
130
  // while malicios URI may be intercepted by the server,
131
  // null byte attack should be invalidated just in case.
132
  // Note: is_file(), is_readable(), file_exists() need a valid path.
133
  // @link https://php.net/releases/5_3_4.php, https://bugs.php.net/bug.php?id=39863
134
  // @example $path = "/etc/passwd\0.php"; is_file( $path ) === true (5.2.14), false (5.4.4)
135
- $path = str_replace( "\0", '', $path );
 
 
 
136
 
137
  // check default index
138
  if ( FALSE === strripos( strtolower( $path ), '.php', -4 ) )
139
  $path .= '/index.php';
140
 
141
- // check path if under the document root
142
- // This may be meaningless because the HTTP request is always inside the document root.
143
- // The only possibility is a symbolic link pointed to outside of the document root.
144
- if ( 0 !== strpos( $path, "$root/" ) )
145
- self::abort( $context, $validate, $settings, file_exists( $path ) );
146
-
147
  // check file extention
148
  // if it fails, rewrite rule may be misconfigured
149
  if ( FALSE === strripos( strtolower( $path ), '.php', -4 ) )
6
  * @author tokkonopapa <tokkonopapa@yahoo.com>
7
  * @license GPL-3.0
8
  * @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
  *
11
  * THIS IS FOR THE ADVANCED USERS:
12
  * This file is for WP-ZEP. If some php files in the plugins/themes directory
35
 
36
  class IP_Geo_Block_Rewrite {
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  /**
39
  * WP alternative function for advanced-cache.php
40
  *
83
  * Note: This function doesn't care about malicious query string.
84
  */
85
  public static function exec( $context, $validate, $settings ) {
86
+ // transform requested uri to wordpress installed path
87
+ // various type of installations such as sub directory or subdomain should be handled
88
+ $site = parse_url( site_url(), PHP_URL_PATH ); // WordPress installation
89
+ $path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
90
+ $path = substr( $path, strlen( "$site/" ) );
91
+ $path = ABSPATH . $path; // restrict the path under WordPress installation
92
 
93
  // while malicios URI may be intercepted by the server,
94
  // null byte attack should be invalidated just in case.
95
  // Note: is_file(), is_readable(), file_exists() need a valid path.
96
  // @link https://php.net/releases/5_3_4.php, https://bugs.php.net/bug.php?id=39863
97
  // @example $path = "/etc/passwd\0.php"; is_file( $path ) === true (5.2.14), false (5.4.4)
98
+ $path = self::normalize_path( $path );
99
+ $path = realpath( str_replace( "\0", '', $path ) );
100
+ if ( FALSE === $path )
101
+ self::abort( $context, $validate, $settings, FALSE );
102
 
103
  // check default index
104
  if ( FALSE === strripos( strtolower( $path ), '.php', -4 ) )
105
  $path .= '/index.php';
106
 
 
 
 
 
 
 
107
  // check file extention
108
  // if it fails, rewrite rule may be misconfigured
109
  if ( FALSE === strripos( strtolower( $path ), '.php', -4 ) )
samples.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
  /* Start loading wp-load.php */
12
  if ( ! empty( $_GET['wp-load'] ) ) {
6
  * @author tokkonopapa <tokkonopapa@yahoo.com>
7
  * @license GPL-3.0
8
  * @link https://www.ipgeoblock.com/
9
+ * @copyright 2013-2019 tokkonopapa
10
  */
11
  /* Start loading wp-load.php */
12
  if ( ! empty( $_GET['wp-load'] ) ) {
uninstall.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
  // If uninstall not called from WordPress, then exit
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
  // If uninstall not called from WordPress, then exit
wp-content/mu-plugins/ip-geo-block-mu.php CHANGED
@@ -8,7 +8,7 @@
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 (mu)
14
  * Plugin URI: https://wordpress.org/plugins/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 (mu)
14
  * Plugin URI: https://wordpress.org/plugins/ip-geo-block/