Version Description
Sorry for frequent update but the following bug should be fixed. * Bug fix: Fix the bug that "Candidate actions/pages" at "Exceptions" in "Admin ajax/post" were not displayed.
Download this release
Release Info
Developer | tokkonopapa |
Plugin | IP Geo Block |
Version | 3.0.6.1 |
Comparing to | |
See all releases |
Code changes from version 3.0.5 to 3.0.6.1
- README.md +0 -58
- README.txt +17 -2
- admin/class-ip-geo-block-admin.php +55 -45
- admin/css/admin-icons.css +20 -8
- admin/css/admin-icons.min.css +1 -1
- admin/css/admin.css +148 -150
- admin/css/admin.min.css +2 -2
- admin/css/fonts/icomoon.eot +0 -0
- admin/css/fonts/icomoon.svg +1 -1
- admin/css/fonts/icomoon.ttf +0 -0
- admin/css/fonts/icomoon.woff +0 -0
- admin/images/alert.png +0 -0
- admin/images/find.png +0 -0
- admin/includes/class-admin-ajax.php +91 -7
- admin/includes/class-admin-rewrite.php +73 -17
- admin/includes/tab-accesslog.php +3 -3
- admin/includes/tab-settings.php +66 -40
- admin/includes/tab-statistics.php +25 -24
- admin/js/admin.js +180 -88
- admin/js/admin.min.js +2 -2
- admin/js/authenticate.js +25 -25
- admin/js/authenticate.min.js +2 -2
- admin/js/gmap.js +1 -1
- admin/js/gmap.min.js +1 -1
- classes/class-ip-geo-block-actv.php +1 -1
- classes/class-ip-geo-block-apis.php +1 -1
- classes/class-ip-geo-block-cron.php +1 -1
- classes/class-ip-geo-block-file.php +7 -9
- classes/class-ip-geo-block-lkup.php +1 -1
- classes/class-ip-geo-block-load.php +1 -1
- classes/class-ip-geo-block-logs.php +27 -7
- classes/class-ip-geo-block-opts.php +2 -2
- classes/class-ip-geo-block-util.php +4 -4
- classes/class-ip-geo-block.php +21 -19
- ip-geo-block.php +2 -2
- languages/ip-geo-block-ja.mo +0 -0
- languages/ip-geo-block-ja.po +308 -269
- languages/ip-geo-block.mo +0 -0
- languages/ip-geo-block.po +281 -244
- languages/ip-geo-block.pot +284 -245
- rewrite-ini.php +75 -0
- rewrite.php +2 -2
- samples.php +3 -4
- uninstall.php +1 -1
- wp-content/ip-geo-api/ip2location/class-ip2location.php +1 -1
- wp-content/ip-geo-api/maxmind/class-maxmind.php +1 -1
- wp-content/mu-plugins/ip-geo-block-mu.php +1 -1
README.md
DELETED
@@ -1,58 +0,0 @@
|
|
1 |
-
IP Geo Block
|
2 |
-
==============
|
3 |
-
|
4 |
-
### Description:
|
5 |
-
|
6 |
-
It blocks any spams, login attempts and malicious access to the admin area
|
7 |
-
posted from the specific countries, and also prevents zero-day exploit.
|
8 |
-
|
9 |
-
See more detail at [WordPress.org][IPGB].
|
10 |
-
|
11 |
-
### Dependency:
|
12 |
-
|
13 |
-
[IP Geo API 1.1.6][IPGeoAPI]
|
14 |
-
|
15 |
-
### Requirement:
|
16 |
-
|
17 |
-
- WordPress 3.7+
|
18 |
-
|
19 |
-
### Attribution:
|
20 |
-
|
21 |
-
This package includes GeoLite data created by MaxMind, available from
|
22 |
-
[MaxMind][MaxMind],
|
23 |
-
and also includes IP2Location open source libraries available from
|
24 |
-
[IP2Location][IP2Loc].
|
25 |
-
|
26 |
-
Also thanks for providing the following great services and REST APIs for free.
|
27 |
-
|
28 |
-
Provider | Supported type | Licence
|
29 |
-
---------------------------------------|----------------|--------
|
30 |
-
[http://freegeoip.net/] [freegeoip] | IPv4, IPv6 | free
|
31 |
-
[http://ipinfo.io/] [ipinfo] | IPv4, IPv6 | free
|
32 |
-
[http://geoip.nekudo.com/] [Nekudo] | IPv4, IPv6 | free
|
33 |
-
[http://xhanch.com/] [Xhanch] | IPv4 | free
|
34 |
-
[http://www.geoplugin.com/][geoplugin] | IPv4, IPv6 | free, need an attribution link
|
35 |
-
[http://geoiplookup.net/] [geoiplkup] | IPv4, IPv6 | free
|
36 |
-
[http://ip-api.com/] [ipapi] | IPv4, IPv6 | free for non-commercial use
|
37 |
-
[http://ipinfodb.com/] [IPInfoDB] | IPv4, IPv6 | free for registered user
|
38 |
-
|
39 |
-
### License:
|
40 |
-
|
41 |
-
This plugin is licensed under the GPL v2 or later.
|
42 |
-
|
43 |
-
[IPGB]: https://wordpress.org/plugins/ip-geo-block/ "IP Geo Block — WordPress Plugins"
|
44 |
-
[freegeoip]: http://freegeoip.net/ "freegeoip.net: FREE IP Geolocation Web Service"
|
45 |
-
[ipinfo]: http://ipinfo.io/ "ipinfo.io - ip address information including geolocation, hostname and network details"
|
46 |
-
[Telize]: http://www.telize.com/ "Telize - JSON IP and GeoIP REST API"
|
47 |
-
[IPJson]: http://ip-json.rhcloud.com/ "Free IP Geolocation Web Service"
|
48 |
-
[Pycox]: http://ip.pycox.com/ "Free IP Geolocation Web Service"
|
49 |
-
[Nekudo]: http://geoip.nekudo.com/ "eoip.nekudo.com | Free IP geolocation API"
|
50 |
-
[Xhanch]: http://xhanch.com/xhanch-api-ip-get-detail/ "Xhanch API - IP Get Detail | Xhanch Studio"
|
51 |
-
[geoplugin]: http://www.geoplugin.com/ "geoPlugin to geolocate your visitors"
|
52 |
-
[ipapi]: http://ip-api.com/ "IP-API.com - Free Geolocation API"
|
53 |
-
[IPInfoDB]: http://ipinfodb.com/ "IPInfoDB | Free IP Address Geolocation Tools"
|
54 |
-
[MaxMind]: http://www.maxmind.com "MaxMind - IP Geolocation and Online Fraud Prevention"
|
55 |
-
[IP2Loc]: http://www.ip2location.com "IP Address Geolocation to Identify Website Visitor's Geographical Location"
|
56 |
-
[Cache]: http://www.designbombs.com/top-wordpress-caching-plugins-compared/ "Top 6 Fastest WordPress Caching Plugins Compared (2016 Edition)"
|
57 |
-
[IPGeoAPI]: https://github.com/tokkonopapa/WordPress-IP-Geo-API "GitHub - tokkonopapa/WordPress-IP-Geo-API: A class library combined with WordPress plugin IP Geo Block to handle geo-location database of Maxmind and IP2Location."
|
58 |
-
[geoiplkup]: http://geoiplookup.net/ "What Is My IP Address | GeoIP Lookup"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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: 4.9
|
7 |
-
Stable tag: 3.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -352,6 +352,21 @@ Please refer to "[How can I fix permission troubles?](http://www.ipgeoblock.com/
|
|
352 |
|
353 |
== Changelog ==
|
354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
= 3.0.5 =
|
356 |
* **New feature:** Add "Live update" mode on "Logs" tab.
|
357 |
* **Improvement:** List all the IP addresses in cache are now displayed and manageable on "Statistics" tab.
|
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: 4.9.1
|
7 |
+
Stable tag: 3.0.6.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
352 |
|
353 |
== Changelog ==
|
354 |
|
355 |
+
= 3.0.6.1 =
|
356 |
+
Sorry for frequent update but the following bug should be fixed.
|
357 |
+
* **Bug fix:** Fix the bug that "Candidate actions/pages" at "Exceptions" in "Admin ajax/post" were not displayed.
|
358 |
+
|
359 |
+
= 3.0.6 =
|
360 |
+
* **New feature:** Add "Find blocked requests in Logs" button at "Exceptions". This helps to find a solution related to the incompatibility with unwanted blocking.
|
361 |
+
* **Improvement:** Support nginx for "Force to load WP core" at "Plugins area" / "Themes area".
|
362 |
+
* **Improvement:** Improve the extraction ability and verifiability of "Slug in back-end".
|
363 |
+
* **Improvement:** Add a new result "UAlist" that indicate a request is blocked by "UA string and qualification" in "Front-end target settings" section.
|
364 |
+
* **Improvement:** Improve responsiveness of live update control button on windows system.
|
365 |
+
* **Bug fix:** Fix the bug using php short open tag on "Logs" tab.
|
366 |
+
* **Bug fix:** Fix the bug related to absolute path in filesystem on windows system.
|
367 |
+
* **Bug fix:** Fix the issue that "Auto updating (once a month)" could not be disabled.
|
368 |
+
* See [3.0.6 release note](http://www.ipgeoblock.com/changelog/release-3.0.6.html "3.0.6 Release Note | IP Geo Block") for some details.
|
369 |
+
|
370 |
= 3.0.5 =
|
371 |
* **New feature:** Add "Live update" mode on "Logs" tab.
|
372 |
* **Improvement:** List all the IP addresses in cache are now displayed and manageable on "Statistics" tab.
|
admin/class-ip-geo-block-admin.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Admin {
|
@@ -178,14 +178,14 @@ class IP_Geo_Block_Admin {
|
|
178 |
* @see https://developers.google.com/maps/faq#china_ws_access
|
179 |
*/
|
180 |
public function enqueue_admin_assets() {
|
|
|
|
|
181 |
$footer = TRUE;
|
182 |
$dependency = array( 'jquery' );
|
183 |
-
$version =
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
filemtime( plugin_dir_path( __FILE__ ) . 'js/admin.js' )
|
188 |
-
);
|
189 |
|
190 |
switch ( $this->admin_tab ) {
|
191 |
case 1: /* Statistics */
|
@@ -217,9 +217,7 @@ class IP_Geo_Block_Admin {
|
|
217 |
$settings = IP_Geo_Block::get_option();
|
218 |
if ( $key = $settings['api_key']['GoogleMap'] ) {
|
219 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-gmap-js',
|
220 |
-
plugins_url(
|
221 |
-
'js/gmap.min.js' : 'js/gmap.js', __FILE__
|
222 |
-
),
|
223 |
$dependency, IP_Geo_Block::VERSION, $footer
|
224 |
);
|
225 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-google-map',
|
@@ -229,34 +227,25 @@ class IP_Geo_Block_Admin {
|
|
229 |
);
|
230 |
}
|
231 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-whois-js',
|
232 |
-
plugins_url(
|
233 |
-
'js/whois.min.js' : 'js/whois.js', __FILE__
|
234 |
-
),
|
235 |
$dependency, IP_Geo_Block::VERSION, $footer
|
236 |
);
|
237 |
-
break;
|
238 |
}
|
239 |
|
240 |
// css for option page
|
241 |
wp_enqueue_style( IP_Geo_Block::PLUGIN_NAME . '-admin-icons',
|
242 |
-
plugins_url(
|
243 |
-
'css/admin-icons.min.css' : 'css/admin-icons.css', __FILE__
|
244 |
-
),
|
245 |
array(), IP_Geo_Block::VERSION
|
246 |
);
|
247 |
wp_enqueue_style( IP_Geo_Block::PLUGIN_NAME . '-admin-styles',
|
248 |
-
plugins_url(
|
249 |
-
'css/admin.min.css' : 'css/admin.css', __FILE__
|
250 |
-
),
|
251 |
array(), $version
|
252 |
);
|
253 |
|
254 |
// js for IP Geo Block admin page
|
255 |
wp_register_script(
|
256 |
$handle = IP_Geo_Block::PLUGIN_NAME . '-admin-script',
|
257 |
-
plugins_url(
|
258 |
-
'js/admin.min.js' : 'js/admin.js', __FILE__
|
259 |
-
),
|
260 |
$dependency + ( isset( $addon ) ? array( $addon ) : array() ),
|
261 |
$version, $footer
|
262 |
);
|
@@ -276,8 +265,11 @@ class IP_Geo_Block_Admin {
|
|
276 |
/* [ 5] */ __( 'Clear logs ?', 'ip-geo-block' ),
|
277 |
/* [ 6] */ __( 'ajax for logged-in user', 'ip-geo-block' ),
|
278 |
/* [ 7] */ __( 'ajax for non logged-in user', 'ip-geo-block' ),
|
279 |
-
/* [ 8] */ __( '
|
280 |
-
/* [ 9] */ __( '
|
|
|
|
|
|
|
281 |
),
|
282 |
'i18n' => array(
|
283 |
/* [ 0] */ '<div class="ip-geo-block-loading"></div>',
|
@@ -299,6 +291,7 @@ class IP_Geo_Block_Admin {
|
|
299 |
),
|
300 |
'interval' => self::INTERVAL_LIVE_UPDATE, // interval for live update [sec]
|
301 |
'timeout' => self::TIMEOUT_LIVE_UPDATE, // timeout of pausing live update [sec]
|
|
|
302 |
)
|
303 |
);
|
304 |
wp_enqueue_script( $handle );
|
@@ -400,8 +393,8 @@ class IP_Geo_Block_Admin {
|
|
400 |
}
|
401 |
|
402 |
if ( $admin_menu ) {
|
403 |
-
// `settings-updated` would be added
|
404 |
-
if (
|
405 |
$this->sync_multisite_option( $settings );
|
406 |
wp_safe_redirect(
|
407 |
esc_url_raw( add_query_arg(
|
@@ -660,7 +653,7 @@ class IP_Geo_Block_Admin {
|
|
660 |
|
661 |
if ( $this->is_network ) {
|
662 |
unset( $tabs[0], $tabs[5] ); // Settings, Site List
|
663 |
-
$title .= ' <span class="ip-geo-block-
|
664 |
$title .= ' [ <a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0 ), $this->dashboard_url( TRUE ) ) ) . '" target="_self">' . __( 'Settings', 'ip-geo-block' ) . '</a> ]';
|
665 |
$title .= ' [ <a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 5 ), $this->dashboard_url( TRUE ) ) ) . '" target="_self">' . __( 'Site List', 'ip-geo-block' ) . '</a> ]';
|
666 |
$title .= '</span>';
|
@@ -672,7 +665,7 @@ class IP_Geo_Block_Admin {
|
|
672 |
|
673 |
if ( $settings['network_wide'] ) {
|
674 |
unset( $tabs[1], $tabs[4], $tabs[2], $tabs[3] ); // Statistics, Logs, Search, Attribution
|
675 |
-
$title .= ' <span class="ip-geo-block-
|
676 |
$title .= '[ ' . __( 'Network wide', 'ip-geo-block' ) . ' ]';
|
677 |
$title .= '</span>';
|
678 |
}
|
@@ -688,11 +681,11 @@ class IP_Geo_Block_Admin {
|
|
688 |
</h2>
|
689 |
<p style="text-align:left">[ <a id="ip-geo-block-toggle-sections" href="#!"><?php _e( 'Toggle all', 'ip-geo-block' ); ?></a> ]
|
690 |
<?php if ( 4 === $tab ) { /* Logs tab */ ?>
|
691 |
-
<input id="ip-geo-block-live-update" type="checkbox"<? checked( isset( $cookie[4][1] ) && 'o' === $cookie[4][1] ); disabled( extension_loaded( 'pdo_sqlite' ), FALSE ); ?> /><label for="ip-geo-block-live-update">
|
692 |
<dfn title="<?php _e( 'Independent of “Statistics and Logs settings”, you can see all the requests validated by this plugin in almost real time.', 'ip-geo-block' ); ?>"><?php _e( 'Live update', 'ip-geo-block' ); ?></dfn>
|
693 |
</label>
|
694 |
<?php } elseif (5 === $tab ) { /* Site List tab */ ?>
|
695 |
-
<input id="ip-geo-block-open-new" type="checkbox"<? checked( isset( $cookie[5][1] ) && 'o' === $cookie[5][1] );?> /><label for="ip-geo-block-open-new">
|
696 |
<dfn title="<?php _e( 'Open a new window on clicking the link in the chart.', 'ip-geo-block' ); ?>"><?php _e( 'Open a new window', 'ip-geo-block' ); ?></dfn>
|
697 |
</label>
|
698 |
<?php } ?></p>
|
@@ -1069,8 +1062,8 @@ class IP_Geo_Block_Admin {
|
|
1069 |
$output['public'][ $key ] = array();
|
1070 |
}
|
1071 |
|
1072 |
-
// 3.0.4 AS number
|
1073 |
-
$output['Maxmind']['use_asn'] = FALSE;
|
1074 |
|
1075 |
// 3.0.5 Live update
|
1076 |
$output['live_update']['in_memory'] = 0;
|
@@ -1288,9 +1281,12 @@ class IP_Geo_Block_Admin {
|
|
1288 |
|
1289 |
require_once IP_GEO_BLOCK_PATH . 'admin/includes/class-admin-ajax.php';
|
1290 |
|
|
|
1291 |
$settings = IP_Geo_Block::get_option();
|
1292 |
$which = isset( $_POST['which'] ) ? $_POST['which'] : NULL;
|
1293 |
-
|
|
|
|
|
1294 |
case 'download':
|
1295 |
$res = IP_Geo_Block::get_instance();
|
1296 |
$res = $res->exec_update_db();
|
@@ -1326,8 +1322,6 @@ class IP_Geo_Block_Admin {
|
|
1326 |
|
1327 |
case 'clear-logs':
|
1328 |
// Delete logs in MySQL DB
|
1329 |
-
$hook = array( 'comment', 'login', 'admin', 'xmlrpc', 'public' );
|
1330 |
-
$which = in_array( $which, $hook ) ? $which : NULL;
|
1331 |
IP_Geo_Block_Logs::clear_logs( $which );
|
1332 |
$res = array(
|
1333 |
'page' => 'options-general.php?page=' . IP_Geo_Block::PLUGIN_NAME,
|
@@ -1382,6 +1376,11 @@ class IP_Geo_Block_Admin {
|
|
1382 |
$res = IP_Geo_Block_Util::get_registered_actions( TRUE );
|
1383 |
break;
|
1384 |
|
|
|
|
|
|
|
|
|
|
|
1385 |
case 'restore-cache':
|
1386 |
// Restore cache from database and format for DataTables
|
1387 |
$res = IP_Geo_Block_Admin_Ajax::restore_cache( $which );
|
@@ -1389,7 +1388,7 @@ class IP_Geo_Block_Admin {
|
|
1389 |
|
1390 |
case 'bulk-action-remove':
|
1391 |
// Delete specified IP addresses from cache
|
1392 |
-
$res = IP_Geo_Block_Logs::delete_cache_entry(
|
1393 |
break;
|
1394 |
|
1395 |
case 'bulk-action-ip-white':
|
@@ -1397,21 +1396,25 @@ class IP_Geo_Block_Admin {
|
|
1397 |
case 'bulk-action-as-white':
|
1398 |
case 'bulk-action-as-black':
|
1399 |
// Bulk actions for registration of settings
|
1400 |
-
$src = ( FALSE !== strpos( $
|
1401 |
-
$dst = ( FALSE !== strpos( $
|
1402 |
|
1403 |
-
if ( empty( $which[ $src ] ) )
|
|
|
1404 |
break;
|
|
|
1405 |
|
1406 |
-
foreach ( array_unique( $which[ $src ] ) as $val ) {
|
1407 |
// replace anonymized IP address with CIDR (IPv4:256, IPv6:4096)
|
1408 |
$val = preg_replace(
|
1409 |
-
array( '
|
1410 |
-
array( '.0/24',
|
1411 |
$val
|
1412 |
);
|
1413 |
-
if (
|
|
|
1414 |
$settings['extra_ips'][ $dst ] .= "\n" . $val;
|
|
|
1415 |
}
|
1416 |
|
1417 |
if ( $settings['network_wide'] && is_plugin_active_for_network( IP_GEO_BLOCK_BASE ) )
|
@@ -1458,10 +1461,17 @@ class IP_Geo_Block_Admin {
|
|
1458 |
$res = IP_Geo_Block_Admin_Ajax::reset_live_log();
|
1459 |
break;
|
1460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1461 |
case 'create-table':
|
1462 |
case 'delete-table':
|
1463 |
// Need to define `IP_GEO_BLOCK_DEBUG` to true
|
1464 |
-
if ( 'create-table' === $
|
1465 |
IP_Geo_Block_Logs::create_tables();
|
1466 |
else
|
1467 |
IP_Geo_Block_Logs::delete_tables();
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Admin {
|
178 |
* @see https://developers.google.com/maps/faq#china_ws_access
|
179 |
*/
|
180 |
public function enqueue_admin_assets() {
|
181 |
+
$release = ( ! defined( 'IP_GEO_BLOCK_DEBUG' ) || ! IP_GEO_BLOCK_DEBUG );
|
182 |
+
|
183 |
$footer = TRUE;
|
184 |
$dependency = array( 'jquery' );
|
185 |
+
$version = $release ? IP_Geo_Block::VERSION : max(
|
186 |
+
filemtime( plugin_dir_path( __FILE__ ) . 'css/admin.css' ),
|
187 |
+
filemtime( plugin_dir_path( __FILE__ ) . 'js/admin.js' )
|
188 |
+
);
|
|
|
|
|
189 |
|
190 |
switch ( $this->admin_tab ) {
|
191 |
case 1: /* Statistics */
|
217 |
$settings = IP_Geo_Block::get_option();
|
218 |
if ( $key = $settings['api_key']['GoogleMap'] ) {
|
219 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-gmap-js',
|
220 |
+
plugins_url( $release ? 'js/gmap.min.js' : 'js/gmap.js', __FILE__ ),
|
|
|
|
|
221 |
$dependency, IP_Geo_Block::VERSION, $footer
|
222 |
);
|
223 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-google-map',
|
227 |
);
|
228 |
}
|
229 |
wp_enqueue_script( IP_Geo_Block::PLUGIN_NAME . '-whois-js',
|
230 |
+
plugins_url( $release ? 'js/whois.min.js' : 'js/whois.js', __FILE__ ),
|
|
|
|
|
231 |
$dependency, IP_Geo_Block::VERSION, $footer
|
232 |
);
|
|
|
233 |
}
|
234 |
|
235 |
// css for option page
|
236 |
wp_enqueue_style( IP_Geo_Block::PLUGIN_NAME . '-admin-icons',
|
237 |
+
plugins_url( $release ? 'css/admin-icons.min.css' : 'css/admin-icons.css', __FILE__ ),
|
|
|
|
|
238 |
array(), IP_Geo_Block::VERSION
|
239 |
);
|
240 |
wp_enqueue_style( IP_Geo_Block::PLUGIN_NAME . '-admin-styles',
|
241 |
+
plugins_url( $release ? 'css/admin.min.css' : 'css/admin.css', __FILE__ ),
|
|
|
|
|
242 |
array(), $version
|
243 |
);
|
244 |
|
245 |
// js for IP Geo Block admin page
|
246 |
wp_register_script(
|
247 |
$handle = IP_Geo_Block::PLUGIN_NAME . '-admin-script',
|
248 |
+
plugins_url( $release ? 'js/admin.min.js' : 'js/admin.js', __FILE__ ),
|
|
|
|
|
249 |
$dependency + ( isset( $addon ) ? array( $addon ) : array() ),
|
250 |
$version, $footer
|
251 |
);
|
265 |
/* [ 5] */ __( 'Clear logs ?', 'ip-geo-block' ),
|
266 |
/* [ 6] */ __( 'ajax for logged-in user', 'ip-geo-block' ),
|
267 |
/* [ 7] */ __( 'ajax for non logged-in user', 'ip-geo-block' ),
|
268 |
+
/* [ 8] */ __( '[Found: %d]', 'ip-geo-block' ),
|
269 |
+
/* [ 9] */ __( 'Find and verify `%s` on “Logs” tab.', 'ip-geo-block' ),
|
270 |
+
/* [10] */ __( 'This feature is available with HTML5 compliant browsers.', 'ip-geo-block' ),
|
271 |
+
/* [11] */ __( 'The selected row cannot be found in the visible area.', 'ip-geo-block' ),
|
272 |
+
/* [12] */ __( 'An error occurred while executing the ajax command `%s`.', 'ip-geo-block' ),
|
273 |
),
|
274 |
'i18n' => array(
|
275 |
/* [ 0] */ '<div class="ip-geo-block-loading"></div>',
|
291 |
),
|
292 |
'interval' => self::INTERVAL_LIVE_UPDATE, // interval for live update [sec]
|
293 |
'timeout' => self::TIMEOUT_LIVE_UPDATE, // timeout of pausing live update [sec]
|
294 |
+
'altgmap' => apply_filters( 'google-maps-nokey', '//maps.google.com/maps' ),
|
295 |
)
|
296 |
);
|
297 |
wp_enqueue_script( $handle );
|
393 |
}
|
394 |
|
395 |
if ( $admin_menu ) {
|
396 |
+
// `settings-updated` would be added just after settings updated.
|
397 |
+
if ( ! empty( $_REQUEST['settings-updated'] ) && $this->is_network ) {
|
398 |
$this->sync_multisite_option( $settings );
|
399 |
wp_safe_redirect(
|
400 |
esc_url_raw( add_query_arg(
|
653 |
|
654 |
if ( $this->is_network ) {
|
655 |
unset( $tabs[0], $tabs[5] ); // Settings, Site List
|
656 |
+
$title .= ' <span class="ip-geo-block-menu-link">';
|
657 |
$title .= ' [ <a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0 ), $this->dashboard_url( TRUE ) ) ) . '" target="_self">' . __( 'Settings', 'ip-geo-block' ) . '</a> ]';
|
658 |
$title .= ' [ <a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 5 ), $this->dashboard_url( TRUE ) ) ) . '" target="_self">' . __( 'Site List', 'ip-geo-block' ) . '</a> ]';
|
659 |
$title .= '</span>';
|
665 |
|
666 |
if ( $settings['network_wide'] ) {
|
667 |
unset( $tabs[1], $tabs[4], $tabs[2], $tabs[3] ); // Statistics, Logs, Search, Attribution
|
668 |
+
$title .= ' <span class="ip-geo-block-menu-link">';
|
669 |
$title .= '[ ' . __( 'Network wide', 'ip-geo-block' ) . ' ]';
|
670 |
$title .= '</span>';
|
671 |
}
|
681 |
</h2>
|
682 |
<p style="text-align:left">[ <a id="ip-geo-block-toggle-sections" href="#!"><?php _e( 'Toggle all', 'ip-geo-block' ); ?></a> ]
|
683 |
<?php if ( 4 === $tab ) { /* Logs tab */ ?>
|
684 |
+
<input id="ip-geo-block-live-update" type="checkbox"<?php checked( isset( $cookie[4][1] ) && 'o' === $cookie[4][1] ); disabled( extension_loaded( 'pdo_sqlite' ), FALSE ); ?> /><label for="ip-geo-block-live-update">
|
685 |
<dfn title="<?php _e( 'Independent of “Statistics and Logs settings”, you can see all the requests validated by this plugin in almost real time.', 'ip-geo-block' ); ?>"><?php _e( 'Live update', 'ip-geo-block' ); ?></dfn>
|
686 |
</label>
|
687 |
<?php } elseif (5 === $tab ) { /* Site List tab */ ?>
|
688 |
+
<input id="ip-geo-block-open-new" type="checkbox"<?php checked( isset( $cookie[5][1] ) && 'o' === $cookie[5][1] );?> /><label for="ip-geo-block-open-new">
|
689 |
<dfn title="<?php _e( 'Open a new window on clicking the link in the chart.', 'ip-geo-block' ); ?>"><?php _e( 'Open a new window', 'ip-geo-block' ); ?></dfn>
|
690 |
</label>
|
691 |
<?php } ?></p>
|
1062 |
$output['public'][ $key ] = array();
|
1063 |
}
|
1064 |
|
1065 |
+
// 3.0.4 AS number, 3.0.6 Auto updating of DB files
|
1066 |
+
$output['Maxmind']['use_asn'] = $output['update']['auto'] = FALSE;
|
1067 |
|
1068 |
// 3.0.5 Live update
|
1069 |
$output['live_update']['in_memory'] = 0;
|
1281 |
|
1282 |
require_once IP_GEO_BLOCK_PATH . 'admin/includes/class-admin-ajax.php';
|
1283 |
|
1284 |
+
// `$which` and `$cmd` should be restricted by whitelist in each function
|
1285 |
$settings = IP_Geo_Block::get_option();
|
1286 |
$which = isset( $_POST['which'] ) ? $_POST['which'] : NULL;
|
1287 |
+
$cmd = isset( $_POST['cmd' ] ) ? $_POST['cmd' ] : NULL;
|
1288 |
+
|
1289 |
+
switch ( $cmd ) {
|
1290 |
case 'download':
|
1291 |
$res = IP_Geo_Block::get_instance();
|
1292 |
$res = $res->exec_update_db();
|
1322 |
|
1323 |
case 'clear-logs':
|
1324 |
// Delete logs in MySQL DB
|
|
|
|
|
1325 |
IP_Geo_Block_Logs::clear_logs( $which );
|
1326 |
$res = array(
|
1327 |
'page' => 'options-general.php?page=' . IP_Geo_Block::PLUGIN_NAME,
|
1376 |
$res = IP_Geo_Block_Util::get_registered_actions( TRUE );
|
1377 |
break;
|
1378 |
|
1379 |
+
case 'get-blocked':
|
1380 |
+
// Get blocked actions and pages
|
1381 |
+
$res = IP_Geo_Block_Admin_Ajax::get_blocked_queries( $which );
|
1382 |
+
break;
|
1383 |
+
|
1384 |
case 'restore-cache':
|
1385 |
// Restore cache from database and format for DataTables
|
1386 |
$res = IP_Geo_Block_Admin_Ajax::restore_cache( $which );
|
1388 |
|
1389 |
case 'bulk-action-remove':
|
1390 |
// Delete specified IP addresses from cache
|
1391 |
+
$res = IP_Geo_Block_Logs::delete_cache_entry( @$which['IP'] );
|
1392 |
break;
|
1393 |
|
1394 |
case 'bulk-action-ip-white':
|
1396 |
case 'bulk-action-as-white':
|
1397 |
case 'bulk-action-as-black':
|
1398 |
// Bulk actions for registration of settings
|
1399 |
+
$src = ( FALSE !== strpos( $cmd, '-ip-' ) ? 'IP' : 'AS' );
|
1400 |
+
$dst = ( FALSE !== strpos( $cmd, '-white' ) ? 'white_list' : 'black_list' );
|
1401 |
|
1402 |
+
if ( empty( $which[ $src ] ) ) {
|
1403 |
+
$res = array( 'error' => sprintf( __( 'An error occurred while executing the ajax command `%s`.', 'ip-geo-block' ), $cmd ) );
|
1404 |
break;
|
1405 |
+
}
|
1406 |
|
1407 |
+
foreach ( array_unique( (array)$which[ $src ] ) as $val ) {
|
1408 |
// replace anonymized IP address with CIDR (IPv4:256, IPv6:4096)
|
1409 |
$val = preg_replace(
|
1410 |
+
array( '!\.\*\*\*$!', '!\*\*\*$!' ),
|
1411 |
+
array( '.0/24', '000/116' ),
|
1412 |
$val
|
1413 |
);
|
1414 |
+
if ( ( filter_var( preg_replace( '!/\d+$!', '', $val ), FILTER_VALIDATE_IP ) || preg_match( '^AS\d+$', $val ) ) &&
|
1415 |
+
( FALSE === strpos( $settings['extra_ips'][ $dst ], $val ) ) ) {
|
1416 |
$settings['extra_ips'][ $dst ] .= "\n" . $val;
|
1417 |
+
}
|
1418 |
}
|
1419 |
|
1420 |
if ( $settings['network_wide'] && is_plugin_active_for_network( IP_GEO_BLOCK_BASE ) )
|
1461 |
$res = IP_Geo_Block_Admin_Ajax::reset_live_log();
|
1462 |
break;
|
1463 |
|
1464 |
+
case 'find-admin':
|
1465 |
+
case 'find-plugins':
|
1466 |
+
case 'find-themes':
|
1467 |
+
// Get slug in blocked requests for exceptions
|
1468 |
+
$res = IP_Geo_Block_Admin_Ajax::find_exceptions( $cmd );
|
1469 |
+
break;
|
1470 |
+
|
1471 |
case 'create-table':
|
1472 |
case 'delete-table':
|
1473 |
// Need to define `IP_GEO_BLOCK_DEBUG` to true
|
1474 |
+
if ( 'create-table' === $cmd )
|
1475 |
IP_Geo_Block_Logs::create_tables();
|
1476 |
else
|
1477 |
IP_Geo_Block_Logs::delete_tables();
|
admin/css/admin-icons.css
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
/*! IP Geo Block admin icons */
|
2 |
@font-face {
|
3 |
font-family: 'icomoon';
|
4 |
-
src: url('fonts/icomoon.eot?
|
5 |
-
src: url('fonts/icomoon.eot?
|
6 |
-
url('fonts/icomoon.ttf?
|
7 |
-
url('fonts/icomoon.woff?
|
8 |
-
url('fonts/icomoon.svg?
|
9 |
font-weight: normal;
|
10 |
font-style: normal;
|
11 |
}
|
@@ -24,18 +24,30 @@
|
|
24 |
-moz-osx-font-smoothing: grayscale;
|
25 |
}
|
26 |
|
27 |
-
.ip-geo-block-icon-
|
28 |
content: "\ea1c";
|
29 |
}
|
30 |
-
.ip-geo-block-icon-
|
31 |
content: "\ea1d";
|
32 |
}
|
33 |
-
.ip-geo-block-icon-
|
34 |
content: "\ea1e";
|
35 |
}
|
|
|
|
|
|
|
|
|
36 |
|
37 |
#toplevel_page_ip-geo-block .dashicons-admin-generic:before {
|
38 |
font-family: 'icomoon';
|
39 |
content: "\e9c9";
|
40 |
font-size: 18px;
|
41 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/*! IP Geo Block admin icons */
|
2 |
@font-face {
|
3 |
font-family: 'icomoon';
|
4 |
+
src: url('fonts/icomoon.eot?astkh8');
|
5 |
+
src: url('fonts/icomoon.eot?astkh8#iefix') format('embedded-opentype'),
|
6 |
+
url('fonts/icomoon.ttf?astkh8') format('truetype'),
|
7 |
+
url('fonts/icomoon.woff?astkh8') format('woff'),
|
8 |
+
url('fonts/icomoon.svg?astkh8#icomoon') format('svg');
|
9 |
font-weight: normal;
|
10 |
font-style: normal;
|
11 |
}
|
24 |
-moz-osx-font-smoothing: grayscale;
|
25 |
}
|
26 |
|
27 |
+
.ip-geo-block-icon-play:before {
|
28 |
content: "\ea1c";
|
29 |
}
|
30 |
+
.ip-geo-block-icon-pause:before {
|
31 |
content: "\ea1d";
|
32 |
}
|
33 |
+
.ip-geo-block-icon-stop:before {
|
34 |
content: "\ea1e";
|
35 |
}
|
36 |
+
.ip-geo-block-icon-warn:before {
|
37 |
+
content: "\ea07";
|
38 |
+
color: #c43322;
|
39 |
+
}
|
40 |
|
41 |
#toplevel_page_ip-geo-block .dashicons-admin-generic:before {
|
42 |
font-family: 'icomoon';
|
43 |
content: "\e9c9";
|
44 |
font-size: 18px;
|
45 |
}
|
46 |
+
/*#toplevel_page_ip-geo-block .dashicons-admin-generic:after {
|
47 |
+
font-family: 'icomoon';
|
48 |
+
content: "\e9b4";
|
49 |
+
font-size: 10px;
|
50 |
+
position: absolute;
|
51 |
+
top: 1.4em;
|
52 |
+
left: 2em;
|
53 |
+
}*/
|
admin/css/admin-icons.min.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
/*! IP Geo Block admin icons */
|
2 |
-
@font-face{font-family:icomoon;src:url(fonts/icomoon.eot?
|
1 |
/*! IP Geo Block admin icons */
|
2 |
+
@font-face{font-family:icomoon;src:url(fonts/icomoon.eot?astkh8);src:url(fonts/icomoon.eot?astkh8#iefix) format('embedded-opentype'),url(fonts/icomoon.ttf?astkh8) format('truetype'),url(fonts/icomoon.woff?astkh8) format('woff'),url(fonts/icomoon.svg?astkh8#icomoon) format('svg');font-weight:400;font-style:normal}[class*=" ip-geo-block-icon-"],[class^=ip-geo-block-icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ip-geo-block-icon-play:before{content:"\ea1c"}.ip-geo-block-icon-pause:before{content:"\ea1d"}.ip-geo-block-icon-stop:before{content:"\ea1e"}.ip-geo-block-icon-warn:before{content:"\ea07";color:#c43322}#toplevel_page_ip-geo-block .dashicons-admin-generic:before{font-family:icomoon;content:"\e9c9";font-size:18px}
|
admin/css/admin.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Project: WordPress IP Geo Block
|
3 |
-
* Copyright (c)
|
4 |
* This software is released under the MIT License.
|
5 |
*/
|
6 |
dfn {
|
@@ -72,6 +72,9 @@ fieldset.ip-geo-block-field h3 {
|
|
72 |
margin: 0;
|
73 |
font-size: 14px !important;
|
74 |
}
|
|
|
|
|
|
|
75 |
fieldset.ip-geo-block-field legend.panel-heading {
|
76 |
padding: 10px;
|
77 |
}
|
@@ -100,34 +103,39 @@ fieldset.ip-geo-block-field .ip-geo-block-dropdown:before {
|
|
100 |
left: -2px;
|
101 |
top: 38%;
|
102 |
}
|
|
|
|
|
|
|
|
|
103 |
fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before {
|
104 |
top: 0.25em;
|
105 |
}
|
106 |
fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before {
|
107 |
-
top: 0.
|
108 |
}
|
109 |
fieldset.ip-geo-block-field table.form-table {
|
110 |
margin: 0 0 0.5em;
|
111 |
width: 100%;
|
112 |
}
|
113 |
-
fieldset.ip-geo-block-field .ip-geo-block-desc {
|
114 |
-
color: #666;
|
115 |
-
font-size: 13px !important;
|
116 |
-
/* font-style: italic;*/
|
117 |
-
}
|
118 |
|
|
|
119 |
textarea.regular-text {
|
120 |
width: 25em;
|
121 |
}
|
|
|
|
|
|
|
|
|
122 |
|
123 |
-
|
|
|
124 |
margin: 0.5em 0;
|
125 |
}
|
126 |
-
|
127 |
margin-bottom: 0;
|
128 |
}
|
129 |
-
|
130 |
-
margin
|
131 |
}
|
132 |
.folding-disable {
|
133 |
pointer-events: none;
|
@@ -138,52 +146,46 @@ ul.ip-geo-block-settings-folding li:first-child {
|
|
138 |
font-style:oblique !important;
|
139 |
}
|
140 |
|
141 |
-
|
|
|
142 |
display: inline-block;
|
143 |
width: 18em;
|
144 |
-
|
145 |
-
|
146 |
-
ul#ip-geo-block-actions dfn {
|
147 |
-
border: none;
|
148 |
-
}
|
149 |
-
ul#ip-geo-block-actions span.dashicons {
|
150 |
-
font-size: 14px;
|
151 |
}
|
152 |
.ip-geo-block-checked {
|
153 |
list-style-type: disc;
|
154 |
}
|
155 |
-
|
156 |
.ip-geo-block-ip-addr {
|
157 |
display: inline-block;
|
158 |
padding-top: 5px;
|
159 |
}
|
160 |
-
|
161 |
.ip-geo-block-hide {
|
162 |
display: none;
|
163 |
}
|
164 |
-
|
165 |
.ip-geo-block-sup {
|
166 |
margin-left: 0.2em;
|
167 |
display: inline-block;
|
168 |
}
|
169 |
-
|
170 |
-
ul.ip-geo-block-note {
|
171 |
margin-top: 1em;
|
172 |
list-style: disc inside;
|
173 |
}
|
174 |
-
|
175 |
-
|
176 |
-
margin-bottom: 0.25em;
|
177 |
}
|
178 |
-
|
|
|
|
|
|
|
|
|
179 |
display: inline-block;
|
180 |
}
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
}
|
185 |
}
|
186 |
|
|
|
187 |
.ip-geo-block-loading,
|
188 |
#ip-geo-block-live-loading {
|
189 |
background-size: 16px 16px;
|
@@ -194,36 +196,17 @@ ul.ip-geo-block-list label {
|
|
194 |
margin-left: 1em;
|
195 |
margin-top: 0.2em;
|
196 |
display: inline-block;
|
197 |
-
vertical-align:
|
198 |
}
|
199 |
.ip-geo-block-loading {
|
200 |
background-image: url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==);
|
201 |
}
|
202 |
|
203 |
-
|
204 |
-
border-top: inherit;
|
205 |
-
}
|
206 |
-
|
207 |
-
.ip-geo-block-notice {
|
208 |
-
color: #dd3d36;
|
209 |
-
}
|
210 |
-
|
211 |
-
.ip-geo-block-title {
|
212 |
-
width: 100px;
|
213 |
-
display: inline-block;
|
214 |
-
}
|
215 |
-
|
216 |
-
.ip-geo-block-result {
|
217 |
-
color: #2786C2;
|
218 |
-
display: inline-block;
|
219 |
-
}
|
220 |
-
|
221 |
#ip-geo-block-map {
|
222 |
height: 400px;
|
223 |
margin: 1em auto;
|
224 |
}
|
225 |
-
|
226 |
-
/* google map infomation window */
|
227 |
.gm-style-iw {
|
228 |
width: 18em;
|
229 |
height: auto !important;
|
@@ -237,11 +220,13 @@ ul.ip-geo-block-list label {
|
|
237 |
margin: 0.2em;
|
238 |
}
|
239 |
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
text-
|
244 |
-
|
|
|
|
|
245 |
}
|
246 |
|
247 |
/* table */
|
@@ -272,7 +257,7 @@ table.ip-geo-block-table td:first-child {
|
|
272 |
min-width: 4.3em;
|
273 |
}
|
274 |
|
275 |
-
/*
|
276 |
@media screen and (max-width:782px) {
|
277 |
#ip-geo-block-whois .panel-body {
|
278 |
padding: 0 0.5em;
|
@@ -288,7 +273,7 @@ table.ip-geo-block-table td:first-child {
|
|
288 |
margin-bottom: 0;
|
289 |
}
|
290 |
|
291 |
-
/*
|
292 |
#ip-geo-block-chart-countries {
|
293 |
height: 200px;
|
294 |
}
|
@@ -301,10 +286,6 @@ table.ip-geo-block-table td:first-child {
|
|
301 |
#ip_geo_block_settings_validation_mimetype + label + ul {
|
302 |
margin-top: 0.7em;
|
303 |
}
|
304 |
-
#ip_geo_block_settings_validation_plugins,
|
305 |
-
#ip_geo_block_settings_validation_themes {
|
306 |
-
margin-top: 0.7em;
|
307 |
-
}
|
308 |
#ip_geo_block_settings_create_user {
|
309 |
margin-bottom: 0.5em;
|
310 |
}
|
@@ -330,35 +311,36 @@ table.ip-geo-block-table td:first-child {
|
|
330 |
background-color: #00919e !important;
|
331 |
border-color: #00525a !important;
|
332 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
|
334 |
-
|
|
|
335 |
font-size: 13px !important;
|
336 |
}
|
337 |
-
/*span.ip-geo-block-title-link a {
|
338 |
-
box-shadow: none;
|
339 |
-
}*/
|
340 |
|
341 |
-
|
342 |
-
dfn ~ .ip-geo-block-
|
343 |
-
dfn ~ .ip-geo-block-unlock {
|
344 |
margin-left: 0.6em;
|
345 |
}
|
346 |
-
.ip-geo-block-
|
347 |
-
.ip-geo-block-lock,
|
348 |
-
.ip-geo-block-unlock {
|
349 |
cursor: pointer;
|
|
|
350 |
box-shadow: none;
|
351 |
text-decoration: none;
|
|
|
352 |
}
|
353 |
-
.ip-geo-block-
|
354 |
-
.ip-geo-block-lock:active,
|
355 |
-
.ip-geo-block-unlock:active {
|
356 |
position: relative;
|
357 |
top: 1px;
|
358 |
}
|
359 |
-
.ip-geo-block-
|
360 |
-
.ip-geo-block-lock span,
|
361 |
-
.ip-geo-block-unlock span {
|
362 |
height: 16px;
|
363 |
width: 16px;
|
364 |
margin: 0;
|
@@ -369,79 +351,94 @@ dfn ~ .ip-geo-block-unlock {
|
|
369 |
background-position: center center;
|
370 |
background-repeat: no-repeat;
|
371 |
}
|
372 |
-
.ip-geo-block-cycle span {
|
373 |
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);
|
374 |
}
|
375 |
-
.ip-geo-block-lock span {
|
376 |
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==);
|
377 |
}
|
378 |
-
.ip-geo-block-unlock span {
|
379 |
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC);
|
380 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
table.form-table th .ip-geo-block-cycle span {
|
382 |
vertical-align: text-bottom;
|
383 |
}
|
384 |
|
385 |
-
/*
|
386 |
-
.ip-geo-block-
|
387 |
-
|
388 |
-
|
389 |
-
display: inline-block;
|
390 |
-
font: normal 16px/20px dashicons;
|
391 |
-
speak: none;
|
392 |
-
height: 1em;
|
393 |
-
width: 1em;
|
394 |
-
text-align: center;
|
395 |
-
vertical-align: text-top;
|
396 |
-
-webkit-font-smoothing: antialiased;
|
397 |
-
-moz-osx-font-smoothing: grayscale;
|
398 |
-
}*/
|
399 |
-
#ip-geo-block-back-to-top {
|
400 |
-
margin:0;
|
401 |
-
text-align:right;
|
402 |
}
|
403 |
-
|
404 |
-
|
405 |
-
|
|
|
406 |
}
|
407 |
|
408 |
-
/*
|
409 |
-
.ip-geo-block-
|
410 |
-
|
411 |
}
|
412 |
-
|
413 |
-
|
414 |
-
ol.ip-geo-block-top-list {
|
415 |
-
display: inline-table;
|
416 |
-
list-style-position: outside;
|
417 |
-
margin: 0 2em 0.5em 1.75em;
|
418 |
}
|
419 |
-
|
420 |
-
|
421 |
}
|
422 |
-
|
423 |
-
|
|
|
|
|
|
|
|
|
424 |
}
|
425 |
|
426 |
-
/*
|
427 |
-
|
428 |
-
|
429 |
-
|
|
|
|
|
|
|
|
|
|
|
430 |
}
|
431 |
|
432 |
-
/*
|
433 |
.ip-geo-block-admin-post {
|
434 |
color: #c43322;
|
435 |
margin-left: 0.25em;
|
436 |
}
|
|
|
|
|
|
|
|
|
437 |
|
438 |
-
/*
|
439 |
-
|
440 |
-
|
441 |
-
|
|
|
442 |
}
|
443 |
-
|
444 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
}
|
446 |
|
447 |
/*------------------------------------------------------------
|
@@ -556,11 +553,11 @@ table.dataTable > tbody > tr > td span {
|
|
556 |
table.dataTable input[type="checkbox"] {
|
557 |
height: 16px;
|
558 |
width: 16px;
|
559 |
-
margin: 0;
|
560 |
}
|
561 |
table.dataTable > thead > tr > th:first-child,
|
562 |
table.dataTable > tbody > tr > td:first-child {
|
563 |
-
padding: 8px 4px 8px
|
564 |
text-align: left;
|
565 |
}
|
566 |
|
@@ -599,12 +596,11 @@ table.collapsed > tbody > tr.parent > td:first-child::before {
|
|
599 |
}
|
600 |
table.collapsed > tbody > tr > td:first-child::before {
|
601 |
border-left: 5px solid #555;
|
602 |
-
top: 1px;
|
603 |
left: -2px;
|
604 |
}
|
605 |
table.collapsed > tbody > tr.parent > td:first-child::before {
|
606 |
border-top: 5px solid #555;
|
607 |
-
top:
|
608 |
left: -4px;
|
609 |
}
|
610 |
table.collapsed > tbody > tr.child > td:first-child::before {
|
@@ -706,24 +702,24 @@ table.collapsed > tbody > tr.child > td.child > ul li span.dtr-data {
|
|
706 |
}
|
707 |
|
708 |
/* Select target / Period to extract */
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
margin: 0;
|
713 |
}
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
float: left;
|
718 |
margin-right: 1.5em;
|
719 |
}
|
720 |
-
|
721 |
-
|
722 |
cursor: pointer;
|
723 |
}
|
724 |
|
725 |
/* Filter */
|
726 |
-
|
727 |
width: 16em;
|
728 |
padding-top: 3px;
|
729 |
}
|
@@ -757,20 +753,21 @@ mark {
|
|
757 |
}
|
758 |
|
759 |
/* Live update log */
|
760 |
-
|
761 |
margin: 0;
|
762 |
}
|
763 |
-
|
764 |
float: left;
|
765 |
margin-right: 3em;
|
766 |
}
|
767 |
-
|
768 |
margin-right: 0;
|
769 |
}
|
770 |
-
|
771 |
-
|
|
|
772 |
}
|
773 |
-
|
774 |
display:inline-block;
|
775 |
margin:-2px;
|
776 |
padding: 4px 12px;
|
@@ -799,7 +796,7 @@ ul#ip-geo-block-live-log li input[type=radio] + label {
|
|
799 |
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
|
800 |
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
|
801 |
}
|
802 |
-
|
803 |
background-image: none;
|
804 |
outline: 0;
|
805 |
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
|
@@ -814,9 +811,10 @@ ul#ip-geo-block-live-log li input[type=radio]:checked + label {
|
|
814 |
.ip-geo-block-live-timer {
|
815 |
height: 1em;
|
816 |
width: 1em;
|
817 |
-
position: relative;
|
818 |
-
top: -0.1em;
|
819 |
margin: 0;
|
|
|
|
|
|
|
820 |
}
|
821 |
.ip-geo-block-live-timer:before {
|
822 |
content: "";
|
@@ -824,8 +822,8 @@ ul#ip-geo-block-live-log li input[type=radio]:checked + label {
|
|
824 |
height: 1em;
|
825 |
width: 1em;
|
826 |
background: radial-gradient(#0073aa, #72777c);
|
827 |
-
position: absolute;
|
828 |
border-radius: 50%;
|
|
|
829 |
top: 0;
|
830 |
left: 0;
|
831 |
}
|
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 {
|
72 |
margin: 0;
|
73 |
font-size: 14px !important;
|
74 |
}
|
75 |
+
fieldset.ip-geo-block-field h4 {
|
76 |
+
margin: 0.75em 0 0.5em 0;
|
77 |
+
}
|
78 |
fieldset.ip-geo-block-field legend.panel-heading {
|
79 |
padding: 10px;
|
80 |
}
|
103 |
left: -2px;
|
104 |
top: 38%;
|
105 |
}
|
106 |
+
fieldset.ip-geo-block-field .form-table .ip-geo-block-dropup,
|
107 |
+
fieldset.ip-geo-block-field .form-table .ip-geo-block-dropdown {
|
108 |
+
margin-top: 0.75em;
|
109 |
+
}
|
110 |
fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before {
|
111 |
top: 0.25em;
|
112 |
}
|
113 |
fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before {
|
114 |
+
top: 0.5em;
|
115 |
}
|
116 |
fieldset.ip-geo-block-field table.form-table {
|
117 |
margin: 0 0 0.5em;
|
118 |
width: 100%;
|
119 |
}
|
|
|
|
|
|
|
|
|
|
|
120 |
|
121 |
+
/* Text */
|
122 |
textarea.regular-text {
|
123 |
width: 25em;
|
124 |
}
|
125 |
+
fieldset.ip-geo-block-field input.regular-text,
|
126 |
+
fieldset.ip-geo-block-field textarea.regular-text {
|
127 |
+
font-size: 95%;
|
128 |
+
}
|
129 |
|
130 |
+
/* Folding */
|
131 |
+
.ip-geo-block-settings-folding {
|
132 |
margin: 0.5em 0;
|
133 |
}
|
134 |
+
.ip-geo-block-settings-folding ul {
|
135 |
margin-bottom: 0;
|
136 |
}
|
137 |
+
.ip-geo-block-settings-folding li {
|
138 |
+
margin: 0.5em 0;
|
139 |
}
|
140 |
.folding-disable {
|
141 |
pointer-events: none;
|
146 |
font-style:oblique !important;
|
147 |
}
|
148 |
|
149 |
+
/* Etc */
|
150 |
+
.ip-geo-block-float li {
|
151 |
display: inline-block;
|
152 |
width: 18em;
|
153 |
+
margin-top: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
}
|
155 |
.ip-geo-block-checked {
|
156 |
list-style-type: disc;
|
157 |
}
|
|
|
158 |
.ip-geo-block-ip-addr {
|
159 |
display: inline-block;
|
160 |
padding-top: 5px;
|
161 |
}
|
|
|
162 |
.ip-geo-block-hide {
|
163 |
display: none;
|
164 |
}
|
|
|
165 |
.ip-geo-block-sup {
|
166 |
margin-left: 0.2em;
|
167 |
display: inline-block;
|
168 |
}
|
169 |
+
.ip-geo-block-note {
|
|
|
170 |
margin-top: 1em;
|
171 |
list-style: disc inside;
|
172 |
}
|
173 |
+
.ip-geo-block-border {
|
174 |
+
border-top: inherit;
|
|
|
175 |
}
|
176 |
+
.ip-geo-block-notice {
|
177 |
+
color: #dd3d36;
|
178 |
+
}
|
179 |
+
.ip-geo-block-title {
|
180 |
+
width: 100px;
|
181 |
display: inline-block;
|
182 |
}
|
183 |
+
.ip-geo-block-result {
|
184 |
+
color: #2786C2;
|
185 |
+
display: inline-block;
|
|
|
186 |
}
|
187 |
|
188 |
+
/* Loading image */
|
189 |
.ip-geo-block-loading,
|
190 |
#ip-geo-block-live-loading {
|
191 |
background-size: 16px 16px;
|
196 |
margin-left: 1em;
|
197 |
margin-top: 0.2em;
|
198 |
display: inline-block;
|
199 |
+
vertical-align: top;
|
200 |
}
|
201 |
.ip-geo-block-loading {
|
202 |
background-image: url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==);
|
203 |
}
|
204 |
|
205 |
+
/* Google Map infomation window */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
#ip-geo-block-map {
|
207 |
height: 400px;
|
208 |
margin: 1em auto;
|
209 |
}
|
|
|
|
|
210 |
.gm-style-iw {
|
211 |
width: 18em;
|
212 |
height: auto !important;
|
220 |
margin: 0.2em;
|
221 |
}
|
222 |
|
223 |
+
/* SVG in google chart */
|
224 |
+
svg a > text {
|
225 |
+
fill: #0073aa;
|
226 |
+
text-decoration: underline;
|
227 |
+
}
|
228 |
+
svg a:hover > text {
|
229 |
+
fill: #0096dd;
|
230 |
}
|
231 |
|
232 |
/* table */
|
257 |
min-width: 4.3em;
|
258 |
}
|
259 |
|
260 |
+
/* Whois */
|
261 |
@media screen and (max-width:782px) {
|
262 |
#ip-geo-block-whois .panel-body {
|
263 |
padding: 0 0.5em;
|
273 |
margin-bottom: 0;
|
274 |
}
|
275 |
|
276 |
+
/* Google Chart */
|
277 |
#ip-geo-block-chart-countries {
|
278 |
height: 200px;
|
279 |
}
|
286 |
#ip_geo_block_settings_validation_mimetype + label + ul {
|
287 |
margin-top: 0.7em;
|
288 |
}
|
|
|
|
|
|
|
|
|
289 |
#ip_geo_block_settings_create_user {
|
290 |
margin-bottom: 0.5em;
|
291 |
}
|
311 |
background-color: #00919e !important;
|
312 |
border-color: #00525a !important;
|
313 |
}
|
314 |
+
#ip-geo-block-back-to-top {
|
315 |
+
margin:0;
|
316 |
+
text-align:right;
|
317 |
+
}
|
318 |
+
#ip-geo-block-open-new,
|
319 |
+
#ip-geo-block-live-update {
|
320 |
+
margin-left: 1em;
|
321 |
+
}
|
322 |
|
323 |
+
/* Top menu link */
|
324 |
+
.ip-geo-block-menu-link {
|
325 |
font-size: 13px !important;
|
326 |
}
|
|
|
|
|
|
|
327 |
|
328 |
+
/* Icons */
|
329 |
+
dfn ~ .ip-geo-block-icon {
|
|
|
330 |
margin-left: 0.6em;
|
331 |
}
|
332 |
+
.ip-geo-block-icon {
|
|
|
|
|
333 |
cursor: pointer;
|
334 |
+
outline: none;
|
335 |
box-shadow: none;
|
336 |
text-decoration: none;
|
337 |
+
background-color: transparent;
|
338 |
}
|
339 |
+
.ip-geo-block-icon:active {
|
|
|
|
|
340 |
position: relative;
|
341 |
top: 1px;
|
342 |
}
|
343 |
+
.ip-geo-block-icon span {
|
|
|
|
|
344 |
height: 16px;
|
345 |
width: 16px;
|
346 |
margin: 0;
|
351 |
background-position: center center;
|
352 |
background-repeat: no-repeat;
|
353 |
}
|
354 |
+
.ip-geo-block-icon-cycle span {
|
355 |
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);
|
356 |
}
|
357 |
+
.ip-geo-block-icon-lock span {
|
358 |
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==);
|
359 |
}
|
360 |
+
.ip-geo-block-icon-unlock span {
|
361 |
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC);
|
362 |
}
|
363 |
+
.ip-geo-block-icon-find span {
|
364 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NzS19rD0NWHtMpGk7kYfbAGda0Req+WtcTT1temwM4AcasAcqwAc6wAcKydvMt1pr8Ab6pqpcLX2doggrKoxdNYm7yzw8u/y9HO1tkKdq4th7Td3t6DrcLL0taxyNPGe/YhAAAAAXRSTlMAQObYZgAAARVJREFUeAGtkkeiwyAMRP2xDfxoRjElvd3/lOkNUlZ5u0GPruan/Bnz96Xadr21rvP/7+ujXsAjom78rj4ApCoERIipqfGB1H7wPmYhw1DXjZI6nOel1oJhVAmdUP0tTEDkVC4AYvqIbaDOCqFV6vwRF0tIeYoo6J/X7ICuPAJl9ZynwiIfB5DXxZlRChulbh8xZci0EHZK3TziJFDL504rEOZ+iR5cVj82DoS7XtSshLJpKqaB0Dg3ZjcsQWKaKiF1gVQlITwh/bw2pgKeEeURhE29yKSzUFF03p1V7Wqj2Y7GfrY9X/NirJsPxKsxfBLSSs5GmH8yjAWPSNd8Yoez4f4/G1nIsksqFtGK1i9e39o0P+EAqaoRLlQ+r94AAAAASUVORK5CYII=);
|
365 |
+
}
|
366 |
+
span.ip-geo-block-icon-alert,
|
367 |
+
.ip-geo-block-icon-alert span {
|
368 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEXc3Nzc2trWl5DHRDTFOyvOgXfc1tXCLBrEMiHEMyLNcmfaxMLDMSDDLx7bu7jRiYHDLhzDMB/LX1PaxsTDLh3YtrHMY1bWmpPJVknSjYXUkYnZuLTMZVnENCPWlI3QhXzENiXXrqrDLRzXsa3Oal7Pe3Hc2NjVn5nNbmPayMbbwb7ay8rUj4fc09Lbw8Db0dDBbRUDAAAAAXRSTlMAQObYZgAAAPVJREFUeAG9ktXWwyAQBonC12brFvff5f2frr4nBredK2DnTFS8Gst2XM8XZmypIGeWcT4PFABaGIXlClfWG1NiC4Ubu705oKRcY32wTAHl2MdTYEqEK8hIiHgHSnSJeaogMyEWO4BijZCvwII2MS9UJ2BXTh+hQidoEttboBOwq3WBnkCNpQlA2iyAhol2hRu71n97p4fw0Z9/ugoPHCfFA+o/iLfCkyBglRJdICBas7uuey+R56fF14wNanj+/QjwY3aX23cBFn6EiHmHNT/ICYxystv/wJy4UHWGlN2cuPB72tFqAq3dP/Hk3zs0E5LZVryGC/hqGNnUa0SVAAAAAElFTkSuQmCC);
|
369 |
+
vertical-align: bottom;
|
370 |
+
}
|
371 |
+
|
372 |
table.form-table th .ip-geo-block-cycle span {
|
373 |
vertical-align: text-bottom;
|
374 |
}
|
375 |
|
376 |
+
/* Option list */
|
377 |
+
.ip-geo-block-list {
|
378 |
+
margin-top: 0;
|
379 |
+
margin-bottom: 0.7em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
}
|
381 |
+
@media screen and (min-width:782px) {
|
382 |
+
ul.ip-geo-block-list .code {
|
383 |
+
width: 15em;
|
384 |
+
}
|
385 |
}
|
386 |
|
387 |
+
/* Exceptions */
|
388 |
+
.ip-geo-block-list-exceptions label {
|
389 |
+
display: inline-block;
|
390 |
}
|
391 |
+
.ip-geo-block-list-exceptions dfn {
|
392 |
+
border: none;
|
|
|
|
|
|
|
|
|
393 |
}
|
394 |
+
.ip-geo-block-list-exceptions span.dashicons {
|
395 |
+
font-size: 14px;
|
396 |
}
|
397 |
+
.ip-geo-block-list-exceptions a.ip-geo-block-icon {
|
398 |
+
margin-left: 0.3em;
|
399 |
+
outline: none;
|
400 |
+
box-shadow: none;
|
401 |
+
text-decoration: none;
|
402 |
+
background-color: transparent;
|
403 |
}
|
404 |
|
405 |
+
/* Description */
|
406 |
+
.form-table td p.ip-geo-block-desc,
|
407 |
+
.form-table td p.ip-geo-block-find-desc {
|
408 |
+
color: #666;
|
409 |
+
font-size: 13px !important;
|
410 |
+
margin: 4px 0 0.5em 0.5em;
|
411 |
+
}
|
412 |
+
.ip-geo-block-find-desc {
|
413 |
+
display: none;
|
414 |
}
|
415 |
|
416 |
+
/* Action for admin post */
|
417 |
.ip-geo-block-admin-post {
|
418 |
color: #c43322;
|
419 |
margin-left: 0.25em;
|
420 |
}
|
421 |
+
.ip-geo-block-found {
|
422 |
+
color: #c43322;
|
423 |
+
font-weight: bold;
|
424 |
+
}
|
425 |
|
426 |
+
/* Statistics */
|
427 |
+
.ip-geo-block-top-list {
|
428 |
+
display: inline-table;
|
429 |
+
list-style-position: outside;
|
430 |
+
margin: 0 2em 0.5em 1.75em;
|
431 |
}
|
432 |
+
.ip-geo-block-top-list h4 {
|
433 |
+
margin: 1em 0;
|
434 |
+
}
|
435 |
+
.ip-geo-block-top-list li code {
|
436 |
+
background: none;
|
437 |
+
}
|
438 |
+
|
439 |
+
/* Embeded data for network site list */
|
440 |
+
.ip-geo-block-network {
|
441 |
+
margin-bottom: 1em;
|
442 |
}
|
443 |
|
444 |
/*------------------------------------------------------------
|
553 |
table.dataTable input[type="checkbox"] {
|
554 |
height: 16px;
|
555 |
width: 16px;
|
556 |
+
margin: -4px 1px 0 0;
|
557 |
}
|
558 |
table.dataTable > thead > tr > th:first-child,
|
559 |
table.dataTable > tbody > tr > td:first-child {
|
560 |
+
padding: 8px 4px 8px 1.4em;
|
561 |
text-align: left;
|
562 |
}
|
563 |
|
596 |
}
|
597 |
table.collapsed > tbody > tr > td:first-child::before {
|
598 |
border-left: 5px solid #555;
|
|
|
599 |
left: -2px;
|
600 |
}
|
601 |
table.collapsed > tbody > tr.parent > td:first-child::before {
|
602 |
border-top: 5px solid #555;
|
603 |
+
top: 3px;
|
604 |
left: -4px;
|
605 |
}
|
606 |
table.collapsed > tbody > tr.child > td:first-child::before {
|
702 |
}
|
703 |
|
704 |
/* Select target / Period to extract */
|
705 |
+
#ip-geo-block-select-target,
|
706 |
+
#ip-geo-block-select-layout,
|
707 |
+
#ip-geo-block-select-duration {
|
708 |
margin: 0;
|
709 |
}
|
710 |
+
#ip-geo-block-select-target li,
|
711 |
+
#ip-geo-block-select-layout li,
|
712 |
+
#ip-geo-block-select-duration li {
|
713 |
float: left;
|
714 |
margin-right: 1.5em;
|
715 |
}
|
716 |
+
#ip-geo-block-select-target li label,
|
717 |
+
#ip-geo-block-select-duration li label {
|
718 |
cursor: pointer;
|
719 |
}
|
720 |
|
721 |
/* Filter */
|
722 |
+
#ip_geo_block_settings_search_filter {
|
723 |
width: 16em;
|
724 |
padding-top: 3px;
|
725 |
}
|
753 |
}
|
754 |
|
755 |
/* Live update log */
|
756 |
+
#ip-geo-block-live-log {
|
757 |
margin: 0;
|
758 |
}
|
759 |
+
#ip-geo-block-live-log li {
|
760 |
float: left;
|
761 |
margin-right: 3em;
|
762 |
}
|
763 |
+
#ip-geo-block-live-log li:last-child {
|
764 |
margin-right: 0;
|
765 |
}
|
766 |
+
#ip-geo-block-live-log li input[type=radio] {
|
767 |
+
visibility: hidden;
|
768 |
+
position: absolute;
|
769 |
}
|
770 |
+
#ip-geo-block-live-log li input[type=radio] + label {
|
771 |
display:inline-block;
|
772 |
margin:-2px;
|
773 |
padding: 4px 12px;
|
796 |
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
|
797 |
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
|
798 |
}
|
799 |
+
#ip-geo-block-live-log li input[type=radio]:checked + label {
|
800 |
background-image: none;
|
801 |
outline: 0;
|
802 |
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
|
811 |
.ip-geo-block-live-timer {
|
812 |
height: 1em;
|
813 |
width: 1em;
|
|
|
|
|
814 |
margin: 0;
|
815 |
+
position: relative;
|
816 |
+
top: 0;
|
817 |
+
left: 0;
|
818 |
}
|
819 |
.ip-geo-block-live-timer:before {
|
820 |
content: "";
|
822 |
height: 1em;
|
823 |
width: 1em;
|
824 |
background: radial-gradient(#0073aa, #72777c);
|
|
|
825 |
border-radius: 50%;
|
826 |
+
position: absolute;
|
827 |
top: 0;
|
828 |
left: 0;
|
829 |
}
|
admin/css/admin.min.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
Project: WordPress IP Geo Block
|
3 |
-
Copyright (c)
|
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%}.panel-body,label{display:inline-block}label{max-width:100%}.panel{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;-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}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 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 ul.ip-geo-block-dropup:before{top:.25em}fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before{top:.45em}fieldset.ip-geo-block-field table.form-table{margin:0 0 .5em;width:100%}fieldset.ip-geo-block-field .ip-geo-block-desc{color:#666;font-size:13px!important}textarea.regular-text{width:25em}ul.ip-geo-block-settings-folding{margin:.5em 0}ul.ip-geo-block-settings-folding ul{margin-bottom:0}ul.ip-geo-block-settings-folding li:first-child{margin-top:.5em}.folding-disable{pointer-events:none;opacity:.5}.folding-inactive{opacity:.5;font-style:oblique!important}ul.ip-geo-block-float li{display:inline-block;width:18em}ul#ip-geo-block-actions dfn{border:none}ul#ip-geo-block-actions span.dashicons{font-size:14px}.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-result,.ip-geo-block-sup,.ip-geo-block-title,ul.ip-geo-block-list label{display:inline-block}.ip-geo-block-sup{margin-left:.2em}ul.ip-geo-block-note{margin-top:1em;list-style:disc inside}ul.ip-geo-block-list{margin-top:.25em;margin-bottom:.25em}@media screen and (min-width:782px){ul.ip-geo-block-list .code{width:15em}}#ip-geo-block-live-loading,.ip-geo-block-loading{background-size:16px 16px;background-position:center center;background-repeat:no-repeat;height:16px;width:16px;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:middle}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==)}.ip-geo-block-border{border-top:inherit}.ip-geo-block-notice{color:#dd3d36}.ip-geo-block-title{width:100px}.ip-geo-block-result{color:#2786C2}#ip-geo-block-map{height:400px;margin:1em auto}.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}ul.ip-geo-block-statistics-countries li{width:12em;float:left;text-align:right;padding:.2em}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,#ip_geo_block_settings_validation_plugins,#ip_geo_block_settings_validation_themes{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-preferred{color:#fff;background:#00838f!important;border-color:#00707a!important;text-shadow:none}#ip-geo-block-preferred:hover{background-color:#00919e!important;border-color:#00525a!important}span.ip-geo-block-title-link{font-size:13px!important}dfn~.ip-geo-block-cycle,dfn~.ip-geo-block-lock,dfn~.ip-geo-block-unlock{margin-left:.6em}.ip-geo-block-cycle,.ip-geo-block-lock,.ip-geo-block-unlock{cursor:pointer;box-shadow:none;text-decoration:none}.ip-geo-block-cycle:active,.ip-geo-block-lock:active,.ip-geo-block-unlock:active{position:relative;top:1px}.ip-geo-block-cycle span,.ip-geo-block-lock span,.ip-geo-block-unlock 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}.dataTables_wrapper.no-footer .dataTables_scrollBody,table.dataTable.no-footer,table.dataTable>thead>tr>td,table.dataTable>thead>tr>th{border-bottom:1px solid #ddd}.ip-geo-block-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-lock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==)}.ip-geo-block-unlock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC)}table.form-table th .ip-geo-block-cycle span{vertical-align:text-bottom}#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-network{margin-bottom:1em}ol.ip-geo-block-top-list{display:inline-table;list-style-position:outside;margin:0 2em .5em 1.75em}ol.ip-geo-block-top-list h4{margin:1em 0}ol.ip-geo-block-top-list li code{background:0 0}#adminmenu #toplevel_page_ip-geo-block .wp-menu-image img{height:20px!important;width:20px!important}.ip-geo-block-admin-post{color:#c43322;margin-left:.25em}svg a>text{fill:#0073aa;text-decoration:underline}svg a:hover>text{fill:#0096dd}.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.dataTable{clear:none!important}table.dataTable td,table.dataTable th{text-align:right}table.dataTable td:nth-child(n+2),table.dataTable th:nth-child(n+2){padding-left:0!important}table.dataTable th{white-space:nowrap}table.dataTable>thead>tr{line-height:1.8em}table.dataTable>tbody>tr{cursor:pointer}table.dataTable thead td,table.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}table.dataTable.nowrap td,table.dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.dataTable>tbody>tr>td span{display:inline-block}table.dataTable input[type=checkbox]{height:16px;width:16px;margin:0}table.dataTable>tbody>tr>td:first-child,table.dataTable>thead>tr>th:first-child{padding:8px 4px 8px 18px;text-align:left}table.collapsed>tbody>tr>td.dataTables_empty:first-child::before,table.dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.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}.dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em}.dataTables_wrapper .dataTables_paginate a.paginate_button,.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button:active,.dataTables_wrapper .dataTables_paginate a.paginate_button:hover,.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;padding:.25em 0;display:inline-block;text-decoration:none}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body,mark{padding:0}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}.dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.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 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}ul#ip-geo-block-live-log,ul#ip-geo-block-select-duration,ul#ip-geo-block-select-layout,ul#ip-geo-block-select-target{margin:0}ul#ip-geo-block-select-duration li,ul#ip-geo-block-select-layout li,ul#ip-geo-block-select-target li{float:left;margin-right:1.5em}ul#ip-geo-block-select-duration li label,ul#ip-geo-block-select-target li label{cursor:pointer}input#ip_geo_block_settings_search_filter{width:16em;padding-top:3px}table.dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.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{background:gold}ul#ip-geo-block-live-log li{float:left;margin-right:3em}ul#ip-geo-block-live-log li:last-child{margin-right:0}ul#ip-geo-block-live-log li input[type=radio]{display:none}ul#ip-geo-block-live-log li input[type=radio]+label{display:inline-block;margin:-2px -2px 0;padding:4px 12px;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;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-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)}ul#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;position:relative;top:-.1em;margin:0}.ip-geo-block-live-timer:before{content:"";display:block;height:1em;width:1em;background:radial-gradient(#0073aa,#72777c);position:absolute;border-radius:50%;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(.00001deg);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
|
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}.ip-geo-block-icon,table.dataTable>tbody>tr{cursor:pointer}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%}.panel-body,label{display:inline-block}label{max-width:100%}.panel{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;-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}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}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%}.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-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-live-loading,.ip-geo-block-loading{background-size:16px 16px;background-position:center center;background-repeat:no-repeat;height:16px;width:16px;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:top}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==)}#ip-geo-block-map{height:400px;margin:1em auto}.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>text{fill:#0073aa;text-decoration:underline}svg a:hover>text{fill:#0096dd}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-preferred{color:#fff;background:#00838f!important;border-color:#00707a!important;text-shadow:none}#ip-geo-block-preferred:hover{background-color:#00919e!important;border-color:#00525a!important}.ip-geo-block-icon,.ip-geo-block-list-exceptions a.ip-geo-block-icon{background-color:transparent;box-shadow:none;text-decoration:none;outline:0}#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:.6em}.ip-geo-block-icon:active{position:relative;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}.dataTables_wrapper.no-footer .dataTables_scrollBody,table.dataTable.no-footer,table.dataTable>thead>tr>td,table.dataTable>thead>tr>th{border-bottom:1px solid #ddd}.ip-geo-block-list-exceptions span.dashicons{font-size:14px}.ip-geo-block-list-exceptions a.ip-geo-block-icon{margin-left:.3em}.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-found{color:#c43322;font-weight:700}.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.dataTable{clear:none!important}table.dataTable td,table.dataTable th{text-align:right}table.dataTable td:nth-child(n+2),table.dataTable th:nth-child(n+2){padding-left:0!important}table.dataTable th{white-space:nowrap}table.dataTable>thead>tr{line-height:1.8em}table.dataTable thead td,table.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}table.dataTable.nowrap td,table.dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.dataTable>tbody>tr>td span{display:inline-block}table.dataTable input[type=checkbox]{height:16px;width:16px;margin:-4px 1px 0 0}table.dataTable>tbody>tr>td:first-child,table.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.dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.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;left:-2px}table.collapsed>tbody>tr.parent>td:first-child::before{border-top:5px solid #555;top:3px;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}.dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em}.dataTables_wrapper .dataTables_paginate a.paginate_button,.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button:active,.dataTables_wrapper .dataTables_paginate a.paginate_button:hover,.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;padding:.25em 0;display:inline-block;text-decoration:none}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body,mark{padding:0}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}.dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.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 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}#ip-geo-block-live-log,#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.dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.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{background:gold}#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 -2px 0;padding:4px 12px;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;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-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:radial-gradient(#0073aa,#72777c);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(.00001deg);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
|
admin/css/fonts/icomoon.eot
CHANGED
Binary file
|
admin/css/fonts/icomoon.svg
CHANGED
@@ -7,11 +7,11 @@
|
|
7 |
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
<missing-glyph horiz-adv-x="1024" />
|
9 |
<glyph unicode=" " horiz-adv-x="512" d="" />
|
|
|
10 |
<glyph unicode="" glyph-name="folder-download" d="M576 704l-128 128h-448v-832h1024v704h-448zM512 96l-224 224h160v256h128v-256h160l-224-224z" />
|
11 |
<glyph unicode="" glyph-name="location2" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 444c-108.248 0-196 87.752-196 196s87.752 196 196 196 196-87.752 196-196-87.752-196-196-196zM388 640c0 68.483 55.517 124 124 124s124-55.517 124-124c0-68.483-55.517-124-124-124s-124 55.517-124 124z" />
|
12 |
<glyph unicode="" glyph-name="map" d="M0 768l320 128v-768l-320-128zM384 928l320-192v-736l-320 160zM768 736l256 192v-768l-256-192z" />
|
13 |
<glyph unicode="" glyph-name="database" d="M512 960c-282.77 0-512-71.634-512-160v-128c0-88.366 229.23-160 512-160s512 71.634 512 160v128c0 88.366-229.23 160-512 160zM512 416c-282.77 0-512 71.634-512 160v-192c0-88.366 229.23-160 512-160s512 71.634 512 160v192c0-88.366-229.23-160-512-160zM512 128c-282.77 0-512 71.634-512 160v-192c0-88.366 229.23-160 512-160s512 71.634 512 160v192c0-88.366-229.23-160-512-160z" />
|
14 |
-
<glyph unicode="" glyph-name="spinner2" d="M1024 448c-1.278 66.862-15.784 133.516-42.576 194.462-26.704 61-65.462 116.258-113.042 161.92-47.552 45.696-103.944 81.82-164.984 105.652-61.004 23.924-126.596 35.352-191.398 33.966-64.81-1.282-129.332-15.374-188.334-41.356-59.048-25.896-112.542-63.47-156.734-109.576-44.224-46.082-79.16-100.708-102.186-159.798-23.114-59.062-34.128-122.52-32.746-185.27 1.286-62.76 14.964-125.148 40.134-182.206 25.088-57.1 61.476-108.828 106.11-151.548 44.61-42.754 97.472-76.504 154.614-98.72 57.118-22.304 118.446-32.902 179.142-31.526 60.708 1.29 120.962 14.554 176.076 38.914 55.15 24.282 105.116 59.48 146.366 102.644 41.282 43.14 73.844 94.236 95.254 149.43 13.034 33.458 21.88 68.4 26.542 103.798 1.246-0.072 2.498-0.12 3.762-0.12 35.346 0 64 28.652 64 64 0 1.796-0.094 3.572-0.238 5.332h0.238zM922.306 278.052c-23.472-53.202-57.484-101.4-99.178-141.18-41.67-39.81-91-71.186-144.244-91.79-53.228-20.678-110.29-30.452-166.884-29.082-56.604 1.298-112.596 13.736-163.82 36.474-51.25 22.666-97.684 55.49-135.994 95.712-38.338 40.198-68.528 87.764-88.322 139.058-19.87 51.284-29.228 106.214-27.864 160.756 1.302 54.552 13.328 108.412 35.254 157.69 21.858 49.3 53.498 93.97 92.246 130.81 38.73 36.868 84.53 65.87 133.874 84.856 49.338 19.060 102.136 28.006 154.626 26.644 52.5-1.306 104.228-12.918 151.562-34.034 47.352-21.050 90.256-51.502 125.624-88.782 35.396-37.258 63.21-81.294 81.39-128.688 18.248-47.392 26.782-98.058 25.424-148.496h0.238c-0.144-1.76-0.238-3.536-0.238-5.332 0-33.012 24.992-60.174 57.086-63.624-6.224-34.822-16.53-68.818-30.78-100.992z" />
|
15 |
<glyph unicode="" glyph-name="binoculars" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
|
16 |
<glyph unicode="" glyph-name="search" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
|
17 |
<glyph unicode="" glyph-name="key" d="M704 960c-176.73 0-320-143.268-320-320 0-20.026 1.858-39.616 5.376-58.624l-389.376-389.376v-192c0-35.346 28.654-64 64-64h64v64h128v128h128v128h128l83.042 83.042c34.010-12.316 70.696-19.042 108.958-19.042 176.73 0 320 143.268 320 320s-143.27 320-320 320zM799.874 639.874c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
|
7 |
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
<missing-glyph horiz-adv-x="1024" />
|
9 |
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" glyph-name="warning" d="M1010.432 121.248l-383.968 768c-21.664 43.36-65.952 70.752-114.464 70.752s-92.8-27.392-114.464-70.752l-383.968-768c-19.84-39.68-17.728-86.816 5.6-124.576 23.328-37.696 64.512-60.672 108.864-60.672h767.904c44.384 0 85.568 22.976 108.864 60.672 23.328 37.76 25.44 84.896 5.632 124.576zM575.936 96c0-17.696-14.304-32-32-32h-64c-17.696 0-32 14.304-32 32v64c0 17.696 14.304 32 32 32h64c17.696 0 32-14.304 32-32v-64zM575.936 352c0-17.696-14.304-32-32-32h-64c-17.696 0-32 14.304-32 32v320c0 17.664 14.304 32 32 32h64c17.696 0 32-14.336 32-32v-320z" />
|
11 |
<glyph unicode="" glyph-name="folder-download" d="M576 704l-128 128h-448v-832h1024v704h-448zM512 96l-224 224h160v256h128v-256h160l-224-224z" />
|
12 |
<glyph unicode="" glyph-name="location2" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 444c-108.248 0-196 87.752-196 196s87.752 196 196 196 196-87.752 196-196-87.752-196-196-196zM388 640c0 68.483 55.517 124 124 124s124-55.517 124-124c0-68.483-55.517-124-124-124s-124 55.517-124 124z" />
|
13 |
<glyph unicode="" glyph-name="map" d="M0 768l320 128v-768l-320-128zM384 928l320-192v-736l-320 160zM768 736l256 192v-768l-256-192z" />
|
14 |
<glyph unicode="" glyph-name="database" d="M512 960c-282.77 0-512-71.634-512-160v-128c0-88.366 229.23-160 512-160s512 71.634 512 160v128c0 88.366-229.23 160-512 160zM512 416c-282.77 0-512 71.634-512 160v-192c0-88.366 229.23-160 512-160s512 71.634 512 160v192c0-88.366-229.23-160-512-160zM512 128c-282.77 0-512 71.634-512 160v-192c0-88.366 229.23-160 512-160s512 71.634 512 160v192c0-88.366-229.23-160-512-160z" />
|
|
|
15 |
<glyph unicode="" glyph-name="binoculars" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
|
16 |
<glyph unicode="" glyph-name="search" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256z" />
|
17 |
<glyph unicode="" glyph-name="key" d="M704 960c-176.73 0-320-143.268-320-320 0-20.026 1.858-39.616 5.376-58.624l-389.376-389.376v-192c0-35.346 28.654-64 64-64h64v64h128v128h128v128h128l83.042 83.042c34.010-12.316 70.696-19.042 108.958-19.042 176.73 0 320 143.268 320 320s-143.27 320-320 320zM799.874 639.874c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96z" />
|
admin/css/fonts/icomoon.ttf
CHANGED
Binary file
|
admin/css/fonts/icomoon.woff
CHANGED
Binary file
|
admin/images/alert.png
ADDED
Binary file
|
admin/images/find.png
ADDED
Binary file
|
admin/includes/class-admin-ajax.php
CHANGED
@@ -9,7 +9,7 @@ class IP_Geo_Block_Admin_Ajax {
|
|
9 |
/**
|
10 |
* Admin ajax sub functions
|
11 |
*
|
12 |
-
* @param string $which name of the geolocation api provider
|
13 |
*/
|
14 |
public static function search_ip( $which ) {
|
15 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
@@ -53,7 +53,7 @@ class IP_Geo_Block_Admin_Ajax {
|
|
53 |
/**
|
54 |
* Get country code from providers
|
55 |
*
|
56 |
-
* @param string $which 'ip_client' or 'ip_server'
|
57 |
*/
|
58 |
public static function scan_country( $which ) {
|
59 |
// scan all the country code using selected APIs
|
@@ -642,6 +642,87 @@ endif; // TEST_RESTORE_NETWORK
|
|
642 |
);
|
643 |
}
|
644 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
645 |
public static function get_wp_info() {
|
646 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
647 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-file.php';
|
@@ -656,15 +737,19 @@ endif; // TEST_RESTORE_NETWORK
|
|
656 |
$res = array(
|
657 |
'Server:' => $_SERVER['SERVER_SOFTWARE'],
|
658 |
'PHP:' => PHP_VERSION,
|
|
|
659 |
'WordPress:' => $GLOBALS['wp_version'],
|
660 |
'Multisite:' => is_multisite() ? 'yes' : 'no',
|
661 |
'File system:' => $fs->get_method(),
|
|
|
|
|
662 |
'Zlib:' => function_exists( 'gzopen' ) ? 'yes' : 'no',
|
663 |
'ZipArchive:' => class_exists( 'ZipArchive', FALSE ) ? 'yes' : 'no',
|
664 |
'BC Math:' => (extension_loaded('gmp') ? 'gmp ' : '') . (function_exists('bcadd') ? 'yes' : 'no'),
|
665 |
'mb_strcut:' => function_exists( 'mb_strcut' ) ? 'yes' : 'no',
|
666 |
-
'SQLite(PDO):' => extension_loaded('pdo_sqlite') ? 'yes' : 'no',
|
667 |
'DNS lookup:' => ('8.8.8.8' !== $val ? 'available' : 'n/a') . sprintf( ' [%.1f msec]', $key * 1000.0 ),
|
|
|
668 |
);
|
669 |
|
670 |
// Child and parent themes
|
@@ -690,10 +775,9 @@ endif; // TEST_RESTORE_NETWORK
|
|
690 |
}
|
691 |
}
|
692 |
|
693 |
-
//
|
694 |
-
$installed = IP_Geo_Block_Logs::search_logs( IP_Geo_Block::get_ip_address() );
|
695 |
-
|
696 |
-
foreach ( array_reverse( $installed ) as $val ) {
|
697 |
// hide port and nonce
|
698 |
$method = preg_replace( '/\[\d+\]/', '', $val['method'] );
|
699 |
$method = preg_replace( '/(' . IP_Geo_Block::PLUGIN_NAME . '-auth-nonce)(?:=|%3D)([\w]+)/', '$1=...', $method );
|
9 |
/**
|
10 |
* Admin ajax sub functions
|
11 |
*
|
12 |
+
* @param string $which name of the geolocation api provider (should be validated by whitelist)
|
13 |
*/
|
14 |
public static function search_ip( $which ) {
|
15 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
53 |
/**
|
54 |
* Get country code from providers
|
55 |
*
|
56 |
+
* @param string $which 'ip_client' or 'ip_server' (not in use)
|
57 |
*/
|
58 |
public static function scan_country( $which ) {
|
59 |
// scan all the country code using selected APIs
|
642 |
);
|
643 |
}
|
644 |
|
645 |
+
/**
|
646 |
+
* Get blocked action and pages
|
647 |
+
*
|
648 |
+
* @param string $which 'page', 'action', 'plugin', 'theme'
|
649 |
+
* @return array of the name of action/page, plugin or theme
|
650 |
+
*/
|
651 |
+
private static function get_blocked_queries( $which ) {
|
652 |
+
$result = array();
|
653 |
+
|
654 |
+
switch ( $which ) {
|
655 |
+
case 'page':
|
656 |
+
case 'action':
|
657 |
+
$dir = admin_url();
|
658 |
+
$dir = preg_replace( '!https?://.+?/!', '/', IP_Geo_Block_Util::slashit( $dir ) );
|
659 |
+
|
660 |
+
foreach ( IP_Geo_Block_Logs::search_blocked_logs( 'method', $dir ) as $log ) {
|
661 |
+
foreach ( array( 'method', 'data' ) as $key ) {
|
662 |
+
if ( preg_match( '!' . $which . '=([\-\w]+)!', $log[ $key ], $matches ) ) {
|
663 |
+
$result += array( $matches[1] => $which );
|
664 |
+
}
|
665 |
+
}
|
666 |
+
}
|
667 |
+
break;
|
668 |
+
|
669 |
+
case 'plugins':
|
670 |
+
case 'themes':
|
671 |
+
// make a list of installed plugins/themes
|
672 |
+
if ( 'plugins' === $which ) {
|
673 |
+
$key = array();
|
674 |
+
foreach ( get_plugins() as $pat => $log ) {
|
675 |
+
$pat = explode( '/', $pat, 2 );
|
676 |
+
$key[] = $pat[0];
|
677 |
+
}
|
678 |
+
} else {
|
679 |
+
$key = wp_get_themes();
|
680 |
+
}
|
681 |
+
|
682 |
+
$dir = 'plugins' === $which ? plugins_url() : get_theme_root_uri();
|
683 |
+
$dir = preg_replace( '!https?://.+?/!', '/', IP_Geo_Block_Util::slashit( $dir ) );
|
684 |
+
$pat = preg_quote( $dir, '!' ); // `/wp-content/[plugins|themes]/`
|
685 |
+
|
686 |
+
foreach ( IP_Geo_Block_Logs::search_blocked_logs( 'method', $dir ) as $log ) {
|
687 |
+
if ( preg_match( '!' . $pat . '(.+?)/!', $log['method'], $matches ) && in_array( $matches[1], $key, TRUE ) ) {
|
688 |
+
$result += array( $matches[1] => $which );
|
689 |
+
}
|
690 |
+
}
|
691 |
+
}
|
692 |
+
|
693 |
+
return $result;
|
694 |
+
}
|
695 |
+
|
696 |
+
/**
|
697 |
+
* Get slug in blocked requests for exceptions
|
698 |
+
*
|
699 |
+
*/
|
700 |
+
public static function find_exceptions( $target ) {
|
701 |
+
$res = array();
|
702 |
+
|
703 |
+
switch ( $target ) {
|
704 |
+
case 'find-admin':
|
705 |
+
foreach ( array( 'action', 'page' ) as $which ) {
|
706 |
+
$res += self::get_blocked_queries( $which );
|
707 |
+
}
|
708 |
+
break;
|
709 |
+
|
710 |
+
case 'find-plugins':
|
711 |
+
$res = self::get_blocked_queries( 'plugins' );
|
712 |
+
break;
|
713 |
+
|
714 |
+
case 'find-themes':
|
715 |
+
$res = self::get_blocked_queries( 'themes' );
|
716 |
+
break;
|
717 |
+
}
|
718 |
+
|
719 |
+
return $res;
|
720 |
+
}
|
721 |
+
|
722 |
+
/**
|
723 |
+
* Get debug information related to WordPress
|
724 |
+
*
|
725 |
+
*/
|
726 |
public static function get_wp_info() {
|
727 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
728 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-file.php';
|
737 |
$res = array(
|
738 |
'Server:' => $_SERVER['SERVER_SOFTWARE'],
|
739 |
'PHP:' => PHP_VERSION,
|
740 |
+
'PHP SAPI:' => php_sapi_name(),
|
741 |
'WordPress:' => $GLOBALS['wp_version'],
|
742 |
'Multisite:' => is_multisite() ? 'yes' : 'no',
|
743 |
'File system:' => $fs->get_method(),
|
744 |
+
'Temp folder:' => get_temp_dir(),
|
745 |
+
'Umask:' => sprintf( '%o', umask() ^ 511 /*0777*/ ),
|
746 |
'Zlib:' => function_exists( 'gzopen' ) ? 'yes' : 'no',
|
747 |
'ZipArchive:' => class_exists( 'ZipArchive', FALSE ) ? 'yes' : 'no',
|
748 |
'BC Math:' => (extension_loaded('gmp') ? 'gmp ' : '') . (function_exists('bcadd') ? 'yes' : 'no'),
|
749 |
'mb_strcut:' => function_exists( 'mb_strcut' ) ? 'yes' : 'no',
|
750 |
+
'SQLite(PDO):' => extension_loaded( 'pdo_sqlite' ) ? 'yes' : 'no',
|
751 |
'DNS lookup:' => ('8.8.8.8' !== $val ? 'available' : 'n/a') . sprintf( ' [%.1f msec]', $key * 1000.0 ),
|
752 |
+
'User agent:' => $_SERVER['HTTP_USER_AGENT'],
|
753 |
);
|
754 |
|
755 |
// Child and parent themes
|
775 |
}
|
776 |
}
|
777 |
|
778 |
+
// Blocked self requests
|
779 |
+
$installed = array_reverse( IP_Geo_Block_Logs::search_logs( IP_Geo_Block::get_ip_address() ) );
|
780 |
+
foreach ( $installed as $val ) {
|
|
|
781 |
// hide port and nonce
|
782 |
$method = preg_replace( '/\[\d+\]/', '', $val['method'] );
|
783 |
$method = preg_replace( '/(' . IP_Geo_Block::PLUGIN_NAME . '-auth-nonce)(?:=|%3D)([\w]+)/', '$1=...', $method );
|
admin/includes/class-admin-rewrite.php
CHANGED
@@ -37,13 +37,13 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
37 |
),
|
38 |
'.user.ini' => array(
|
39 |
'plugins' => array(
|
40 |
-
'; BEGIN IP Geo Block',
|
41 |
-
'auto_prepend_file = "%
|
42 |
'; END IP Geo Block',
|
43 |
),
|
44 |
'themes' => array(
|
45 |
-
'; BEGIN IP Geo Block',
|
46 |
-
'auto_prepend_file = "%
|
47 |
'; END IP Geo Block',
|
48 |
),
|
49 |
),
|
@@ -53,13 +53,13 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
53 |
// '# BEGIN IP Geo Block',
|
54 |
// 'location ~ %REWRITE_BASE%rewrite.php$ {}',
|
55 |
// 'location %WP_CONTENT_DIR%/plugins/ {',
|
56 |
-
// ' rewrite ^%WP_CONTENT_DIR%/plugins
|
57 |
// '}',
|
58 |
// '# END IP Geo Block',
|
59 |
// 'themes' => array(
|
60 |
// '# BEGIN IP Geo Block',
|
61 |
// 'location %WP_CONTENT_DIR%/themes/ {',
|
62 |
-
// ' rewrite ^%WP_CONTENT_DIR%/themes
|
63 |
// '}',
|
64 |
// '# END IP Geo Block',
|
65 |
// ),
|
@@ -68,11 +68,11 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
68 |
|
69 |
private function __construct() {
|
70 |
// http://stackoverflow.com/questions/25017381/setting-php-document-root-on-webserver
|
71 |
-
$this->doc_root = str_replace( $_SERVER['SCRIPT_NAME'], '',
|
72 |
-
$this->base_uri = str_replace( $this->doc_root, '', IP_GEO_BLOCK_PATH );
|
73 |
|
74 |
// target directories
|
75 |
-
$path = str_replace( $this->doc_root, '', WP_CONTENT_DIR );
|
76 |
$this->wp_dirs = array(
|
77 |
'plugins' => $path . '/plugins/',
|
78 |
'themes' => $path . '/themes/',
|
@@ -80,12 +80,12 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
80 |
|
81 |
// Apache in wp-includes/vars.php
|
82 |
global $is_apache;
|
83 |
-
if ( $is_apache )
|
84 |
$this->config_file = '.htaccess';
|
85 |
|
86 |
// CGI/FastCGI SAPI (cgi, cgi-fcgi, fpm-fcgi)
|
87 |
-
|
88 |
-
|
89 |
}
|
90 |
|
91 |
/**
|
@@ -96,6 +96,32 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
96 |
return self::$instance ? self::$instance : ( self::$instance = new self );
|
97 |
}
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
/**
|
100 |
* Extract the block of rewrite rule
|
101 |
*
|
@@ -104,8 +130,7 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
104 |
*/
|
105 |
private function find_rewrite_block( $content ) {
|
106 |
return preg_grep(
|
107 |
-
'/^\s*?[#;]\s*?(?:BEGIN|END)\s*?IP Geo Block\s*?$/i',
|
108 |
-
(array)$content
|
109 |
);
|
110 |
}
|
111 |
|
@@ -173,6 +198,7 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
173 |
}
|
174 |
|
175 |
// if content is empty then remove file
|
|
|
176 |
return empty( $content ) ? $fs->delete( $file ) : TRUE;
|
177 |
}
|
178 |
|
@@ -251,15 +277,45 @@ class IP_Geo_Block_Admin_Rewrite {
|
|
251 |
*/
|
252 |
private function append_rewrite_block( $which, $content ) {
|
253 |
if ( $type = $this->config_file ) {
|
254 |
-
// in case `.user.ini` is configured differently
|
255 |
if ( '.htaccess' !== $type && '.user.ini' !== $type )
|
256 |
$type = '.user.ini';
|
257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
return array_merge(
|
259 |
$content,
|
260 |
str_replace(
|
261 |
-
array( '%REWRITE_BASE%', '%WP_CONTENT_DIR%', '%
|
262 |
-
array( $this->base_uri, WP_CONTENT_DIR,
|
263 |
$this->rewrite_rule[ $type ][ $which ]
|
264 |
)
|
265 |
);
|
37 |
),
|
38 |
'.user.ini' => array(
|
39 |
'plugins' => array(
|
40 |
+
'; BEGIN IP Geo Block%ADDITIONAL%',
|
41 |
+
'auto_prepend_file = "%IP_GEO_BLOCK_PATH%rewrite-ini.php"',
|
42 |
'; END IP Geo Block',
|
43 |
),
|
44 |
'themes' => array(
|
45 |
+
'; BEGIN IP Geo Block%ADDITIONAL%',
|
46 |
+
'auto_prepend_file = "%IP_GEO_BLOCK_PATH%rewrite-ini.php"',
|
47 |
'; END IP Geo Block',
|
48 |
),
|
49 |
),
|
53 |
// '# BEGIN IP Geo Block',
|
54 |
// 'location ~ %REWRITE_BASE%rewrite.php$ {}',
|
55 |
// 'location %WP_CONTENT_DIR%/plugins/ {',
|
56 |
+
// ' rewrite ^%WP_CONTENT_DIR%/plugins/.*\.php$ %REWRITE_BASE%rewrite.php break;',
|
57 |
// '}',
|
58 |
// '# END IP Geo Block',
|
59 |
// 'themes' => array(
|
60 |
// '# BEGIN IP Geo Block',
|
61 |
// 'location %WP_CONTENT_DIR%/themes/ {',
|
62 |
+
// ' rewrite ^%WP_CONTENT_DIR%/themes/.*\.php$ %REWRITE_BASE%rewrite.php break;',
|
63 |
// '}',
|
64 |
// '# END IP Geo Block',
|
65 |
// ),
|
68 |
|
69 |
private function __construct() {
|
70 |
// http://stackoverflow.com/questions/25017381/setting-php-document-root-on-webserver
|
71 |
+
$this->doc_root = str_replace( DIRECTORY_SEPARATOR, '/', str_replace( $_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME'] ) );
|
72 |
+
$this->base_uri = str_replace( $this->doc_root, '', str_replace( DIRECTORY_SEPARATOR, '/', IP_GEO_BLOCK_PATH ) );
|
73 |
|
74 |
// target directories
|
75 |
+
$path = str_replace( $this->doc_root, '', str_replace( '\\', '/', WP_CONTENT_DIR ) );
|
76 |
$this->wp_dirs = array(
|
77 |
'plugins' => $path . '/plugins/',
|
78 |
'themes' => $path . '/themes/',
|
80 |
|
81 |
// Apache in wp-includes/vars.php
|
82 |
global $is_apache;
|
83 |
+
if ( ! empty( $is_apache ) )
|
84 |
$this->config_file = '.htaccess';
|
85 |
|
86 |
// CGI/FastCGI SAPI (cgi, cgi-fcgi, fpm-fcgi)
|
87 |
+
elseif ( version_compare( PHP_VERSION, '5.3' ) >= 0 && FALSE !== strpos( php_sapi_name(), 'cgi' ) )
|
88 |
+
$this->config_file = ini_get( 'user_ini.filename' );
|
89 |
}
|
90 |
|
91 |
/**
|
96 |
return self::$instance ? self::$instance : ( self::$instance = new self );
|
97 |
}
|
98 |
|
99 |
+
/**
|
100 |
+
* Remove empty element from the array
|
101 |
+
*
|
102 |
+
* @param array contents of configuration file
|
103 |
+
* @return array updated array of contents
|
104 |
+
*/
|
105 |
+
private function remove_empty( $content ) {
|
106 |
+
while ( FALSE !== ( $tmp = reset( $content ) ) ) {
|
107 |
+
if ( strlen( trim( $tmp ) ) ) {
|
108 |
+
break;
|
109 |
+
} else {
|
110 |
+
array_shift( $content );
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
while ( FALSE !== ( $tmp = end( $content ) ) ) {
|
115 |
+
if ( strlen( trim( $tmp ) ) ) {
|
116 |
+
break;
|
117 |
+
} else {
|
118 |
+
array_pop( $content );
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
return $content;
|
123 |
+
}
|
124 |
+
|
125 |
/**
|
126 |
* Extract the block of rewrite rule
|
127 |
*
|
130 |
*/
|
131 |
private function find_rewrite_block( $content ) {
|
132 |
return preg_grep(
|
133 |
+
'/^\s*?[#;]\s*?(?:BEGIN|END)\s*?IP Geo Block\s*?$/i', (array)$content
|
|
|
134 |
);
|
135 |
}
|
136 |
|
198 |
}
|
199 |
|
200 |
// if content is empty then remove file
|
201 |
+
$content = $this->remove_empty( $content );
|
202 |
return empty( $content ) ? $fs->delete( $file ) : TRUE;
|
203 |
}
|
204 |
|
277 |
*/
|
278 |
private function append_rewrite_block( $which, $content ) {
|
279 |
if ( $type = $this->config_file ) {
|
280 |
+
// in case that `.user.ini` is configured differently
|
281 |
if ( '.htaccess' !== $type && '.user.ini' !== $type )
|
282 |
$type = '.user.ini';
|
283 |
|
284 |
+
// in case that another `.user.ini` in ascendant directory
|
285 |
+
$additional = '';
|
286 |
+
if ( '.user.ini' === $type ) {
|
287 |
+
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-file.php';
|
288 |
+
$fs = IP_Geo_Block_FS::init( 'append_rewrite_block' );
|
289 |
+
|
290 |
+
$dir = dirname( IP_GEO_BLOCK_PATH ); // `/wp-content/plugins`
|
291 |
+
$ini = $this->config_file;
|
292 |
+
$doc = $this->doc_root;
|
293 |
+
|
294 |
+
do {
|
295 |
+
// avoid loop just in case
|
296 |
+
if ( ( $next = dirname( $dir ) ) !== $dir )
|
297 |
+
$dir = $next;
|
298 |
+
else
|
299 |
+
break;
|
300 |
+
|
301 |
+
if ( $fs->exists( "$dir/$ini" ) ) {
|
302 |
+
$tmp = $fs->get_contents_array( "$dir/$ini" );
|
303 |
+
$tmp = preg_replace( '/^\s*(auto_prepend_file.*)$/', '; $1', $tmp );
|
304 |
+
$tmp = $this->remove_empty( $tmp );
|
305 |
+
|
306 |
+
if ( ! empty( $tmp ) )
|
307 |
+
$additional = PHP_EOL . PHP_EOL . implode( PHP_EOL, $tmp ) . PHP_EOL;
|
308 |
+
|
309 |
+
break;
|
310 |
+
}
|
311 |
+
} while ( $dir !== $doc );
|
312 |
+
}
|
313 |
+
|
314 |
return array_merge(
|
315 |
$content,
|
316 |
str_replace(
|
317 |
+
array( '%REWRITE_BASE%', '%WP_CONTENT_DIR%', '%IP_GEO_BLOCK_PATH%', '%ADDITIONAL%' ),
|
318 |
+
array( $this->base_uri, WP_CONTENT_DIR, IP_GEO_BLOCK_PATH, $additional ),
|
319 |
$this->rewrite_rule[ $type ][ $which ]
|
320 |
)
|
321 |
);
|
admin/includes/tab-accesslog.php
CHANGED
@@ -25,9 +25,9 @@ class IP_Geo_Block_Admin_Tab {
|
|
25 |
);
|
26 |
|
27 |
$html = '<ul id="ip-geo-block-live-log">';
|
28 |
-
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-start" value="start"><label for="ip-geo-block-live-log-start" title="Start"><span class="ip-geo-block-icon-
|
29 |
-
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-pause" value="pause"><label for="ip-geo-block-live-log-pause" title="Pause"><span class="ip-geo-block-icon-
|
30 |
-
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-stop" value="stop" checked><label for="ip-geo-block-live-log-stop" title="Stop"><span class="ip-geo-block-icon-
|
31 |
$html .= '</ul>';
|
32 |
|
33 |
// Live update
|
25 |
);
|
26 |
|
27 |
$html = '<ul id="ip-geo-block-live-log">';
|
28 |
+
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-start" value="start"><label for="ip-geo-block-live-log-start" title="Start"><span class="ip-geo-block-icon-play"></span></label></li>';
|
29 |
+
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-pause" value="pause"><label for="ip-geo-block-live-log-pause" title="Pause"><span class="ip-geo-block-icon-pause"></span></label></li>';
|
30 |
+
$html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-stop" value="stop" checked><label for="ip-geo-block-live-log-stop" title="Stop"><span class="ip-geo-block-icon-stop"></span></label></li>';
|
31 |
$html .= '</ul>';
|
32 |
|
33 |
// Live update
|
admin/includes/tab-settings.php
CHANGED
@@ -116,6 +116,8 @@ endif;
|
|
116 |
'<span class="ip-geo-block-sup">' . __( '(comma separated)', 'ip-geo-block' ) . '</span>',
|
117 |
'<span class="ip-geo-block-sup">' . __( '(comma or RET separated)', 'ip-geo-block' ) . '</span>',
|
118 |
'<span title="' . __( 'Toggle selection', 'ip-geo-block' ) . '"></span>',
|
|
|
|
|
119 |
);
|
120 |
|
121 |
// Matching rule
|
@@ -261,7 +263,7 @@ endif;
|
|
261 |
$field = 'signature';
|
262 |
add_settings_field(
|
263 |
$option_name.'_'.$field,
|
264 |
-
__( '<dfn title="It validates malicious signatures independently of “Block by country” and “Prevent Zero-day Exploit” for the target “Admin area”, “Admin ajax/post”, “Plugins area” and “Themes area”.">Bad signatures in query</dfn> <nobr>(<a class="ip-geo-block-cycle" id="ip-geo-block-decode" title="When you find ugly character string in the text area, please click to restore."><span></span></a>)</nobr>', 'ip-geo-block' ),
|
265 |
array( $context, 'callback_field' ),
|
266 |
$option_slug,
|
267 |
$section,
|
@@ -275,7 +277,7 @@ endif;
|
|
275 |
);
|
276 |
|
277 |
// Prevent malicious upload - white list of file extention and MIME type
|
278 |
-
$list = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Select allowed MIME type.">Whitelist of allowed MIME type</dfn>', 'ip-geo-block' ) . "<a class=\"ip-geo-block-cycle ip-geo-block-hide\">" . $comma[2] . "</a>\n<li class=\"ip-geo-block-hide\"><ul class=\"ip-geo-block-float\">\n";
|
279 |
|
280 |
// get_allowed_mime_types() in wp-includes/functions.php @since 2.8.6
|
281 |
foreach ( IP_Geo_Block_Util::get_allowed_mime_types() as $key => $val ) {
|
@@ -283,9 +285,9 @@ endif;
|
|
283 |
$val = esc_attr( $val );
|
284 |
$list .= '<li><input type="checkbox" id="ip_geo_block_settings_mimetype_white_list' . $key . '" name="ip_geo_block_settings[mimetype][white_list][' . $key . ']" value="' . $val . '"' . checked( isset( $options['mimetype']['white_list'][ $key ] ), TRUE, FALSE ) . '><label for="ip_geo_block_settings_mimetype_white_list' . $key . '"><dfn title="' . $val . '">' . $key . '</dfn></label></li>' . "\n";
|
285 |
}
|
286 |
-
$list .= "</ul></li></ul>\n";
|
287 |
|
288 |
// Prevent malicious upload - black list of file extension
|
|
|
289 |
$list .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Put forbidden file extensions.">Blacklist of forbidden file extensions</dfn>', 'ip-geo-block' ) . "\n" . '<li class="ip-geo-block-hide"><ul><li><input type="text" class="regular-text code" id="ip_geo_block_settings_mimetype_black_list" name="ip_geo_block_settings[mimetype][black_list]" value="' . esc_attr( $options['mimetype']['black_list'] ) . '"/></li>';
|
290 |
$list .= "</ul></li></ul>\n";
|
291 |
|
@@ -524,7 +526,7 @@ endif;
|
|
524 |
'sub-field' => $key,
|
525 |
'value' => $options[ $field ][ $key ],
|
526 |
'text' => __( 'Block by country', 'ip-geo-block' ),
|
527 |
-
'after' => '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual action as a blocking target.">Target actions</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n" . $list . "</ul></li></ul>\n",
|
528 |
)
|
529 |
);
|
530 |
|
@@ -557,23 +559,22 @@ endif;
|
|
557 |
)
|
558 |
);
|
559 |
|
560 |
-
// Get all the admin-post actions
|
561 |
-
$installed = IP_Geo_Block_Util::get_registered_actions( FALSE );
|
562 |
-
|
563 |
$tmp = array(
|
564 |
__( 'admin post for logged-in user', 'ip-geo-block' ),
|
565 |
__( 'admin post for non logged-in user', 'ip-geo-block' ),
|
566 |
);
|
567 |
|
|
|
568 |
$exception = '';
|
|
|
569 |
foreach ( $installed as $key => $val ) {
|
570 |
$val = '';
|
571 |
$val .= $installed[ $key ] & 1 ? '<dfn title="' . $tmp[0] . '"><span class="ip-geo-block-admin-post dashicons dashicons-lock">*</span></dfn>' : '';
|
572 |
$val .= $installed[ $key ] & 2 ? '<dfn title="' . $tmp[1] . '"><span class="ip-geo-block-admin-post dashicons dashicons-unlock">*</span></dfn>' : '';
|
573 |
$key = esc_attr( $key );
|
574 |
$exception .= '<li>'
|
575 |
-
. '<input id="
|
576 |
-
. '<label for="
|
577 |
. '</li>' . "\n";
|
578 |
}
|
579 |
|
@@ -596,23 +597,29 @@ endif;
|
|
596 |
'value' => $options[ $field ][ $key ],
|
597 |
'list' => $list,
|
598 |
'desc' => $desc,
|
599 |
-
'after' =>
|
600 |
-
|
601 |
-
. "
|
602 |
-
|
603 |
-
.
|
604 |
-
|
605 |
-
|
606 |
-
. $
|
607 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
608 |
)
|
609 |
);
|
610 |
|
611 |
array_unshift( $list, __( 'Disable', 'ip-geo-block' ) );
|
612 |
$desc = array(
|
613 |
__( 'Regardless of the country code, it will block a malicious request to <code>%s⋯/*.php</code>.', 'ip-geo-block' ),
|
614 |
-
__( '
|
615 |
-
__( 'It configures “%s” to validate a request to the PHP file which does not load WordPress core.', 'ip-geo-block' ),
|
616 |
__( 'Sorry, but your server type is not supported.', 'ip-geo-block' ),
|
617 |
);
|
618 |
|
@@ -623,7 +630,6 @@ endif;
|
|
623 |
// Get all the plugins
|
624 |
$exception = '';
|
625 |
$installed = get_plugins(); // @since 1.5.0
|
626 |
-
unset( $installed[ IP_GEO_BLOCK_BASE ] ); // exclude myself
|
627 |
|
628 |
$activated = get_site_option( 'active_sitewide_plugins' ); // @since 2.8.0
|
629 |
! is_array( $activated ) and $activated = array();
|
@@ -636,7 +642,7 @@ endif;
|
|
636 |
$key = esc_attr( $key[0] );
|
637 |
$exception .= '<li><input type="checkbox" id="ip_geo_block_settings_exception_plugins_' . $key
|
638 |
. '" name="ip_geo_block_settings[exception][plugins][' . $key
|
639 |
-
. ']" value="
|
640 |
. ' /><label for="ip_geo_block_settings_exception_plugins_' . $key
|
641 |
. ($active ? '">' : '" class="folding-inactive">') . esc_html( $val['Name'] ) . "</label></li>\n";
|
642 |
}
|
@@ -669,15 +675,26 @@ endif;
|
|
669 |
'desc' => array(
|
670 |
2 => sprintf( $desc[0], $val ),
|
671 |
),
|
672 |
-
'
|
673 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
)
|
675 |
);
|
676 |
|
677 |
// Get all the themes
|
678 |
$exception = '';
|
679 |
-
$installed = wp_get_themes(
|
680 |
-
$activated = wp_get_theme();
|
681 |
$activated = $activated->get( 'Name' );
|
682 |
|
683 |
// List of installed themes
|
@@ -686,7 +703,7 @@ endif;
|
|
686 |
$active = ( ( $val = $val->get( 'Name' ) ) === $activated );
|
687 |
$exception .= '<li><input type="checkbox" id="ip_geo_block_settings_exception_themes_' . $key
|
688 |
. '" name="ip_geo_block_settings[exception][themes][' . $key
|
689 |
-
. ']" value="
|
690 |
. ' /><label for="ip_geo_block_settings_exception_themes_' . $key
|
691 |
. ($active ? '">' : '" class="folding-inactive">') . esc_html( $val ) . "</label></li>\n";
|
692 |
}
|
@@ -719,8 +736,19 @@ endif;
|
|
719 |
'desc' => array(
|
720 |
2 => sprintf( $desc[0], $val ),
|
721 |
),
|
722 |
-
'
|
723 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
)
|
725 |
);
|
726 |
|
@@ -881,7 +909,7 @@ endif;
|
|
881 |
);
|
882 |
|
883 |
// List of page
|
884 |
-
$exception = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual page as a blocking target.">Page</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
885 |
$tmp = get_pages();
|
886 |
if ( ! empty( $tmp ) ) {
|
887 |
foreach ( $tmp as $key ) {
|
@@ -893,7 +921,7 @@ endif;
|
|
893 |
$exception .= '</ul></li></ul>' . "\n";
|
894 |
|
895 |
// List of post type
|
896 |
-
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual post type on a single page as a blocking target.">Post type</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
897 |
$tmp = get_post_types( array( 'public' => TRUE ) );
|
898 |
if ( ! empty( $tmp ) ) {
|
899 |
foreach ( $tmp as $key ) {
|
@@ -905,7 +933,7 @@ endif;
|
|
905 |
$exception .= '</ul></li></ul>' . "\n";
|
906 |
|
907 |
// List of category
|
908 |
-
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual category on a single page or archive page as a blocking target.">Category</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
909 |
$tmp = get_categories( array( 'hide_empty' => FALSE ) );
|
910 |
if ( ! empty( $tmp ) ) {
|
911 |
foreach ( $tmp as $key ) {
|
@@ -917,7 +945,7 @@ endif;
|
|
917 |
$exception .= '</ul></li></ul>' . "\n";
|
918 |
|
919 |
// List of tag
|
920 |
-
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual tag on a single page or archive page as a blocking target.">Tag</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
921 |
$tmp = get_tags( array( 'hide_empty' => FALSE ) );
|
922 |
if ( ! empty( $tmp ) ) {
|
923 |
foreach ( $tmp as $key ) {
|
@@ -1077,12 +1105,10 @@ endif;
|
|
1077 |
// Local DBs for each API
|
1078 |
$providers = IP_Geo_Block_Provider::get_addons();
|
1079 |
if ( empty( $providers ) ) {
|
1080 |
-
$context->add_admin_notice( 'error',
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
)
|
1085 |
-
);
|
1086 |
}
|
1087 |
|
1088 |
add_settings_section(
|
@@ -1205,7 +1231,7 @@ endif;
|
|
1205 |
0 => __( 'Disable', 'ip-geo-block' ),
|
1206 |
1 => __( 'When requests blocked', 'ip-geo-block' ),
|
1207 |
2 => __( 'When requests passed', 'ip-geo-block' ),
|
1208 |
-
6 => __( 'When blocked or passed
|
1209 |
3 => __( 'Unauthenticated visitor', 'ip-geo-block' ),
|
1210 |
4 => __( 'Authenticated user', 'ip-geo-block' ),
|
1211 |
5 => __( 'All the validation', 'ip-geo-block' ),
|
116 |
'<span class="ip-geo-block-sup">' . __( '(comma separated)', 'ip-geo-block' ) . '</span>',
|
117 |
'<span class="ip-geo-block-sup">' . __( '(comma or RET separated)', 'ip-geo-block' ) . '</span>',
|
118 |
'<span title="' . __( 'Toggle selection', 'ip-geo-block' ) . '"></span>',
|
119 |
+
'<span title="' . __( 'Find blocked requests in “Logs“', 'ip-geo-block' ) . '"></span>',
|
120 |
+
__( 'Before adding as “Exception”, please click on “<a class="ip-geo-block-icon ip-geo-block-icon-alert" title="This button is just a sample."><span></span></a>” button (if exists) attached to the following list to confirm that the blocked request is not malicious.', 'ip-geo-block' ),
|
121 |
);
|
122 |
|
123 |
// Matching rule
|
263 |
$field = 'signature';
|
264 |
add_settings_field(
|
265 |
$option_name.'_'.$field,
|
266 |
+
__( '<dfn title="It validates malicious signatures independently of “Block by country” and “Prevent Zero-day Exploit” for the target “Admin area”, “Admin ajax/post”, “Plugins area” and “Themes area”.">Bad signatures in query</dfn> <nobr>(<a class="ip-geo-block-icon ip-geo-block-icon-cycle" id="ip-geo-block-decode" title="When you find ugly character string in the text area, please click to restore."><span></span></a>)</nobr>', 'ip-geo-block' ),
|
267 |
array( $context, 'callback_field' ),
|
268 |
$option_slug,
|
269 |
$section,
|
277 |
);
|
278 |
|
279 |
// Prevent malicious upload - white list of file extention and MIME type
|
280 |
+
$list = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Select allowed MIME type.">Whitelist of allowed MIME type</dfn>', 'ip-geo-block' ) . "<a class=\"ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide\">" . $comma[2] . "</a>\n<li class=\"ip-geo-block-hide\"><ul class=\"ip-geo-block-float\">\n";
|
281 |
|
282 |
// get_allowed_mime_types() in wp-includes/functions.php @since 2.8.6
|
283 |
foreach ( IP_Geo_Block_Util::get_allowed_mime_types() as $key => $val ) {
|
285 |
$val = esc_attr( $val );
|
286 |
$list .= '<li><input type="checkbox" id="ip_geo_block_settings_mimetype_white_list' . $key . '" name="ip_geo_block_settings[mimetype][white_list][' . $key . ']" value="' . $val . '"' . checked( isset( $options['mimetype']['white_list'][ $key ] ), TRUE, FALSE ) . '><label for="ip_geo_block_settings_mimetype_white_list' . $key . '"><dfn title="' . $val . '">' . $key . '</dfn></label></li>' . "\n";
|
287 |
}
|
|
|
288 |
|
289 |
// Prevent malicious upload - black list of file extension
|
290 |
+
$list .= "</ul></li></ul>\n";
|
291 |
$list .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Put forbidden file extensions.">Blacklist of forbidden file extensions</dfn>', 'ip-geo-block' ) . "\n" . '<li class="ip-geo-block-hide"><ul><li><input type="text" class="regular-text code" id="ip_geo_block_settings_mimetype_black_list" name="ip_geo_block_settings[mimetype][black_list]" value="' . esc_attr( $options['mimetype']['black_list'] ) . '"/></li>';
|
292 |
$list .= "</ul></li></ul>\n";
|
293 |
|
526 |
'sub-field' => $key,
|
527 |
'value' => $options[ $field ][ $key ],
|
528 |
'text' => __( 'Block by country', 'ip-geo-block' ),
|
529 |
+
'after' => '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual action as a blocking target.">Target actions</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n" . $list . "</ul></li></ul>\n",
|
530 |
)
|
531 |
);
|
532 |
|
559 |
)
|
560 |
);
|
561 |
|
|
|
|
|
|
|
562 |
$tmp = array(
|
563 |
__( 'admin post for logged-in user', 'ip-geo-block' ),
|
564 |
__( 'admin post for non logged-in user', 'ip-geo-block' ),
|
565 |
);
|
566 |
|
567 |
+
// Get all the admin-post actions
|
568 |
$exception = '';
|
569 |
+
$installed = IP_Geo_Block_Util::get_registered_actions( FALSE );
|
570 |
foreach ( $installed as $key => $val ) {
|
571 |
$val = '';
|
572 |
$val .= $installed[ $key ] & 1 ? '<dfn title="' . $tmp[0] . '"><span class="ip-geo-block-admin-post dashicons dashicons-lock">*</span></dfn>' : '';
|
573 |
$val .= $installed[ $key ] & 2 ? '<dfn title="' . $tmp[1] . '"><span class="ip-geo-block-admin-post dashicons dashicons-unlock">*</span></dfn>' : '';
|
574 |
$key = esc_attr( $key );
|
575 |
$exception .= '<li>'
|
576 |
+
. '<input id="ip_geo_block_settings_exception_admin_' . $key . '" type="checkbox" value="' . $key . '"' . checked( in_array( $key, $options['exception']['admin'] ), TRUE, FALSE ) . ' />'
|
577 |
+
. '<label for="ip_geo_block_settings_exception_admin_' . $key . '">' . $key . '</label>' . $val
|
578 |
. '</li>' . "\n";
|
579 |
}
|
580 |
|
597 |
'value' => $options[ $field ][ $key ],
|
598 |
'list' => $list,
|
599 |
'desc' => $desc,
|
600 |
+
'after' =>
|
601 |
+
'<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . "\n" .
|
602 |
+
' <dfn title="' . __( 'Specify the action name (“action=…”) or the page name (“page=…”) to prevent unintended blocking caused by “Block by country” (for non logged-in user) and “Prevent Zero-day Exploit” (for logged-in user).', 'ip-geo-block' ) . '">' . __( 'Exceptions', 'ip-geo-block' ) . "</dfn>\n" .
|
603 |
+
' <a class="ip-geo-block-hide ip-geo-block-icon ip-geo-block-icon-unlock"><span title="' . __( 'Toggle with non logged-in user', 'ip-geo-block' ) . '"></span></a><a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide" data-target="admin">' . $comma[2] . '</a><a class="ip-geo-block-icon ip-geo-block-icon-find ip-geo-block-hide" data-target="admin">' . $comma[3] . "</a>\n" .
|
604 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
605 |
+
' <input class="regular-text code" id="ip_geo_block_settings_exception_admin" name="ip_geo_block_settings[exception][admin]" type="text" value="' . esc_attr( implode( ',', $options['exception']['admin'] ) ) . '">' . $comma[0] . "\n" .
|
606 |
+
' <h4>' . __( 'Candidate actions/pages', 'ip-geo-block' ) . "</h4>\n" .
|
607 |
+
' <p class="ip-geo-block-find-desc">' . $comma[4] . '<span id="ip-geo-block-find-admin"></span></p>' . "\n" .
|
608 |
+
' </li>' . "\n" .
|
609 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
610 |
+
' <ul class="ip-geo-block-list-exceptions" id="ip-geo-block-list-admin">' . "\n" .
|
611 |
+
$exception .
|
612 |
+
' </ul>' . "\n" .
|
613 |
+
' </li>' . "\n" .
|
614 |
+
'</ul>'
|
615 |
)
|
616 |
);
|
617 |
|
618 |
array_unshift( $list, __( 'Disable', 'ip-geo-block' ) );
|
619 |
$desc = array(
|
620 |
__( 'Regardless of the country code, it will block a malicious request to <code>%s⋯/*.php</code>.', 'ip-geo-block' ),
|
621 |
+
__( 'Select the item which causes unintended blocking in order to exclude from the validation target. Grayed item indicates “INACTIVE”.', 'ip-geo-block' ),
|
622 |
+
__( 'It configures “%s” to validate a request to the PHP file which does not load WordPress core. Make sure to deny direct access to the hidden files beginning with a dot by the server\'s configuration.', 'ip-geo-block' ),
|
623 |
__( 'Sorry, but your server type is not supported.', 'ip-geo-block' ),
|
624 |
);
|
625 |
|
630 |
// Get all the plugins
|
631 |
$exception = '';
|
632 |
$installed = get_plugins(); // @since 1.5.0
|
|
|
633 |
|
634 |
$activated = get_site_option( 'active_sitewide_plugins' ); // @since 2.8.0
|
635 |
! is_array( $activated ) and $activated = array();
|
642 |
$key = esc_attr( $key[0] );
|
643 |
$exception .= '<li><input type="checkbox" id="ip_geo_block_settings_exception_plugins_' . $key
|
644 |
. '" name="ip_geo_block_settings[exception][plugins][' . $key
|
645 |
+
. ']" value="' . $key . '"' . checked( in_array( $key, $options['exception']['plugins'] ), TRUE, FALSE )
|
646 |
. ' /><label for="ip_geo_block_settings_exception_plugins_' . $key
|
647 |
. ($active ? '">' : '" class="folding-inactive">') . esc_html( $val['Name'] ) . "</label></li>\n";
|
648 |
}
|
675 |
'desc' => array(
|
676 |
2 => sprintf( $desc[0], $val ),
|
677 |
),
|
678 |
+
'after' => $tmp .
|
679 |
+
'<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . "\n" .
|
680 |
+
' <dfn title="' . $desc[1] . '">' . __( 'Exceptions', 'ip-geo-block' ) . "</dfn>\n" .
|
681 |
+
' <a class="ip-geo-block-hide ip-geo-block-icon ip-geo-block-icon-cycle">' . $comma[2] . '</a><a class="ip-geo-block-icon ip-geo-block-icon-find ip-geo-block-hide" data-target="plugins">' . $comma[3] . "</a>\n" .
|
682 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
683 |
+
' <p class="ip-geo-block-find-desc">' . $comma[4] . '<span id="ip-geo-block-find-plugins"></span></p>' . "\n" .
|
684 |
+
' </li>' . "\n" .
|
685 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
686 |
+
' <ul class="ip-geo-block-list-exceptions" id="ip-geo-block-list-plugins">' . "\n" .
|
687 |
+
$exception .
|
688 |
+
' </ul>' . "\n" .
|
689 |
+
' </li>' . "\n" .
|
690 |
+
'</ul>'
|
691 |
)
|
692 |
);
|
693 |
|
694 |
// Get all the themes
|
695 |
$exception = '';
|
696 |
+
$installed = wp_get_themes(); // @since 3.4.0
|
697 |
+
$activated = wp_get_theme(); // @since 3.4.0
|
698 |
$activated = $activated->get( 'Name' );
|
699 |
|
700 |
// List of installed themes
|
703 |
$active = ( ( $val = $val->get( 'Name' ) ) === $activated );
|
704 |
$exception .= '<li><input type="checkbox" id="ip_geo_block_settings_exception_themes_' . $key
|
705 |
. '" name="ip_geo_block_settings[exception][themes][' . $key
|
706 |
+
. ']" value="' . $key . '"' . checked( in_array( $key, $options['exception']['themes'] ), TRUE, FALSE )
|
707 |
. ' /><label for="ip_geo_block_settings_exception_themes_' . $key
|
708 |
. ($active ? '">' : '" class="folding-inactive">') . esc_html( $val ) . "</label></li>\n";
|
709 |
}
|
736 |
'desc' => array(
|
737 |
2 => sprintf( $desc[0], $val ),
|
738 |
),
|
739 |
+
'after' => $tmp .
|
740 |
+
'<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . "\n" .
|
741 |
+
' <dfn title="' . $desc[1] . '">' . __( 'Exceptions', 'ip-geo-block' ) . "</dfn>\n" .
|
742 |
+
' <a class="ip-geo-block-hide ip-geo-block-icon ip-geo-block-icon-cycle">' . $comma[2] . '</a><a class="ip-geo-block-icon ip-geo-block-icon-find ip-geo-block-hide" data-target="themes">' . $comma[3] . "</a>\n" .
|
743 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
744 |
+
' <p class="ip-geo-block-find-desc">' . $comma[4] . '<span id="ip-geo-block-find-themes"></span></p>' . "\n" .
|
745 |
+
' </li>' . "\n" .
|
746 |
+
' <li class="ip-geo-block-hide">' . "\n" .
|
747 |
+
' <ul class="ip-geo-block-list-exceptions" id="ip-geo-block-list-themes">' . "\n" .
|
748 |
+
$exception .
|
749 |
+
' </ul>' . "\n" .
|
750 |
+
' </li>' . "\n" .
|
751 |
+
'</ul>'
|
752 |
)
|
753 |
);
|
754 |
|
909 |
);
|
910 |
|
911 |
// List of page
|
912 |
+
$exception = '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual page as a blocking target.">Page</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
913 |
$tmp = get_pages();
|
914 |
if ( ! empty( $tmp ) ) {
|
915 |
foreach ( $tmp as $key ) {
|
921 |
$exception .= '</ul></li></ul>' . "\n";
|
922 |
|
923 |
// List of post type
|
924 |
+
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual post type on a single page as a blocking target.">Post type</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
925 |
$tmp = get_post_types( array( 'public' => TRUE ) );
|
926 |
if ( ! empty( $tmp ) ) {
|
927 |
foreach ( $tmp as $key ) {
|
933 |
$exception .= '</ul></li></ul>' . "\n";
|
934 |
|
935 |
// List of category
|
936 |
+
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual category on a single page or archive page as a blocking target.">Category</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
937 |
$tmp = get_categories( array( 'hide_empty' => FALSE ) );
|
938 |
if ( ! empty( $tmp ) ) {
|
939 |
foreach ( $tmp as $key ) {
|
945 |
$exception .= '</ul></li></ul>' . "\n";
|
946 |
|
947 |
// List of tag
|
948 |
+
$exception .= '<ul class="ip-geo-block-settings-folding ip-geo-block-dropup">' . __( '<dfn title="Specify the individual tag on a single page or archive page as a blocking target.">Tag</dfn>', 'ip-geo-block' ) . '<a class="ip-geo-block-icon ip-geo-block-icon-cycle ip-geo-block-hide">' . $comma[2] . '</a>' . "\n<li class=\"ip-geo-block-hide\"><ul>\n";
|
949 |
$tmp = get_tags( array( 'hide_empty' => FALSE ) );
|
950 |
if ( ! empty( $tmp ) ) {
|
951 |
foreach ( $tmp as $key ) {
|
1105 |
// Local DBs for each API
|
1106 |
$providers = IP_Geo_Block_Provider::get_addons();
|
1107 |
if ( empty( $providers ) ) {
|
1108 |
+
$context->add_admin_notice( 'error', sprintf(
|
1109 |
+
__( 'Can not find geolocation API libraries in <code>%s</code>. It seems to have failed downloading <a rel="noreferrer" href="https://github.com/tokkonopapa/WordPress-IP-Geo-API/archive/master.zip" title="Download the contents of tokkonopapa/WordPress-IP-Geo-API as a zip file">ZIP file</a> from <a rel="noreferrer" href="https://github.com/tokkonopapa/WordPress-IP-Geo-API" title="tokkonopapa/WordPress-IP-Geo-API - GitHub">WordPress-IP-Geo-API</a>. Please install <code>ip-geo-api</code> with write permission according to <a rel="noreferrer" href="http://www.ipgeoblock.com/codex/how-to-fix-permission-troubles.html" title="How can I fix permission troubles? | IP Geo Block">this instruction</a>.', 'ip-geo-block' ),
|
1110 |
+
apply_filters( 'ip-geo-block-api-dir', basename( WP_CONTENT_DIR ) )
|
1111 |
+
) );
|
|
|
|
|
1112 |
}
|
1113 |
|
1114 |
add_settings_section(
|
1231 |
0 => __( 'Disable', 'ip-geo-block' ),
|
1232 |
1 => __( 'When requests blocked', 'ip-geo-block' ),
|
1233 |
2 => __( 'When requests passed', 'ip-geo-block' ),
|
1234 |
+
6 => __( 'When “blocked” or “passed (not in whitelist)”', 'ip-geo-block' ),
|
1235 |
3 => __( 'Unauthenticated visitor', 'ip-geo-block' ),
|
1236 |
4 => __( 'Authenticated user', 'ip-geo-block' ),
|
1237 |
5 => __( 'All the validation', 'ip-geo-block' ),
|
admin/includes/tab-statistics.php
CHANGED
@@ -182,7 +182,7 @@ endif;
|
|
182 |
*----------------------------------------*/
|
183 |
add_settings_section(
|
184 |
$section = $plugin_slug . '-stat-logs',
|
185 |
-
__( 'Statistics in
|
186 |
( $options['validation']['reclogs'] ?
|
187 |
array( __CLASS__, 'statistics_logs' ) :
|
188 |
array( __CLASS__, 'warn_validation' )
|
@@ -282,9 +282,6 @@ endif;
|
|
282 |
*
|
283 |
*/
|
284 |
public static function statistics_logs() {
|
285 |
-
// array of ( `time`, `ip`, `hook`, `code`, `method`, `data` )
|
286 |
-
$logs = IP_Geo_Block_Logs::get_recent_logs( YEAR_IN_SECONDS );
|
287 |
-
|
288 |
// Count by key
|
289 |
$count = array();
|
290 |
$keys = array(
|
@@ -294,61 +291,65 @@ endif;
|
|
294 |
'slug' => __( 'Slug in back-end', 'ip-geo-block' ),
|
295 |
);
|
296 |
|
297 |
-
//
|
298 |
-
foreach(
|
299 |
-
$
|
300 |
-
$key = $
|
301 |
|
302 |
// <methodName>...</methodName>
|
303 |
if ( preg_match( '#<methodName>(.*?)</methodName>#', $key, $matches ) ) {
|
304 |
-
$
|
305 |
}
|
306 |
|
307 |
// /wp-content/(plugins|themes)/...
|
308 |
elseif ( preg_match( '#(/wp-content/(?:plugins|themes)/.*?/)#', $key, $matches ) ) {
|
309 |
-
$
|
310 |
}
|
311 |
|
312 |
// /wp-admin/admin*.php?action=...
|
313 |
-
elseif ( preg_match( '#(/wp-admin/admin.*?\.php).*((?:page|action)=[
|
314 |
-
$
|
315 |
}
|
316 |
|
317 |
// /wp-admin/*.php
|
318 |
elseif ( preg_match( '#(/wp-admin/(?!admin).*?\.php)#', $key, $matches ) ) {
|
319 |
-
$
|
320 |
}
|
321 |
|
322 |
// file uploading *.(zip|tar|rar|gz|php|...)
|
323 |
elseif ( preg_match( '#(\[name\]\s*?=>.*\.\w+?)\b#', $key, $matches ) ) {
|
324 |
-
$
|
325 |
}
|
326 |
|
327 |
-
//
|
328 |
-
elseif ( preg_match( '
|
329 |
-
$
|
330 |
}
|
331 |
|
332 |
foreach ( array_keys( $keys ) as $key ) {
|
333 |
-
if ( ! empty( $
|
334 |
-
$count[ $key ][] = $
|
335 |
}
|
336 |
}
|
337 |
}
|
338 |
|
339 |
$options = IP_Geo_Block::get_option();
|
340 |
|
341 |
-
|
342 |
-
|
|
|
|
|
|
|
|
|
343 |
|
344 |
if ( isset( $count[ $slug ] ) ) {
|
345 |
$logs = array_count_values( $count[ $slug ] );
|
346 |
arsort( $logs );
|
347 |
|
348 |
if ( 'slug' !== $slug )
|
349 |
-
$logs = array_slice( $logs, 0, 10 );
|
350 |
|
351 |
-
foreach ( $logs as $key => $
|
352 |
$link = explode( ' ', $key );
|
353 |
$link = esc_html( end( $link ) );
|
354 |
$key = esc_html( $key );
|
@@ -367,7 +368,7 @@ endif;
|
|
367 |
'" target=_blank>' . $link . '</a>',
|
368 |
$key
|
369 |
);
|
370 |
-
echo '</code> (', (int)$
|
371 |
}
|
372 |
}
|
373 |
|
182 |
*----------------------------------------*/
|
183 |
add_settings_section(
|
184 |
$section = $plugin_slug . '-stat-logs',
|
185 |
+
__( 'Statistics in Logs', 'ip-geo-block' ),
|
186 |
( $options['validation']['reclogs'] ?
|
187 |
array( __CLASS__, 'statistics_logs' ) :
|
188 |
array( __CLASS__, 'warn_validation' )
|
282 |
*
|
283 |
*/
|
284 |
public static function statistics_logs() {
|
|
|
|
|
|
|
285 |
// Count by key
|
286 |
$count = array();
|
287 |
$keys = array(
|
291 |
'slug' => __( 'Slug in back-end', 'ip-geo-block' ),
|
292 |
);
|
293 |
|
294 |
+
// Count by keys ($log: `time`, `ip`, `hook`, `code`, `method`, `data`)
|
295 |
+
foreach( IP_Geo_Block_Logs::get_recent_logs( YEAR_IN_SECONDS ) as $log ) {
|
296 |
+
$log['ip'] = '[' . $log['code'] . '] ' . $log['ip'];
|
297 |
+
$key = $log['method'] . ' ' . $log['data'];
|
298 |
|
299 |
// <methodName>...</methodName>
|
300 |
if ( preg_match( '#<methodName>(.*?)</methodName>#', $key, $matches ) ) {
|
301 |
+
$log['slug'] = '/xmlrpc.php ' . $matches[1];
|
302 |
}
|
303 |
|
304 |
// /wp-content/(plugins|themes)/...
|
305 |
elseif ( preg_match( '#(/wp-content/(?:plugins|themes)/.*?/)#', $key, $matches ) ) {
|
306 |
+
$log['slug'] = $matches[1];
|
307 |
}
|
308 |
|
309 |
// /wp-admin/admin*.php?action=...
|
310 |
+
elseif ( preg_match( '#(/wp-admin/admin.*?\.php).*((?:page|action)=[-\w]+)#', $key, $matches ) ) {
|
311 |
+
$log['slug'] = $matches[1] . ' ' . $matches[2];
|
312 |
}
|
313 |
|
314 |
// /wp-admin/*.php
|
315 |
elseif ( preg_match( '#(/wp-admin/(?!admin).*?\.php)#', $key, $matches ) ) {
|
316 |
+
$log['slug'] = $matches[1];
|
317 |
}
|
318 |
|
319 |
// file uploading *.(zip|tar|rar|gz|php|...)
|
320 |
elseif ( preg_match( '#(\[name\]\s*?=>.*\.\w+?)\b#', $key, $matches ) ) {
|
321 |
+
$log['slug'] = $matches[1];
|
322 |
}
|
323 |
|
324 |
+
// other *.php file with or without query string
|
325 |
+
elseif ( preg_match( '#(/[^/]*\.php)[^/\w]#', $key, $matches ) && FALSE === strpos( $key, '/wp-admin/' ) ) {
|
326 |
+
$log['slug'] = $matches[1];
|
327 |
}
|
328 |
|
329 |
foreach ( array_keys( $keys ) as $key ) {
|
330 |
+
if ( ! empty( $log[ $key ] ) ) {
|
331 |
+
$count[ $key ][] = $log[ $key ];
|
332 |
}
|
333 |
}
|
334 |
}
|
335 |
|
336 |
$options = IP_Geo_Block::get_option();
|
337 |
|
338 |
+
// Statistics by keys
|
339 |
+
foreach ( $keys as $slug => $log ) {
|
340 |
+
if ( 'slug' !== $slug )
|
341 |
+
echo '<ol class="ip-geo-block-top-list"><h4>', esc_html( $log ), '</h4>';
|
342 |
+
else
|
343 |
+
echo '<ol class="ip-geo-block-top-list"><h4>', esc_html( $log ), ' <a class="ip-geo-block-icon ip-geo-block-icon-cycle" id="ip-geo-block-sort-slug" title="', __( 'Toggle sorting order', 'ip-geo-block' ) ,'"><span></span></a></h4>';
|
344 |
|
345 |
if ( isset( $count[ $slug ] ) ) {
|
346 |
$logs = array_count_values( $count[ $slug ] );
|
347 |
arsort( $logs );
|
348 |
|
349 |
if ( 'slug' !== $slug )
|
350 |
+
$logs = array_slice( $logs, 0, 10 ); // Make list of top 10
|
351 |
|
352 |
+
foreach ( $logs as $key => $log ) {
|
353 |
$link = explode( ' ', $key );
|
354 |
$link = esc_html( end( $link ) );
|
355 |
$key = esc_html( $key );
|
368 |
'" target=_blank>' . $link . '</a>',
|
369 |
$key
|
370 |
);
|
371 |
+
echo '</code> (', (int)$log, ')</li>', "\n";
|
372 |
}
|
373 |
}
|
374 |
|
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)
|
6 |
* This software is released under the MIT License.
|
7 |
*/
|
8 |
(function ($, window, document) {
|
@@ -10,7 +10,7 @@
|
|
10 |
|
11 |
// External variables
|
12 |
var timer_stack = [],
|
13 |
-
|
14 |
ip_geo_block = IP_GEO_BLOCK,
|
15 |
ip_geo_block_auth = IP_GEO_BLOCK_AUTH;
|
16 |
|
@@ -27,7 +27,7 @@
|
|
27 |
}
|
28 |
|
29 |
function escapeHTML(str) {
|
30 |
-
return str
|
31 |
return {
|
32 |
'&': '&',
|
33 |
'<': '<',
|
@@ -35,11 +35,11 @@
|
|
35 |
'"': '"',
|
36 |
"'": '''
|
37 |
}[match];
|
38 |
-
})
|
39 |
}
|
40 |
|
41 |
function stripTag(str) {
|
42 |
-
return str.replace(/(<([^>]+)>)/ig, '');
|
43 |
}
|
44 |
|
45 |
function onresize(name, callback) {
|
@@ -68,22 +68,22 @@
|
|
68 |
}
|
69 |
|
70 |
function confirm(msg, callback) {
|
71 |
-
if (window.confirm(
|
72 |
callback();
|
73 |
}
|
74 |
}
|
75 |
|
76 |
-
function warning(status, msg) {
|
77 |
-
window.alert(
|
78 |
}
|
79 |
|
80 |
function notice_html5() {
|
81 |
-
warning(null, ip_geo_block.msg[
|
82 |
}
|
83 |
|
84 |
function redirect(page, tab) {
|
85 |
if (-1 !== window.location.href.indexOf(page)) {
|
86 |
-
window.location =
|
87 |
}
|
88 |
}
|
89 |
|
@@ -103,13 +103,13 @@
|
|
103 |
}
|
104 |
})
|
105 |
|
106 |
-
.fail(function (jqXHR
|
107 |
-
warning(
|
108 |
})
|
109 |
|
110 |
.always(function () {
|
111 |
if (id) {
|
112 |
-
if (objs) {
|
113 |
$.when.apply($, objs).then(function () {
|
114 |
loading(id, false);
|
115 |
});
|
@@ -160,18 +160,22 @@
|
|
160 |
if (stat) {
|
161 |
obj.removeClass('folding-disable');
|
162 |
} else {
|
163 |
-
obj.children('
|
164 |
obj.addClass('folding-disable');
|
165 |
obj.removeClass(ID('dropdown')).addClass(ID('dropup'));
|
166 |
}
|
167 |
}
|
168 |
|
169 |
-
// Show/Hide
|
170 |
-
function
|
171 |
var stat = (0 === $this.prop('type').indexOf('checkbox') && $this.is(':checked')) ||
|
172 |
(0 === $this.prop('type').indexOf('select' ) && '0' !== $this.val());
|
173 |
|
174 |
-
|
|
|
|
|
|
|
|
|
175 |
fold_elements($(obj), stat && mask);
|
176 |
});
|
177 |
}
|
@@ -238,7 +242,7 @@
|
|
238 |
parent.find(ID('.', 'desc')).css('opacity', checked ? 1.0 : 0.5);
|
239 |
|
240 |
// Show / Hide validation target
|
241 |
-
|
242 |
}
|
243 |
|
244 |
/**
|
@@ -701,7 +705,7 @@
|
|
701 |
function add_icon(dfn, span, title, icon) {
|
702 |
var i, j;
|
703 |
i = dfn.cloneNode(false);
|
704 |
-
i.setAttribute('title', title);
|
705 |
j = span.cloneNode(false);
|
706 |
j.setAttribute('class', 'dashicons dashicons-' + icon);
|
707 |
i.appendChild(j);
|
@@ -845,7 +849,7 @@
|
|
845 |
if (!cmd) {
|
846 |
return false;
|
847 |
} else if (!cells.length) {
|
848 |
-
warning(null, ip_geo_block.msg[
|
849 |
return false;
|
850 |
}
|
851 |
|
@@ -964,12 +968,12 @@
|
|
964 |
var key, val;
|
965 |
for (key in data) {
|
966 |
if (data.hasOwnProperty(key)) {
|
967 |
-
key =
|
968 |
if ('string' === typeof data[key]) {
|
969 |
-
val =
|
970 |
} else {
|
971 |
-
val =
|
972 |
-
key = '<abbr title="' +
|
973 |
}
|
974 |
parent.append('<li>' + key + ' : <span class="' + ID('notice') + '">' + val + '</span></li>');
|
975 |
}
|
@@ -1048,7 +1052,7 @@
|
|
1048 |
// Show/Hide folding list at Login form
|
1049 |
$(ID('@', 'validation_login')).on('change', function (event) {
|
1050 |
var $this = $(this);
|
1051 |
-
|
1052 |
return stopPropergation(event);
|
1053 |
}).change();
|
1054 |
|
@@ -1061,59 +1065,71 @@
|
|
1061 |
ajax_post(null, {
|
1062 |
cmd: 'get-actions'
|
1063 |
}, function (data) {
|
1064 |
-
var i, j, id, key, $this = $(ID('#', '
|
1065 |
li = document.createElement('li' ),
|
1066 |
input = document.createElement('input'),
|
1067 |
label = document.createElement('label'),
|
1068 |
dfn = document.createElement('dfn' ),
|
1069 |
span = document.createElement('span' );
|
|
|
1070 |
for (key in data) {
|
1071 |
-
if (data.hasOwnProperty(key)
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
|
|
|
|
1090 |
|
1091 |
-
|
|
|
1092 |
}
|
1093 |
}
|
1094 |
|
1095 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1096 |
$(ID('@', 'exception_admin')).on('change', function (event) {
|
1097 |
var actions = $.grep($(this).val().split(','), function (e){
|
1098 |
return '' !== e.replace(/^\s+|\s+$/g, ''); // remove empty element
|
1099 |
});
|
1100 |
|
1101 |
-
$(ID('#', '
|
1102 |
var $this = $(this),
|
1103 |
-
action = $this.
|
1104 |
$this.prop('checked', -1 !== $.inArray(action, actions));
|
1105 |
});
|
1106 |
|
1107 |
return stopPropergation(event);
|
1108 |
}).change();
|
1109 |
|
1110 |
-
// Candidate actions
|
1111 |
-
$(ID('#', '
|
1112 |
var i,
|
1113 |
$this = $(this),
|
1114 |
-
$
|
1115 |
-
action = $this.
|
1116 |
-
actions = $.grep($
|
1117 |
return '' !== e.replace(/^\s+|\s+$/g, ''); // remove empty element
|
1118 |
});
|
1119 |
|
@@ -1126,11 +1142,75 @@
|
|
1126 |
actions.splice(i, 1);
|
1127 |
}
|
1128 |
|
1129 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1130 |
});
|
1131 |
});
|
1132 |
|
1133 |
-
// Enable / Disable Exceptions
|
1134 |
$('input[id^="' + ID('!', 'validation_ajax_') + '"]').on('change', function (/*event*/) {
|
1135 |
show_folding_ajax($(this));
|
1136 |
}).change();
|
@@ -1167,12 +1247,12 @@
|
|
1167 |
data = res[api];
|
1168 |
for (key in data) { // key: ipv4, ipv6
|
1169 |
if (data.hasOwnProperty(key)) {
|
1170 |
-
key =
|
1171 |
if (data[key].filename) {
|
1172 |
-
$(ID('@', api + '_' + key + '_path')).val(
|
1173 |
}
|
1174 |
if (data[key].message) {
|
1175 |
-
$(ID('#', api + '-' + key)).text(
|
1176 |
}
|
1177 |
}
|
1178 |
}
|
@@ -1323,7 +1403,7 @@
|
|
1323 |
}
|
1324 |
|
1325 |
// response should be escaped at server side
|
1326 |
-
$(ID('#', 'wp-info')).html('<textarea rows="' + res.length + '">' + /*
|
1327 |
return false;
|
1328 |
});
|
1329 |
});
|
@@ -1335,16 +1415,16 @@
|
|
1335 |
$('select[name^="' + name + '"]').on('change', function (/*event*/) {
|
1336 |
var $this = $(this);
|
1337 |
show_description($this);
|
1338 |
-
|
1339 |
return false;
|
1340 |
}).change();
|
1341 |
|
1342 |
// Toggle checkbox
|
1343 |
-
$(ID('.', 'cycle')).on('click', function (/*event*/) {
|
1344 |
-
var
|
1345 |
-
text
|
1346 |
-
cbox
|
1347 |
-
stat
|
1348 |
|
1349 |
cbox.prop('checked', !stat);
|
1350 |
|
@@ -1352,10 +1432,9 @@
|
|
1352 |
if (stat) {
|
1353 |
text.val('');
|
1354 |
} else {
|
1355 |
-
regex = new RegExp(ID('%', ''));
|
1356 |
actions = [];
|
1357 |
-
cbox.each(function (i) {
|
1358 |
-
actions
|
1359 |
});
|
1360 |
text.val(actions.join(','));
|
1361 |
}
|
@@ -1365,25 +1444,15 @@
|
|
1365 |
return false;
|
1366 |
});
|
1367 |
|
1368 |
-
// Show/Hide logged in user only
|
1369 |
-
$(ID('.', 'unlock')).on('click', function (/*event*/) {
|
1370 |
-
$(this).nextAll('li').find('h4').nextAll('li').filter(function (/*i, elm*/) {
|
1371 |
-
return ! $(this).find('.dashicons-unlock').length;
|
1372 |
-
}).toggle();
|
1373 |
-
return false;
|
1374 |
-
});
|
1375 |
-
|
1376 |
// Folding list
|
1377 |
$(ID('.', 'settings-folding>dfn')).on('click', function (/*event*/) {
|
1378 |
var drop = ID('drop'),
|
1379 |
$this = $(this).parent();
|
1380 |
-
$this.children('
|
1381 |
$this.toggleClass(drop + 'up').toggleClass(drop + 'down');
|
1382 |
|
1383 |
-
if ($this.hasClass(drop + '
|
1384 |
-
$this.children('
|
1385 |
-
} else {
|
1386 |
-
$this.children('a').hide();
|
1387 |
}
|
1388 |
|
1389 |
return false;
|
@@ -1407,6 +1476,28 @@
|
|
1407 |
// https://developers.google.com/loader/#Dynamic
|
1408 |
initChart(tabNo);
|
1409 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1410 |
// Statistics of validation
|
1411 |
$(ID('@', 'clear_statistics')).on('click', function (/*event*/) {
|
1412 |
confirm(ip_geo_block.msg[3], function () {
|
@@ -1629,6 +1720,7 @@
|
|
1629 |
// Re-initialize DataTables
|
1630 |
$(ID('#', 'live-log-stop')).trigger('click');
|
1631 |
table = initTable(tabNo, control, options);
|
|
|
1632 |
}).trigger('change');
|
1633 |
|
1634 |
// Export / Import settings
|
@@ -1662,7 +1754,7 @@
|
|
1662 |
} else {
|
1663 |
map.each(function () {
|
1664 |
$(this).empty().html(
|
1665 |
-
'<iframe src="
|
1666 |
);
|
1667 |
});
|
1668 |
}
|
@@ -1714,17 +1806,17 @@
|
|
1714 |
which: $(ID('@', 'service')).val()
|
1715 |
}, function (data) {
|
1716 |
var key, info = '',
|
1717 |
-
latitude =
|
1718 |
-
longitude =
|
1719 |
zoom = (data.latitude || data.longitude) ? 8 : 2;
|
1720 |
|
1721 |
for (key in data) {
|
1722 |
if (data.hasOwnProperty(key)) {
|
1723 |
-
key =
|
1724 |
info +=
|
1725 |
'<li>' +
|
1726 |
'<span class="' + ID('title' ) + '">' + key + ' : </span>' +
|
1727 |
-
'<span class="' + ID('result') + '">' +
|
1728 |
'</li>';
|
1729 |
}
|
1730 |
}
|
@@ -1746,7 +1838,7 @@
|
|
1746 |
'<ul style="margin-top:0; margin-left:1em;">' +
|
1747 |
'<li>' +
|
1748 |
'<span class="' + ID('title' ) + '">' + 'IP address' + ' : </span>' +
|
1749 |
-
'<span class="' + ID('result') + '">' +
|
1750 |
'</li>' +
|
1751 |
info +
|
1752 |
/*'<li>' +
|
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) {
|
10 |
|
11 |
// External variables
|
12 |
var timer_stack = [],
|
13 |
+
window_width = $(window).width(),
|
14 |
ip_geo_block = IP_GEO_BLOCK,
|
15 |
ip_geo_block_auth = IP_GEO_BLOCK_AUTH;
|
16 |
|
27 |
}
|
28 |
|
29 |
function escapeHTML(str) {
|
30 |
+
return str.toString().replace(/[&<>"']/g, function (match) {
|
31 |
return {
|
32 |
'&': '&',
|
33 |
'<': '<',
|
35 |
'"': '"',
|
36 |
"'": '''
|
37 |
}[match];
|
38 |
+
}).replace(/&(#\d{2,4}|\w{4,7});/g, "&$1;"); // revert html character entity
|
39 |
}
|
40 |
|
41 |
function stripTag(str) {
|
42 |
+
return escapeHTML(str.toString().replace(/(<([^>]+)>)/ig, ''));
|
43 |
}
|
44 |
|
45 |
function onresize(name, callback) {
|
68 |
}
|
69 |
|
70 |
function confirm(msg, callback) {
|
71 |
+
if (window.confirm(msg)) {
|
72 |
callback();
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
function warning(status, msg, cmd) {
|
77 |
+
window.alert(msg || ip_geo_block.msg[12].replace('%s', cmd) + ' (' + status + ')');
|
78 |
}
|
79 |
|
80 |
function notice_html5() {
|
81 |
+
warning(null, ip_geo_block.msg[10]);
|
82 |
}
|
83 |
|
84 |
function redirect(page, tab) {
|
85 |
if (-1 !== window.location.href.indexOf(page)) {
|
86 |
+
window.location = stripTag(page) + (tab ? '&' + stripTag(tab) : '') + '&ip-geo-block-auth-nonce=' + ip_geo_block_auth.nonce;
|
87 |
}
|
88 |
}
|
89 |
|
103 |
}
|
104 |
})
|
105 |
|
106 |
+
.fail(function (jqXHR /*,textStatus, errorThrown*/) {
|
107 |
+
warning(jqXHR.status, jqXHR.responseText, request.action);
|
108 |
})
|
109 |
|
110 |
.always(function () {
|
111 |
if (id) {
|
112 |
+
if ('object' === typeof objs) { // deferred object
|
113 |
$.when.apply($, objs).then(function () {
|
114 |
loading(id, false);
|
115 |
});
|
160 |
if (stat) {
|
161 |
obj.removeClass('folding-disable');
|
162 |
} else {
|
163 |
+
obj.children(ID('.', 'hide')).hide();
|
164 |
obj.addClass('folding-disable');
|
165 |
obj.removeClass(ID('dropdown')).addClass(ID('dropup'));
|
166 |
}
|
167 |
}
|
168 |
|
169 |
+
// Show/Hide descendant elements
|
170 |
+
function show_descendants($this, $elem, mask) {
|
171 |
var stat = (0 === $this.prop('type').indexOf('checkbox') && $this.is(':checked')) ||
|
172 |
(0 === $this.prop('type').indexOf('select' ) && '0' !== $this.val());
|
173 |
|
174 |
+
// checkbox
|
175 |
+
$this.siblings('input[name^="' + ID('%', 'settings') + '"]:checkbox').prop('disabled', !stat);
|
176 |
+
|
177 |
+
// folding list
|
178 |
+
$elem.nextAll(ID('.', 'settings-folding')).each(function (i, obj) {
|
179 |
fold_elements($(obj), stat && mask);
|
180 |
});
|
181 |
}
|
242 |
parent.find(ID('.', 'desc')).css('opacity', checked ? 1.0 : 0.5);
|
243 |
|
244 |
// Show / Hide validation target
|
245 |
+
show_descendants($this, select, '1' === select.val() ? true : false);
|
246 |
}
|
247 |
|
248 |
/**
|
705 |
function add_icon(dfn, span, title, icon) {
|
706 |
var i, j;
|
707 |
i = dfn.cloneNode(false);
|
708 |
+
i.setAttribute('title', stripTag(title));
|
709 |
j = span.cloneNode(false);
|
710 |
j.setAttribute('class', 'dashicons dashicons-' + icon);
|
711 |
i.appendChild(j);
|
849 |
if (!cmd) {
|
850 |
return false;
|
851 |
} else if (!cells.length) {
|
852 |
+
warning(null, ip_geo_block.msg[11]);
|
853 |
return false;
|
854 |
}
|
855 |
|
968 |
var key, val;
|
969 |
for (key in data) {
|
970 |
if (data.hasOwnProperty(key)) {
|
971 |
+
key = stripTag(key);
|
972 |
if ('string' === typeof data[key]) {
|
973 |
+
val = stripTag(data[key]);
|
974 |
} else {
|
975 |
+
val = stripTag(data[key].code);
|
976 |
+
key = '<abbr title="' + stripTag(data[key].type) + '">' + key + '</abbr>';
|
977 |
}
|
978 |
parent.append('<li>' + key + ' : <span class="' + ID('notice') + '">' + val + '</span></li>');
|
979 |
}
|
1052 |
// Show/Hide folding list at Login form
|
1053 |
$(ID('@', 'validation_login')).on('change', function (event) {
|
1054 |
var $this = $(this);
|
1055 |
+
show_descendants($this, $this, name, true);
|
1056 |
return stopPropergation(event);
|
1057 |
}).change();
|
1058 |
|
1065 |
ajax_post(null, {
|
1066 |
cmd: 'get-actions'
|
1067 |
}, function (data) {
|
1068 |
+
var i, j, id, key, $this = $(ID('#', 'list-admin')),
|
1069 |
li = document.createElement('li' ),
|
1070 |
input = document.createElement('input'),
|
1071 |
label = document.createElement('label'),
|
1072 |
dfn = document.createElement('dfn' ),
|
1073 |
span = document.createElement('span' );
|
1074 |
+
|
1075 |
for (key in data) {
|
1076 |
+
if (data.hasOwnProperty(key)) {
|
1077 |
+
key = stripTag(key);
|
1078 |
+
if (!$this.find('#' + (id = ID('%', key))).size()) {
|
1079 |
+
i = input.cloneNode(false);
|
1080 |
+
i.setAttribute('id', id);
|
1081 |
+
i.setAttribute('value', key);
|
1082 |
+
i.setAttribute('type', 'checkbox');
|
1083 |
+
j = li.cloneNode(false);
|
1084 |
+
j.appendChild(i);
|
1085 |
+
|
1086 |
+
i = label.cloneNode(false);
|
1087 |
+
i.setAttribute('for', id);
|
1088 |
+
i.appendChild(document.createTextNode(key));
|
1089 |
+
j.appendChild(i);
|
1090 |
+
|
1091 |
+
if (1 & data[key]) {
|
1092 |
+
j.appendChild(add_icon(dfn, span, ip_geo_block.msg[6], 'lock'));
|
1093 |
+
}
|
1094 |
+
if (2 & data[key]) {
|
1095 |
+
j.appendChild(add_icon(dfn, span, ip_geo_block.msg[7], 'unlock'));
|
1096 |
+
}
|
1097 |
|
1098 |
+
$this.append(j);
|
1099 |
+
}
|
1100 |
}
|
1101 |
}
|
1102 |
|
1103 |
+
// Admin ajax/post: `Toggle non logged-in user` at `Exceptions`
|
1104 |
+
$(ID('.', 'icon-unlock')).on('click', function (/*event*/) {
|
1105 |
+
$(ID('#', 'list-admin') + '>li').filter(function (/*i, elm*/) {
|
1106 |
+
return ! $(this).find('.dashicons-unlock').length;
|
1107 |
+
}).toggle();
|
1108 |
+
return false;
|
1109 |
+
});
|
1110 |
+
|
1111 |
+
// Admin ajax/post: Handle text field for actions
|
1112 |
$(ID('@', 'exception_admin')).on('change', function (event) {
|
1113 |
var actions = $.grep($(this).val().split(','), function (e){
|
1114 |
return '' !== e.replace(/^\s+|\s+$/g, ''); // remove empty element
|
1115 |
});
|
1116 |
|
1117 |
+
$(ID('#', 'list-admin')).find('input').each(function (/*i, obj*/) {
|
1118 |
var $this = $(this),
|
1119 |
+
action = $this.val();
|
1120 |
$this.prop('checked', -1 !== $.inArray(action, actions));
|
1121 |
});
|
1122 |
|
1123 |
return stopPropergation(event);
|
1124 |
}).change();
|
1125 |
|
1126 |
+
// Admin ajax/post: Candidate actions
|
1127 |
+
$(ID('#', 'list-admin')).on('click', 'input', function (/*event*/) {
|
1128 |
var i,
|
1129 |
$this = $(this),
|
1130 |
+
$text = $(ID('@', 'exception_admin')),
|
1131 |
+
action = $this.val(),
|
1132 |
+
actions = $.grep($text.val().split(','), function (e) {
|
1133 |
return '' !== e.replace(/^\s+|\s+$/g, ''); // remove empty element
|
1134 |
});
|
1135 |
|
1142 |
actions.splice(i, 1);
|
1143 |
}
|
1144 |
|
1145 |
+
$text.val(actions.join(',')).change();
|
1146 |
+
});
|
1147 |
+
|
1148 |
+
// Admin ajax/post: Find the blocked request in logs
|
1149 |
+
$(ID('.', 'icon-find')).on('click', function (/*event*/) {
|
1150 |
+
var $this = $(this),
|
1151 |
+
list = [], n = 0, key, ext, id, s,
|
1152 |
+
title = stripTag(ip_geo_block.msg[9]),
|
1153 |
+
target = stripTag($this.data('target')); // `admin`, `plugins`, `themes`
|
1154 |
+
|
1155 |
+
// show description
|
1156 |
+
$(ID('#', 'find-' + target)).empty();
|
1157 |
+
$this.next().children(ID('.', 'find-desc')).show();
|
1158 |
+
|
1159 |
+
// make list of target
|
1160 |
+
$this = $(ID('#', 'list-' + target));
|
1161 |
+
$this.children('li').each(function (i, obj) {
|
1162 |
+
list.push($(obj).find('input').val());
|
1163 |
+
});
|
1164 |
+
|
1165 |
+
ajax_post('find-' + target, {
|
1166 |
+
cmd: 'find-' + target
|
1167 |
+
}, function (data) {
|
1168 |
+
var val;
|
1169 |
+
for (val in data) {
|
1170 |
+
if (data.hasOwnProperty(val)) {
|
1171 |
+
++n;
|
1172 |
+
key = stripTag(data[val]); // page, action, plugins, themes
|
1173 |
+
val = stripTag(val); // slug of target
|
1174 |
+
ext = $.inArray(val, list); // slug already exists
|
1175 |
+
id = ID('!', 'exception_' + target + '_' + val);
|
1176 |
+
|
1177 |
+
// make an anchor tab with search query
|
1178 |
+
s = 'admin' === target ? key + '=' + val : '/' + key + '/' + val + '/';
|
1179 |
+
s = '<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="?page=ip-geo-block&tab=4&s='
|
1180 |
+
+ encodeURIComponent(s) + '" title="' + title.replace('%s', s) + '" target="_blank"><span></span></a>';
|
1181 |
+
|
1182 |
+
// add a new list when not found in existent key
|
1183 |
+
if (ext < 0) {
|
1184 |
+
list.push(val);
|
1185 |
+
$this.prepend(
|
1186 |
+
'<li><input id="' + id + '" value="' + val + '" type="checkbox" '
|
1187 |
+
+ ('admin' === target ? '/>' : 'name=ip_geo_block_settings[exception][' + target + '][' + val + '] />')
|
1188 |
+
+ '<label for="' + id + '">'+ val + '</lable>' + s + '</li>'
|
1189 |
+
);
|
1190 |
+
}
|
1191 |
+
|
1192 |
+
// append button when found in existent key
|
1193 |
+
else {
|
1194 |
+
id = $this.find('#' + id).parent();
|
1195 |
+
if (!id.find('a').length) {
|
1196 |
+
id.append(s);
|
1197 |
+
}
|
1198 |
+
}
|
1199 |
+
}
|
1200 |
+
}
|
1201 |
+
|
1202 |
+
// update status of checkbox
|
1203 |
+
$(ID('@', 'exception_' + target)).trigger('change');
|
1204 |
+
$(ID('#', 'find-' + target)).append(
|
1205 |
+
' ' + '<span class="ip-geo-block-found">' + stripTag(ip_geo_block.msg[8].replace('%d', n)) + '</span>'
|
1206 |
+
);
|
1207 |
+
});
|
1208 |
+
|
1209 |
+
return false;
|
1210 |
});
|
1211 |
});
|
1212 |
|
1213 |
+
// Admin ajax/post: Enable / Disable Exceptions
|
1214 |
$('input[id^="' + ID('!', 'validation_ajax_') + '"]').on('change', function (/*event*/) {
|
1215 |
show_folding_ajax($(this));
|
1216 |
}).change();
|
1247 |
data = res[api];
|
1248 |
for (key in data) { // key: ipv4, ipv6
|
1249 |
if (data.hasOwnProperty(key)) {
|
1250 |
+
key = stripTag(key);
|
1251 |
if (data[key].filename) {
|
1252 |
+
$(ID('@', api + '_' + key + '_path')).val(stripTag(data[key].filename));
|
1253 |
}
|
1254 |
if (data[key].message) {
|
1255 |
+
$(ID('#', api + '-' + key)).text(stripTag(data[key].message));
|
1256 |
}
|
1257 |
}
|
1258 |
}
|
1403 |
}
|
1404 |
|
1405 |
// response should be escaped at server side
|
1406 |
+
$(ID('#', 'wp-info')).html('<textarea class="regular-text code" rows="' + res.length + '">' + /*stripTag*/(res.join("\n")) + '</textarea>').find('textarea').select();
|
1407 |
return false;
|
1408 |
});
|
1409 |
});
|
1415 |
$('select[name^="' + name + '"]').on('change', function (/*event*/) {
|
1416 |
var $this = $(this);
|
1417 |
show_description($this);
|
1418 |
+
show_descendants($this, $this, name, true);
|
1419 |
return false;
|
1420 |
}).change();
|
1421 |
|
1422 |
// Toggle checkbox
|
1423 |
+
$(ID('.', 'icon-cycle')).on('click', function (/*event*/) {
|
1424 |
+
var $that = $(this).nextAll('li'), actions,
|
1425 |
+
text = $that.find(ID('@', 'exception_admin')),
|
1426 |
+
cbox = $that.find('input:checkbox').filter(':visible'),
|
1427 |
+
stat = cbox.filter(':checked').length;
|
1428 |
|
1429 |
cbox.prop('checked', !stat);
|
1430 |
|
1432 |
if (stat) {
|
1433 |
text.val('');
|
1434 |
} else {
|
|
|
1435 |
actions = [];
|
1436 |
+
cbox.each(function (i, obj) {
|
1437 |
+
actions.push($(obj).val());
|
1438 |
});
|
1439 |
text.val(actions.join(','));
|
1440 |
}
|
1444 |
return false;
|
1445 |
});
|
1446 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1447 |
// Folding list
|
1448 |
$(ID('.', 'settings-folding>dfn')).on('click', function (/*event*/) {
|
1449 |
var drop = ID('drop'),
|
1450 |
$this = $(this).parent();
|
1451 |
+
$this.children(ID('.', 'hide')).toggle();
|
1452 |
$this.toggleClass(drop + 'up').toggleClass(drop + 'down');
|
1453 |
|
1454 |
+
if ($this.hasClass(drop + 'up')) {
|
1455 |
+
$this.children('div').hide();
|
|
|
|
|
1456 |
}
|
1457 |
|
1458 |
return false;
|
1476 |
// https://developers.google.com/loader/#Dynamic
|
1477 |
initChart(tabNo);
|
1478 |
|
1479 |
+
// Toggle sorting order
|
1480 |
+
var order = 0;
|
1481 |
+
$(ID('#', 'sort-slug')).on('click', function (/*event*/) {
|
1482 |
+
var $ol = $(this).closest('ol'),
|
1483 |
+
$li = $ol.children('li');
|
1484 |
+
|
1485 |
+
// toggle sorting
|
1486 |
+
order = !order;
|
1487 |
+
if (order) {
|
1488 |
+
$li.sort(function (a, b) {
|
1489 |
+
return $(a).text() > $(b).text();
|
1490 |
+
});
|
1491 |
+
} else {
|
1492 |
+
$li.sort(function (a, b) {
|
1493 |
+
return parseInt($(a).text().replace(/^.*\((\d+)\)$/, '$1'), 10) <= parseInt($(b).text().replace(/^.*\((\d+)\)$/, '$1'), 10);
|
1494 |
+
});
|
1495 |
+
}
|
1496 |
+
|
1497 |
+
$ol.children('li').remove();
|
1498 |
+
$li.appendTo($ol);
|
1499 |
+
});
|
1500 |
+
|
1501 |
// Statistics of validation
|
1502 |
$(ID('@', 'clear_statistics')).on('click', function (/*event*/) {
|
1503 |
confirm(ip_geo_block.msg[3], function () {
|
1720 |
// Re-initialize DataTables
|
1721 |
$(ID('#', 'live-log-stop')).trigger('click');
|
1722 |
table = initTable(tabNo, control, options);
|
1723 |
+
return false;
|
1724 |
}).trigger('change');
|
1725 |
|
1726 |
// Export / Import settings
|
1754 |
} else {
|
1755 |
map.each(function () {
|
1756 |
$(this).empty().html(
|
1757 |
+
'<iframe src="' + ip_geo_block.altgmap + '?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>'
|
1758 |
);
|
1759 |
});
|
1760 |
}
|
1806 |
which: $(ID('@', 'service')).val()
|
1807 |
}, function (data) {
|
1808 |
var key, info = '',
|
1809 |
+
latitude = stripTag(data.latitude || '0'),
|
1810 |
+
longitude = stripTag(data.longitude || '0'),
|
1811 |
zoom = (data.latitude || data.longitude) ? 8 : 2;
|
1812 |
|
1813 |
for (key in data) {
|
1814 |
if (data.hasOwnProperty(key)) {
|
1815 |
+
key = stripTag(key);
|
1816 |
info +=
|
1817 |
'<li>' +
|
1818 |
'<span class="' + ID('title' ) + '">' + key + ' : </span>' +
|
1819 |
+
'<span class="' + ID('result') + '">' + stripTag(data[key]) + '</span>' +
|
1820 |
'</li>';
|
1821 |
}
|
1822 |
}
|
1838 |
'<ul style="margin-top:0; margin-left:1em;">' +
|
1839 |
'<li>' +
|
1840 |
'<span class="' + ID('title' ) + '">' + 'IP address' + ' : </span>' +
|
1841 |
+
'<span class="' + ID('result') + '">' + stripTag(ip) + '</span>' +
|
1842 |
'</li>' +
|
1843 |
info +
|
1844 |
/*'<li>' +
|
admin/js/admin.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
Project: WordPress IP Geo Block
|
3 |
-
Copyright (c)
|
4 |
This software is released under the MIT License.
|
5 |
*/
|
6 |
-
(function(b,g,t){function a(b,a){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof a?c[b]+a:c.$+b}function q(b){return b?b.toString().replace(/[&<>"']/g,function(b){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[b]}):""}function C(c,a){var e=b(g).width();e!==D&&(D=e,"undefined"===typeof r[c]&&(r[c]={id:!1,callback:a}),b(g).off("resize").on("resize",function(){!1!==r[c].id&&g.clearTimeout(r[c].id);r[c].time=g.setTimeout(r[c].callback,200);return!1}))}function v(c,e){e?b(a("#",c)).addClass(a("loading")):b(a("#",c)).removeClass(a("loading"))}function w(b,a){g.confirm(b.replace(/(<([^>]+)>)/ig,""))&&a()}function B(b,a){g.alert((b?b+": "+a:a).replace(/(<([^>]+)>)/ig,""))}function F(b,a){-1!==g.location.href.indexOf(b)&&(g.location=q(b)+(a?"&"+q(a):"")+"&ip-geo-block-auth-nonce="+G.nonce)}function m(a,e,f,k){a&&v(a,!0);e.action=d.action;e.nonce=d.nonce;b.post(d.url,e).done(function(b){f&&f(b)}).fail(function(b,a){B(a,b.responseText)}).always(function(){a&&(k?b.when.apply(b,k).then(function(){v(a,!1)}):v(a,!1))})}function I(b,a){m(b,{cmd:"clear-"+b,which:a},function(b){F(b.page,b.tab)})}function N(b){m(b,{cmd:b},function(b){F(b.page,b.tab)})}function x(b){b.stopImmediatePropagation();return!1}function J(b,e){e?b.removeClass("folding-disable"):(b.children("li,a").hide(),b.addClass("folding-disable"),b.removeClass(a("dropdown")).addClass(a("dropup")))}function K(c,e,f){var k=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();e.nextAll(a(".","settings-folding")).each(function(a,c){J(b(c),k&&f)})}function O(c){var e=a("@","validation_ajax_");J(c.closest("ul").next(),b(e+"1").is(":checked")||b(e+"2").is(":checked"))}function E(b){return String(b).replace(/[a-z]/gi,function(b){return String.fromCharCode(b.charCodeAt(0)+("n">b.toLowerCase()?13:-13))})}function X(b,a){var c=new g.FileReader;c.onload=function(b){a&&a(b.target.result)};c.onerror=function(b){B("Error",b.target.error.code)};c.readAsText(b)}function P(c){var e=c.is(":checked"),f=b(a("@","public_target_rule")),k=c.closest("tr").nextAll("tr");k.find('[name^="'+a("%","settings")+'"]').prop("disabled",!e);k.find(a(".","desc")).css("opacity",e?1:.5);K(c,f,"1"===f.val()?!0:!1)}function L(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&b('input[type="checkbox"]').prop("checked",!1).change(),b(a("#","import")).closest("form").deserialize(c),b(a("@","exception_admin")+","+a("@","validation_mimetype")).change(),b('select[name*="'+a("%","settings")+'"]').change(),b(a("@","validation_login")).change(),P(b(a("@","validation_public"))),O(b(a("@","validation_ajax_1"))),e&&(e=a("%","settings[providers][IPInfoDB]"),b(a("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function M(b,a){var c=Math.ceil(b.length/a),e=[],d;for(d=0;d<c;++d){var p=d*a;e.push(b.slice(p,p+a))}return e}function y(c){"object"===typeof g.google&&(1===c?(h.drawPie(a("chart-countries")),h.drawLine(a("chart-daily"),"date")):5===c&&b(a(".","network")).each(function(a,c){h.drawStacked(b(c).attr("id"))}))}function Q(b){if("object"===typeof g.google){var a=["corechart"];5===b&&a.push("bar");g.google.load("visualization","1",{packages:a,callback:function(){y(b)}});C("draw-chart."+b,function(){y(b)})}}function Y(b){var a,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(a in c)c.hasOwnProperty(a)&&(c[a]=c[a].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[b]&&(c[b]=[]);return c}function z(a){var c,f,d=[];b.each(a,function(b,a){d[b]="";if("undefined"!==typeof a&&(f=a.length))for(d[b]=a[0]||"o",c=1;c<f;++c)d[b]+=a[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),G.home+G.admin)}function Z(c){var e=Y(c);b("form").on("click","h2,h3",function(){var f=b(this),d=f.closest("fieldset").data("section"),g=f.parent().nextAll(".panel-body").toggle();f.toggleClass(a("dropup")).toggleClass(a("dropdown"));(f=f.hasClass(a("dropdown")))?g.addClass(a("border")).trigger(a("show-body")):g.removeClass(a("border"));e[c][d]=f?"o":"x";z(e);y(c);return!1});b(a("#","toggle-sections")).on("click",function(){var d,k=b(a(".","field")).find("h2,h3"),g=[a("dropdown"),a("dropup")],p=k.filter("."+g[0]).length;k.each(function(f){d=b(this);d.removeClass(g.join(" ")).addClass(p?g[1]:g[0]);d=d.parent().nextAll(".panel-body").toggle(p?!1:!0);p?d.removeClass(a("border")):d.addClass(a("border")).trigger("show-body");e[c][f]=p?"x":"o"});z(e);y(c);return!1});return e}function R(c){b("body").append('<div style="display:none"><form method="POST" id="'+a("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+a("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+a("file-dialog")+'" /></div>')}function S(b,a,d,g){b=b.cloneNode(!1);b.setAttribute("title",d);a=a.cloneNode(!1);a.setAttribute("class","dashicons dashicons-"+g);b.appendChild(a);return b}function T(c,e,f){b.extend(!0,b.fn.dataTable.defaults,f,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"«",last:"»",next:"›",previous:"‹"}},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",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var f=b(a("#",e.tableID)).find("td.dataTables_empty");3>c.iDraw?f.html(d.i18n[0]):3===c.iDraw&&(f.html(d.i18n[1]),f=b(a("@","search_filter")),f.val()&&f.trigger("keyup"))}});var k=b(a("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),h=function(){k.columns.adjust().responsive.recalc().draw(!1)};C("draw-table."+c,h);b(a("#",e.sectionID)).find(".panel-body").off(a("show-body")).on(a("show-body"),function(){h();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=b(this).prop("checked");b(a("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});b(a("#","select-target")).off("change").on("change",function(){var c=b(this).find('input[name="'+a("target")+'"]:checked').val();k.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");b(a("#","bulk-action")).off("click").on("click",function(){var f=b(this).prev().val(),g=/(<([^>]+)>)/ig,h={IP:[],AS:[]},u,n=b("table.dataTable").find("td>input:checked");if(!f)return!1;if(!n.length)return B(null,d.msg[9]),!1;n.each(function(){u=k.cell(this.parentNode).data();h.IP.push(u[e.columnIP].replace(g,""));h.AS.push(u[e.columnAS].replace(g,""))});h.IP.length&&m("loading",{cmd:f,which:h},function(d){"undefined"!==typeof d.page?F(d.page,"tab="+c):d&&(k.ajax.reload(),b(a("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});b(a("@","search_filter")).off("keyup").on("keyup",function(){k.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});b(a("#","reset-filter")).off("click").on("click",function(){b(a("@","search_filter")).val("");k.search("").draw();return!1});b(a("@","clear_all")).off("click").on("click",function(){w(d.msg[1===c?4:5],function(){I(1===c?"cache":"logs",null)});return!1});b("table.dataTable tbody").on("click","a",function(){var a=g.location.search.slice(1).split("&"),e=a.length,d={},f;for(f=0;f<e;++f){var h=a[f].split("=");d[h[0]]=h[1]}d.tab=1===c?4:2;d.s=b(this).text().replace(/[^\w\.:\*]/,"");h=[];for(f in d)d.hasOwnProperty(f)&&h.push(f+"="+d[f]);g.open(g.location.pathname+"?"+h.join("&"),"_blank");return!1});return k}var r=[],D=b(g).width(),d=IP_GEO_BLOCK,G=IP_GEO_BLOCK_AUTH;b.fn.deserialize=function(a){return this.each(function(){var c,d=this,g={};for(c in a)if(a.hasOwnProperty(c))try{var h=decodeURIComponent(c);var p=decodeURIComponent(a[c]);g.hasOwnProperty(h)||(g[h]=[]);g[h].push(p)}catch(aa){}b.each(g,function(a,e){c=b('[name="'+a+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var h={dataPie:[],viewPie:[],drawPie:function(a){if("undefined"===typeof h.dataPie[a]){var c=h.dataPie[a]=new g.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=b.parseJSON(b("#"+a).attr("data-"+a));h.dataPie[a].addRows(c)}"undefined"===typeof h.viewPie[a]&&(h.viewPie[a]=new g.google.visualization.PieChart(t.getElementById(a)));"undefined"!==typeof h.dataPie[a]&&"undefined"!==typeof h.viewPie[a]&&0<b("#"+a).width()&&h.viewPie[a].draw(h.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,d){if("undefined"===typeof h.dataLine[a]){var c=h.dataLine[a]=new g.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=b.parseJSON(b("#"+a).attr("data-"+a));var n=e.length;for(c=0;c<n;++c)e[c][0]=new Date(1E3*e[c][0]);h.dataLine[a].addRows(e)}"undefined"===typeof h.viewLine[a]&&(h.viewLine[a]=new g.google.visualization.LineChart(t.getElementById(a)));"undefined"!==typeof h.dataLine[a]&&"undefined"!==typeof h.viewLine[a]&&0<(c=b("#"+a).width())&&h.viewLine[a].draw(h.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,f,k=b("#"+c);"undefined"===typeof h.dataStacked[c]&&(f=b.parseJSON(k.attr("data-"+c)))&&(f.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),h.dataStacked[c]=g.google.visualization.arrayToDataTable(f));"undefined"===typeof h.viewStacked[c]&&(h.viewStacked[c]=new g.google.visualization.BarChart(t.getElementById(c)),g.google.visualization.events.addListener(h.viewStacked[c],"animationfinish",function(){var d,e,g,f=[],n=h.dataStacked[c],p=n.getNumberOfRows(),m=b(a("#","open-new")).prop("checked");for(d=0;d<p;d++)f.push({label:n.getValue(d,0),link:n.getValue(d,6)});p="http://www.w3.org/1999/xlink";k.find("text").each(function(b,a){g=a.parentNode;var c;if(c="g"===g.tagName.toLowerCase()){a:{c=a.textContent;var d,h=f.length;c=c.replace("\u2026","");for(d=0;d<h;++d)if(f.hasOwnProperty(d)&&0===f[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(b=c)}c&&(e=t.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(p,"xlink:href",f[b].link),e.setAttributeNS(p,"title",f[b].label),e.setAttribute("target",m?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(g.removeChild(a)),g.appendChild(e),f.splice(b,1))})}));if(0<(d=k.width())&&"undefined"!==typeof h.dataStacked[c]&&"undefined"!==typeof h.viewStacked[c]){var n=a("range");var p=b.parseJSON(b("."+n).attr("data-"+n));f=h.dataStacked[c];n=40*f.getNumberOfRows();h.viewStacked[c].draw(f,{width:d,height:n+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:n},hAxis:{minValue:0,maxValue:p[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,f,g){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));m(null,{cmd:"restore-network",which:c,offset:d*f*g,length:d},function(c){var e,f,g,k,n;c=M(c,d);b(a(".","network")).each(function(a,p){if("undefined"!==typeof c[a]){k=b(p).attr("id");n=h.dataStacked[k];g=Math.min(d,c[a].length);for(e=0;e<g;++e)for(f=1;5>=f;f++)n.setValue(e,f,c[a][e][f]);h.drawStacked(k)}})})}};b(function(){var c=Number(d.tab)||0,e=Z(c);b(a(".","inhibit")).on("submit",function(){return!1});switch(c){case 0:var f=a("%","settings");b('[id^="'+a("scan-")+'"]').on("click",function(){var c=b(this),d=c.attr("id"),e=c.parent();m(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(a("scan-"),"")},function(b){e.children("ul").length||e.append('<ul id="'+a("code-list")+'"></ul>');e=e.children("ul").empty();for(c in b)if(b.hasOwnProperty(c)){var c=q(c);if("string"===typeof b[c])var d=q(b[c]);else d=q(b[c].code),c='<abbr title="'+q(b[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+a("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});b(a("@","matching_rule")).on("change",function(){var c=this.value;b(a("@","white_list")).closest("tr").toggle("0"===c);b(a("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();b(a("@","validation_mimetype")).on("change",function(c){var d=b(this),l=parseInt(d.val(),10);d.nextAll(a(".","settings-folding")).each(function(a,c){J(b(c),l===a+1||l&&2===a)});return x(c)}).change();b('select[name*="response_code"]').on("change",function(c){var d=b(this),l=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(b(a("@","public_matching_rule")).val(),10))return e.each(function(a){1>=a&&b(this).hide()}),x(c);3>=l?e.each(function(a){0===a?b(this).show():1===a&&b(this).hide()}):e.each(function(a){0===a?b(this).hide():1===a&&b(this).show()});return x(c)}).change();b(a("#","decode")).on("click",function(){var c=b(a("@","signature")),d=c.val();-1===d.search(/,/)?c.val(E(g.atob(d))):c.val(g.btoa(E(d)));return!1});b(a("@","validation_login")).on("change",function(a){var c=b(this);K(c,c,f,!0);return x(a)}).change();b(a("@","validation_admin_2")).on("change",function(){G.zep.admin=!0});m(null,{cmd:"get-actions"},function(c){var e,l,f=b(a("#","actions")),g=t.createElement("li"),h=t.createElement("input"),k=t.createElement("label"),n=t.createElement("dfn"),p=t.createElement("span");for(l in c)if(c.hasOwnProperty(l)&&!f.find("#"+(e=a("%",l))).size()){var m=h.cloneNode(!1);m.setAttribute("id",e);m.setAttribute("value","1");m.setAttribute("type","checkbox");var q=g.cloneNode(!1);q.appendChild(m);m=k.cloneNode(!1);m.setAttribute("for",e);m.appendChild(t.createTextNode(l));q.appendChild(m);1&c[l]&&q.appendChild(S(n,p,d.msg[6],"lock"));2&c[l]&&q.appendChild(S(n,p,d.msg[7],"unlock"));f.append(q)}b(a("@","exception_admin")).on("change",function(c){var d=b.grep(b(this).val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});b(a("#","actions")).find("input").each(function(){var c=b(this),e=c.attr("id").replace(a("%",""),"");c.prop("checked",-1!==b.inArray(e,d))});return x(c)}).change();b(a("#","actions")).on("click","input",function(){var c=b(this);var d=b(a("@","exception_admin")),e=c.attr("id").replace(a("%",""),""),l=b.grep(d.val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});c=b.inArray(e,l);-1===c?l.push(e):l.splice(c,1);d.val(l.join(",")).change()})});b('input[id^="'+a("!","validation_ajax_")+'"]').on("change",function(){O(b(this))}).change();b(a("@","validation_public")).on("change",function(a){P(b(this));return x(a)}).change();b(a("@","public_matching_rule")).on("change",function(c){var d=this.value;b(a("@","public_white_list")).closest("tr").toggle("0"===d);b(a("@","public_black_list")).closest("tr").toggle("1"===d);b(a("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return x(c)}).change();b(a("@","update")).on("click",function(){m("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(l in e)if(e.hasOwnProperty(l)){var l=q(l);e[l].filename&&b(a("@",d+"_"+l+"_path")).val(q(e[l].filename));e[l].message&&b(a("#",d+"-"+l)).text(q(e[l].message))}}});return!1});b(a("@","save_statistics")).on("change",function(){b(a("@","validation_recdays")).prop("disabled",!b(this).prop("checked"));return!1}).trigger("change");b(a("@","validation_reclogs")).on("change",function(){var a=b(this);a.parent().parent().nextAll().find("input").prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");b(a("@","comment_pos")).on("change",function(){var a=b(this);a.nextAll('input[type="text"]').prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");R("validate");b(a("#","export")).on("click",function(){if("undefined"===typeof JSON)return B(null,d.msg[8]),!1;var c=f,e={};b.each(b(this).closest("form").serializeArray(),function(b,a){-1!==a.name.indexOf(c)&&(e[a.name]=a.value)});e[c+="[signature]"]=g.btoa(E(e[c]));b(a("#","export-data")).val(JSON.stringify(e));b(a("#","export-form")).submit();return!1});b(a("#","file-dialog")).on("change",function(a){if("undefined"===typeof g.FileReader)return B(null,d.msg[8]),!1;var b;(a=a.target.files[0])&&X(a,function(a){a=JSON.parse(a);b=f+"[signature]";"undefined"!==typeof a[b]&&(a[b]=g.btoa(E(a[b])));m("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){L(a,!0)})});return!1});b(a("#","import")).on("click",function(){b(a("#","file-dialog")).click();return!1});b(a("#","default")).on("click",function(){w(d.msg[0],function(){m("pre-defined",{cmd:"import-default"},function(a){L(a,!0)})});return!1});b(a("#","preferred")).on("click",function(){w(d.msg[0],function(){m("pre-defined",{cmd:"import-preferred"},function(a){L(a,!1)})});return!1});b(a("@","reset_live")).on("click",function(){m("reset-live",{cmd:"reset-live"});return!1});b(a("@","create_table")).on("click",function(){w(d.msg[1],function(){N("create-table")});return!1});b(a("@","delete_table")).on("click",function(){w(d.msg[2],function(){N("delete-table")});return!1});b(a("#","show-info")).on("click",function(){b(a("#","wp-info")).empty();m("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);b(a("#","wp-info")).html('<textarea rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});b('select[name^="'+f+'"]').on("change",function(){var c=b(this),d,e=a(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(b.parseHTML(d));K(c,c,f,!0);return!1}).change();b(a(".","cycle")).on("click",function(){var c=b(this).nextAll("li"),d=c.find(a("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=new RegExp(a("%",""));var g=[];c.each(function(a){g[a]=b(this).attr("id").replace(f,"")});d.val(g.join(","))}b(this).blur();return!1});b(a(".","unlock")).on("click",function(){b(this).nextAll("li").find("h4").nextAll("li").filter(function(){return!b(this).find(".dashicons-unlock").length}).toggle();return!1});b(a(".","settings-folding>dfn")).on("click",function(){var c=a("drop"),d=b(this).parent();d.children("li").toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"down")?d.children("a").show():d.children("a").hide();return!1});b("#submit").on("click",function(){var c=b(a("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(g.btoa(E(d)));return!0});break;case 1:Q(c);b(a("@","clear_statistics")).on("click",function(){w(d.msg[3],function(){I("statistics",null)});return!1});b(a("@","clear_logs")).on("click",function(){w(d.msg[5],function(){I("logs",null)});return!1});T(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.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]}]});break;case 4:var k={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},n={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.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]}]},p=null,r=null,y=b(a("#","live-loading")),u=null,v=function(){p&&(g.clearTimeout(p),p=null);r&&(y.removeClass(a("live-timer")),g.clearTimeout(r),r=null)},C=function(){v();m("live-loading",{cmd:"live-start"},function(a){if(a.error)B(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)u.row.add(a.data[b]);u.draw(!1)}p=g.setTimeout(C,1E3*d.interval)})},D=function(a,b){v();m(null,{cmd:a||"live-stop",callback:b})},M=function(){D("live-pause",function(){y.addClass(a("live-timer"));r=g.setTimeout(function(){v();b(a("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},A=a(""),U=function(a,c,d){-1!==c[7].indexOf("passed")?b(a).addClass(A+d+"passed"):b(a).addClass(A+d+"blocked")},V=b(a("#","live-log")),W=b(a("#","live-update"));b(a("#","validation-logs")).on("animationend",function(){b(this).find('tr[class*="'+A+'new"]').each(function(){var a=b(this);-1!==a.prop("class").indexOf("passed")?a.addClass(A+"passed").removeClass(A+"new-passed"):a.addClass(A+"blocked").removeClass(A+"new-blocked")});return!1});V.on("change",function(){switch(b('input[name="'+a("live-log")+'"]:checked').val()){case "start":C();break;case "pause":M();break;case "stop":D()}});W.on("change",function(){var d=V.closest("tr"),f=W.prop("checked");e[c][1]=f?"o":"x";z(e);u&&u.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),k.ajaxCMD="live-stop",n.order=[1,"desc"],n.createdRow=function(a,b){U(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),k.ajaxCMD="restore-logs",n.order=[0,""],n.createdRow=function(a,b){U(a,b,"")});b(a("#","live-log-stop")).trigger("click");u=T(c,k,n)}).trigger("change");R("export-logs");b(a("#","export-logs")).on("click",function(){b(a("#","export-form")).submit();return!1});break;case 2:b(g).on(a("gmap-error"),function(){m(null,{cmd:"gmap-error"},function(a){F(a.page,a.tab)})});var H=b(a("#","map"));"object"===typeof g.google?H.each(function(){b(this).GmapRS()}):H.each(function(){b(this).empty().html('<iframe src="//maps.google.com/maps?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});b('select[id^="'+a("!","service")+'"]').on("change",function(){e[c][3]=b(this).prop("selectedIndex");z(e)}).change();b(a("@","get_location")).on("click",function(){var c=b(a("#","whois")),d=b(a("@","ip_address")).val();if(d){c.hide().empty();var e=b.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+a("section-1")+'" class="'+a("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+a("whois-title")+'" class="'+a("dropdown")+'">Whois</h3></legend><div class="panel-body '+a("border")+'"><table class="'+a("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");b(a("#","whois-title")).on("click",function(){var c=b(this);c.parent().nextAll().toggle();c.toggleClass(a("dropup")).toggleClass(a("dropdown"));return!1})});m("loading",{cmd:"search",ip:d,which:b(a("@","service")).val()},function(b){var c="",e=q(b.latitude||"0"),f=q(b.longitude||"0"),h=b.latitude||b.longitude?8:2;for(l in b)if(b.hasOwnProperty(l)){var l=q(l);c+='<li><span class="'+a("title")+'">'+l+' : </span><span class="'+a("result")+'">'+q(b[l])+"</span></li>"}"object"===typeof g.google?H.GmapRS("addMarker",{latitude:e,longitude:f,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):H.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+a("title")+'">IP address : </span><span class="'+a("result")+'">'+q(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+f+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});b(a("@","ip_address")).val()&&b(a("@","get_location")).click();break;case 5:Q(c),b("input[name="+a("duration")+"]:radio").on("click",function(){var a=b('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=b(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;z(e);h.ajaxStacked(e[c][2],e[c][3],e[c][4],a-1)}),b(a("#","open-new")).on("change",function(){var d=b(this).prop("checked");e[c][1]=d?"o":"x";z(e);b(a("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),b(a("#","apply-layout")).on("click",function(){var d=b(a("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();z(e)}),b("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-2018 tokkonopapa (tokkonopapa@yahoo.com)
|
4 |
This software is released under the MIT License.
|
5 |
*/
|
6 |
+
(function(b,f,u){function a(b,a){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof a?c[b]+a:c.$+b}function L(b){return b.toString().replace(/[&<>"']/g,function(b){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[b]}).replace(/&(#\d{2,4}|\w{4,7});/g,"&$1;")}function l(b){return L(b.toString().replace(/(<([^>]+)>)/ig,""))}function F(a,e){var c=b(f).width();c!==G&&(G=c,"undefined"===typeof q[a]&&(q[a]={id:!1,callback:e}),b(f).off("resize").on("resize",function(){!1!==q[a].id&&f.clearTimeout(q[a].id);q[a].time=f.setTimeout(q[a].callback,200);return!1}))}function x(c,e){e?b(a("#",c)).addClass(a("loading")):b(a("#",c)).removeClass(a("loading"))}function y(b,a){f.confirm(b)&&a()}function D(b,a,h){f.alert(a||d.msg[12].replace("%s",h)+" ("+b+")")}function I(b,a){-1!==f.location.href.indexOf(b)&&(f.location=l(b)+(a?"&"+l(a):"")+"&ip-geo-block-auth-nonce="+J.nonce)}function p(a,e,h,k){a&&x(a,!0);e.action=d.action;e.nonce=d.nonce;b.post(d.url,e).done(function(b){h&&h(b)}).fail(function(b){D(b.status,b.responseText,e.action)}).always(function(){a&&("object"===typeof k?b.when.apply(b,k).then(function(){x(a,!1)}):x(a,!1))})}function M(b,a){p(b,{cmd:"clear-"+b,which:a},function(b){I(b.page,b.tab)})}function Q(b){p(b,{cmd:b},function(b){I(b.page,b.tab)})}function z(b){b.stopImmediatePropagation();return!1}function N(b,e){e?b.removeClass("folding-disable"):(b.children(a(".","hide")).hide(),b.addClass("folding-disable"),b.removeClass(a("dropdown")).addClass(a("dropup")))}function O(c,e,h){var k=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();c.siblings('input[name^="'+a("%","settings")+'"]:checkbox').prop("disabled",!k);e.nextAll(a(".","settings-folding")).each(function(a,c){N(b(c),k&&h)})}function R(c){var e=a("@","validation_ajax_");N(c.closest("ul").next(),b(e+"1").is(":checked")||b(e+"2").is(":checked"))}function H(b){return String(b).replace(/[a-z]/gi,function(b){return String.fromCharCode(b.charCodeAt(0)+("n">b.toLowerCase()?13:-13))})}function aa(b,a){var c=new f.FileReader;c.onload=function(b){a&&a(b.target.result)};c.onerror=function(b){D("Error",b.target.error.code)};c.readAsText(b)}function S(c){var e=c.is(":checked"),h=b(a("@","public_target_rule")),d=c.closest("tr").nextAll("tr");d.find('[name^="'+a("%","settings")+'"]').prop("disabled",!e);d.find(a(".","desc")).css("opacity",e?1:.5);O(c,h,"1"===h.val()?!0:!1)}function P(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&b('input[type="checkbox"]').prop("checked",!1).change(),b(a("#","import")).closest("form").deserialize(c),b(a("@","exception_admin")+","+a("@","validation_mimetype")).change(),b('select[name*="'+a("%","settings")+'"]').change(),b(a("@","validation_login")).change(),S(b(a("@","validation_public"))),R(b(a("@","validation_ajax_1"))),e&&(e=a("%","settings[providers][IPInfoDB]"),b(a("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function ba(b,a){var c=Math.ceil(b.length/a),e=[],d;for(d=0;d<c;++d){var m=d*a;e.push(b.slice(m,m+a))}return e}function A(c){"object"===typeof f.google&&(1===c?(g.drawPie(a("chart-countries")),g.drawLine(a("chart-daily"),"date")):5===c&&b(a(".","network")).each(function(a,c){g.drawStacked(b(c).attr("id"))}))}function T(b){if("object"===typeof f.google){var a=["corechart"];5===b&&a.push("bar");f.google.load("visualization","1",{packages:a,callback:function(){A(b)}});F("draw-chart."+b,function(){A(b)})}}function ca(b){var a,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(a in c)c.hasOwnProperty(a)&&(c[a]=c[a].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[b]&&(c[b]=[]);return c}function B(a){var c,h,d=[];b.each(a,function(b,a){d[b]="";if("undefined"!==typeof a&&(h=a.length))for(d[b]=a[0]||"o",c=1;c<h;++c)d[b]+=a[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),J.home+J.admin)}function da(c){var e=ca(c);b("form").on("click","h2,h3",function(){var d=b(this),k=d.closest("fieldset").data("section"),f=d.parent().nextAll(".panel-body").toggle();d.toggleClass(a("dropup")).toggleClass(a("dropdown"));(d=d.hasClass(a("dropdown")))?f.addClass(a("border")).trigger(a("show-body")):f.removeClass(a("border"));e[c][k]=d?"o":"x";B(e);A(c);return!1});b(a("#","toggle-sections")).on("click",function(){var d,f=b(a(".","field")).find("h2,h3"),g=[a("dropdown"),a("dropup")],m=f.filter("."+g[0]).length;f.each(function(h){d=b(this);d.removeClass(g.join(" ")).addClass(m?g[1]:g[0]);d=d.parent().nextAll(".panel-body").toggle(m?!1:!0);m?d.removeClass(a("border")):d.addClass(a("border")).trigger("show-body");e[c][h]=m?"x":"o"});B(e);A(c);return!1});return e}function U(c){b("body").append('<div style="display:none"><form method="POST" id="'+a("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+a("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+a("file-dialog")+'" /></div>')}function V(b,a,d,f){b=b.cloneNode(!1);b.setAttribute("title",l(d));a=a.cloneNode(!1);a.setAttribute("class","dashicons dashicons-"+f);b.appendChild(a);return b}function W(c,e,h){b.extend(!0,b.fn.dataTable.defaults,h,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"«",last:"»",next:"›",previous:"‹"}},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",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var h=b(a("#",e.tableID)).find("td.dataTables_empty");3>c.iDraw?h.html(d.i18n[0]):3===c.iDraw&&(h.html(d.i18n[1]),h=b(a("@","search_filter")),h.val()&&h.trigger("keyup"))}});var g=b(a("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),r=function(){g.columns.adjust().responsive.recalc().draw(!1)};F("draw-table."+c,r);b(a("#",e.sectionID)).find(".panel-body").off(a("show-body")).on(a("show-body"),function(){r();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=b(this).prop("checked");b(a("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});b(a("#","select-target")).off("change").on("change",function(){var c=b(this).find('input[name="'+a("target")+'"]:checked').val();g.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");b(a("#","bulk-action")).off("click").on("click",function(){var h=b(this).prev().val(),f=/(<([^>]+)>)/ig,t={IP:[],AS:[]},k,w=b("table.dataTable").find("td>input:checked");if(!h)return!1;if(!w.length)return D(null,d.msg[11]),!1;w.each(function(){k=g.cell(this.parentNode).data();t.IP.push(k[e.columnIP].replace(f,""));t.AS.push(k[e.columnAS].replace(f,""))});t.IP.length&&p("loading",{cmd:h,which:t},function(d){"undefined"!==typeof d.page?I(d.page,"tab="+c):d&&(g.ajax.reload(),b(a("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});b(a("@","search_filter")).off("keyup").on("keyup",function(){g.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});b(a("#","reset-filter")).off("click").on("click",function(){b(a("@","search_filter")).val("");g.search("").draw();return!1});b(a("@","clear_all")).off("click").on("click",function(){y(d.msg[1===c?4:5],function(){M(1===c?"cache":"logs",null)});return!1});b("table.dataTable tbody").on("click","a",function(){var a=f.location.search.slice(1).split("&"),e=a.length,d={},h;for(h=0;h<e;++h){var g=a[h].split("=");d[g[0]]=g[1]}d.tab=1===c?4:2;d.s=b(this).text().replace(/[^\w\.:\*]/,"");g=[];for(h in d)d.hasOwnProperty(h)&&g.push(h+"="+d[h]);f.open(f.location.pathname+"?"+g.join("&"),"_blank");return!1});return g}var q=[],G=b(f).width(),d=IP_GEO_BLOCK,J=IP_GEO_BLOCK_AUTH;b.fn.deserialize=function(a){return this.each(function(){var c,d=this,g={};for(c in a)if(a.hasOwnProperty(c))try{var f=decodeURIComponent(c);var m=decodeURIComponent(a[c]);g.hasOwnProperty(f)||(g[f]=[]);g[f].push(m)}catch(fa){}b.each(g,function(a,e){c=b('[name="'+a+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var g={dataPie:[],viewPie:[],drawPie:function(a){if("undefined"===typeof g.dataPie[a]){var c=g.dataPie[a]=new f.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=b.parseJSON(b("#"+a).attr("data-"+a));g.dataPie[a].addRows(c)}"undefined"===typeof g.viewPie[a]&&(g.viewPie[a]=new f.google.visualization.PieChart(u.getElementById(a)));"undefined"!==typeof g.dataPie[a]&&"undefined"!==typeof g.viewPie[a]&&0<b("#"+a).width()&&g.viewPie[a].draw(g.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,d){if("undefined"===typeof g.dataLine[a]){var c=g.dataLine[a]=new f.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=b.parseJSON(b("#"+a).attr("data-"+a));var l=e.length;for(c=0;c<l;++c)e[c][0]=new Date(1E3*e[c][0]);g.dataLine[a].addRows(e)}"undefined"===typeof g.viewLine[a]&&(g.viewLine[a]=new f.google.visualization.LineChart(u.getElementById(a)));"undefined"!==typeof g.dataLine[a]&&"undefined"!==typeof g.viewLine[a]&&0<(c=b("#"+a).width())&&g.viewLine[a].draw(g.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,h,l=b("#"+c);"undefined"===typeof g.dataStacked[c]&&(h=b.parseJSON(l.attr("data-"+c)))&&(h.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),g.dataStacked[c]=f.google.visualization.arrayToDataTable(h));"undefined"===typeof g.viewStacked[c]&&(g.viewStacked[c]=new f.google.visualization.BarChart(u.getElementById(c)),f.google.visualization.events.addListener(g.viewStacked[c],"animationfinish",function(){var d,e,f,h=[],m=g.dataStacked[c],r=m.getNumberOfRows(),p=b(a("#","open-new")).prop("checked");for(d=0;d<r;d++)h.push({label:m.getValue(d,0),link:m.getValue(d,6)});r="http://www.w3.org/1999/xlink";l.find("text").each(function(b,a){f=a.parentNode;var c;if(c="g"===f.tagName.toLowerCase()){a:{c=a.textContent;var d,g=h.length;c=c.replace("\u2026","");for(d=0;d<g;++d)if(h.hasOwnProperty(d)&&0===h[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(b=c)}c&&(e=u.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(r,"xlink:href",h[b].link),e.setAttributeNS(r,"title",h[b].label),e.setAttribute("target",p?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(f.removeChild(a)),f.appendChild(e),h.splice(b,1))})}));if(0<(d=l.width())&&"undefined"!==typeof g.dataStacked[c]&&"undefined"!==typeof g.viewStacked[c]){var r=a("range");var m=b.parseJSON(b("."+r).attr("data-"+r));h=g.dataStacked[c];r=40*h.getNumberOfRows();g.viewStacked[c].draw(h,{width:d,height:r+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:r},hAxis:{minValue:0,maxValue:m[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,h,f){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));p(null,{cmd:"restore-network",which:c,offset:d*h*f,length:d},function(c){var e,f,h,l,p;c=ba(c,d);b(a(".","network")).each(function(a,m){if("undefined"!==typeof c[a]){l=b(m).attr("id");p=g.dataStacked[l];h=Math.min(d,c[a].length);for(e=0;e<h;++e)for(f=1;5>=f;f++)p.setValue(e,f,c[a][e][f]);g.drawStacked(l)}})})}};b(function(){var c=Number(d.tab)||0,e=da(c);b(a(".","inhibit")).on("submit",function(){return!1});switch(c){case 0:var h=a("%","settings");b('[id^="'+a("scan-")+'"]').on("click",function(){var c=b(this),d=c.attr("id"),e=c.parent();p(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(a("scan-"),"")},function(b){e.children("ul").length||e.append('<ul id="'+a("code-list")+'"></ul>');e=e.children("ul").empty();for(c in b)if(b.hasOwnProperty(c)){var c=l(c);if("string"===typeof b[c])var d=l(b[c]);else d=l(b[c].code),c='<abbr title="'+l(b[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+a("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});b(a("@","matching_rule")).on("change",function(){var c=this.value;b(a("@","white_list")).closest("tr").toggle("0"===c);b(a("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();b(a("@","validation_mimetype")).on("change",function(c){var d=b(this),n=parseInt(d.val(),10);d.nextAll(a(".","settings-folding")).each(function(a,c){N(b(c),n===a+1||n&&2===a)});return z(c)}).change();b('select[name*="response_code"]').on("change",function(c){var d=b(this),n=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(b(a("@","public_matching_rule")).val(),10))return e.each(function(a){1>=a&&b(this).hide()}),z(c);3>=n?e.each(function(a){0===a?b(this).show():1===a&&b(this).hide()}):e.each(function(a){0===a?b(this).hide():1===a&&b(this).show()});return z(c)}).change();b(a("#","decode")).on("click",function(){var c=b(a("@","signature")),d=c.val();-1===d.search(/,/)?c.val(H(f.atob(d))):c.val(f.btoa(H(d)));return!1});b(a("@","validation_login")).on("change",function(a){var c=b(this);O(c,c,h,!0);return z(a)}).change();b(a("@","validation_admin_2")).on("change",function(){J.zep.admin=!0});p(null,{cmd:"get-actions"},function(c){var e,n=b(a("#","list-admin")),f=u.createElement("li"),h=u.createElement("input"),g=u.createElement("label"),m=u.createElement("dfn"),r=u.createElement("span");for(k in c)if(c.hasOwnProperty(k)){var k=l(k);if(!n.find("#"+(e=a("%",k))).size()){var q=h.cloneNode(!1);q.setAttribute("id",e);q.setAttribute("value",k);q.setAttribute("type","checkbox");var t=f.cloneNode(!1);t.appendChild(q);q=g.cloneNode(!1);q.setAttribute("for",e);q.appendChild(u.createTextNode(k));t.appendChild(q);1&c[k]&&t.appendChild(V(m,r,d.msg[6],"lock"));2&c[k]&&t.appendChild(V(m,r,d.msg[7],"unlock"));n.append(t)}}b(a(".","icon-unlock")).on("click",function(){b(a("#","list-admin")+">li").filter(function(){return!b(this).find(".dashicons-unlock").length}).toggle();return!1});b(a("@","exception_admin")).on("change",function(c){var d=b.grep(b(this).val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});b(a("#","list-admin")).find("input").each(function(){var a=b(this),c=a.val();a.prop("checked",-1!==b.inArray(c,d))});return z(c)}).change();b(a("#","list-admin")).on("click","input",function(){var c=b(this);var d=b(a("@","exception_admin")),e=c.val(),n=b.grep(d.val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});c=b.inArray(e,n);-1===c?n.push(e):n.splice(c,1);d.val(n.join(",")).change()});b(a(".","icon-find")).on("click",function(){var c=b(this),e=[],n=0,f,h,g,E,ea=l(d.msg[9]),v=l(c.data("target"));b(a("#","find-"+v)).empty();c.next().children(a(".","find-desc")).show();c=b(a("#","list-"+v));c.children("li").each(function(a,c){e.push(b(c).find("input").val())});p("find-"+v,{cmd:"find-"+v},function(m){for(var k in m)m.hasOwnProperty(k)&&(++n,f=l(m[k]),k=l(k),h=b.inArray(k,e),g=a("!","exception_"+v+"_"+k),E="admin"===v?f+"="+k:"/"+f+"/"+k+"/",E='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="?page=ip-geo-block&tab=4&s='+encodeURIComponent(E)+'" title="'+ea.replace("%s",E)+'" target="_blank"><span></span></a>',0>h?(e.push(k),c.prepend('<li><input id="'+g+'" value="'+k+'" type="checkbox" '+("admin"===v?"/>":"name=ip_geo_block_settings[exception]["+v+"]["+k+"] />")+'<label for="'+g+'">'+k+"</lable>"+E+"</li>")):(g=c.find("#"+g).parent(),g.find("a").length||g.append(E)));b(a("@","exception_"+v)).trigger("change");b(a("#","find-"+v)).append(' <span class="ip-geo-block-found">'+l(d.msg[8].replace("%d",n))+"</span>")});return!1})});b('input[id^="'+a("!","validation_ajax_")+'"]').on("change",function(){R(b(this))}).change();b(a("@","validation_public")).on("change",function(a){S(b(this));return z(a)}).change();b(a("@","public_matching_rule")).on("change",function(c){var d=this.value;b(a("@","public_white_list")).closest("tr").toggle("0"===d);b(a("@","public_black_list")).closest("tr").toggle("1"===d);b(a("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return z(c)}).change();b(a("@","update")).on("click",function(){p("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(n in e)if(e.hasOwnProperty(n)){var n=l(n);e[n].filename&&b(a("@",d+"_"+n+"_path")).val(l(e[n].filename));e[n].message&&b(a("#",d+"-"+n)).text(l(e[n].message))}}});return!1});b(a("@","save_statistics")).on("change",function(){b(a("@","validation_recdays")).prop("disabled",!b(this).prop("checked"));return!1}).trigger("change");b(a("@","validation_reclogs")).on("change",function(){var a=b(this);a.parent().parent().nextAll().find("input").prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");b(a("@","comment_pos")).on("change",function(){var a=b(this);a.nextAll('input[type="text"]').prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");U("validate");b(a("#","export")).on("click",function(){if("undefined"===typeof JSON)return D(null,d.msg[10]),!1;var c=h,e={};b.each(b(this).closest("form").serializeArray(),function(b,a){-1!==a.name.indexOf(c)&&(e[a.name]=a.value)});e[c+="[signature]"]=f.btoa(H(e[c]));b(a("#","export-data")).val(JSON.stringify(e));b(a("#","export-form")).submit();return!1});b(a("#","file-dialog")).on("change",function(a){if("undefined"===typeof f.FileReader)return D(null,d.msg[10]),!1;var b;(a=a.target.files[0])&&aa(a,function(a){a=JSON.parse(a);b=h+"[signature]";"undefined"!==typeof a[b]&&(a[b]=f.btoa(H(a[b])));p("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){P(a,!0)})});return!1});b(a("#","import")).on("click",function(){b(a("#","file-dialog")).click();return!1});b(a("#","default")).on("click",function(){y(d.msg[0],function(){p("pre-defined",{cmd:"import-default"},function(a){P(a,!0)})});return!1});b(a("#","preferred")).on("click",function(){y(d.msg[0],function(){p("pre-defined",{cmd:"import-preferred"},function(a){P(a,!1)})});return!1});b(a("@","reset_live")).on("click",function(){p("reset-live",{cmd:"reset-live"});return!1});b(a("@","create_table")).on("click",function(){y(d.msg[1],function(){Q("create-table")});return!1});b(a("@","delete_table")).on("click",function(){y(d.msg[2],function(){Q("delete-table")});return!1});b(a("#","show-info")).on("click",function(){b(a("#","wp-info")).empty();p("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);b(a("#","wp-info")).html('<textarea class="regular-text code" rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});b('select[name^="'+h+'"]').on("change",function(){var c=b(this),d,e=a(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(b.parseHTML(d));O(c,c,h,!0);return!1}).change();b(a(".","icon-cycle")).on("click",function(){var c=b(this).nextAll("li"),d=c.find(a("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=[];c.each(function(a,c){f.push(b(c).val())});d.val(f.join(","))}b(this).blur();return!1});b(a(".","settings-folding>dfn")).on("click",function(){var c=a("drop"),d=b(this).parent();d.children(a(".","hide")).toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"up")&&d.children("div").hide();return!1});b("#submit").on("click",function(){var c=b(a("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(f.btoa(H(d)));return!0});break;case 1:T(c);var k=0;b(a("#","sort-slug")).on("click",function(){var a=b(this).closest("ol"),c=a.children("li");(k=!k)?c.sort(function(a,c){return b(a).text()>b(c).text()}):c.sort(function(a,c){return parseInt(b(a).text().replace(/^.*\((\d+)\)$/,"$1"),10)<=parseInt(b(c).text().replace(/^.*\((\d+)\)$/,"$1"),10)});a.children("li").remove();c.appendTo(a)});b(a("@","clear_statistics")).on("click",function(){y(d.msg[3],function(){M("statistics",null)});return!1});b(a("@","clear_logs")).on("click",function(){y(d.msg[5],function(){M("logs",null)});return!1});W(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.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]}]});break;case 4:var r={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},m={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.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]}]},q=null,t=null,A=b(a("#","live-loading")),w=null,x=function(){q&&(f.clearTimeout(q),q=null);t&&(A.removeClass(a("live-timer")),f.clearTimeout(t),t=null)},F=function(){x();p("live-loading",{cmd:"live-start"},function(a){if(a.error)D(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)w.row.add(a.data[b]);w.draw(!1)}q=f.setTimeout(F,1E3*d.interval)})},G=function(a,b){x();p(null,{cmd:a||"live-stop",callback:b})},L=function(){G("live-pause",function(){A.addClass(a("live-timer"));t=f.setTimeout(function(){x();b(a("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},C=a(""),X=function(a,c,d){-1!==c[7].indexOf("passed")?b(a).addClass(C+d+"passed"):b(a).addClass(C+d+"blocked")},Y=b(a("#","live-log")),Z=b(a("#","live-update"));b(a("#","validation-logs")).on("animationend",function(){b(this).find('tr[class*="'+C+'new"]').each(function(){var a=b(this);-1!==a.prop("class").indexOf("passed")?a.addClass(C+"passed").removeClass(C+"new-passed"):a.addClass(C+"blocked").removeClass(C+"new-blocked")});return!1});Y.on("change",function(){switch(b('input[name="'+a("live-log")+'"]:checked').val()){case "start":F();break;case "pause":L();break;case "stop":G()}});Z.on("change",function(){var d=Y.closest("tr"),f=Z.prop("checked");e[c][1]=f?"o":"x";B(e);w&&w.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),r.ajaxCMD="live-stop",m.order=[1,"desc"],m.createdRow=function(a,b){X(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),r.ajaxCMD="restore-logs",m.order=[0,""],m.createdRow=function(a,b){X(a,b,"")});b(a("#","live-log-stop")).trigger("click");w=W(c,r,m);return!1}).trigger("change");U("export-logs");b(a("#","export-logs")).on("click",function(){b(a("#","export-form")).submit();return!1});break;case 2:b(f).on(a("gmap-error"),function(){p(null,{cmd:"gmap-error"},function(a){I(a.page,a.tab)})});var K=b(a("#","map"));"object"===typeof f.google?K.each(function(){b(this).GmapRS()}):K.each(function(){b(this).empty().html('<iframe src="'+d.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});b('select[id^="'+a("!","service")+'"]').on("change",function(){e[c][3]=b(this).prop("selectedIndex");B(e)}).change();b(a("@","get_location")).on("click",function(){var c=b(a("#","whois")),d=b(a("@","ip_address")).val();if(d){c.hide().empty();var e=b.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+a("section-1")+'" class="'+a("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+a("whois-title")+'" class="'+a("dropdown")+'">Whois</h3></legend><div class="panel-body '+a("border")+'"><table class="'+a("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");b(a("#","whois-title")).on("click",function(){var c=b(this);c.parent().nextAll().toggle();c.toggleClass(a("dropup")).toggleClass(a("dropdown"));return!1})});p("loading",{cmd:"search",ip:d,which:b(a("@","service")).val()},function(b){var c="",e=l(b.latitude||"0"),g=l(b.longitude||"0"),h=b.latitude||b.longitude?8:2;for(k in b)if(b.hasOwnProperty(k)){var k=l(k);c+='<li><span class="'+a("title")+'">'+k+' : </span><span class="'+a("result")+'">'+l(b[k])+"</span></li>"}"object"===typeof f.google?K.GmapRS("addMarker",{latitude:e,longitude:g,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):K.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+a("title")+'">IP address : </span><span class="'+a("result")+'">'+l(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+g+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});b(a("@","ip_address")).val()&&b(a("@","get_location")).click();break;case 5:T(c),b("input[name="+a("duration")+"]:radio").on("click",function(){var a=b('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=b(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;B(e);g.ajaxStacked(e[c][2],e[c][3],e[c][4],a-1)}),b(a("#","open-new")).on("change",function(){var d=b(this).prop("checked");e[c][1]=d?"o":"x";B(e);b(a("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),b(a("#","apply-layout")).on("click",function(){var d=b(a("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();B(e)}),b("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})})(jQuery,window,document);
|
admin/js/authenticate.js
CHANGED
@@ -1,24 +1,24 @@
|
|
1 |
/*jslint white: true */
|
2 |
/*!
|
3 |
* Project: WP-ZEP - Zero-day exploit Prevention for wp-admin
|
4 |
-
* Copyright (c)
|
5 |
* This software is released under the MIT License.
|
6 |
*/
|
7 |
(function ($, window, document) {
|
8 |
'use strict';
|
9 |
|
10 |
-
var wpzep = {
|
11 |
init: false,
|
12 |
auth: 'ip-geo-block-auth-nonce',
|
13 |
-
nonce:
|
14 |
-
sites:
|
15 |
},
|
16 |
|
17 |
// regular expression to find target for is_admin()
|
18 |
regexp = new RegExp(
|
19 |
-
'^(?:' + (
|
20 |
-
+ '|' + (
|
21 |
-
+ '|' + (
|
22 |
+ ')(?:.*\.php|.*\/)?$'
|
23 |
),
|
24 |
|
@@ -55,7 +55,7 @@
|
|
55 |
|
56 |
// Check path that should be excluded
|
57 |
function check_ajax(path) {
|
58 |
-
path = path.replace(
|
59 |
return ajax_links.hasOwnProperty(path) ? ajax_links[path] : null;
|
60 |
}
|
61 |
|
@@ -124,15 +124,15 @@
|
|
124 |
|
125 |
return function (url, base) {
|
126 |
var d = document, baseElm, aElm, result;
|
127 |
-
url = typeof url !== 'undefined' ? url : location.href;
|
128 |
if (null === doc) {
|
129 |
if (typeof base === 'undefined') {
|
130 |
-
base = location.href; // based on current url
|
131 |
}
|
132 |
try {
|
133 |
result = new URL(url, base); // base must be valid
|
134 |
} catch (e) {
|
135 |
-
result = new URL(url, location.href);
|
136 |
}
|
137 |
} else {
|
138 |
// use anchor element to resolve url
|
@@ -201,7 +201,7 @@
|
|
201 |
// Append the nonce as query strings to the uri
|
202 |
function add_query_nonce(uri, nonce) {
|
203 |
if (typeof uri !== 'object') { // `string` or `undefined`
|
204 |
-
uri = parse_uri(uri || location.href);
|
205 |
}
|
206 |
|
207 |
var data = uri.query ? uri.query.split('&') : [],
|
@@ -229,7 +229,7 @@
|
|
229 |
// Check uri where the nonce is needed
|
230 |
function is_admin(url) {
|
231 |
// parse uri and get real path
|
232 |
-
var uri = url || location.pathname; // in case of empty `action` on the form tag
|
233 |
uri = parse_uri(uri.toLowerCase());
|
234 |
|
235 |
// possibly scheme is `javascript` and path is `void(0);`
|
@@ -239,17 +239,17 @@
|
|
239 |
|
240 |
// external domain (`http://example` or `www.example`)
|
241 |
// https://tools.ietf.org/html/rfc6454#section-4
|
242 |
-
if (uri.origin !== location.origin) {
|
243 |
return -1; // external
|
244 |
}
|
245 |
|
246 |
// check if uri includes the target path of zep
|
247 |
uri = regexp.exec(uri.pathname);
|
248 |
if (uri) {
|
249 |
-
if ((
|
250 |
-
(
|
251 |
-
(
|
252 |
-
(
|
253 |
return 1; // internal for admin
|
254 |
}
|
255 |
}
|
@@ -260,7 +260,7 @@
|
|
260 |
|
261 |
// Check if current page is admin area and the target of wp-zep
|
262 |
function is_backend_nonce() {
|
263 |
-
return (is_admin(location.pathname) === 1 || location.search.indexOf(wpzep.auth) >= 0);
|
264 |
}
|
265 |
|
266 |
// Redirect if current page is admin area and the target of wp-zep
|
@@ -291,7 +291,7 @@
|
|
291 |
*/
|
292 |
// Embed a nonce before an Ajax request is sent
|
293 |
// $(document).ajaxSend(function (event, jqxhr, settings) {
|
294 |
-
$.ajaxPrefilter(function (settings
|
295 |
// POST to async-upload.php causes an error in https://wordpress.org/plugins/mammoth-docx-converter/
|
296 |
if (is_admin(settings.url) === 1 && !settings.url.match(/async-upload\.php$/)) {
|
297 |
// multipart/form-data (XMLHttpRequest Level 2)
|
@@ -312,7 +312,7 @@
|
|
312 |
settings.url = add_query_nonce(uri, wpzep.nonce);
|
313 |
} else {
|
314 |
data = settings.data ? settings.data.split('&') : [];
|
315 |
-
callback = check_ajax(location.pathname);
|
316 |
if (callback) {
|
317 |
data = callback(data);
|
318 |
}
|
@@ -427,7 +427,7 @@
|
|
427 |
}
|
428 |
});
|
429 |
|
430 |
-
elem.onFirst('submit', 'form', function (event) {
|
431 |
var $this = $(this),
|
432 |
action = $this.attr('action'); // possibly 'undefined'
|
433 |
|
@@ -441,7 +441,7 @@
|
|
441 |
/*--------------------------------
|
442 |
* Something after document ready
|
443 |
*--------------------------------*/
|
444 |
-
function attach_ready(stat) {
|
445 |
if (!wpzep.init) {
|
446 |
wpzep.init = true;
|
447 |
|
@@ -454,7 +454,7 @@
|
|
454 |
});
|
455 |
}
|
456 |
|
457 |
-
$('img').each(function (index) {
|
458 |
var src = $(this).attr('src');
|
459 |
|
460 |
// if admin area
|
@@ -477,7 +477,7 @@
|
|
477 |
}
|
478 |
}
|
479 |
|
480 |
-
$(window).on('error', function (event) { // event.originalEvent.message
|
481 |
attach_ready(false); // fallback on error
|
482 |
});
|
483 |
|
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) {
|
8 |
'use strict';
|
9 |
|
10 |
+
var auth = IP_GEO_BLOCK_AUTH, wpzep = {
|
11 |
init: false,
|
12 |
auth: 'ip-geo-block-auth-nonce',
|
13 |
+
nonce: auth.nonce || '',
|
14 |
+
sites: auth.sites || []
|
15 |
},
|
16 |
|
17 |
// regular expression to find target for is_admin()
|
18 |
regexp = new RegExp(
|
19 |
+
'^(?:' + (auth.home || '') + auth.admin
|
20 |
+
+ '|' + (auth.home || '') + auth.plugins
|
21 |
+
+ '|' + (auth.home || '') + auth.themes
|
22 |
+ ')(?:.*\.php|.*\/)?$'
|
23 |
),
|
24 |
|
55 |
|
56 |
// Check path that should be excluded
|
57 |
function check_ajax(path) {
|
58 |
+
path = path.replace(auth.home + auth.admin, '');
|
59 |
return ajax_links.hasOwnProperty(path) ? ajax_links[path] : null;
|
60 |
}
|
61 |
|
124 |
|
125 |
return function (url, base) {
|
126 |
var d = document, baseElm, aElm, result;
|
127 |
+
url = typeof url !== 'undefined' ? url : window.location.href;
|
128 |
if (null === doc) {
|
129 |
if (typeof base === 'undefined') {
|
130 |
+
base = window.location.href; // based on current url
|
131 |
}
|
132 |
try {
|
133 |
result = new URL(url, base); // base must be valid
|
134 |
} catch (e) {
|
135 |
+
result = new URL(url, window.location.href);
|
136 |
}
|
137 |
} else {
|
138 |
// use anchor element to resolve url
|
201 |
// Append the nonce as query strings to the uri
|
202 |
function add_query_nonce(uri, nonce) {
|
203 |
if (typeof uri !== 'object') { // `string` or `undefined`
|
204 |
+
uri = parse_uri(uri || window.location.href);
|
205 |
}
|
206 |
|
207 |
var data = uri.query ? uri.query.split('&') : [],
|
229 |
// Check uri where the nonce is needed
|
230 |
function is_admin(url) {
|
231 |
// parse uri and get real path
|
232 |
+
var uri = url || window.location.pathname; // in case of empty `action` on the form tag
|
233 |
uri = parse_uri(uri.toLowerCase());
|
234 |
|
235 |
// possibly scheme is `javascript` and path is `void(0);`
|
239 |
|
240 |
// external domain (`http://example` or `www.example`)
|
241 |
// https://tools.ietf.org/html/rfc6454#section-4
|
242 |
+
if (uri.origin !== window.location.origin) {
|
243 |
return -1; // external
|
244 |
}
|
245 |
|
246 |
// check if uri includes the target path of zep
|
247 |
uri = regexp.exec(uri.pathname);
|
248 |
if (uri) {
|
249 |
+
if ((auth.zep.ajax && 0 <= uri[0].indexOf(auth.admin + 'admin-')) ||
|
250 |
+
(auth.zep.admin && 0 <= uri[0].indexOf(auth.admin )) ||
|
251 |
+
(auth.zep.plugins && 0 <= uri[0].indexOf(auth.plugins )) ||
|
252 |
+
(auth.zep.themes && 0 <= uri[0].indexOf(auth.themes ))) {
|
253 |
return 1; // internal for admin
|
254 |
}
|
255 |
}
|
260 |
|
261 |
// Check if current page is admin area and the target of wp-zep
|
262 |
function is_backend_nonce() {
|
263 |
+
return (is_admin(window.location.pathname) === 1 || window.location.search.indexOf(wpzep.auth) >= 0);
|
264 |
}
|
265 |
|
266 |
// Redirect if current page is admin area and the target of wp-zep
|
291 |
*/
|
292 |
// Embed a nonce before an Ajax request is sent
|
293 |
// $(document).ajaxSend(function (event, jqxhr, settings) {
|
294 |
+
$.ajaxPrefilter(function (settings /*, original, jqxhr*/) {
|
295 |
// POST to async-upload.php causes an error in https://wordpress.org/plugins/mammoth-docx-converter/
|
296 |
if (is_admin(settings.url) === 1 && !settings.url.match(/async-upload\.php$/)) {
|
297 |
// multipart/form-data (XMLHttpRequest Level 2)
|
312 |
settings.url = add_query_nonce(uri, wpzep.nonce);
|
313 |
} else {
|
314 |
data = settings.data ? settings.data.split('&') : [];
|
315 |
+
callback = check_ajax(window.location.pathname);
|
316 |
if (callback) {
|
317 |
data = callback(data);
|
318 |
}
|
427 |
}
|
428 |
});
|
429 |
|
430 |
+
elem.onFirst('submit', 'form', function (/*event*/) {
|
431 |
var $this = $(this),
|
432 |
action = $this.attr('action'); // possibly 'undefined'
|
433 |
|
441 |
/*--------------------------------
|
442 |
* Something after document ready
|
443 |
*--------------------------------*/
|
444 |
+
function attach_ready(/*stat*/) {
|
445 |
if (!wpzep.init) {
|
446 |
wpzep.init = true;
|
447 |
|
454 |
});
|
455 |
}
|
456 |
|
457 |
+
$('img').each(function (/*index*/) {
|
458 |
var src = $(this).attr('src');
|
459 |
|
460 |
// if admin area
|
477 |
}
|
478 |
}
|
479 |
|
480 |
+
$(window).on('error', function (/*event*/) { // event.originalEvent.message
|
481 |
attach_ready(false); // fallback on error
|
482 |
});
|
483 |
|
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)
|
4 |
This software is released under the MIT License.
|
5 |
*/
|
6 |
-
(function(
|
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(h,k,n){function x(a){var b=n.createElement("div");b.appendChild(n.createTextNode(a));a=b.innerHTML.replace(/["']/g,function(a){return{'"':""","'":"'"}[a]});b="";return a}function p(a){a=a?a.toString():"";a=a.match(/^(?:([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/);return{scheme:a[1]||"",relative:a[2]||"",authority:a[3]||"",path:a[4]||"",query:a[5]||"",fragment:a[6]||""}}function l(a,b){"object"!==typeof a&&(a=p(a||k.location.href));for(var e=a.query?a.query.split("&"):[],d=e.length;0<d--;)if(0===e[d].indexOf(g.auth)){e.splice(d,1);break}e.push(g.auth+"="+encodeURIComponent(b));a.query=e.join("&");return(a.scheme?a.scheme+":":"")+(a.relative+a.path)+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"")}function q(a){return(!a.scheme||/^https?$/.test(a.scheme))&&(a.path||a.query)}function m(a){var b=a||k.location.pathname;b=p(b.toLowerCase());if(q(b)){b=y(a);if(b.origin!==k.location.origin)return-1;if((b=z.exec(b.pathname))&&(f.zep.ajax&&0<=b[0].indexOf(f.admin+"admin-")||f.zep.admin&&0<=b[0].indexOf(f.admin)||f.zep.plugins&&0<=b[0].indexOf(f.plugins)||f.zep.themes&&0<=b[0].indexOf(f.themes)))return 1}return 0}function r(){return 1===m(k.location.pathname)||0<=k.location.search.indexOf(g.auth)}function t(a,b,e){var d=b.split(/\s+/);a.each(function(a){for(a=0;a<d.length;++a){var b=h.trim(d[a]).match(/[^\.]+/i)[0],c=h(this),g=b;b=e;c=h._data(c[0]).events[g];g=b?c.splice(c.delegateCount-1,1)[0]:c.pop();c.splice(b?0:c.delegateCount||0,0,g)}})}function u(){if(!g.init&&(g.init=!0,r()&&h("a").each(function(){this.hasAttribute("onClick")||-1!==m(this.getAttribute("href"))||this.setAttribute("onClick","javascript:return false")}),h("img").each(function(){var a=h(this).attr("src");1===m(a)&&h(this).attr("src",l(a,g.nonce))}),"undefined"!==typeof k._wpRevisionsSettings)){var a,b=k._wpRevisionsSettings.revisionData,e=b.length;for(a=0;a<e;++a)-1===b[a].restoreUrl.indexOf(g.auth)&&(k._wpRevisionsSettings.revisionData[a].restoreUrl=l(b[a].restoreUrl,g.nonce))}}var f=IP_GEO_BLOCK_AUTH,g={init:!1,auth:"ip-geo-block-auth-nonce",nonce:f.nonce||"",sites:f.sites||[]},z=new RegExp("^(?:"+(f.home||"")+f.admin+"|"+(f.home||"")+f.plugins+"|"+(f.home||"")+f.themes+")(?:.*.php|.*/)?$"),v=function(a){for(var b=a.length;0<b--;)if(-1!==a[b].indexOf("request%5Bbrowse%5D=ip-geo-block-auth")){a[b]="request%5Bbrowse%5D=featured";break}return a},w={"upload.php":function(a){for(var b=a.length;0<b--;)if(-1!==a[b].indexOf("query%5Bip-geo-block-auth-nonce%5D=")){delete a[b];break}return a},"theme-install.php":v,"network/theme-install.php":v},y=function(){var a=null;try{new URL("/","http://example.com/")}catch(b){try{a=(new DOMParser).parseFromString("<html><head></head><body></body></html>","text/html")}catch(e){a=n.implementation.createHTMLDocument("")}}return function(b,e){var d=n;b="undefined"!==typeof b?b:k.location.href;if(null===a){"undefined"===typeof e&&(e=k.location.href);try{var c=new URL(b,e)}catch(A){c=new URL(b,k.location.href)}}else{if("undefined"!==typeof e){for(d=a;d.head.firstChild;)d.head.removeChild(d.head.firstChild);c=d.createElement("base");c.setAttribute("href",e);d.head.appendChild(c)}d=d.createElement("a");d.setAttribute("href",b);d.setAttribute("href",d.href);c={protocol:d.protocol,host:d.host,hostname:d.hostname,port:d.port,pathname:d.pathname,search:d.search,hash:d.hash,href:d.href,username:"",password:"",origin:d.origin||null};"http:"===c.protocol&&"80"===c.port?(c.port="",c.host=c.host.replace(/:80$/,"")):"https:"===c.protocol&&"443"===c.port&&(c.port="",c.host=c.host.replace(/:443$/,""));if("http:"===c.protocol||"https:"===c.protocol)c.pathname&&"/"!==c.pathname.charAt(0)&&(c.pathname="/"+c.pathname),c.origin||(c.origin=c.protocol+"//"+c.hostname+(c.port?":"+c.port:""))}if(c.username||c.password)throw new URIError(c.username+":"+c.password);return c}}();h.ajaxPrefilter(function(a){if(1===m(a.url)&&!a.url.match(/async-upload\.php$/))if("undefined"!==typeof k.FormData&&a.data instanceof FormData)a.data.append(g.auth,g.nonce);else{var b=p(a.url);if("undefined"===typeof a.data||b.query)a.url=l(b,g.nonce);else{b=a.data?a.data.split("&"):[];var e=k.location.pathname;e=e.replace(f.home+f.admin,"");(e=w.hasOwnProperty(e)?w[e]:null)&&(b=e(b));b.push(g.auth+"="+encodeURIComponent(g.nonce));a.data=b.join("&")}}});"undefined"===typeof h.fn.onFirst&&(h.fn.onFirst=function(a,b){var e,d=h(this),c="string"===typeof b;h.fn.on.apply(d,arguments);if("object"===typeof a)for(e in a)a.hasOwnProperty(e)&&t(d,e,c);else"string"===typeof a&&t(d,a,c);return d});h(k).on("error",function(){u(!1)});h(function(){u(!0)});(function(){var a=h(n);a.onFirst("click contextmenu","a",function(a){var b=h(this),d=b.attr("href"),c=b.attr("rel"),f=q(p(d))?m(d):0;if("click"===a.type)if(1===f)b.attr("href",l(d,!c||0>c.indexOf("nofollow")?g.nonce:"nofollow"));else if(-1===f&&r())if("_self"===b.attr("target"))for(a=d,d=g.sites.length,b=0;b<d;++b)a&&0<=a.indexOf(g.sites[b])&&g.nonce&&(k.location=l(a,g.nonce));else return d=x(decodeURIComponent(this.href)),d=d.split(";",2).shift(),f=k.open(),f.document.write('<!DOCTYPE html><html><head><meta name="referrer" content="never" /><meta name="referrer" content="no-referrer" /><meta http-equiv="refresh" content="0; url='+d+'" />'+(h("body").hasClass("webview")?'<script>window.location.replace("'+d+'")\x3c/script>':"")+"</head></html>"),f.document.close(),a.stopImmediatePropagation(),!1});a.onFirst("submit","form",function(){var a=h(this),e=a.attr("action");1===m(e)&&a.attr("action",l(e,g.nonce))})})()})(jQuery,window,document);
|
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-
|
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-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
|
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-
|
6 |
This software is released under the MIT License.
|
7 |
*/
|
8 |
function gm_authFailure(){jQuery(window).trigger("ip-geo-block-gmap-error")}(function(f){f(function(d){var f={zoom:2,latitude:0,longitude:0},e=google.maps,g=function(a){this.o=d.extend({},f);this.q=[]};g.prototype={init:function(a){d.extend(this.o,a);this.c=new e.LatLng(this.o.latitude,this.o.longitude);this.m=new e.Map(this.e.get(0),{zoom:this.o.zoom,center:this.c,mapTypeId:e.MapTypeId.ROADMAP})},destroy:function(){this.deleteMarkers();this.e.data("plugin_GmapRS",null)},setCenter:function(){if(2<=arguments.length){var a=new e.LatLng(this.o.latitude=arguments[0],this.o.longitude=arguments[1]);delete this.c;this.c=a}this.m.setCenter(this.c);return this.e},setZoom:function(a){this.m.setZoom(a||this.o.zoom);return this.e},showMarker:function(a,c){var b=this.q[a];b&&b.w&&(!1===c?b.w.close():b.w.open(this.m,b.m))},addMarker:function(a){var c,b,d;c=new e.LatLng(a.latitude||this.o.latitude,a.longitude||this.o.longitude);b=new e.Marker({position:c,map:this.m,title:a.title||""});a.content&&(d=new e.InfoWindow({content:a.content}),e.event.addListener(b,"click",function(){d.open(b.getMap(),b)}));this.q.push({p:c,w:d,m:b});this.m.setCenter(c);this.m.setZoom(a.zoom);a.show&&this.showMarker(this.q.length-1);return this.e},deleteMarkers:function(){var a,c;for(a in this.q)this.q.hasOwnProperty(a)&&(c=this.q[a],c.m.setMap(null));this.q.length=0;return this.e}};d.fn.GmapRS=function(a){var c,b;this.data("plugin_GmapRS")instanceof g||this.data("plugin_GmapRS",new g(this));b=this.data("plugin_GmapRS");b.e=this;if("undefined"===typeof a||"object"===typeof a)"function"===typeof b.init&&b.init(a);else{if("string"===typeof a&&"function"===typeof b[a])return c=Array.prototype.slice.call(arguments,1),b[a].apply(b,c);d.error("Method "+a+" does not exist.GmapRS")}}})})(jQuery);
|
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")}(function(f){f(function(d){var f={zoom:2,latitude:0,longitude:0},e=google.maps,g=function(a){this.o=d.extend({},f);this.q=[]};g.prototype={init:function(a){d.extend(this.o,a);this.c=new e.LatLng(this.o.latitude,this.o.longitude);this.m=new e.Map(this.e.get(0),{zoom:this.o.zoom,center:this.c,mapTypeId:e.MapTypeId.ROADMAP})},destroy:function(){this.deleteMarkers();this.e.data("plugin_GmapRS",null)},setCenter:function(){if(2<=arguments.length){var a=new e.LatLng(this.o.latitude=arguments[0],this.o.longitude=arguments[1]);delete this.c;this.c=a}this.m.setCenter(this.c);return this.e},setZoom:function(a){this.m.setZoom(a||this.o.zoom);return this.e},showMarker:function(a,c){var b=this.q[a];b&&b.w&&(!1===c?b.w.close():b.w.open(this.m,b.m))},addMarker:function(a){var c,b,d;c=new e.LatLng(a.latitude||this.o.latitude,a.longitude||this.o.longitude);b=new e.Marker({position:c,map:this.m,title:a.title||""});a.content&&(d=new e.InfoWindow({content:a.content}),e.event.addListener(b,"click",function(){d.open(b.getMap(),b)}));this.q.push({p:c,w:d,m:b});this.m.setCenter(c);this.m.setZoom(a.zoom);a.show&&this.showMarker(this.q.length-1);return this.e},deleteMarkers:function(){var a,c;for(a in this.q)this.q.hasOwnProperty(a)&&(c=this.q[a],c.m.setMap(null));this.q.length=0;return this.e}};d.fn.GmapRS=function(a){var c,b;this.data("plugin_GmapRS")instanceof g||this.data("plugin_GmapRS",new g(this));b=this.data("plugin_GmapRS");b.e=this;if("undefined"===typeof a||"object"===typeof a)"function"===typeof b.init&&b.init(a);else{if("string"===typeof a&&"function"===typeof b[a])return c=Array.prototype.slice.call(arguments,1),b[a].apply(b,c);d.error("Method "+a+" does not exist.GmapRS")}}})})(jQuery);
|
classes/class-ip-geo-block-actv.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright
|
10 |
*/
|
11 |
|
12 |
// Stuff for resources
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 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-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
/**
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 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-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Cron {
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Cron {
|
classes/class-ip-geo-block-file.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
* @link https://codex.wordpress.org/Filesystem_API
|
10 |
-
* @copyright
|
11 |
*/
|
12 |
|
13 |
class IP_Geo_Block_FS {
|
@@ -81,11 +81,9 @@ if (0) {
|
|
81 |
|
82 |
// Get absolute path.
|
83 |
private function absolute_path( $file ) {
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
$file = $this->slashit( $path ) . basename( $file );
|
88 |
-
}
|
89 |
|
90 |
return $file;
|
91 |
}
|
@@ -241,7 +239,7 @@ if (0) {
|
|
241 |
return FALSE;
|
242 |
|
243 |
if ( 'direct' === self::$method )
|
244 |
-
return @file_put_contents( $file, $contents, LOCK_EX );
|
245 |
else
|
246 |
return $wp_filesystem->put_contents( $this->absolute_path( $file ), $contents, $mode );
|
247 |
}
|
@@ -260,7 +258,7 @@ if (0) {
|
|
260 |
return FALSE;
|
261 |
|
262 |
if ( 'direct' === self::$method )
|
263 |
-
return @file_get_contents( $file );
|
264 |
else
|
265 |
return $wp_filesystem->get_contents( $this->absolute_path( $file ) );
|
266 |
}
|
@@ -280,7 +278,7 @@ if (0) {
|
|
280 |
@ini_set( 'auto_detect_line_endings', TRUE );
|
281 |
|
282 |
if ( 'direct' === self::$method )
|
283 |
-
return @file( $file, FILE_IGNORE_NEW_LINES );
|
284 |
|
285 |
$file = $wp_filesystem->get_contents_array( $this->absolute_path( $file ) );
|
286 |
return FALSE !== $file ? array_map( 'rtrim', $file ) : FALSE;
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
* @link https://codex.wordpress.org/Filesystem_API
|
10 |
+
* @copyright 2013-2018 tokkonopapa
|
11 |
*/
|
12 |
|
13 |
class IP_Geo_Block_FS {
|
81 |
|
82 |
// Get absolute path.
|
83 |
private function absolute_path( $file ) {
|
84 |
+
global $wp_filesystem;
|
85 |
+
$path = str_replace( ABSPATH, $wp_filesystem->abspath(), dirname( $file ) );
|
86 |
+
$file = $this->slashit( $path ) . basename( $file );
|
|
|
|
|
87 |
|
88 |
return $file;
|
89 |
}
|
239 |
return FALSE;
|
240 |
|
241 |
if ( 'direct' === self::$method )
|
242 |
+
return @file_put_contents( $this->absolute_path( $file ), $contents, LOCK_EX );
|
243 |
else
|
244 |
return $wp_filesystem->put_contents( $this->absolute_path( $file ), $contents, $mode );
|
245 |
}
|
258 |
return FALSE;
|
259 |
|
260 |
if ( 'direct' === self::$method )
|
261 |
+
return @file_get_contents( $this->absolute_path( $file ) );
|
262 |
else
|
263 |
return $wp_filesystem->get_contents( $this->absolute_path( $file ) );
|
264 |
}
|
278 |
@ini_set( 'auto_detect_line_endings', TRUE );
|
279 |
|
280 |
if ( 'direct' === self::$method )
|
281 |
+
return @file( $this->absolute_path( $file ), FILE_IGNORE_NEW_LINES );
|
282 |
|
283 |
$file = $wp_filesystem->get_contents_array( $this->absolute_path( $file ) );
|
284 |
return FALSE !== $file ? array_map( 'rtrim', $file ) : FALSE;
|
classes/class-ip-geo-block-lkup.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2016-
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Lkup {
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2016-2018 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-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2016-
|
10 |
*/
|
11 |
|
12 |
/**
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2016-2018 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-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
// varchar can not be exceeded over 255 before MySQL-5.0.3.
|
@@ -183,7 +183,7 @@ class IP_Geo_Block_Logs {
|
|
183 |
global $wpdb;
|
184 |
$table = $wpdb->prefix . self::TABLE_LOGS;
|
185 |
|
186 |
-
if ( $hook )
|
187 |
$sql = $wpdb->prepare(
|
188 |
"DELETE FROM `$table` WHERE `hook` = '%s'", $hook
|
189 |
) and $wpdb->query( $sql ) or self::error( __LINE__ );
|
@@ -693,10 +693,10 @@ class IP_Geo_Block_Logs {
|
|
693 |
|
694 |
$sql = "SELECT `hook`, `time`, `ip`, `code`, `result`, `asn`, `method`, `user_agent`, `headers`, `data` FROM `$table`";
|
695 |
|
696 |
-
if (
|
697 |
-
$sql .= " ORDER BY `time` DESC"; // " ORDER BY `hook`, `time` DESC";
|
698 |
-
else
|
699 |
$sql .= $wpdb->prepare( " WHERE `hook` = '%s' ORDER BY `time` DESC", $hook );
|
|
|
|
|
700 |
|
701 |
return $sql ? $wpdb->get_results( $sql, ARRAY_N ) : array();
|
702 |
}
|
@@ -847,8 +847,10 @@ class IP_Geo_Block_Logs {
|
|
847 |
$result = TRUE;
|
848 |
|
849 |
foreach ( $entry as $ip ) {
|
850 |
-
|
851 |
-
|
|
|
|
|
852 |
}
|
853 |
|
854 |
return $result;
|
@@ -869,6 +871,24 @@ class IP_Geo_Block_Logs {
|
|
869 |
return $result;
|
870 |
}
|
871 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
872 |
/**
|
873 |
* SQL Error handling
|
874 |
*
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
// varchar can not be exceeded over 255 before MySQL-5.0.3.
|
183 |
global $wpdb;
|
184 |
$table = $wpdb->prefix . self::TABLE_LOGS;
|
185 |
|
186 |
+
if ( in_array( $hook, array( 'comment', 'login', 'admin', 'xmlrpc', 'public' ), TRUE ) )
|
187 |
$sql = $wpdb->prepare(
|
188 |
"DELETE FROM `$table` WHERE `hook` = '%s'", $hook
|
189 |
) and $wpdb->query( $sql ) or self::error( __LINE__ );
|
693 |
|
694 |
$sql = "SELECT `hook`, `time`, `ip`, `code`, `result`, `asn`, `method`, `user_agent`, `headers`, `data` FROM `$table`";
|
695 |
|
696 |
+
if ( in_array( $hook, array( 'comment', 'login', 'admin', 'xmlrpc', 'public' ), TRUE ) )
|
|
|
|
|
697 |
$sql .= $wpdb->prepare( " WHERE `hook` = '%s' ORDER BY `time` DESC", $hook );
|
698 |
+
else
|
699 |
+
$sql .= " ORDER BY `time` DESC"; // " ORDER BY `hook`, `time` DESC";
|
700 |
|
701 |
return $sql ? $wpdb->get_results( $sql, ARRAY_N ) : array();
|
702 |
}
|
847 |
$result = TRUE;
|
848 |
|
849 |
foreach ( $entry as $ip ) {
|
850 |
+
if ( filter_var( $ip, FILTER_VALIDATE_IP ) ) {
|
851 |
+
$sql = $wpdb->prepare( "DELETE FROM `$table` WHERE `ip` = %s", $ip )
|
852 |
+
and $result &= ( FALSE !== $wpdb->query( $sql ) ) or self::error( __LINE__ );
|
853 |
+
}
|
854 |
}
|
855 |
|
856 |
return $result;
|
871 |
return $result;
|
872 |
}
|
873 |
|
874 |
+
/**
|
875 |
+
* Search blocked requests
|
876 |
+
*
|
877 |
+
* @param string $key 'method' or 'data'
|
878 |
+
*/
|
879 |
+
public static function search_blocked_logs( $key, $search ) {
|
880 |
+
global $wpdb;
|
881 |
+
$table = $wpdb->prefix . self::TABLE_LOGS;
|
882 |
+
|
883 |
+
$result = array();
|
884 |
+
|
885 |
+
$sql = $wpdb->prepare(
|
886 |
+
"SELECT * FROM `$table` WHERE `result` != 'passed' AND `" . $key . "` LIKE '%%%s%%'", $search
|
887 |
+
) and $result = $wpdb->get_results( $sql, ARRAY_A ) or self::error( __LINE__ );
|
888 |
+
|
889 |
+
return $result;
|
890 |
+
}
|
891 |
+
|
892 |
/**
|
893 |
* SQL Error handling
|
894 |
*
|
classes/class-ip-geo-block-opts.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Opts {
|
@@ -65,7 +65,7 @@ class IP_Geo_Block_Opts {
|
|
65 |
'mimetype' => 0, // 0:disable, 1:white_list, 2:black_list
|
66 |
),
|
67 |
'update' => array( // Updating IP address DB
|
68 |
-
'auto' => TRUE, // Auto updating of DB
|
69 |
'retry' => 0, // Number of retry to download
|
70 |
'cycle' => 30, // Updating cycle (days)
|
71 |
),
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Opts {
|
65 |
'mimetype' => 0, // 0:disable, 1:white_list, 2:black_list
|
66 |
),
|
67 |
'update' => array( // Updating IP address DB
|
68 |
+
'auto' => TRUE, // Auto updating of DB files
|
69 |
'retry' => 0, // Number of retry to download
|
70 |
'cycle' => 30, // Updating cycle (days)
|
71 |
),
|
classes/class-ip-geo-block-util.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Util {
|
@@ -66,7 +66,7 @@ class IP_Geo_Block_Util {
|
|
66 |
*
|
67 |
*/
|
68 |
public static function multiexplode ( $delimiters, $string ) {
|
69 |
-
return array_filter( explode( $delimiters[0], str_replace( $delimiters, $delimiters[0], $string ) ) );
|
70 |
}
|
71 |
|
72 |
/**
|
@@ -332,10 +332,10 @@ class IP_Geo_Block_Util {
|
|
332 |
* WP alternative function for mu-plugins
|
333 |
*
|
334 |
* Get the time-dependent variable for nonce creation.
|
335 |
-
* @source wp-includes/pluggable.php
|
336 |
*/
|
337 |
private static function nonce_tick() {
|
338 |
-
return ceil( time() / ( DAY_IN_SECONDS / 2 ) );
|
339 |
}
|
340 |
|
341 |
/**
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block_Util {
|
66 |
*
|
67 |
*/
|
68 |
public static function multiexplode ( $delimiters, $string ) {
|
69 |
+
return is_array( $string ) ? $string : array_filter( explode( $delimiters[0], str_replace( $delimiters, $delimiters[0], $string ) ) );
|
70 |
}
|
71 |
|
72 |
/**
|
332 |
* WP alternative function for mu-plugins
|
333 |
*
|
334 |
* Get the time-dependent variable for nonce creation.
|
335 |
+
* @source wp_nonce_tick() in wp-includes/pluggable.php
|
336 |
*/
|
337 |
private static function nonce_tick() {
|
338 |
+
return ceil( time() / ( apply_filters( 'nonce_life', DAY_IN_SECONDS ) / 2 ) );
|
339 |
}
|
340 |
|
341 |
/**
|
classes/class-ip-geo-block.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
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.
|
19 |
const GEOAPI_NAME = 'ip-geo-api';
|
20 |
const PLUGIN_NAME = 'ip-geo-block';
|
21 |
const OPTION_NAME = 'ip_geo_block_settings';
|
@@ -788,16 +788,10 @@ class IP_Geo_Block {
|
|
788 |
/**
|
789 |
* Verify specific ip addresses with CIDR.
|
790 |
*
|
|
|
|
|
791 |
*/
|
792 |
-
public function
|
793 |
-
return $this->check_ips( $validate, $settings['extra_ips']['white_list'] ) ? $validate + array( 'result' => 'passed' ) : $validate;
|
794 |
-
}
|
795 |
-
|
796 |
-
public function check_ips_black( $validate, $settings ) {
|
797 |
-
return $this->check_ips( $validate, $settings['extra_ips']['black_list'] ) ? $validate + array( 'result' => 'extra' ) : $validate;
|
798 |
-
}
|
799 |
-
|
800 |
-
private function check_ips( $validate, $ips ) {
|
801 |
if ( filter_var( $ip = $validate['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
|
802 |
require_once IP_GEO_BLOCK_PATH . 'includes/Net/IPv4.php';
|
803 |
|
@@ -825,6 +819,14 @@ class IP_Geo_Block {
|
|
825 |
return FALSE;
|
826 |
}
|
827 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
828 |
/**
|
829 |
* Validate on public facing pages.
|
830 |
*
|
@@ -858,7 +860,7 @@ class IP_Geo_Block {
|
|
858 |
add_filter( self::PLUGIN_NAME . '-ip-addr', array( 'IP_Geo_Block_Util', 'get_proxy_ip' ), 20, 1 );
|
859 |
|
860 |
// validate undesired user agent
|
861 |
-
add_filter( self::PLUGIN_NAME . '-public', array( $this, '
|
862 |
|
863 |
// validate country by IP address (block: true, die: false)
|
864 |
$this->validate_ip( 'public', $settings, 1 & $settings['validation']['public'], ! $public['simulate'] );
|
@@ -892,7 +894,7 @@ class IP_Geo_Block {
|
|
892 |
return $validate + array( 'result' => 'passed' ); // provide content
|
893 |
}
|
894 |
|
895 |
-
public function
|
896 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
897 |
|
898 |
// mask HOST if DNS lookup is false
|
@@ -918,32 +920,32 @@ class IP_Geo_Block {
|
|
918 |
|
919 |
if ( 'FEED' === $code ) {
|
920 |
if ( $not xor $is_feed )
|
921 |
-
return $validate + array( 'result' => $which ? '
|
922 |
}
|
923 |
|
924 |
elseif ( 'HOST' === $code ) {
|
925 |
if ( $not xor $validate['host'] !== $validate['ip'] )
|
926 |
-
return $validate + array( 'result' => $which ? '
|
927 |
}
|
928 |
|
929 |
elseif ( 0 === strncmp( 'HOST=', $code, 5 ) ) {
|
930 |
if ( $not xor FALSE !== strpos( $validate['host'], substr( $code, 5 ) ) )
|
931 |
-
return $validate + array( 'result' => $which ? '
|
932 |
}
|
933 |
|
934 |
elseif ( 0 === strncmp( 'REF=', $code, 4 ) ) {
|
935 |
if ( $not xor FALSE !== strpos( $referer, substr( $code, 4 ) ) )
|
936 |
-
return $validate + array( 'result' => $which ? '
|
937 |
}
|
938 |
|
939 |
elseif ( '*' === $code || 2 === strlen( $code ) ) {
|
940 |
if ( $not xor ( '*' === $code || $validate['code'] === $code ) )
|
941 |
-
return $validate + array( 'result' => $which ? '
|
942 |
}
|
943 |
|
944 |
elseif ( preg_match( '!^[a-f\d\.:/]+$!', $code = substr( $pat, strpos( $pat, $code ) ) ) ) {
|
945 |
if ( $not xor $this->check_ips( $validate, $code ) )
|
946 |
-
return $validate + array( 'result' => $which ? '
|
947 |
}
|
948 |
}
|
949 |
}
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
class IP_Geo_Block {
|
15 |
* Unique identifier for this plugin.
|
16 |
*
|
17 |
*/
|
18 |
+
const VERSION = '3.0.6.1';
|
19 |
const GEOAPI_NAME = 'ip-geo-api';
|
20 |
const PLUGIN_NAME = 'ip-geo-block';
|
21 |
const OPTION_NAME = 'ip_geo_block_settings';
|
788 |
/**
|
789 |
* Verify specific ip addresses with CIDR.
|
790 |
*
|
791 |
+
* @param array $validate `ip`, `auth`, `code`, `asn`, `result`
|
792 |
+
* @param array or string $ips the list of IP addresses with CIDR notation
|
793 |
*/
|
794 |
+
public static function check_ips( $validate, $ips ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
795 |
if ( filter_var( $ip = $validate['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
|
796 |
require_once IP_GEO_BLOCK_PATH . 'includes/Net/IPv4.php';
|
797 |
|
819 |
return FALSE;
|
820 |
}
|
821 |
|
822 |
+
public function check_ips_white( $validate, $settings ) {
|
823 |
+
return self::check_ips( $validate, $settings['extra_ips']['white_list'] ) ? $validate + array( 'result' => 'passed' ) : $validate;
|
824 |
+
}
|
825 |
+
|
826 |
+
public function check_ips_black( $validate, $settings ) {
|
827 |
+
return self::check_ips( $validate, $settings['extra_ips']['black_list'] ) ? $validate + array( 'result' => 'extra' ) : $validate;
|
828 |
+
}
|
829 |
+
|
830 |
/**
|
831 |
* Validate on public facing pages.
|
832 |
*
|
860 |
add_filter( self::PLUGIN_NAME . '-ip-addr', array( 'IP_Geo_Block_Util', 'get_proxy_ip' ), 20, 1 );
|
861 |
|
862 |
// validate undesired user agent
|
863 |
+
add_filter( self::PLUGIN_NAME . '-public', array( $this, 'check_ua' ), 6, 2 );
|
864 |
|
865 |
// validate country by IP address (block: true, die: false)
|
866 |
$this->validate_ip( 'public', $settings, 1 & $settings['validation']['public'], ! $public['simulate'] );
|
894 |
return $validate + array( 'result' => 'passed' ); // provide content
|
895 |
}
|
896 |
|
897 |
+
public function check_ua( $validate, $settings ) {
|
898 |
require_once IP_GEO_BLOCK_PATH . 'classes/class-ip-geo-block-lkup.php';
|
899 |
|
900 |
// mask HOST if DNS lookup is false
|
920 |
|
921 |
if ( 'FEED' === $code ) {
|
922 |
if ( $not xor $is_feed )
|
923 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
924 |
}
|
925 |
|
926 |
elseif ( 'HOST' === $code ) {
|
927 |
if ( $not xor $validate['host'] !== $validate['ip'] )
|
928 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
929 |
}
|
930 |
|
931 |
elseif ( 0 === strncmp( 'HOST=', $code, 5 ) ) {
|
932 |
if ( $not xor FALSE !== strpos( $validate['host'], substr( $code, 5 ) ) )
|
933 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
934 |
}
|
935 |
|
936 |
elseif ( 0 === strncmp( 'REF=', $code, 4 ) ) {
|
937 |
if ( $not xor FALSE !== strpos( $referer, substr( $code, 4 ) ) )
|
938 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
939 |
}
|
940 |
|
941 |
elseif ( '*' === $code || 2 === strlen( $code ) ) {
|
942 |
if ( $not xor ( '*' === $code || $validate['code'] === $code ) )
|
943 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
944 |
}
|
945 |
|
946 |
elseif ( preg_match( '!^[a-f\d\.:/]+$!', $code = substr( $pat, strpos( $pat, $code ) ) ) ) {
|
947 |
if ( $not xor $this->check_ips( $validate, $code ) )
|
948 |
+
return $validate + array( 'result' => $which ? 'UAlist' : 'passed' );
|
949 |
}
|
950 |
}
|
951 |
}
|
ip-geo-block.php
CHANGED
@@ -8,12 +8,12 @@
|
|
8 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
9 |
* @license GPL-2.0+
|
10 |
* @link http://www.ipgeoblock.com/
|
11 |
-
* @copyright 2013-
|
12 |
*
|
13 |
* Plugin Name: IP Geo Block
|
14 |
* Plugin URI: http://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 |
* Author: tokkonopapa
|
18 |
* Author URI: http://www.ipgeoblock.com/
|
19 |
* Text Domain: ip-geo-block
|
8 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
9 |
* @license GPL-2.0+
|
10 |
* @link http://www.ipgeoblock.com/
|
11 |
+
* @copyright 2013-2018 tokkonopapa
|
12 |
*
|
13 |
* Plugin Name: IP Geo Block
|
14 |
* Plugin URI: http://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.6.1
|
17 |
* Author: tokkonopapa
|
18 |
* Author URI: http://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
@@ -1,11 +1,11 @@
|
|
1 |
-
# Copyright (C) 2013-
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: IP Geo Block 3.0.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
-
"PO-Revision-Date:
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
@@ -30,8 +30,8 @@ msgstr ""
|
|
30 |
#: classes/class-ip-geo-block-opts.php:409
|
31 |
#: classes/class-ip-geo-block-cron.php:273
|
32 |
#: classes/class-ip-geo-block-cron.php:305
|
33 |
-
#: admin/class-ip-geo-block-admin.php:
|
34 |
-
#: admin/includes/class-admin-rewrite.php:
|
35 |
#, php-format
|
36 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
37 |
msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
|
@@ -42,7 +42,7 @@ msgstr "データベース・ファイルは最新です。"
|
|
42 |
|
43 |
#: classes/class-ip-geo-block-cron.php:268
|
44 |
#: classes/class-ip-geo-block-cron.php:300
|
45 |
-
#: admin/includes/class-admin-rewrite.php:
|
46 |
#, php-format
|
47 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
48 |
msgstr "<code>%s</code> を読み込めません。パーミッションをチェックして下さい。"
|
@@ -58,7 +58,7 @@ msgid "gz or zip is not supported on your system."
|
|
58 |
msgstr "gz または zip がサポートされていません。"
|
59 |
|
60 |
#: classes/class-ip-geo-block-cron.php:334
|
61 |
-
#: admin/includes/tab-settings.php:
|
62 |
#, php-format
|
63 |
msgid "Last update: %s"
|
64 |
msgstr "最終更新:%s"
|
@@ -112,138 +112,154 @@ msgstr ""
|
|
112 |
"少なくとも1つ以上の位置情報サービスを選択して下さい。未選択の場合、キャッシュ"
|
113 |
"の有効期限切れと共にロックアウトされます。"
|
114 |
|
115 |
-
#: admin/class-ip-geo-block-admin.php:
|
116 |
msgid "Import settings ?"
|
117 |
msgstr "設定をインポートしますか?"
|
118 |
|
119 |
-
#: admin/class-ip-geo-block-admin.php:
|
120 |
msgid "Create table ?"
|
121 |
msgstr "テーブルを作成しますか?"
|
122 |
|
123 |
-
#: admin/class-ip-geo-block-admin.php:
|
124 |
msgid "Delete table ?"
|
125 |
msgstr "テーブルを削除しますか?"
|
126 |
|
127 |
-
#: admin/class-ip-geo-block-admin.php:
|
128 |
msgid "Clear statistics ?"
|
129 |
msgstr "統計をクリアしますか?"
|
130 |
|
131 |
-
#: admin/class-ip-geo-block-admin.php:
|
132 |
msgid "Clear cache ?"
|
133 |
msgstr "キャッシュをクリアしますか?"
|
134 |
|
135 |
-
#: admin/class-ip-geo-block-admin.php:
|
136 |
msgid "Clear logs ?"
|
137 |
msgstr "ログをクリアしますか?"
|
138 |
|
139 |
-
#: admin/class-ip-geo-block-admin.php:
|
140 |
msgid "ajax for logged-in user"
|
141 |
msgstr "認証済ユーザー用 ajax"
|
142 |
|
143 |
-
#: admin/class-ip-geo-block-admin.php:
|
144 |
msgid "ajax for non logged-in user"
|
145 |
msgstr "未認証ユーザー用 ajax"
|
146 |
|
147 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
msgid "This feature is available with HTML5 compliant browsers."
|
149 |
msgstr "HTML5準拠のブラウザでのみ機能します。"
|
150 |
|
151 |
-
#: admin/class-ip-geo-block-admin.php:
|
152 |
msgid "The selected row cannot be found in the visible area."
|
153 |
msgstr "可視領域に選択された行が見つかりません。"
|
154 |
|
155 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
msgid "No data available in table"
|
157 |
msgstr "テーブルにデータがありません"
|
158 |
|
159 |
-
#: admin/class-ip-geo-block-admin.php:
|
160 |
msgid "No matching records found"
|
161 |
msgstr "一致するレコードがありません"
|
162 |
|
163 |
-
#: admin/class-ip-geo-block-admin.php:
|
164 |
#: admin/includes/tab-geolocation.php:71
|
165 |
msgid "IP address"
|
166 |
msgstr "IPアドレス"
|
167 |
|
168 |
-
#: admin/class-ip-geo-block-admin.php:
|
169 |
msgid "Code"
|
170 |
msgstr "国"
|
171 |
|
172 |
-
#: admin/class-ip-geo-block-admin.php:
|
173 |
msgid "ASN"
|
174 |
msgstr "AS番号"
|
175 |
|
176 |
-
#: admin/class-ip-geo-block-admin.php:
|
177 |
msgid "Host name"
|
178 |
msgstr "ホスト名"
|
179 |
|
180 |
-
#: admin/class-ip-geo-block-admin.php:
|
181 |
msgid "Target"
|
182 |
msgstr "検証対象"
|
183 |
|
184 |
-
#: admin/class-ip-geo-block-admin.php:
|
185 |
msgid "Failure / Total"
|
186 |
msgstr "ログイン失敗/総計"
|
187 |
|
188 |
-
#: admin/class-ip-geo-block-admin.php:
|
189 |
msgid "Elapsed[sec]"
|
190 |
msgstr "経過 [秒]"
|
191 |
|
192 |
-
#: admin/class-ip-geo-block-admin.php:
|
193 |
msgid "Time"
|
194 |
msgstr "日時"
|
195 |
|
196 |
-
#: admin/class-ip-geo-block-admin.php:
|
197 |
msgid "Result"
|
198 |
msgstr "検証結果"
|
199 |
|
200 |
-
#: admin/class-ip-geo-block-admin.php:
|
201 |
msgid "Request"
|
202 |
msgstr "リクエスト"
|
203 |
|
204 |
-
#: admin/class-ip-geo-block-admin.php:
|
205 |
msgid "User agent"
|
206 |
msgstr "ユーザー・エージェント"
|
207 |
|
208 |
-
#: admin/class-ip-geo-block-admin.php:
|
209 |
msgid "HTTP headers"
|
210 |
msgstr "HTTP ヘッダー"
|
211 |
|
212 |
-
#: admin/class-ip-geo-block-admin.php:
|
213 |
msgid "$_POST data"
|
214 |
msgstr "$_POST データ"
|
215 |
|
216 |
-
#: admin/class-ip-geo-block-admin.php:
|
217 |
msgid "Contribute on GitHub"
|
218 |
msgstr "開発に参加"
|
219 |
|
220 |
-
#: admin/class-ip-geo-block-admin.php:
|
221 |
-
#: admin/class-ip-geo-block-admin.php:
|
222 |
-
#: admin/class-ip-geo-block-admin.php:
|
223 |
-
#: admin/class-ip-geo-block-admin.php:
|
224 |
msgid "Settings"
|
225 |
msgstr "設定"
|
226 |
|
227 |
-
#: admin/class-ip-geo-block-admin.php:
|
228 |
-
#: admin/class-ip-geo-block-admin.php:
|
229 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
230 |
#: admin/class-ip-geo-block-admin.php:429
|
231 |
-
#: admin/class-ip-geo-block-admin.php:
|
232 |
-
#: admin/class-ip-geo-block-admin.php:444
|
233 |
msgid "IP Geo Block"
|
234 |
msgstr "IP Geo Block"
|
235 |
|
236 |
-
#: admin/class-ip-geo-block-admin.php:
|
237 |
-
#: admin/class-ip-geo-block-admin.php:
|
238 |
-
#: admin/class-ip-geo-block-admin.php:
|
239 |
msgid "Site List"
|
240 |
msgstr "サイト一覧"
|
241 |
|
242 |
-
#: admin/class-ip-geo-block-admin.php:
|
243 |
msgid "You need WordPress 3.7+."
|
244 |
msgstr "WordPress 3.7 以上が必要です。"
|
245 |
|
246 |
-
#: admin/class-ip-geo-block-admin.php:
|
247 |
#, php-format
|
248 |
msgid ""
|
249 |
"Now downloading geolocation databases in background. After a little while, "
|
@@ -254,7 +270,7 @@ msgstr ""
|
|
254 |
"いた後、あなたの国コードと「<strong>マッチング規則</strong>」を「<a href=\"%s"
|
255 |
"\">検証ルールの設定</a>」で確認して下さい。"
|
256 |
|
257 |
-
#: admin/class-ip-geo-block-admin.php:
|
258 |
#, php-format
|
259 |
msgid ""
|
260 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
@@ -263,11 +279,11 @@ msgstr ""
|
|
263 |
"「<strong>マッチング規則</strong>」が正しく設定されていません。「<a href=\"%s"
|
264 |
"\">検証ルールの設定</a>」を確認して下さい。"
|
265 |
|
266 |
-
#: admin/class-ip-geo-block-admin.php:
|
267 |
msgid "Local database and matching rule have been updated."
|
268 |
msgstr "ローカル・データベースとマッチング規則を更新しました。"
|
269 |
|
270 |
-
#: admin/class-ip-geo-block-admin.php:
|
271 |
msgid ""
|
272 |
"Once you logout, you will be unable to login again because the number of "
|
273 |
"login attempts reaches the limit."
|
@@ -275,7 +291,7 @@ msgstr ""
|
|
275 |
"あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトす"
|
276 |
"ると再びログインする事が出来なくなります。"
|
277 |
|
278 |
-
#: admin/class-ip-geo-block-admin.php:
|
279 |
#, php-format
|
280 |
msgid ""
|
281 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
@@ -284,7 +300,7 @@ msgstr ""
|
|
284 |
"<a href=\"%s\">「統計」タブ</a>の \"<strong>キャッシュのクリア</strong>\" を"
|
285 |
"実行し、ロックアウトを回避してください。"
|
286 |
|
287 |
-
#: admin/class-ip-geo-block-admin.php:
|
288 |
msgid ""
|
289 |
"Once you logout, you will be unable to login again because your country code "
|
290 |
"or IP address is in the blacklist."
|
@@ -292,7 +308,7 @@ msgstr ""
|
|
292 |
"あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウ"
|
293 |
"トすると再びログインする事が出来なくなります。"
|
294 |
|
295 |
-
#: admin/class-ip-geo-block-admin.php:
|
296 |
msgid ""
|
297 |
"Once you logout, you will be unable to login again because your country code "
|
298 |
"or IP address is not in the whitelist."
|
@@ -300,12 +316,12 @@ msgstr ""
|
|
300 |
"あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログア"
|
301 |
"ウトすると再びログインする事が出来なくなります。"
|
302 |
|
303 |
-
#: admin/class-ip-geo-block-admin.php:
|
304 |
#, php-format
|
305 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
306 |
msgstr "「<a href=\"%s\">検証ルールの設定</a>」を確認して下さい。"
|
307 |
|
308 |
-
#: admin/class-ip-geo-block-admin.php:
|
309 |
msgid ""
|
310 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
311 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
@@ -315,31 +331,31 @@ msgstr ""
|
|
315 |
"択されていますが、<strong>IP Geo Allow</strong> と互換性がありません。"
|
316 |
"「“init” アクション・フック」を選択してください。"
|
317 |
|
318 |
-
#: admin/class-ip-geo-block-admin.php:
|
319 |
msgid "Statistics"
|
320 |
msgstr "統計"
|
321 |
|
322 |
-
#: admin/class-ip-geo-block-admin.php:
|
323 |
msgid "Logs"
|
324 |
msgstr "ログ"
|
325 |
|
326 |
-
#: admin/class-ip-geo-block-admin.php:
|
327 |
msgid "Search"
|
328 |
msgstr "検索"
|
329 |
|
330 |
-
#: admin/class-ip-geo-block-admin.php:
|
331 |
msgid "Attribution"
|
332 |
msgstr "リンク"
|
333 |
|
334 |
-
#: admin/class-ip-geo-block-admin.php:
|
335 |
msgid "Network wide"
|
336 |
msgstr "ネットワーク一括管理"
|
337 |
|
338 |
-
#: admin/class-ip-geo-block-admin.php:
|
339 |
msgid "Toggle all"
|
340 |
msgstr "全てを開閉"
|
341 |
|
342 |
-
#: admin/class-ip-geo-block-admin.php:
|
343 |
msgid ""
|
344 |
"Independent of “Statistics and Logs settings”, you can see all "
|
345 |
"the requests validated by this plugin in almost real time."
|
@@ -347,23 +363,23 @@ msgstr ""
|
|
347 |
"[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほ"
|
348 |
"ぼリアルタイムに表示します。"
|
349 |
|
350 |
-
#: admin/class-ip-geo-block-admin.php:
|
351 |
msgid "Live update"
|
352 |
msgstr "ライブアップデート"
|
353 |
|
354 |
-
#: admin/class-ip-geo-block-admin.php:
|
355 |
msgid "Open a new window on clicking the link in the chart."
|
356 |
msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
|
357 |
|
358 |
-
#: admin/class-ip-geo-block-admin.php:
|
359 |
msgid "Open a new window"
|
360 |
msgstr "別窓で開く"
|
361 |
|
362 |
-
#: admin/class-ip-geo-block-admin.php:
|
363 |
msgid "Thanks for providing these great services for free."
|
364 |
msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
|
365 |
|
366 |
-
#: admin/class-ip-geo-block-admin.php:
|
367 |
msgid ""
|
368 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
369 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
@@ -373,19 +389,19 @@ msgstr ""
|
|
373 |
"html\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできま"
|
374 |
"す</a>。)"
|
375 |
|
376 |
-
#: admin/class-ip-geo-block-admin.php:
|
377 |
msgid "Back to top"
|
378 |
msgstr "トップに戻る"
|
379 |
|
380 |
-
#: admin/class-ip-geo-block-admin.php:
|
381 |
msgid "Enable"
|
382 |
msgstr "有効"
|
383 |
|
384 |
-
#: admin/class-ip-geo-block-admin.php:
|
385 |
msgid "Select one"
|
386 |
msgstr "何れかを選択"
|
387 |
|
388 |
-
#: admin/class-ip-geo-block-admin.php:
|
389 |
msgid "Settings saved."
|
390 |
msgstr "設定を保存しました。"
|
391 |
|
@@ -393,23 +409,23 @@ msgstr "設定を保存しました。"
|
|
393 |
msgid "Validation logs"
|
394 |
msgstr "検証のログ"
|
395 |
|
396 |
-
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:
|
397 |
msgid "Comment post"
|
398 |
msgstr "コメント投稿"
|
399 |
|
400 |
-
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:
|
401 |
msgid "XML-RPC"
|
402 |
msgstr "XML-RPC"
|
403 |
|
404 |
-
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:
|
405 |
msgid "Login form"
|
406 |
msgstr "ログイン・フォーム"
|
407 |
|
408 |
-
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:
|
409 |
msgid "Admin area"
|
410 |
msgstr "管理領域"
|
411 |
|
412 |
-
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:
|
413 |
msgid "Public facing pages"
|
414 |
msgstr "一般公開ページ"
|
415 |
|
@@ -467,7 +483,7 @@ msgstr "全てをクリア"
|
|
467 |
msgid "Export logs"
|
468 |
msgstr "ログをエクスポート"
|
469 |
|
470 |
-
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:
|
471 |
msgid "Export to the local file"
|
472 |
msgstr "ローカル・ファイルへエクスポートする"
|
473 |
|
@@ -476,7 +492,7 @@ msgid "Export csv"
|
|
476 |
msgstr "CSVへエクスポート"
|
477 |
|
478 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
479 |
-
#: admin/includes/tab-statistics.php:
|
480 |
msgid ""
|
481 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
482 |
"is [<strong>Disable</strong>]."
|
@@ -583,11 +599,27 @@ msgstr "(カンマ、改行区切り)"
|
|
583 |
msgid "Toggle selection"
|
584 |
msgstr "選択を切り替える"
|
585 |
|
586 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
msgid "Matching rule"
|
588 |
msgstr "マッチング規則"
|
589 |
|
590 |
-
#: admin/includes/tab-settings.php:
|
591 |
msgid ""
|
592 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
593 |
"in the whitelist will be blocked."
|
@@ -595,7 +627,7 @@ msgstr ""
|
|
595 |
"国コードまたはIPアドレスがホワイトリストに<strong>含まれていない</strong>リク"
|
596 |
"エストを遮断します。"
|
597 |
|
598 |
-
#: admin/includes/tab-settings.php:
|
599 |
msgid ""
|
600 |
"A request from which the country code or IP address is in the blacklist will "
|
601 |
"be blocked."
|
@@ -603,7 +635,7 @@ msgstr ""
|
|
603 |
"国コードまたはIPアドレスがブラックリストに<strong>含まれている</strong>リクエ"
|
604 |
"ストを遮断します。"
|
605 |
|
606 |
-
#: admin/includes/tab-settings.php:
|
607 |
msgid ""
|
608 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
609 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
@@ -613,13 +645,13 @@ msgstr ""
|
|
613 |
"ネットワークのグループを代表する「AS番号」の指定を可能にします。\">AS番号を使"
|
614 |
"用可能にする</dfn>"
|
615 |
|
616 |
-
#: admin/includes/tab-settings.php:
|
617 |
#, php-format
|
618 |
msgid ""
|
619 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
620 |
msgstr "AS番号の検索に役立つツールを「%s」に紹介しています。"
|
621 |
|
622 |
-
#: admin/includes/tab-settings.php:
|
623 |
msgid ""
|
624 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
625 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
@@ -629,7 +661,7 @@ msgstr ""
|
|
629 |
"サーバー)、AS32934(Facebook)\">国コードに優先して検証するIPアドレスのホワ"
|
630 |
"イトリスト</dfn>"
|
631 |
|
632 |
-
#: admin/includes/tab-settings.php:
|
633 |
msgid ""
|
634 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
635 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
@@ -637,7 +669,7 @@ msgstr ""
|
|
637 |
"<dfn title=\"サーバー・レベルのアクセス制御の使用をお勧めします(例:."
|
638 |
"htaccess)。\">国コードに優先して検証するIPアドレスのブラックリスト</dfn>"
|
639 |
|
640 |
-
#: admin/includes/tab-settings.php:
|
641 |
msgid ""
|
642 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
643 |
"balancing server, you need to put the appropriate key such as “"
|
@@ -651,31 +683,31 @@ msgstr ""
|
|
651 |
"キーを指定してください。\">IPアドレスを追加抽出する $_SERVER の"
|
652 |
"キー</dfn>"
|
653 |
|
654 |
-
#: admin/includes/tab-settings.php:
|
655 |
msgid ""
|
656 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
657 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
658 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
659 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
660 |
-
"<nobr>(<a class=\"ip-geo-block-cycle\" id=\"ip-geo-
|
661 |
-
"\"When you find ugly character string in the text area,
|
662 |
-
"restore.\"><span></span></a>)</nobr>"
|
663 |
msgstr ""
|
664 |
"<dfn title=\"「国コードで遮断」および「ゼロデイ攻撃を遮断」とは独立に、「管理"
|
665 |
"領域」、「管理領域 ajax/post」、「プラグイン領域」、「テーマ領域」をターゲッ"
|
666 |
"トとした悪意のあるシグネチャを検証します。\">悪意のあるシグネチャ</dfn> "
|
667 |
-
"<nobr>(<a class=\"ip-geo-block-
|
668 |
-
"
|
669 |
-
"
|
670 |
|
671 |
-
#: admin/includes/tab-settings.php:
|
672 |
msgid ""
|
673 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
674 |
msgstr ""
|
675 |
"<dfn title=\"許可する MIME タイプを指定します。\">許可する"
|
676 |
" MIME タイプのホワイトリスト</dfn>"
|
677 |
|
678 |
-
#: admin/includes/tab-settings.php:
|
679 |
msgid ""
|
680 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
681 |
"extensions</dfn>"
|
@@ -683,7 +715,7 @@ msgstr ""
|
|
683 |
"<dfn title=\"禁止するファイルの拡張子を設定します。\">禁止するファイル拡張子"
|
684 |
"のブラックリスト</dfn>"
|
685 |
|
686 |
-
#: admin/includes/tab-settings.php:
|
687 |
msgid ""
|
688 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
689 |
"particular type of uploader, certain capability may be required. Default is "
|
@@ -695,7 +727,7 @@ msgstr ""
|
|
695 |
"(Editor)、投稿者(Author)向けの「upload_files」です。空欄の場合、この検証"
|
696 |
"はスキップされます。\">検証する権限</dfn>"
|
697 |
|
698 |
-
#: admin/includes/tab-settings.php:
|
699 |
msgid ""
|
700 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
701 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
@@ -706,7 +738,7 @@ msgstr ""
|
|
706 |
"title=\"ユーザーの種類と権限 - WordPress Codex 日本語版\">ユーザーの種類と権"
|
707 |
"限</a>」を参照)"
|
708 |
|
709 |
-
#: admin/includes/tab-settings.php:
|
710 |
msgid ""
|
711 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
712 |
"and backdoor via both back-end and front-end. Please consider to select "
|
@@ -720,22 +752,20 @@ msgstr ""
|
|
720 |
"plugins” (ip-geo-block-mu.php)」に設定することを検討してください。\">悪"
|
721 |
"意のあるアップロード防止</dfn>"
|
722 |
|
723 |
-
#: admin/includes/tab-settings.php:
|
724 |
-
#: admin/includes/tab-settings.php:
|
725 |
msgid "Disable"
|
726 |
msgstr "無効"
|
727 |
|
728 |
-
#: admin/includes/tab-settings.php:
|
729 |
msgid "Verify file extension and MIME type"
|
730 |
-
msgstr ""
|
731 |
-
"<dfn title=\"拡張子と MIME タイプの整合性を検証します。\">拡張"
|
732 |
-
"子と MIME タイプを検証</dfn>"
|
733 |
|
734 |
-
#: admin/includes/tab-settings.php:
|
735 |
msgid "Verify file extension only"
|
736 |
msgstr "ファイル拡張子のみを検証"
|
737 |
|
738 |
-
#: admin/includes/tab-settings.php:
|
739 |
#, php-format
|
740 |
msgid ""
|
741 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
@@ -744,7 +774,7 @@ msgstr ""
|
|
744 |
"<dfn title=\"テーマ・ディレクトリには 403.php など、独自のファ"
|
745 |
"イルを設置する事が出来ます。\">レスポンス・コード</dfn> %s"
|
746 |
|
747 |
-
#: admin/includes/tab-settings.php:
|
748 |
msgid ""
|
749 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
750 |
"to a public facing page, visitors would not be blocked on the page to "
|
@@ -758,7 +788,7 @@ msgstr ""
|
|
758 |
"ります。空欄の場合、サイトのホームが使用されます。\">リダイレクト先 "
|
759 |
"URL</dfn>"
|
760 |
|
761 |
-
#: admin/includes/tab-settings.php:
|
762 |
msgid ""
|
763 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
764 |
"message</dfn>"
|
@@ -766,33 +796,33 @@ msgstr ""
|
|
766 |
"<dfn title=\"レスポンス・コード 4xx、5xx 用のメッセージを指定し"
|
767 |
"ます。\">レスポンス・メッセージ</dfn>"
|
768 |
|
769 |
-
#: admin/includes/tab-settings.php:
|
770 |
msgid ""
|
771 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
772 |
"form”. Lockout period is defined as expiration time at “Cache "
|
773 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
774 |
msgstr ""
|
775 |
"<dfn title=\"「XML-RPC」と「ログイン・フォーム」に適用されます。ロックアウト"
|
776 |
-
"
|
777 |
-
"
|
778 |
|
779 |
-
#: admin/includes/tab-settings.php:
|
780 |
msgid "Select when to run the validation."
|
781 |
msgstr "検証を実行するタイミングを選択します。"
|
782 |
|
783 |
-
#: admin/includes/tab-settings.php:
|
784 |
msgid "Validation timing"
|
785 |
msgstr "検証のタイミング"
|
786 |
|
787 |
-
#: admin/includes/tab-settings.php:
|
788 |
msgid "“init” action hook"
|
789 |
msgstr "“init” アクション・フック"
|
790 |
|
791 |
-
#: admin/includes/tab-settings.php:
|
792 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
793 |
msgstr "“mu-plugins” (ip-geo-block-mu.php)"
|
794 |
|
795 |
-
#: admin/includes/tab-settings.php:
|
796 |
msgid ""
|
797 |
"Validate at “init” action hook in the same manner as typical "
|
798 |
"plugins."
|
@@ -800,7 +830,7 @@ msgstr ""
|
|
800 |
"標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行"
|
801 |
"します。"
|
802 |
|
803 |
-
#: admin/includes/tab-settings.php:
|
804 |
msgid ""
|
805 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
806 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
@@ -812,52 +842,52 @@ msgstr ""
|
|
812 |
"com/codex/validation-timing.html' title='Validation timing | IP Geo Block'>幾"
|
813 |
"つかの制限事項</a> が生じます。"
|
814 |
|
815 |
-
#: admin/includes/tab-settings.php:
|
816 |
msgid "Back-end target settings"
|
817 |
msgstr "バックエンドの設定"
|
818 |
|
819 |
-
#: admin/includes/tab-settings.php:
|
820 |
#, php-format
|
821 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
822 |
msgstr "<dfn title=\"%s へのリクエストを検証する\">%s</dfn>"
|
823 |
|
824 |
-
#: admin/includes/tab-settings.php:
|
825 |
msgid "Other areas"
|
826 |
-
msgstr "
|
827 |
|
828 |
-
#: admin/includes/tab-settings.php:
|
829 |
msgid "public facing pages"
|
830 |
msgstr "一般公開ページ"
|
831 |
|
832 |
-
#: admin/includes/tab-settings.php:
|
833 |
-
#: admin/includes/tab-settings.php:
|
834 |
-
#: admin/includes/tab-settings.php:
|
835 |
msgid "Block by country"
|
836 |
msgstr "国コードで遮断"
|
837 |
|
838 |
-
#: admin/includes/tab-settings.php:
|
839 |
msgid "Completely close"
|
840 |
msgstr "完全に閉鎖"
|
841 |
|
842 |
-
#: admin/includes/tab-settings.php:
|
843 |
msgid ""
|
844 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
845 |
"actions</dfn>"
|
846 |
msgstr ""
|
847 |
"<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
|
848 |
|
849 |
-
#: admin/includes/tab-settings.php:
|
850 |
msgid "Prevent Zero-day Exploit"
|
851 |
msgstr "ゼロデイ攻撃を遮断"
|
852 |
|
853 |
-
#: admin/includes/tab-settings.php:
|
854 |
msgid ""
|
855 |
"It will block a request related to the services for both public facing pages "
|
856 |
"and the dashboard."
|
857 |
msgstr ""
|
858 |
"一般公開ページとダッシュボード向けサービスに関連するリクエストを遮断します。"
|
859 |
|
860 |
-
#: admin/includes/tab-settings.php:
|
861 |
msgid ""
|
862 |
"Regardless of the country code, it will block a malicious request related to "
|
863 |
"the services only for the dashboard."
|
@@ -865,92 +895,97 @@ msgstr ""
|
|
865 |
"国コードに拘らず、ダッシュボード向けサービスだけに関連する悪意のあるリクエス"
|
866 |
"トを遮断します。"
|
867 |
|
868 |
-
#: admin/includes/tab-settings.php:
|
869 |
msgid "admin post for logged-in user"
|
870 |
msgstr "認証済ユーザー用 admin post"
|
871 |
|
872 |
-
#: admin/includes/tab-settings.php:
|
873 |
msgid "admin post for non logged-in user"
|
874 |
msgstr "未認証ユーザー用 admin post"
|
875 |
|
876 |
-
#: admin/includes/tab-settings.php:
|
877 |
msgid "Admin ajax/post"
|
878 |
msgstr "管理領域 ajax/post"
|
879 |
|
880 |
-
#: admin/includes/tab-settings.php:
|
881 |
msgid ""
|
882 |
-
"
|
883 |
-
"
|
884 |
-
"
|
885 |
-
"
|
886 |
msgstr ""
|
887 |
-
"
|
888 |
-
"
|
889 |
-
"
|
890 |
-
"
|
891 |
-
"
|
892 |
|
893 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
894 |
msgid "Toggle with non logged-in user"
|
895 |
-
msgstr "
|
896 |
|
897 |
-
#: admin/includes/tab-settings.php:
|
898 |
-
msgid "Candidate actions"
|
899 |
-
msgstr "
|
900 |
|
901 |
-
#: admin/includes/tab-settings.php:
|
902 |
#, php-format
|
903 |
msgid ""
|
904 |
"Regardless of the country code, it will block a malicious request to <code>"
|
905 |
"%s⋯/*.php</code>."
|
906 |
msgstr ""
|
907 |
-
"国コードに拘らず、<code>%s&
|
908 |
"します。"
|
909 |
|
910 |
-
#: admin/includes/tab-settings.php:
|
911 |
msgid ""
|
912 |
-
"
|
913 |
-
"
|
914 |
-
"INACTIVE”.\">Exceptions</dfn>"
|
915 |
msgstr ""
|
916 |
-
"
|
917 |
-
"
|
918 |
-
"項目</dfn>"
|
919 |
|
920 |
-
#: admin/includes/tab-settings.php:
|
921 |
#, php-format
|
922 |
msgid ""
|
923 |
"It configures “%s” to validate a request to the PHP file which "
|
924 |
-
"does not load WordPress core."
|
|
|
925 |
msgstr ""
|
926 |
"WordPressコアを読み込まないPHPファイルへのリクエストを検証対象とするため"
|
927 |
-
"に、%s
|
|
|
928 |
|
929 |
-
#: admin/includes/tab-settings.php:
|
930 |
msgid "Sorry, but your server type is not supported."
|
931 |
msgstr "このサーバーではサポートされません。"
|
932 |
|
933 |
-
#: admin/includes/tab-settings.php:
|
934 |
msgid "Force to load WP core"
|
935 |
msgstr "WPコアの読み込みを強制"
|
936 |
|
937 |
-
#: admin/includes/tab-settings.php:
|
938 |
msgid "Plugins area"
|
939 |
msgstr "プラグイン領域"
|
940 |
|
941 |
-
#: admin/includes/tab-settings.php:
|
942 |
msgid "Themes area"
|
943 |
msgstr "テーマ領域"
|
944 |
|
945 |
-
#: admin/includes/tab-settings.php:
|
946 |
msgid "Front-end target settings"
|
947 |
msgstr "フロントエンドの設定"
|
948 |
|
949 |
-
#: admin/includes/tab-settings.php:
|
950 |
msgid "Follow “Validation rule settings”"
|
951 |
msgstr "「検証ルールの設定」に従う"
|
952 |
|
953 |
-
#: admin/includes/tab-settings.php:
|
954 |
#, php-format
|
955 |
msgid ""
|
956 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
@@ -958,15 +993,15 @@ msgid ""
|
|
958 |
"\">Response code</dfn> %s"
|
959 |
msgstr ""
|
960 |
"<dfn title=\"バックエンドと異なるレスポンス・コードを設定できます。これは、ア"
|
961 |
-
"
|
962 |
-
"
|
963 |
|
964 |
-
#: admin/includes/tab-settings.php:
|
965 |
msgid ""
|
966 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
967 |
msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
|
968 |
|
969 |
-
#: admin/includes/tab-settings.php:
|
970 |
msgid ""
|
971 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
972 |
"target.\">Post type</dfn>"
|
@@ -974,7 +1009,7 @@ msgstr ""
|
|
974 |
"<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿"
|
975 |
"タイプ</dfn>"
|
976 |
|
977 |
-
#: admin/includes/tab-settings.php:
|
978 |
msgid ""
|
979 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
980 |
"page as a blocking target.\">Category</dfn>"
|
@@ -982,7 +1017,7 @@ msgstr ""
|
|
982 |
"<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に"
|
983 |
"指定します。\">カテゴリ</dfn>"
|
984 |
|
985 |
-
#: admin/includes/tab-settings.php:
|
986 |
msgid ""
|
987 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
988 |
"a blocking target.\">Tag</dfn>"
|
@@ -990,23 +1025,23 @@ msgstr ""
|
|
990 |
"<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定"
|
991 |
"します。\">タグ</dfn>"
|
992 |
|
993 |
-
#: admin/includes/tab-settings.php:
|
994 |
msgid "Specify the validation target on front-end."
|
995 |
msgstr "フロントエンドの検証対象を設定します。"
|
996 |
|
997 |
-
#: admin/includes/tab-settings.php:
|
998 |
msgid "Validation target"
|
999 |
msgstr "検証対象"
|
1000 |
|
1001 |
-
#: admin/includes/tab-settings.php:
|
1002 |
msgid "All requests"
|
1003 |
msgstr "全てのリクエスト"
|
1004 |
|
1005 |
-
#: admin/includes/tab-settings.php:
|
1006 |
msgid "Specify the targets"
|
1007 |
msgstr "ターゲットを指定"
|
1008 |
|
1009 |
-
#: admin/includes/tab-settings.php:
|
1010 |
msgid ""
|
1011 |
"Notice that “Validation timing” is deferred till “"
|
1012 |
"wp” action hook. It means that this feature would not be compatible "
|
@@ -1015,7 +1050,7 @@ msgstr ""
|
|
1015 |
"「検証のタイミング」が “wp” アクション・フックまで遅延されます。"
|
1016 |
"これにより、ページ・キャッシュとの互換性がなくなることに注意してください。"
|
1017 |
|
1018 |
-
#: admin/includes/tab-settings.php:
|
1019 |
msgid ""
|
1020 |
"A part of user agent string and a qualification connected with a separator "
|
1021 |
"that indicates an applicable rule and can be “:” (pass) or "
|
@@ -1029,19 +1064,19 @@ msgstr ""
|
|
1029 |
"国コード、または IPアドレス(CIDR記法)が使えます。また否定を表す記号"
|
1030 |
"「!」を「条件」の直前に配置する事が出来ます。"
|
1031 |
|
1032 |
-
#: admin/includes/tab-settings.php:
|
1033 |
msgid "UA string and qualification"
|
1034 |
msgstr "ユーザーエージェント(UA)文字列と条件"
|
1035 |
|
1036 |
-
#: admin/includes/tab-settings.php:
|
1037 |
msgid "Specify the name of action that is invariably blocked."
|
1038 |
msgstr "遮断されるアクション名を指定します。"
|
1039 |
|
1040 |
-
#: admin/includes/tab-settings.php:
|
1041 |
msgid "Excluded actions"
|
1042 |
msgstr "除外するアクション"
|
1043 |
|
1044 |
-
#: admin/includes/tab-settings.php:
|
1045 |
msgid ""
|
1046 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
1047 |
"server resources. If it is disabled, “HOST” and “"
|
@@ -1052,11 +1087,11 @@ msgstr ""
|
|
1052 |
"ます)。無効にした場合、「ユーザーエージェント文字列と条件」中の「HOST」、"
|
1053 |
"「HOST=…」は常に真となります。"
|
1054 |
|
1055 |
-
#: admin/includes/tab-settings.php:
|
1056 |
msgid "DNS reverse lookup"
|
1057 |
msgstr "DNS 逆引き"
|
1058 |
|
1059 |
-
#: admin/includes/tab-settings.php:
|
1060 |
msgid ""
|
1061 |
"It enables to simulate validation without deployment. The results can be "
|
1062 |
"found at “Public facing pages” in Logs."
|
@@ -1064,15 +1099,15 @@ msgstr ""
|
|
1064 |
"機能を有効にする事なくリクエストの検証をシミュレートします。結果はログで確認"
|
1065 |
"する事が出来ます。"
|
1066 |
|
1067 |
-
#: admin/includes/tab-settings.php:
|
1068 |
msgid "Simulation mode"
|
1069 |
msgstr "シミュレーション・モード"
|
1070 |
|
1071 |
-
#: admin/includes/tab-settings.php:
|
1072 |
msgid "Geolocation API settings"
|
1073 |
msgstr "位置情報APIの設定"
|
1074 |
|
1075 |
-
#: admin/includes/tab-settings.php:
|
1076 |
msgid ""
|
1077 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
1078 |
"selection and key settings</dfn>"
|
@@ -1080,11 +1115,11 @@ msgstr ""
|
|
1080 |
"<dfn title=\"キャッシュとローカルのデータベースが最優先で検索されます。\">API"
|
1081 |
"の選択とキーの設定</dfn>"
|
1082 |
|
1083 |
-
#: admin/includes/tab-settings.php:
|
1084 |
msgid "Timeout for network API [sec]"
|
1085 |
msgstr "ネットワークAPIのタイムアウト[秒]"
|
1086 |
|
1087 |
-
#: admin/includes/tab-settings.php:
|
1088 |
#, php-format
|
1089 |
msgid ""
|
1090 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
@@ -1109,71 +1144,71 @@ msgstr ""
|
|
1109 |
"IP Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
|
1110 |
"code> をインストールしてください。"
|
1111 |
|
1112 |
-
#: admin/includes/tab-settings.php:
|
1113 |
msgid "Local database settings"
|
1114 |
msgstr "ローカル・データベースの設定"
|
1115 |
|
1116 |
-
#: admin/includes/tab-settings.php:
|
1117 |
msgid "database"
|
1118 |
msgstr "ファイル"
|
1119 |
|
1120 |
-
#: admin/includes/tab-settings.php:
|
1121 |
msgid "Auto updating (once a month)"
|
1122 |
msgstr "自動更新(月1回)"
|
1123 |
|
1124 |
-
#: admin/includes/tab-settings.php:
|
1125 |
msgid "Download database"
|
1126 |
msgstr "データベースのダウンロード"
|
1127 |
|
1128 |
-
#: admin/includes/tab-settings.php:
|
1129 |
msgid "Download now"
|
1130 |
msgstr "今すぐダウンロード"
|
1131 |
|
1132 |
-
#: admin/includes/tab-settings.php:
|
1133 |
msgid "Statistics and Logs settings"
|
1134 |
msgstr "統計とログの設定"
|
1135 |
|
1136 |
-
#: admin/includes/tab-settings.php:
|
1137 |
msgid "Record “Statistics”"
|
1138 |
msgstr "検証の統計を記録"
|
1139 |
|
1140 |
-
#: admin/includes/tab-settings.php:
|
1141 |
msgid "Maximum period for “Statistics” (days)"
|
1142 |
msgstr "記録する統計の最大期間(日)"
|
1143 |
|
1144 |
-
#: admin/includes/tab-settings.php:
|
1145 |
msgid "Record “Logs”"
|
1146 |
msgstr "検証のログを記録"
|
1147 |
|
1148 |
-
#: admin/includes/tab-settings.php:
|
1149 |
msgid "When requests blocked"
|
1150 |
msgstr "遮断時に記録"
|
1151 |
|
1152 |
-
#: admin/includes/tab-settings.php:
|
1153 |
msgid "When requests passed"
|
1154 |
msgstr "通過時に記録"
|
1155 |
|
1156 |
-
#: admin/includes/tab-settings.php:
|
1157 |
-
msgid "When blocked or passed
|
1158 |
msgstr "遮断時または遮断対象国の通過時に記録"
|
1159 |
|
1160 |
-
#: admin/includes/tab-settings.php:
|
1161 |
msgid "Unauthenticated visitor"
|
1162 |
msgstr "未認証の訪問者を記録"
|
1163 |
|
1164 |
-
#: admin/includes/tab-settings.php:
|
1165 |
msgid "Authenticated user"
|
1166 |
msgstr "認証済のユーザーを記録"
|
1167 |
|
1168 |
-
#: admin/includes/tab-settings.php:
|
1169 |
msgid "All the validation"
|
1170 |
msgstr "すべての検証を記録"
|
1171 |
|
1172 |
-
#: admin/includes/tab-settings.php:
|
1173 |
msgid "Maximum entries of “Logs”"
|
1174 |
msgstr "記録するログの最大エントリ数"
|
1175 |
|
1176 |
-
#: admin/includes/tab-settings.php:
|
1177 |
msgid ""
|
1178 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1179 |
"recorded with their values in “Logs”</dfn>"
|
@@ -1181,11 +1216,11 @@ msgstr ""
|
|
1181 |
"<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を"
|
1182 |
"展開する$_POSTのキー</dfn>"
|
1183 |
|
1184 |
-
#: admin/includes/tab-settings.php:
|
1185 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1186 |
msgstr "<dfn title=\"例)123.456.789.***\">IPアドレスを匿名化する</dfn>"
|
1187 |
|
1188 |
-
#: admin/includes/tab-settings.php:
|
1189 |
msgid ""
|
1190 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1191 |
"“Live update”</dfn>"
|
@@ -1193,19 +1228,19 @@ msgstr ""
|
|
1193 |
"<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
|
1194 |
"SQLiteデータベース・ソースの選択</dfn>"
|
1195 |
|
1196 |
-
#: admin/includes/tab-settings.php:
|
1197 |
msgid "Ordinary file"
|
1198 |
msgstr "通常のファイル"
|
1199 |
|
1200 |
-
#: admin/includes/tab-settings.php:
|
1201 |
msgid "In-Memory"
|
1202 |
msgstr "イン・メモリ"
|
1203 |
|
1204 |
-
#: admin/includes/tab-settings.php:
|
1205 |
msgid "PDO_SQLITE driver not available"
|
1206 |
msgstr "PDO_SQLITEドライバが利用出来ません。"
|
1207 |
|
1208 |
-
#: admin/includes/tab-settings.php:
|
1209 |
msgid ""
|
1210 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1211 |
"without conflict with other plugins."
|
@@ -1213,7 +1248,7 @@ msgstr ""
|
|
1213 |
"数十ミリ秒のオーバーヘッドがかかります。他のプラグインと競合することなく、安"
|
1214 |
"全に使用できます。"
|
1215 |
|
1216 |
-
#: admin/includes/tab-settings.php:
|
1217 |
msgid ""
|
1218 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1219 |
"with other plugins using this method."
|
@@ -1221,19 +1256,19 @@ msgstr ""
|
|
1221 |
"数ミリ秒のオーバーヘッドがかかります。同手法を用いている他のプラグインと競合"
|
1222 |
"する可能性があります。"
|
1223 |
|
1224 |
-
#: admin/includes/tab-settings.php:
|
1225 |
msgid "Reset database source of “Live update”"
|
1226 |
msgstr "ライブアップデートのデータソースをリセットする"
|
1227 |
|
1228 |
-
#: admin/includes/tab-settings.php:
|
1229 |
msgid "Reset now"
|
1230 |
msgstr "今すぐリセット"
|
1231 |
|
1232 |
-
#: admin/includes/tab-settings.php:
|
1233 |
msgid "IP address cache settings"
|
1234 |
msgstr "IPアドレスのキャッシュ設定"
|
1235 |
|
1236 |
-
#: admin/includes/tab-settings.php:
|
1237 |
#, php-format
|
1238 |
msgid ""
|
1239 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
@@ -1243,43 +1278,43 @@ msgstr ""
|
|
1243 |
"<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
|
1244 |
"(ガベージコレクション周期を含む)禁止されます。\">有効時間 [sec]</dfn>"
|
1245 |
|
1246 |
-
#: admin/includes/tab-settings.php:
|
1247 |
msgid "Garbage collection period [sec]"
|
1248 |
msgstr "ガベージコレクション周期 [秒]"
|
1249 |
|
1250 |
-
#: admin/includes/tab-settings.php:
|
1251 |
msgid "Number of entries to be displayed in cache"
|
1252 |
msgstr "「キャッシュ中のIPアドレス」に表示する最大数"
|
1253 |
|
1254 |
-
#: admin/includes/tab-settings.php:
|
1255 |
msgid "Submission settings"
|
1256 |
msgstr "投稿時の設定"
|
1257 |
|
1258 |
-
#: admin/includes/tab-settings.php:
|
1259 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1260 |
msgstr "全体が<p>タグで囲われます。使用可能タグ:"
|
1261 |
|
1262 |
-
#: admin/includes/tab-settings.php:
|
1263 |
msgid "Message on comment form"
|
1264 |
msgstr "投稿フォーム上のメッセージ"
|
1265 |
|
1266 |
-
#: admin/includes/tab-settings.php:
|
1267 |
msgid "None"
|
1268 |
msgstr "なし"
|
1269 |
|
1270 |
-
#: admin/includes/tab-settings.php:
|
1271 |
msgid "Top"
|
1272 |
msgstr "上部"
|
1273 |
|
1274 |
-
#: admin/includes/tab-settings.php:
|
1275 |
msgid "Bottom"
|
1276 |
msgstr "下部"
|
1277 |
|
1278 |
-
#: admin/includes/tab-settings.php:
|
1279 |
msgid "Plugin settings"
|
1280 |
msgstr "プラグインの設定"
|
1281 |
|
1282 |
-
#: admin/includes/tab-settings.php:
|
1283 |
msgid ""
|
1284 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1285 |
"settings</dfn>"
|
@@ -1287,11 +1322,11 @@ msgstr ""
|
|
1287 |
"<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワークの一"
|
1288 |
"括設定</dfn>"
|
1289 |
|
1290 |
-
#: admin/includes/tab-settings.php:
|
1291 |
msgid "Remove all settings at uninstallation"
|
1292 |
msgstr "アンインストール時に全設定を削除"
|
1293 |
|
1294 |
-
#: admin/includes/tab-settings.php:
|
1295 |
msgid ""
|
1296 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1297 |
"dfn>"
|
@@ -1299,7 +1334,7 @@ msgstr ""
|
|
1299 |
"<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
|
1300 |
"dfn>"
|
1301 |
|
1302 |
-
#: admin/includes/tab-settings.php:
|
1303 |
msgid ""
|
1304 |
"You need to click the “Save Changes” button for imported "
|
1305 |
"settings to take effect."
|
@@ -1307,65 +1342,65 @@ msgstr ""
|
|
1307 |
"インポートされた設定を有効にするには、「変更を保存」ボタンをクリックする必要"
|
1308 |
"があります。"
|
1309 |
|
1310 |
-
#: admin/includes/tab-settings.php:
|
1311 |
msgid "Export / Import settings"
|
1312 |
msgstr "設定のエクスポート、インポート"
|
1313 |
|
1314 |
-
#: admin/includes/tab-settings.php:
|
1315 |
msgid "Export settings"
|
1316 |
msgstr "エクスポート"
|
1317 |
|
1318 |
-
#: admin/includes/tab-settings.php:
|
1319 |
msgid "Import from the local file"
|
1320 |
msgstr "ローカル・ファイルからインポートします"
|
1321 |
|
1322 |
-
#: admin/includes/tab-settings.php:
|
1323 |
msgid "Import settings"
|
1324 |
msgstr "インポート"
|
1325 |
|
1326 |
-
#: admin/includes/tab-settings.php:
|
1327 |
msgid "Import pre-defined settings"
|
1328 |
msgstr "プリセットのインポート"
|
1329 |
|
1330 |
-
#: admin/includes/tab-settings.php:
|
1331 |
msgid ""
|
1332 |
"Import the default settings to revert to the “Right after "
|
1333 |
"installing” state"
|
1334 |
msgstr "インストール直後の状態に戻すための設定値をインポートします"
|
1335 |
|
1336 |
-
#: admin/includes/tab-settings.php:
|
1337 |
msgid "Default settings"
|
1338 |
msgstr "初期設定"
|
1339 |
|
1340 |
-
#: admin/includes/tab-settings.php:
|
1341 |
msgid ""
|
1342 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1343 |
"for the “Back-end target settings”"
|
1344 |
msgstr ""
|
1345 |
-
"
|
1346 |
-
"
|
1347 |
|
1348 |
-
#: admin/includes/tab-settings.php:
|
1349 |
msgid "Best for Back-end"
|
1350 |
msgstr "バックエンドの推奨設定"
|
1351 |
|
1352 |
-
#: admin/includes/tab-settings.php:
|
1353 |
msgid "Delete DB table for validation logs"
|
1354 |
msgstr "検証のログ用データベース・テーブルの削除"
|
1355 |
|
1356 |
-
#: admin/includes/tab-settings.php:
|
1357 |
msgid "Delete now"
|
1358 |
msgstr "今すぐ削除"
|
1359 |
|
1360 |
-
#: admin/includes/tab-settings.php:
|
1361 |
msgid "Create DB table for validation logs"
|
1362 |
msgstr "検証のログ用データベース・テーブルの作成"
|
1363 |
|
1364 |
-
#: admin/includes/tab-settings.php:
|
1365 |
msgid "Create now"
|
1366 |
msgstr "今すぐ作成"
|
1367 |
|
1368 |
-
#: admin/includes/tab-settings.php:
|
1369 |
msgid ""
|
1370 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1371 |
"button to find the blocked request in the dumped information which may help "
|
@@ -1379,15 +1414,15 @@ msgstr ""
|
|
1379 |
"plugin/ip-geo-block\" title=\"WordPress › Support » IP Geo Block"
|
1380 |
"\">サポート・フォーラム</a> ]"
|
1381 |
|
1382 |
-
#: admin/includes/tab-settings.php:
|
1383 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1384 |
msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
|
1385 |
|
1386 |
-
#: admin/includes/tab-settings.php:
|
1387 |
msgid "Show information"
|
1388 |
msgstr "情報を表示"
|
1389 |
|
1390 |
-
#: admin/includes/tab-settings.php:
|
1391 |
msgid ""
|
1392 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1393 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
@@ -1399,7 +1434,7 @@ msgstr ""
|
|
1399 |
"\" title=\"The best practice for target settings | IP Geo Block\">The best "
|
1400 |
"practice fortarget settings</a>“ を参照してください。"
|
1401 |
|
1402 |
-
#: admin/includes/tab-settings.php:
|
1403 |
msgid ""
|
1404 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1405 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
@@ -1413,7 +1448,7 @@ msgstr ""
|
|
1413 |
"com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
|
1414 |
"ださい。"
|
1415 |
|
1416 |
-
#: admin/includes/tab-settings.php:
|
1417 |
msgid ""
|
1418 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1419 |
"pass an IP address to the APIs via HTTP."
|
@@ -1421,12 +1456,12 @@ msgstr ""
|
|
1421 |
"MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して"
|
1422 |
"APIにIPアドレスを渡します。"
|
1423 |
|
1424 |
-
#: admin/includes/tab-settings.php:
|
1425 |
msgid ""
|
1426 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1427 |
msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
|
1428 |
|
1429 |
-
#: admin/includes/tab-settings.php:
|
1430 |
msgid ""
|
1431 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1432 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
@@ -1438,7 +1473,7 @@ msgstr ""
|
|
1438 |
"end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>” を参照"
|
1439 |
"してください。"
|
1440 |
|
1441 |
-
#: admin/includes/tab-settings.php:
|
1442 |
msgid ""
|
1443 |
"If you find any issues or have something to suggest, please feel free to "
|
1444 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
@@ -1450,7 +1485,7 @@ msgstr ""
|
|
1450 |
"› Support » IP Geo Block\">サポートフォーラム</a> に投稿をお願い"
|
1451 |
"します。"
|
1452 |
|
1453 |
-
#: admin/includes/tab-settings.php:
|
1454 |
msgid ""
|
1455 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1456 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
@@ -1460,13 +1495,13 @@ msgstr ""
|
|
1460 |
"record-settings-and-logs.html\" title=\"Codex | IP Geo Block\">Record "
|
1461 |
"settings and logs</a>” を参照ください。"
|
1462 |
|
1463 |
-
#: admin/includes/class-admin-rewrite.php:
|
1464 |
-
#: admin/includes/class-admin-rewrite.php:
|
1465 |
#, php-format
|
1466 |
msgid "Or please refer to %s to set it manually."
|
1467 |
msgstr "あるいは %s を参照し、手動で設定して下さい。"
|
1468 |
|
1469 |
-
#: admin/includes/class-admin-rewrite.php:
|
1470 |
#, php-format
|
1471 |
msgid "“auto_prepend_file” already defined in %s."
|
1472 |
msgstr "%s で既に「auto_prepend_file」が設定されています。"
|
@@ -1544,7 +1579,7 @@ msgid "Clear statistics"
|
|
1544 |
msgstr "統計のクリア"
|
1545 |
|
1546 |
#: admin/includes/tab-statistics.php:185
|
1547 |
-
msgid "Statistics in
|
1548 |
msgstr "ログの統計"
|
1549 |
|
1550 |
#: admin/includes/tab-statistics.php:217
|
@@ -1563,23 +1598,27 @@ msgstr "キャッシュから取り除く"
|
|
1563 |
msgid "Clear cache"
|
1564 |
msgstr "キャッシュのクリア"
|
1565 |
|
1566 |
-
#: admin/includes/tab-statistics.php:
|
1567 |
msgid "Country (Top 10)"
|
1568 |
msgstr "国(トップ10)"
|
1569 |
|
1570 |
-
#: admin/includes/tab-statistics.php:
|
1571 |
msgid "AS number (Top 10)"
|
1572 |
msgstr "AS番号(トップ10)"
|
1573 |
|
1574 |
-
#: admin/includes/tab-statistics.php:
|
1575 |
msgid "IP address (Top 10)"
|
1576 |
msgstr "IPアドレス(トップ10)"
|
1577 |
|
1578 |
-
#: admin/includes/tab-statistics.php:
|
1579 |
msgid "Slug in back-end"
|
1580 |
msgstr "バックエンドのスラッグ"
|
1581 |
|
1582 |
-
#: admin/includes/tab-statistics.php:
|
|
|
|
|
|
|
|
|
1583 |
msgid ""
|
1584 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1585 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
@@ -1587,13 +1626,13 @@ msgstr ""
|
|
1587 |
"[<strong>設定</strong>]タブの[<strong>検証の統計を記録</strong>]に"
|
1588 |
"[<strong>有効</strong>]が選択されていません。"
|
1589 |
|
1590 |
-
#: admin/includes/tab-statistics.php:
|
1591 |
msgid ""
|
1592 |
"Please set the proper condition to record and analyze the validation "
|
1593 |
"statistics."
|
1594 |
msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
|
1595 |
|
1596 |
-
#: admin/includes/tab-statistics.php:
|
1597 |
msgid ""
|
1598 |
"Please set the proper condition to record and analyze the validation logs."
|
1599 |
msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
|
1 |
+
# Copyright (C) 2013-2018 tokkonopapa
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: IP Geo Block 3.0.6\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
+
"POT-Creation-Date: 2018-01-08 21:11+0900\n"
|
8 |
+
"PO-Revision-Date: 2018-01-08 23:59+0900\n"
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
30 |
#: classes/class-ip-geo-block-opts.php:409
|
31 |
#: classes/class-ip-geo-block-cron.php:273
|
32 |
#: classes/class-ip-geo-block-cron.php:305
|
33 |
+
#: admin/class-ip-geo-block-admin.php:1210
|
34 |
+
#: admin/includes/class-admin-rewrite.php:194
|
35 |
#, php-format
|
36 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
37 |
msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
|
42 |
|
43 |
#: classes/class-ip-geo-block-cron.php:268
|
44 |
#: classes/class-ip-geo-block-cron.php:300
|
45 |
+
#: admin/includes/class-admin-rewrite.php:168
|
46 |
#, php-format
|
47 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
48 |
msgstr "<code>%s</code> を読み込めません。パーミッションをチェックして下さい。"
|
58 |
msgstr "gz または zip がサポートされていません。"
|
59 |
|
60 |
#: classes/class-ip-geo-block-cron.php:334
|
61 |
+
#: admin/includes/tab-settings.php:1131
|
62 |
#, php-format
|
63 |
msgid "Last update: %s"
|
64 |
msgstr "最終更新:%s"
|
112 |
"少なくとも1つ以上の位置情報サービスを選択して下さい。未選択の場合、キャッシュ"
|
113 |
"の有効期限切れと共にロックアウトされます。"
|
114 |
|
115 |
+
#: admin/class-ip-geo-block-admin.php:260
|
116 |
msgid "Import settings ?"
|
117 |
msgstr "設定をインポートしますか?"
|
118 |
|
119 |
+
#: admin/class-ip-geo-block-admin.php:261
|
120 |
msgid "Create table ?"
|
121 |
msgstr "テーブルを作成しますか?"
|
122 |
|
123 |
+
#: admin/class-ip-geo-block-admin.php:262
|
124 |
msgid "Delete table ?"
|
125 |
msgstr "テーブルを削除しますか?"
|
126 |
|
127 |
+
#: admin/class-ip-geo-block-admin.php:263
|
128 |
msgid "Clear statistics ?"
|
129 |
msgstr "統計をクリアしますか?"
|
130 |
|
131 |
+
#: admin/class-ip-geo-block-admin.php:264
|
132 |
msgid "Clear cache ?"
|
133 |
msgstr "キャッシュをクリアしますか?"
|
134 |
|
135 |
+
#: admin/class-ip-geo-block-admin.php:265
|
136 |
msgid "Clear logs ?"
|
137 |
msgstr "ログをクリアしますか?"
|
138 |
|
139 |
+
#: admin/class-ip-geo-block-admin.php:266
|
140 |
msgid "ajax for logged-in user"
|
141 |
msgstr "認証済ユーザー用 ajax"
|
142 |
|
143 |
+
#: admin/class-ip-geo-block-admin.php:267
|
144 |
msgid "ajax for non logged-in user"
|
145 |
msgstr "未認証ユーザー用 ajax"
|
146 |
|
147 |
+
#: admin/class-ip-geo-block-admin.php:268
|
148 |
+
#, php-format
|
149 |
+
msgid "[Found: %d]"
|
150 |
+
msgstr "[ 見つかった数:%d ]"
|
151 |
+
|
152 |
+
#: admin/class-ip-geo-block-admin.php:269
|
153 |
+
#, php-format
|
154 |
+
msgid "Find and verify `%s` on “Logs” tab."
|
155 |
+
msgstr "ログから `%s` を検索し、検証して下さい。"
|
156 |
+
|
157 |
+
#: admin/class-ip-geo-block-admin.php:270
|
158 |
msgid "This feature is available with HTML5 compliant browsers."
|
159 |
msgstr "HTML5準拠のブラウザでのみ機能します。"
|
160 |
|
161 |
+
#: admin/class-ip-geo-block-admin.php:271
|
162 |
msgid "The selected row cannot be found in the visible area."
|
163 |
msgstr "可視領域に選択された行が見つかりません。"
|
164 |
|
165 |
+
#: admin/class-ip-geo-block-admin.php:272
|
166 |
+
#: admin/class-ip-geo-block-admin.php:1403
|
167 |
+
#, php-format
|
168 |
+
msgid "An error occurred while executing the ajax command `%s`."
|
169 |
+
msgstr "Ajaxコマンド `%s` の実行中にエラーが発生しました。"
|
170 |
+
|
171 |
+
#: admin/class-ip-geo-block-admin.php:276
|
172 |
msgid "No data available in table"
|
173 |
msgstr "テーブルにデータがありません"
|
174 |
|
175 |
+
#: admin/class-ip-geo-block-admin.php:277
|
176 |
msgid "No matching records found"
|
177 |
msgstr "一致するレコードがありません"
|
178 |
|
179 |
+
#: admin/class-ip-geo-block-admin.php:278
|
180 |
#: admin/includes/tab-geolocation.php:71
|
181 |
msgid "IP address"
|
182 |
msgstr "IPアドレス"
|
183 |
|
184 |
+
#: admin/class-ip-geo-block-admin.php:279
|
185 |
msgid "Code"
|
186 |
msgstr "国"
|
187 |
|
188 |
+
#: admin/class-ip-geo-block-admin.php:280
|
189 |
msgid "ASN"
|
190 |
msgstr "AS番号"
|
191 |
|
192 |
+
#: admin/class-ip-geo-block-admin.php:281
|
193 |
msgid "Host name"
|
194 |
msgstr "ホスト名"
|
195 |
|
196 |
+
#: admin/class-ip-geo-block-admin.php:282
|
197 |
msgid "Target"
|
198 |
msgstr "検証対象"
|
199 |
|
200 |
+
#: admin/class-ip-geo-block-admin.php:283
|
201 |
msgid "Failure / Total"
|
202 |
msgstr "ログイン失敗/総計"
|
203 |
|
204 |
+
#: admin/class-ip-geo-block-admin.php:284
|
205 |
msgid "Elapsed[sec]"
|
206 |
msgstr "経過 [秒]"
|
207 |
|
208 |
+
#: admin/class-ip-geo-block-admin.php:285
|
209 |
msgid "Time"
|
210 |
msgstr "日時"
|
211 |
|
212 |
+
#: admin/class-ip-geo-block-admin.php:286
|
213 |
msgid "Result"
|
214 |
msgstr "検証結果"
|
215 |
|
216 |
+
#: admin/class-ip-geo-block-admin.php:287
|
217 |
msgid "Request"
|
218 |
msgstr "リクエスト"
|
219 |
|
220 |
+
#: admin/class-ip-geo-block-admin.php:288
|
221 |
msgid "User agent"
|
222 |
msgstr "ユーザー・エージェント"
|
223 |
|
224 |
+
#: admin/class-ip-geo-block-admin.php:289
|
225 |
msgid "HTTP headers"
|
226 |
msgstr "HTTP ヘッダー"
|
227 |
|
228 |
+
#: admin/class-ip-geo-block-admin.php:290
|
229 |
msgid "$_POST data"
|
230 |
msgstr "$_POST データ"
|
231 |
|
232 |
+
#: admin/class-ip-geo-block-admin.php:308
|
233 |
msgid "Contribute on GitHub"
|
234 |
msgstr "開発に参加"
|
235 |
|
236 |
+
#: admin/class-ip-geo-block-admin.php:322
|
237 |
+
#: admin/class-ip-geo-block-admin.php:430
|
238 |
+
#: admin/class-ip-geo-block-admin.php:638
|
239 |
+
#: admin/class-ip-geo-block-admin.php:657
|
240 |
msgid "Settings"
|
241 |
msgstr "設定"
|
242 |
|
243 |
+
#: admin/class-ip-geo-block-admin.php:410
|
244 |
+
#: admin/class-ip-geo-block-admin.php:411
|
245 |
+
#: admin/class-ip-geo-block-admin.php:421
|
246 |
+
#: admin/class-ip-geo-block-admin.php:422
|
247 |
#: admin/class-ip-geo-block-admin.php:429
|
248 |
+
#: admin/class-ip-geo-block-admin.php:437
|
|
|
249 |
msgid "IP Geo Block"
|
250 |
msgstr "IP Geo Block"
|
251 |
|
252 |
+
#: admin/class-ip-geo-block-admin.php:438
|
253 |
+
#: admin/class-ip-geo-block-admin.php:642
|
254 |
+
#: admin/class-ip-geo-block-admin.php:658
|
255 |
msgid "Site List"
|
256 |
msgstr "サイト一覧"
|
257 |
|
258 |
+
#: admin/class-ip-geo-block-admin.php:467
|
259 |
msgid "You need WordPress 3.7+."
|
260 |
msgstr "WordPress 3.7 以上が必要です。"
|
261 |
|
262 |
+
#: admin/class-ip-geo-block-admin.php:473
|
263 |
#, php-format
|
264 |
msgid ""
|
265 |
"Now downloading geolocation databases in background. After a little while, "
|
270 |
"いた後、あなたの国コードと「<strong>マッチング規則</strong>」を「<a href=\"%s"
|
271 |
"\">検証ルールの設定</a>」で確認して下さい。"
|
272 |
|
273 |
+
#: admin/class-ip-geo-block-admin.php:479
|
274 |
#, php-format
|
275 |
msgid ""
|
276 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
279 |
"「<strong>マッチング規則</strong>」が正しく設定されていません。「<a href=\"%s"
|
280 |
"\">検証ルールの設定</a>」を確認して下さい。"
|
281 |
|
282 |
+
#: admin/class-ip-geo-block-admin.php:488
|
283 |
msgid "Local database and matching rule have been updated."
|
284 |
msgstr "ローカル・データベースとマッチング規則を更新しました。"
|
285 |
|
286 |
+
#: admin/class-ip-geo-block-admin.php:499
|
287 |
msgid ""
|
288 |
"Once you logout, you will be unable to login again because the number of "
|
289 |
"login attempts reaches the limit."
|
291 |
"あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトす"
|
292 |
"ると再びログインする事が出来なくなります。"
|
293 |
|
294 |
+
#: admin/class-ip-geo-block-admin.php:501
|
295 |
#, php-format
|
296 |
msgid ""
|
297 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
300 |
"<a href=\"%s\">「統計」タブ</a>の \"<strong>キャッシュのクリア</strong>\" を"
|
301 |
"実行し、ロックアウトを回避してください。"
|
302 |
|
303 |
+
#: admin/class-ip-geo-block-admin.php:511
|
304 |
msgid ""
|
305 |
"Once you logout, you will be unable to login again because your country code "
|
306 |
"or IP address is in the blacklist."
|
308 |
"あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウ"
|
309 |
"トすると再びログインする事が出来なくなります。"
|
310 |
|
311 |
+
#: admin/class-ip-geo-block-admin.php:512
|
312 |
msgid ""
|
313 |
"Once you logout, you will be unable to login again because your country code "
|
314 |
"or IP address is not in the whitelist."
|
316 |
"あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログア"
|
317 |
"ウトすると再びログインする事が出来なくなります。"
|
318 |
|
319 |
+
#: admin/class-ip-geo-block-admin.php:515
|
320 |
#, php-format
|
321 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
322 |
msgstr "「<a href=\"%s\">検証ルールの設定</a>」を確認して下さい。"
|
323 |
|
324 |
+
#: admin/class-ip-geo-block-admin.php:526
|
325 |
msgid ""
|
326 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
327 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
331 |
"択されていますが、<strong>IP Geo Allow</strong> と互換性がありません。"
|
332 |
"「“init” アクション・フック」を選択してください。"
|
333 |
|
334 |
+
#: admin/class-ip-geo-block-admin.php:639
|
335 |
msgid "Statistics"
|
336 |
msgstr "統計"
|
337 |
|
338 |
+
#: admin/class-ip-geo-block-admin.php:640
|
339 |
msgid "Logs"
|
340 |
msgstr "ログ"
|
341 |
|
342 |
+
#: admin/class-ip-geo-block-admin.php:641
|
343 |
msgid "Search"
|
344 |
msgstr "検索"
|
345 |
|
346 |
+
#: admin/class-ip-geo-block-admin.php:643
|
347 |
msgid "Attribution"
|
348 |
msgstr "リンク"
|
349 |
|
350 |
+
#: admin/class-ip-geo-block-admin.php:669
|
351 |
msgid "Network wide"
|
352 |
msgstr "ネットワーク一括管理"
|
353 |
|
354 |
+
#: admin/class-ip-geo-block-admin.php:682
|
355 |
msgid "Toggle all"
|
356 |
msgstr "全てを開閉"
|
357 |
|
358 |
+
#: admin/class-ip-geo-block-admin.php:685
|
359 |
msgid ""
|
360 |
"Independent of “Statistics and Logs settings”, you can see all "
|
361 |
"the requests validated by this plugin in almost real time."
|
363 |
"[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほ"
|
364 |
"ぼリアルタイムに表示します。"
|
365 |
|
366 |
+
#: admin/class-ip-geo-block-admin.php:685 admin/includes/tab-accesslog.php:37
|
367 |
msgid "Live update"
|
368 |
msgstr "ライブアップデート"
|
369 |
|
370 |
+
#: admin/class-ip-geo-block-admin.php:689
|
371 |
msgid "Open a new window on clicking the link in the chart."
|
372 |
msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
|
373 |
|
374 |
+
#: admin/class-ip-geo-block-admin.php:689
|
375 |
msgid "Open a new window"
|
376 |
msgstr "別窓で開く"
|
377 |
|
378 |
+
#: admin/class-ip-geo-block-admin.php:712
|
379 |
msgid "Thanks for providing these great services for free."
|
380 |
msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
|
381 |
|
382 |
+
#: admin/class-ip-geo-block-admin.php:713
|
383 |
msgid ""
|
384 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
385 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
389 |
"html\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできま"
|
390 |
"す</a>。)"
|
391 |
|
392 |
+
#: admin/class-ip-geo-block-admin.php:718
|
393 |
msgid "Back to top"
|
394 |
msgstr "トップに戻る"
|
395 |
|
396 |
+
#: admin/class-ip-geo-block-admin.php:815
|
397 |
msgid "Enable"
|
398 |
msgstr "有効"
|
399 |
|
400 |
+
#: admin/class-ip-geo-block-admin.php:830
|
401 |
msgid "Select one"
|
402 |
msgstr "何れかを選択"
|
403 |
|
404 |
+
#: admin/class-ip-geo-block-admin.php:1240
|
405 |
msgid "Settings saved."
|
406 |
msgstr "設定を保存しました。"
|
407 |
|
409 |
msgid "Validation logs"
|
410 |
msgstr "検証のログ"
|
411 |
|
412 |
+
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
|
413 |
msgid "Comment post"
|
414 |
msgstr "コメント投稿"
|
415 |
|
416 |
+
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
|
417 |
msgid "XML-RPC"
|
418 |
msgstr "XML-RPC"
|
419 |
|
420 |
+
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
|
421 |
msgid "Login form"
|
422 |
msgstr "ログイン・フォーム"
|
423 |
|
424 |
+
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
|
425 |
msgid "Admin area"
|
426 |
msgstr "管理領域"
|
427 |
|
428 |
+
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
|
429 |
msgid "Public facing pages"
|
430 |
msgstr "一般公開ページ"
|
431 |
|
483 |
msgid "Export logs"
|
484 |
msgstr "ログをエクスポート"
|
485 |
|
486 |
+
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
|
487 |
msgid "Export to the local file"
|
488 |
msgstr "ローカル・ファイルへエクスポートする"
|
489 |
|
492 |
msgstr "CSVへエクスポート"
|
493 |
|
494 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
495 |
+
#: admin/includes/tab-statistics.php:397
|
496 |
msgid ""
|
497 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
498 |
"is [<strong>Disable</strong>]."
|
599 |
msgid "Toggle selection"
|
600 |
msgstr "選択を切り替える"
|
601 |
|
602 |
+
#: admin/includes/tab-settings.php:119
|
603 |
+
msgid "Find blocked requests in “Logs“"
|
604 |
+
msgstr "ログから遮断されたリクエストを検索する"
|
605 |
+
|
606 |
+
#: admin/includes/tab-settings.php:120
|
607 |
+
msgid ""
|
608 |
+
"Before adding as “Exception”, please click on “<a class="
|
609 |
+
"\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
|
610 |
+
"sample.\"><span></span></a>” button (if exists) attached to the "
|
611 |
+
"following list to confirm that the blocked request is not malicious."
|
612 |
+
msgstr ""
|
613 |
+
"「例外」として追加する前に、以下の候補に付いたボタン “<a class="
|
614 |
+
"\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"このボタンは単なるサン"
|
615 |
+
"プルです。\"><span></span></a>”(もしあれば)をクリックし、遮断されたリ"
|
616 |
+
"クエストに悪意のないことを確認して下さい。"
|
617 |
+
|
618 |
+
#: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
|
619 |
msgid "Matching rule"
|
620 |
msgstr "マッチング規則"
|
621 |
|
622 |
+
#: admin/includes/tab-settings.php:139
|
623 |
msgid ""
|
624 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
625 |
"in the whitelist will be blocked."
|
627 |
"国コードまたはIPアドレスがホワイトリストに<strong>含まれていない</strong>リク"
|
628 |
"エストを遮断します。"
|
629 |
|
630 |
+
#: admin/includes/tab-settings.php:140
|
631 |
msgid ""
|
632 |
"A request from which the country code or IP address is in the blacklist will "
|
633 |
"be blocked."
|
635 |
"国コードまたはIPアドレスがブラックリストに<strong>含まれている</strong>リクエ"
|
636 |
"ストを遮断します。"
|
637 |
|
638 |
+
#: admin/includes/tab-settings.php:186
|
639 |
msgid ""
|
640 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
641 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
645 |
"ネットワークのグループを代表する「AS番号」の指定を可能にします。\">AS番号を使"
|
646 |
"用可能にする</dfn>"
|
647 |
|
648 |
+
#: admin/includes/tab-settings.php:197
|
649 |
#, php-format
|
650 |
msgid ""
|
651 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
652 |
msgstr "AS番号の検索に役立つツールを「%s」に紹介しています。"
|
653 |
|
654 |
+
#: admin/includes/tab-settings.php:206
|
655 |
msgid ""
|
656 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
657 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
661 |
"サーバー)、AS32934(Facebook)\">国コードに優先して検証するIPアドレスのホワ"
|
662 |
"イトリスト</dfn>"
|
663 |
|
664 |
+
#: admin/includes/tab-settings.php:226
|
665 |
msgid ""
|
666 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
667 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
669 |
"<dfn title=\"サーバー・レベルのアクセス制御の使用をお勧めします(例:."
|
670 |
"htaccess)。\">国コードに優先して検証するIPアドレスのブラックリスト</dfn>"
|
671 |
|
672 |
+
#: admin/includes/tab-settings.php:247
|
673 |
msgid ""
|
674 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
675 |
"balancing server, you need to put the appropriate key such as “"
|
683 |
"キーを指定してください。\">IPアドレスを追加抽出する $_SERVER の"
|
684 |
"キー</dfn>"
|
685 |
|
686 |
+
#: admin/includes/tab-settings.php:266
|
687 |
msgid ""
|
688 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
689 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
690 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
691 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
692 |
+
"<nobr>(<a class=\"ip-geo-block-icon ip-geo-block-icon-cycle\" id=\"ip-geo-"
|
693 |
+
"block-decode\" title=\"When you find ugly character string in the text area, "
|
694 |
+
"please click to restore.\"><span></span></a>)</nobr>"
|
695 |
msgstr ""
|
696 |
"<dfn title=\"「国コードで遮断」および「ゼロデイ攻撃を遮断」とは独立に、「管理"
|
697 |
"領域」、「管理領域 ajax/post」、「プラグイン領域」、「テーマ領域」をターゲッ"
|
698 |
"トとした悪意のあるシグネチャを検証します。\">悪意のあるシグネチャ</dfn> "
|
699 |
+
"<nobr>(<a class=\"ip-geo-block-icon ip-geo-block-icon-cycle\" id=\"ip-geo-"
|
700 |
+
"block-decode\" title=\"文字化けした場合、クリックして復元して下さ"
|
701 |
+
"い。\"><span></span></a>)</nobr>"
|
702 |
|
703 |
+
#: admin/includes/tab-settings.php:280
|
704 |
msgid ""
|
705 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
706 |
msgstr ""
|
707 |
"<dfn title=\"許可する MIME タイプを指定します。\">許可する"
|
708 |
" MIME タイプのホワイトリスト</dfn>"
|
709 |
|
710 |
+
#: admin/includes/tab-settings.php:291
|
711 |
msgid ""
|
712 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
713 |
"extensions</dfn>"
|
715 |
"<dfn title=\"禁止するファイルの拡張子を設定します。\">禁止するファイル拡張子"
|
716 |
"のブラックリスト</dfn>"
|
717 |
|
718 |
+
#: admin/includes/tab-settings.php:295
|
719 |
msgid ""
|
720 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
721 |
"particular type of uploader, certain capability may be required. Default is "
|
727 |
"(Editor)、投稿者(Author)向けの「upload_files」です。空欄の場合、この検証"
|
728 |
"はスキップされます。\">検証する権限</dfn>"
|
729 |
|
730 |
+
#: admin/includes/tab-settings.php:295
|
731 |
msgid ""
|
732 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
733 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
738 |
"title=\"ユーザーの種類と権限 - WordPress Codex 日本語版\">ユーザーの種類と権"
|
739 |
"限</a>」を参照)"
|
740 |
|
741 |
+
#: admin/includes/tab-settings.php:302
|
742 |
msgid ""
|
743 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
744 |
"and backdoor via both back-end and front-end. Please consider to select "
|
752 |
"plugins” (ip-geo-block-mu.php)」に設定することを検討してください。\">悪"
|
753 |
"意のあるアップロード防止</dfn>"
|
754 |
|
755 |
+
#: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
|
756 |
+
#: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
|
757 |
msgid "Disable"
|
758 |
msgstr "無効"
|
759 |
|
760 |
+
#: admin/includes/tab-settings.php:314
|
761 |
msgid "Verify file extension and MIME type"
|
762 |
+
msgstr "拡張子と MIME タイプを検証"
|
|
|
|
|
763 |
|
764 |
+
#: admin/includes/tab-settings.php:315
|
765 |
msgid "Verify file extension only"
|
766 |
msgstr "ファイル拡張子のみを検証"
|
767 |
|
768 |
+
#: admin/includes/tab-settings.php:325
|
769 |
#, php-format
|
770 |
msgid ""
|
771 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
774 |
"<dfn title=\"テーマ・ディレクトリには 403.php など、独自のファ"
|
775 |
"イルを設置する事が出来ます。\">レスポンス・コード</dfn> %s"
|
776 |
|
777 |
+
#: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
|
778 |
msgid ""
|
779 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
780 |
"to a public facing page, visitors would not be blocked on the page to "
|
788 |
"ります。空欄の場合、サイトのホームが使用されます。\">リダイレクト先 "
|
789 |
"URL</dfn>"
|
790 |
|
791 |
+
#: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
|
792 |
msgid ""
|
793 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
794 |
"message</dfn>"
|
796 |
"<dfn title=\"レスポンス・コード 4xx、5xx 用のメッセージを指定し"
|
797 |
"ます。\">レスポンス・メッセージ</dfn>"
|
798 |
|
799 |
+
#: admin/includes/tab-settings.php:390
|
800 |
msgid ""
|
801 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
802 |
"form”. Lockout period is defined as expiration time at “Cache "
|
803 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
804 |
msgstr ""
|
805 |
"<dfn title=\"「XML-RPC」と「ログイン・フォーム」に適用されます。ロックアウト"
|
806 |
+
"時間は「キャッシュの設定」の「有効時間」で定義します。\">IPアドレス当たりのロ"
|
807 |
+
"グイン試行可能回数</dfn>"
|
808 |
|
809 |
+
#: admin/includes/tab-settings.php:418
|
810 |
msgid "Select when to run the validation."
|
811 |
msgstr "検証を実行するタイミングを選択します。"
|
812 |
|
813 |
+
#: admin/includes/tab-settings.php:418
|
814 |
msgid "Validation timing"
|
815 |
msgstr "検証のタイミング"
|
816 |
|
817 |
+
#: admin/includes/tab-settings.php:429
|
818 |
msgid "“init” action hook"
|
819 |
msgstr "“init” アクション・フック"
|
820 |
|
821 |
+
#: admin/includes/tab-settings.php:430
|
822 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
823 |
msgstr "“mu-plugins” (ip-geo-block-mu.php)"
|
824 |
|
825 |
+
#: admin/includes/tab-settings.php:433
|
826 |
msgid ""
|
827 |
"Validate at “init” action hook in the same manner as typical "
|
828 |
"plugins."
|
830 |
"標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行"
|
831 |
"します。"
|
832 |
|
833 |
+
#: admin/includes/tab-settings.php:434
|
834 |
msgid ""
|
835 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
836 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
842 |
"com/codex/validation-timing.html' title='Validation timing | IP Geo Block'>幾"
|
843 |
"つかの制限事項</a> が生じます。"
|
844 |
|
845 |
+
#: admin/includes/tab-settings.php:444
|
846 |
msgid "Back-end target settings"
|
847 |
msgstr "バックエンドの設定"
|
848 |
|
849 |
+
#: admin/includes/tab-settings.php:450
|
850 |
#, php-format
|
851 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
852 |
msgstr "<dfn title=\"%s へのリクエストを検証する\">%s</dfn>"
|
853 |
|
854 |
+
#: admin/includes/tab-settings.php:456
|
855 |
msgid "Other areas"
|
856 |
+
msgstr "その他の領域"
|
857 |
|
858 |
+
#: admin/includes/tab-settings.php:457
|
859 |
msgid "public facing pages"
|
860 |
msgstr "一般公開ページ"
|
861 |
|
862 |
+
#: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
|
863 |
+
#: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
|
864 |
+
#: admin/includes/tab-settings.php:779
|
865 |
msgid "Block by country"
|
866 |
msgstr "国コードで遮断"
|
867 |
|
868 |
+
#: admin/includes/tab-settings.php:496
|
869 |
msgid "Completely close"
|
870 |
msgstr "完全に閉鎖"
|
871 |
|
872 |
+
#: admin/includes/tab-settings.php:529
|
873 |
msgid ""
|
874 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
875 |
"actions</dfn>"
|
876 |
msgstr ""
|
877 |
"<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
|
878 |
|
879 |
+
#: admin/includes/tab-settings.php:535
|
880 |
msgid "Prevent Zero-day Exploit"
|
881 |
msgstr "ゼロデイ攻撃を遮断"
|
882 |
|
883 |
+
#: admin/includes/tab-settings.php:539
|
884 |
msgid ""
|
885 |
"It will block a request related to the services for both public facing pages "
|
886 |
"and the dashboard."
|
887 |
msgstr ""
|
888 |
"一般公開ページとダッシュボード向けサービスに関連するリクエストを遮断します。"
|
889 |
|
890 |
+
#: admin/includes/tab-settings.php:540
|
891 |
msgid ""
|
892 |
"Regardless of the country code, it will block a malicious request related to "
|
893 |
"the services only for the dashboard."
|
895 |
"国コードに拘らず、ダッシュボード向けサービスだけに関連する悪意のあるリクエス"
|
896 |
"トを遮断します。"
|
897 |
|
898 |
+
#: admin/includes/tab-settings.php:563
|
899 |
msgid "admin post for logged-in user"
|
900 |
msgstr "認証済ユーザー用 admin post"
|
901 |
|
902 |
+
#: admin/includes/tab-settings.php:564
|
903 |
msgid "admin post for non logged-in user"
|
904 |
msgstr "未認証ユーザー用 admin post"
|
905 |
|
906 |
+
#: admin/includes/tab-settings.php:588
|
907 |
msgid "Admin ajax/post"
|
908 |
msgstr "管理領域 ajax/post"
|
909 |
|
910 |
+
#: admin/includes/tab-settings.php:602
|
911 |
msgid ""
|
912 |
+
"Specify the action name (“action=…”) or the page name "
|
913 |
+
"(“page=…”) to prevent unintended blocking caused by "
|
914 |
+
"“Block by country” (for non logged-in user) and “Prevent "
|
915 |
+
"Zero-day Exploit” (for logged-in user)."
|
916 |
msgstr ""
|
917 |
+
"「国コードで遮断」(未認証ユーザーの場合)および「ゼロデイ攻撃を遮断」(認証"
|
918 |
+
"済みユーザーの場合)が、意図しない遮断の原因となる場合、アクション名(“"
|
919 |
+
"action=…” の “…” 部分)、またはページ名"
|
920 |
+
"(“page=…” の “…” 部分)を指定し、検証"
|
921 |
+
"対象から除外します。"
|
922 |
|
923 |
+
#: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
|
924 |
+
#: admin/includes/tab-settings.php:741
|
925 |
+
msgid "Exceptions"
|
926 |
+
msgstr "例外"
|
927 |
+
|
928 |
+
#: admin/includes/tab-settings.php:603
|
929 |
msgid "Toggle with non logged-in user"
|
930 |
+
msgstr "未認証ユーザー用を含む項目に限定して表示する"
|
931 |
|
932 |
+
#: admin/includes/tab-settings.php:606
|
933 |
+
msgid "Candidate actions/pages"
|
934 |
+
msgstr "候補 アクション/ページ"
|
935 |
|
936 |
+
#: admin/includes/tab-settings.php:620
|
937 |
#, php-format
|
938 |
msgid ""
|
939 |
"Regardless of the country code, it will block a malicious request to <code>"
|
940 |
"%s⋯/*.php</code>."
|
941 |
msgstr ""
|
942 |
+
"国コードに拘らず、<code>%s⋯/*.php</code>への悪意のあるリクエストを遮断"
|
943 |
"します。"
|
944 |
|
945 |
+
#: admin/includes/tab-settings.php:621
|
946 |
msgid ""
|
947 |
+
"Select the item which causes unintended blocking in order to exclude from "
|
948 |
+
"the validation target. Grayed item indicates “INACTIVE”."
|
|
|
949 |
msgstr ""
|
950 |
+
"意図しない遮断の原因となる項目を選択し、検証対象から除外します。灰色で表示さ"
|
951 |
+
"れた項目は、「非アクティブ」であることを示しています。"
|
|
|
952 |
|
953 |
+
#: admin/includes/tab-settings.php:622
|
954 |
#, php-format
|
955 |
msgid ""
|
956 |
"It configures “%s” to validate a request to the PHP file which "
|
957 |
+
"does not load WordPress core. Make sure to deny direct access to the hidden "
|
958 |
+
"files beginning with a dot by the server's configuration."
|
959 |
msgstr ""
|
960 |
"WordPressコアを読み込まないPHPファイルへのリクエストを検証対象とするため"
|
961 |
+
"に、%s を設定します。ドットで始まる隠しファイルへのアクセス拒否がサーバー側で"
|
962 |
+
"設定されていることを確認して下さい。"
|
963 |
|
964 |
+
#: admin/includes/tab-settings.php:623
|
965 |
msgid "Sorry, but your server type is not supported."
|
966 |
msgstr "このサーバーではサポートされません。"
|
967 |
|
968 |
+
#: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
|
969 |
msgid "Force to load WP core"
|
970 |
msgstr "WPコアの読み込みを強制"
|
971 |
|
972 |
+
#: admin/includes/tab-settings.php:664
|
973 |
msgid "Plugins area"
|
974 |
msgstr "プラグイン領域"
|
975 |
|
976 |
+
#: admin/includes/tab-settings.php:725
|
977 |
msgid "Themes area"
|
978 |
msgstr "テーマ領域"
|
979 |
|
980 |
+
#: admin/includes/tab-settings.php:760
|
981 |
msgid "Front-end target settings"
|
982 |
msgstr "フロントエンドの設定"
|
983 |
|
984 |
+
#: admin/includes/tab-settings.php:784
|
985 |
msgid "Follow “Validation rule settings”"
|
986 |
msgstr "「検証ルールの設定」に従う"
|
987 |
|
988 |
+
#: admin/includes/tab-settings.php:846
|
989 |
#, php-format
|
990 |
msgid ""
|
991 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
993 |
"\">Response code</dfn> %s"
|
994 |
msgstr ""
|
995 |
"<dfn title=\"バックエンドと異なるレスポンス・コードを設定できます。これは、ア"
|
996 |
+
"フィリエイト・プログラムに対する違反を防止するのに役立つでしょう。\">レスポン"
|
997 |
+
"ス・コード</dfn> %s"
|
998 |
|
999 |
+
#: admin/includes/tab-settings.php:912
|
1000 |
msgid ""
|
1001 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
1002 |
msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
|
1003 |
|
1004 |
+
#: admin/includes/tab-settings.php:924
|
1005 |
msgid ""
|
1006 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
1007 |
"target.\">Post type</dfn>"
|
1009 |
"<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿"
|
1010 |
"タイプ</dfn>"
|
1011 |
|
1012 |
+
#: admin/includes/tab-settings.php:936
|
1013 |
msgid ""
|
1014 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
1015 |
"page as a blocking target.\">Category</dfn>"
|
1017 |
"<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に"
|
1018 |
"指定します。\">カテゴリ</dfn>"
|
1019 |
|
1020 |
+
#: admin/includes/tab-settings.php:948
|
1021 |
msgid ""
|
1022 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
1023 |
"a blocking target.\">Tag</dfn>"
|
1025 |
"<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定"
|
1026 |
"します。\">タグ</dfn>"
|
1027 |
|
1028 |
+
#: admin/includes/tab-settings.php:963
|
1029 |
msgid "Specify the validation target on front-end."
|
1030 |
msgstr "フロントエンドの検証対象を設定します。"
|
1031 |
|
1032 |
+
#: admin/includes/tab-settings.php:963
|
1033 |
msgid "Validation target"
|
1034 |
msgstr "検証対象"
|
1035 |
|
1036 |
+
#: admin/includes/tab-settings.php:974
|
1037 |
msgid "All requests"
|
1038 |
msgstr "全てのリクエスト"
|
1039 |
|
1040 |
+
#: admin/includes/tab-settings.php:975
|
1041 |
msgid "Specify the targets"
|
1042 |
msgstr "ターゲットを指定"
|
1043 |
|
1044 |
+
#: admin/includes/tab-settings.php:978
|
1045 |
msgid ""
|
1046 |
"Notice that “Validation timing” is deferred till “"
|
1047 |
"wp” action hook. It means that this feature would not be compatible "
|
1050 |
"「検証のタイミング」が “wp” アクション・フックまで遅延されます。"
|
1051 |
"これにより、ページ・キャッシュとの互換性がなくなることに注意してください。"
|
1052 |
|
1053 |
+
#: admin/includes/tab-settings.php:988
|
1054 |
msgid ""
|
1055 |
"A part of user agent string and a qualification connected with a separator "
|
1056 |
"that indicates an applicable rule and can be “:” (pass) or "
|
1064 |
"国コード、または IPアドレス(CIDR記法)が使えます。また否定を表す記号"
|
1065 |
"「!」を「条件」の直前に配置する事が出来ます。"
|
1066 |
|
1067 |
+
#: admin/includes/tab-settings.php:988
|
1068 |
msgid "UA string and qualification"
|
1069 |
msgstr "ユーザーエージェント(UA)文字列と条件"
|
1070 |
|
1071 |
+
#: admin/includes/tab-settings.php:1007
|
1072 |
msgid "Specify the name of action that is invariably blocked."
|
1073 |
msgstr "遮断されるアクション名を指定します。"
|
1074 |
|
1075 |
+
#: admin/includes/tab-settings.php:1007
|
1076 |
msgid "Excluded actions"
|
1077 |
msgstr "除外するアクション"
|
1078 |
|
1079 |
+
#: admin/includes/tab-settings.php:1026
|
1080 |
msgid ""
|
1081 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
1082 |
"server resources. If it is disabled, “HOST” and “"
|
1087 |
"ます)。無効にした場合、「ユーザーエージェント文字列と条件」中の「HOST」、"
|
1088 |
"「HOST=…」は常に真となります。"
|
1089 |
|
1090 |
+
#: admin/includes/tab-settings.php:1026
|
1091 |
msgid "DNS reverse lookup"
|
1092 |
msgstr "DNS 逆引き"
|
1093 |
|
1094 |
+
#: admin/includes/tab-settings.php:1043
|
1095 |
msgid ""
|
1096 |
"It enables to simulate validation without deployment. The results can be "
|
1097 |
"found at “Public facing pages” in Logs."
|
1099 |
"機能を有効にする事なくリクエストの検証をシミュレートします。結果はログで確認"
|
1100 |
"する事が出来ます。"
|
1101 |
|
1102 |
+
#: admin/includes/tab-settings.php:1043
|
1103 |
msgid "Simulation mode"
|
1104 |
msgstr "シミュレーション・モード"
|
1105 |
|
1106 |
+
#: admin/includes/tab-settings.php:1061
|
1107 |
msgid "Geolocation API settings"
|
1108 |
msgstr "位置情報APIの設定"
|
1109 |
|
1110 |
+
#: admin/includes/tab-settings.php:1070
|
1111 |
msgid ""
|
1112 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
1113 |
"selection and key settings</dfn>"
|
1115 |
"<dfn title=\"キャッシュとローカルのデータベースが最優先で検索されます。\">API"
|
1116 |
"の選択とキーの設定</dfn>"
|
1117 |
|
1118 |
+
#: admin/includes/tab-settings.php:1089
|
1119 |
msgid "Timeout for network API [sec]"
|
1120 |
msgstr "ネットワークAPIのタイムアウト[秒]"
|
1121 |
|
1122 |
+
#: admin/includes/tab-settings.php:1109
|
1123 |
#, php-format
|
1124 |
msgid ""
|
1125 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
1144 |
"IP Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
|
1145 |
"code> をインストールしてください。"
|
1146 |
|
1147 |
+
#: admin/includes/tab-settings.php:1116
|
1148 |
msgid "Local database settings"
|
1149 |
msgstr "ローカル・データベースの設定"
|
1150 |
|
1151 |
+
#: admin/includes/tab-settings.php:1130
|
1152 |
msgid "database"
|
1153 |
msgstr "ファイル"
|
1154 |
|
1155 |
+
#: admin/includes/tab-settings.php:1140
|
1156 |
msgid "Auto updating (once a month)"
|
1157 |
msgstr "自動更新(月1回)"
|
1158 |
|
1159 |
+
#: admin/includes/tab-settings.php:1157
|
1160 |
msgid "Download database"
|
1161 |
msgstr "データベースのダウンロード"
|
1162 |
|
1163 |
+
#: admin/includes/tab-settings.php:1165
|
1164 |
msgid "Download now"
|
1165 |
msgstr "今すぐダウンロード"
|
1166 |
|
1167 |
+
#: admin/includes/tab-settings.php:1176
|
1168 |
msgid "Statistics and Logs settings"
|
1169 |
msgstr "統計とログの設定"
|
1170 |
|
1171 |
+
#: admin/includes/tab-settings.php:1185
|
1172 |
msgid "Record “Statistics”"
|
1173 |
msgstr "検証の統計を記録"
|
1174 |
|
1175 |
+
#: admin/includes/tab-settings.php:1202
|
1176 |
msgid "Maximum period for “Statistics” (days)"
|
1177 |
msgstr "記録する統計の最大期間(日)"
|
1178 |
|
1179 |
+
#: admin/includes/tab-settings.php:1220
|
1180 |
msgid "Record “Logs”"
|
1181 |
msgstr "検証のログを記録"
|
1182 |
|
1183 |
+
#: admin/includes/tab-settings.php:1232
|
1184 |
msgid "When requests blocked"
|
1185 |
msgstr "遮断時に記録"
|
1186 |
|
1187 |
+
#: admin/includes/tab-settings.php:1233
|
1188 |
msgid "When requests passed"
|
1189 |
msgstr "通過時に記録"
|
1190 |
|
1191 |
+
#: admin/includes/tab-settings.php:1234
|
1192 |
+
msgid "When “blocked” or “passed (not in whitelist)”"
|
1193 |
msgstr "遮断時または遮断対象国の通過時に記録"
|
1194 |
|
1195 |
+
#: admin/includes/tab-settings.php:1235
|
1196 |
msgid "Unauthenticated visitor"
|
1197 |
msgstr "未認証の訪問者を記録"
|
1198 |
|
1199 |
+
#: admin/includes/tab-settings.php:1236
|
1200 |
msgid "Authenticated user"
|
1201 |
msgstr "認証済のユーザーを記録"
|
1202 |
|
1203 |
+
#: admin/includes/tab-settings.php:1237
|
1204 |
msgid "All the validation"
|
1205 |
msgstr "すべての検証を記録"
|
1206 |
|
1207 |
+
#: admin/includes/tab-settings.php:1246
|
1208 |
msgid "Maximum entries of “Logs”"
|
1209 |
msgstr "記録するログの最大エントリ数"
|
1210 |
|
1211 |
+
#: admin/includes/tab-settings.php:1263
|
1212 |
msgid ""
|
1213 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1214 |
"recorded with their values in “Logs”</dfn>"
|
1216 |
"<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を"
|
1217 |
"展開する$_POSTのキー</dfn>"
|
1218 |
|
1219 |
+
#: admin/includes/tab-settings.php:1281
|
1220 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1221 |
msgstr "<dfn title=\"例)123.456.789.***\">IPアドレスを匿名化する</dfn>"
|
1222 |
|
1223 |
+
#: admin/includes/tab-settings.php:1298
|
1224 |
msgid ""
|
1225 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1226 |
"“Live update”</dfn>"
|
1228 |
"<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
|
1229 |
"SQLiteデータベース・ソースの選択</dfn>"
|
1230 |
|
1231 |
+
#: admin/includes/tab-settings.php:1310
|
1232 |
msgid "Ordinary file"
|
1233 |
msgstr "通常のファイル"
|
1234 |
|
1235 |
+
#: admin/includes/tab-settings.php:1311
|
1236 |
msgid "In-Memory"
|
1237 |
msgstr "イン・メモリ"
|
1238 |
|
1239 |
+
#: admin/includes/tab-settings.php:1314
|
1240 |
msgid "PDO_SQLITE driver not available"
|
1241 |
msgstr "PDO_SQLITEドライバが利用出来ません。"
|
1242 |
|
1243 |
+
#: admin/includes/tab-settings.php:1315
|
1244 |
msgid ""
|
1245 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1246 |
"without conflict with other plugins."
|
1248 |
"数十ミリ秒のオーバーヘッドがかかります。他のプラグインと競合することなく、安"
|
1249 |
"全に使用できます。"
|
1250 |
|
1251 |
+
#: admin/includes/tab-settings.php:1316
|
1252 |
msgid ""
|
1253 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1254 |
"with other plugins using this method."
|
1256 |
"数ミリ秒のオーバーヘッドがかかります。同手法を用いている他のプラグインと競合"
|
1257 |
"する可能性があります。"
|
1258 |
|
1259 |
+
#: admin/includes/tab-settings.php:1325
|
1260 |
msgid "Reset database source of “Live update”"
|
1261 |
msgstr "ライブアップデートのデータソースをリセットする"
|
1262 |
|
1263 |
+
#: admin/includes/tab-settings.php:1333
|
1264 |
msgid "Reset now"
|
1265 |
msgstr "今すぐリセット"
|
1266 |
|
1267 |
+
#: admin/includes/tab-settings.php:1344
|
1268 |
msgid "IP address cache settings"
|
1269 |
msgstr "IPアドレスのキャッシュ設定"
|
1270 |
|
1271 |
+
#: admin/includes/tab-settings.php:1353
|
1272 |
#, php-format
|
1273 |
msgid ""
|
1274 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
1278 |
"<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
|
1279 |
"(ガベージコレクション周期を含む)禁止されます。\">有効時間 [sec]</dfn>"
|
1280 |
|
1281 |
+
#: admin/includes/tab-settings.php:1369
|
1282 |
msgid "Garbage collection period [sec]"
|
1283 |
msgstr "ガベージコレクション周期 [秒]"
|
1284 |
|
1285 |
+
#: admin/includes/tab-settings.php:1386
|
1286 |
msgid "Number of entries to be displayed in cache"
|
1287 |
msgstr "「キャッシュ中のIPアドレス」に表示する最大数"
|
1288 |
|
1289 |
+
#: admin/includes/tab-settings.php:1404
|
1290 |
msgid "Submission settings"
|
1291 |
msgstr "投稿時の設定"
|
1292 |
|
1293 |
+
#: admin/includes/tab-settings.php:1416
|
1294 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1295 |
msgstr "全体が<p>タグで囲われます。使用可能タグ:"
|
1296 |
|
1297 |
+
#: admin/includes/tab-settings.php:1416
|
1298 |
msgid "Message on comment form"
|
1299 |
msgstr "投稿フォーム上のメッセージ"
|
1300 |
|
1301 |
+
#: admin/includes/tab-settings.php:1428
|
1302 |
msgid "None"
|
1303 |
msgstr "なし"
|
1304 |
|
1305 |
+
#: admin/includes/tab-settings.php:1429
|
1306 |
msgid "Top"
|
1307 |
msgstr "上部"
|
1308 |
|
1309 |
+
#: admin/includes/tab-settings.php:1430
|
1310 |
msgid "Bottom"
|
1311 |
msgstr "下部"
|
1312 |
|
1313 |
+
#: admin/includes/tab-settings.php:1441
|
1314 |
msgid "Plugin settings"
|
1315 |
msgstr "プラグインの設定"
|
1316 |
|
1317 |
+
#: admin/includes/tab-settings.php:1454
|
1318 |
msgid ""
|
1319 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1320 |
"settings</dfn>"
|
1322 |
"<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワークの一"
|
1323 |
"括設定</dfn>"
|
1324 |
|
1325 |
+
#: admin/includes/tab-settings.php:1472
|
1326 |
msgid "Remove all settings at uninstallation"
|
1327 |
msgstr "アンインストール時に全設定を削除"
|
1328 |
|
1329 |
+
#: admin/includes/tab-settings.php:1490
|
1330 |
msgid ""
|
1331 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1332 |
"dfn>"
|
1334 |
"<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
|
1335 |
"dfn>"
|
1336 |
|
1337 |
+
#: admin/includes/tab-settings.php:1504
|
1338 |
msgid ""
|
1339 |
"You need to click the “Save Changes” button for imported "
|
1340 |
"settings to take effect."
|
1342 |
"インポートされた設定を有効にするには、「変更を保存」ボタンをクリックする必要"
|
1343 |
"があります。"
|
1344 |
|
1345 |
+
#: admin/includes/tab-settings.php:1510
|
1346 |
msgid "Export / Import settings"
|
1347 |
msgstr "設定のエクスポート、インポート"
|
1348 |
|
1349 |
+
#: admin/includes/tab-settings.php:1517
|
1350 |
msgid "Export settings"
|
1351 |
msgstr "エクスポート"
|
1352 |
|
1353 |
+
#: admin/includes/tab-settings.php:1518
|
1354 |
msgid "Import from the local file"
|
1355 |
msgstr "ローカル・ファイルからインポートします"
|
1356 |
|
1357 |
+
#: admin/includes/tab-settings.php:1518
|
1358 |
msgid "Import settings"
|
1359 |
msgstr "インポート"
|
1360 |
|
1361 |
+
#: admin/includes/tab-settings.php:1527
|
1362 |
msgid "Import pre-defined settings"
|
1363 |
msgstr "プリセットのインポート"
|
1364 |
|
1365 |
+
#: admin/includes/tab-settings.php:1534
|
1366 |
msgid ""
|
1367 |
"Import the default settings to revert to the “Right after "
|
1368 |
"installing” state"
|
1369 |
msgstr "インストール直後の状態に戻すための設定値をインポートします"
|
1370 |
|
1371 |
+
#: admin/includes/tab-settings.php:1534
|
1372 |
msgid "Default settings"
|
1373 |
msgstr "初期設定"
|
1374 |
|
1375 |
+
#: admin/includes/tab-settings.php:1535
|
1376 |
msgid ""
|
1377 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1378 |
"for the “Back-end target settings”"
|
1379 |
msgstr ""
|
1380 |
+
"「ゼロデイ攻撃の遮断」など、主に「バックエンドの設定」の推奨設定をインポート"
|
1381 |
+
"します。"
|
1382 |
|
1383 |
+
#: admin/includes/tab-settings.php:1535
|
1384 |
msgid "Best for Back-end"
|
1385 |
msgstr "バックエンドの推奨設定"
|
1386 |
|
1387 |
+
#: admin/includes/tab-settings.php:1545
|
1388 |
msgid "Delete DB table for validation logs"
|
1389 |
msgstr "検証のログ用データベース・テーブルの削除"
|
1390 |
|
1391 |
+
#: admin/includes/tab-settings.php:1553
|
1392 |
msgid "Delete now"
|
1393 |
msgstr "今すぐ削除"
|
1394 |
|
1395 |
+
#: admin/includes/tab-settings.php:1561
|
1396 |
msgid "Create DB table for validation logs"
|
1397 |
msgstr "検証のログ用データベース・テーブルの作成"
|
1398 |
|
1399 |
+
#: admin/includes/tab-settings.php:1569
|
1400 |
msgid "Create now"
|
1401 |
msgstr "今すぐ作成"
|
1402 |
|
1403 |
+
#: admin/includes/tab-settings.php:1579
|
1404 |
msgid ""
|
1405 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1406 |
"button to find the blocked request in the dumped information which may help "
|
1414 |
"plugin/ip-geo-block\" title=\"WordPress › Support » IP Geo Block"
|
1415 |
"\">サポート・フォーラム</a> ]"
|
1416 |
|
1417 |
+
#: admin/includes/tab-settings.php:1586
|
1418 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1419 |
msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
|
1420 |
|
1421 |
+
#: admin/includes/tab-settings.php:1586
|
1422 |
msgid "Show information"
|
1423 |
msgstr "情報を表示"
|
1424 |
|
1425 |
+
#: admin/includes/tab-settings.php:1602
|
1426 |
msgid ""
|
1427 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1428 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
1434 |
"\" title=\"The best practice for target settings | IP Geo Block\">The best "
|
1435 |
"practice fortarget settings</a>“ を参照してください。"
|
1436 |
|
1437 |
+
#: admin/includes/tab-settings.php:1603
|
1438 |
msgid ""
|
1439 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1440 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
1448 |
"com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
|
1449 |
"ださい。"
|
1450 |
|
1451 |
+
#: admin/includes/tab-settings.php:1610
|
1452 |
msgid ""
|
1453 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1454 |
"pass an IP address to the APIs via HTTP."
|
1456 |
"MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して"
|
1457 |
"APIにIPアドレスを渡します。"
|
1458 |
|
1459 |
+
#: admin/includes/tab-settings.php:1611
|
1460 |
msgid ""
|
1461 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1462 |
msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
|
1463 |
|
1464 |
+
#: admin/includes/tab-settings.php:1618
|
1465 |
msgid ""
|
1466 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1467 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
1473 |
"end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>” を参照"
|
1474 |
"してください。"
|
1475 |
|
1476 |
+
#: admin/includes/tab-settings.php:1619
|
1477 |
msgid ""
|
1478 |
"If you find any issues or have something to suggest, please feel free to "
|
1479 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
1485 |
"› Support » IP Geo Block\">サポートフォーラム</a> に投稿をお願い"
|
1486 |
"します。"
|
1487 |
|
1488 |
+
#: admin/includes/tab-settings.php:1626
|
1489 |
msgid ""
|
1490 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1491 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
1495 |
"record-settings-and-logs.html\" title=\"Codex | IP Geo Block\">Record "
|
1496 |
"settings and logs</a>” を参照ください。"
|
1497 |
|
1498 |
+
#: admin/includes/class-admin-rewrite.php:169
|
1499 |
+
#: admin/includes/class-admin-rewrite.php:195
|
1500 |
#, php-format
|
1501 |
msgid "Or please refer to %s to set it manually."
|
1502 |
msgstr "あるいは %s を参照し、手動で設定して下さい。"
|
1503 |
|
1504 |
+
#: admin/includes/class-admin-rewrite.php:234
|
1505 |
#, php-format
|
1506 |
msgid "“auto_prepend_file” already defined in %s."
|
1507 |
msgstr "%s で既に「auto_prepend_file」が設定されています。"
|
1579 |
msgstr "統計のクリア"
|
1580 |
|
1581 |
#: admin/includes/tab-statistics.php:185
|
1582 |
+
msgid "Statistics in Logs"
|
1583 |
msgstr "ログの統計"
|
1584 |
|
1585 |
#: admin/includes/tab-statistics.php:217
|
1598 |
msgid "Clear cache"
|
1599 |
msgstr "キャッシュのクリア"
|
1600 |
|
1601 |
+
#: admin/includes/tab-statistics.php:288
|
1602 |
msgid "Country (Top 10)"
|
1603 |
msgstr "国(トップ10)"
|
1604 |
|
1605 |
+
#: admin/includes/tab-statistics.php:289
|
1606 |
msgid "AS number (Top 10)"
|
1607 |
msgstr "AS番号(トップ10)"
|
1608 |
|
1609 |
+
#: admin/includes/tab-statistics.php:290
|
1610 |
msgid "IP address (Top 10)"
|
1611 |
msgstr "IPアドレス(トップ10)"
|
1612 |
|
1613 |
+
#: admin/includes/tab-statistics.php:291
|
1614 |
msgid "Slug in back-end"
|
1615 |
msgstr "バックエンドのスラッグ"
|
1616 |
|
1617 |
+
#: admin/includes/tab-statistics.php:343
|
1618 |
+
msgid "Toggle sorting order"
|
1619 |
+
msgstr "ソート順を切り替え"
|
1620 |
+
|
1621 |
+
#: admin/includes/tab-statistics.php:392
|
1622 |
msgid ""
|
1623 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1624 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
1626 |
"[<strong>設定</strong>]タブの[<strong>検証の統計を記録</strong>]に"
|
1627 |
"[<strong>有効</strong>]が選択されていません。"
|
1628 |
|
1629 |
+
#: admin/includes/tab-statistics.php:393
|
1630 |
msgid ""
|
1631 |
"Please set the proper condition to record and analyze the validation "
|
1632 |
"statistics."
|
1633 |
msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
|
1634 |
|
1635 |
+
#: admin/includes/tab-statistics.php:398
|
1636 |
msgid ""
|
1637 |
"Please set the proper condition to record and analyze the validation logs."
|
1638 |
msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
|
languages/ip-geo-block.mo
CHANGED
Binary file
|
languages/ip-geo-block.po
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
# Copyright (C) 2013-
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: IP Geo Block 3.0.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
-
"PO-Revision-Date:
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
@@ -28,8 +28,8 @@ msgstr ""
|
|
28 |
#: classes/class-ip-geo-block-opts.php:409
|
29 |
#: classes/class-ip-geo-block-cron.php:273
|
30 |
#: classes/class-ip-geo-block-cron.php:305
|
31 |
-
#: admin/class-ip-geo-block-admin.php:
|
32 |
-
#: admin/includes/class-admin-rewrite.php:
|
33 |
#, php-format
|
34 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
35 |
msgstr ""
|
@@ -40,7 +40,7 @@ msgstr ""
|
|
40 |
|
41 |
#: classes/class-ip-geo-block-cron.php:268
|
42 |
#: classes/class-ip-geo-block-cron.php:300
|
43 |
-
#: admin/includes/class-admin-rewrite.php:
|
44 |
#, php-format
|
45 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
46 |
msgstr ""
|
@@ -55,7 +55,7 @@ msgid "gz or zip is not supported on your system."
|
|
55 |
msgstr ""
|
56 |
|
57 |
#: classes/class-ip-geo-block-cron.php:334
|
58 |
-
#: admin/includes/tab-settings.php:
|
59 |
#, php-format
|
60 |
msgid "Last update: %s"
|
61 |
msgstr ""
|
@@ -96,138 +96,154 @@ msgid ""
|
|
96 |
"<strong>you'll be blocked</strong> after the cache expires."
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: admin/class-ip-geo-block-admin.php:
|
100 |
msgid "Import settings ?"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: admin/class-ip-geo-block-admin.php:
|
104 |
msgid "Create table ?"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: admin/class-ip-geo-block-admin.php:
|
108 |
msgid "Delete table ?"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: admin/class-ip-geo-block-admin.php:
|
112 |
msgid "Clear statistics ?"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: admin/class-ip-geo-block-admin.php:
|
116 |
msgid "Clear cache ?"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: admin/class-ip-geo-block-admin.php:
|
120 |
msgid "Clear logs ?"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: admin/class-ip-geo-block-admin.php:
|
124 |
msgid "ajax for logged-in user"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: admin/class-ip-geo-block-admin.php:
|
128 |
msgid "ajax for non logged-in user"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
msgid "This feature is available with HTML5 compliant browsers."
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: admin/class-ip-geo-block-admin.php:
|
136 |
msgid "The selected row cannot be found in the visible area."
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
msgid "No data available in table"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: admin/class-ip-geo-block-admin.php:
|
144 |
msgid "No matching records found"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: admin/class-ip-geo-block-admin.php:
|
148 |
#: admin/includes/tab-geolocation.php:71
|
149 |
msgid "IP address"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: admin/class-ip-geo-block-admin.php:
|
153 |
msgid "Code"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: admin/class-ip-geo-block-admin.php:
|
157 |
msgid "ASN"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: admin/class-ip-geo-block-admin.php:
|
161 |
msgid "Host name"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: admin/class-ip-geo-block-admin.php:
|
165 |
msgid "Target"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: admin/class-ip-geo-block-admin.php:
|
169 |
msgid "Failure / Total"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: admin/class-ip-geo-block-admin.php:
|
173 |
msgid "Elapsed[sec]"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: admin/class-ip-geo-block-admin.php:
|
177 |
msgid "Time"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: admin/class-ip-geo-block-admin.php:
|
181 |
msgid "Result"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: admin/class-ip-geo-block-admin.php:
|
185 |
msgid "Request"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: admin/class-ip-geo-block-admin.php:
|
189 |
msgid "User agent"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: admin/class-ip-geo-block-admin.php:
|
193 |
msgid "HTTP headers"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: admin/class-ip-geo-block-admin.php:
|
197 |
msgid "$_POST data"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: admin/class-ip-geo-block-admin.php:
|
201 |
msgid "Contribute on GitHub"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: admin/class-ip-geo-block-admin.php:
|
205 |
-
#: admin/class-ip-geo-block-admin.php:
|
206 |
-
#: admin/class-ip-geo-block-admin.php:
|
207 |
-
#: admin/class-ip-geo-block-admin.php:
|
208 |
msgid "Settings"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: admin/class-ip-geo-block-admin.php:
|
212 |
-
#: admin/class-ip-geo-block-admin.php:
|
213 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
214 |
#: admin/class-ip-geo-block-admin.php:429
|
215 |
-
#: admin/class-ip-geo-block-admin.php:
|
216 |
-
#: admin/class-ip-geo-block-admin.php:444
|
217 |
msgid "IP Geo Block"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: admin/class-ip-geo-block-admin.php:
|
221 |
-
#: admin/class-ip-geo-block-admin.php:
|
222 |
-
#: admin/class-ip-geo-block-admin.php:
|
223 |
msgid "Site List"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: admin/class-ip-geo-block-admin.php:
|
227 |
msgid "You need WordPress 3.7+."
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: admin/class-ip-geo-block-admin.php:
|
231 |
#, php-format
|
232 |
msgid ""
|
233 |
"Now downloading geolocation databases in background. After a little while, "
|
@@ -235,120 +251,120 @@ msgid ""
|
|
235 |
"strong>” at <a href=\"%s\">Validation rule settings</a>."
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: admin/class-ip-geo-block-admin.php:
|
239 |
#, php-format
|
240 |
msgid ""
|
241 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
242 |
"confirm it at <a href=\"%s\">Validation rule settings</a>."
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: admin/class-ip-geo-block-admin.php:
|
246 |
msgid "Local database and matching rule have been updated."
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: admin/class-ip-geo-block-admin.php:
|
250 |
msgid ""
|
251 |
"Once you logout, you will be unable to login again because the number of "
|
252 |
"login attempts reaches the limit."
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: admin/class-ip-geo-block-admin.php:
|
256 |
#, php-format
|
257 |
msgid ""
|
258 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
259 |
"tab</a> to prevent locking yourself out."
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: admin/class-ip-geo-block-admin.php:
|
263 |
msgid ""
|
264 |
"Once you logout, you will be unable to login again because your country code "
|
265 |
"or IP address is in the blacklist."
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: admin/class-ip-geo-block-admin.php:
|
269 |
msgid ""
|
270 |
"Once you logout, you will be unable to login again because your country code "
|
271 |
"or IP address is not in the whitelist."
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: admin/class-ip-geo-block-admin.php:
|
275 |
#, php-format
|
276 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: admin/class-ip-geo-block-admin.php:
|
280 |
msgid ""
|
281 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
282 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
283 |
"select “init” action hook."
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: admin/class-ip-geo-block-admin.php:
|
287 |
msgid "Statistics"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: admin/class-ip-geo-block-admin.php:
|
291 |
msgid "Logs"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: admin/class-ip-geo-block-admin.php:
|
295 |
msgid "Search"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: admin/class-ip-geo-block-admin.php:
|
299 |
msgid "Attribution"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: admin/class-ip-geo-block-admin.php:
|
303 |
msgid "Network wide"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: admin/class-ip-geo-block-admin.php:
|
307 |
msgid "Toggle all"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: admin/class-ip-geo-block-admin.php:
|
311 |
msgid ""
|
312 |
"Independent of “Statistics and Logs settings”, you can see all "
|
313 |
"the requests validated by this plugin in almost real time."
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: admin/class-ip-geo-block-admin.php:
|
317 |
msgid "Live update"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: admin/class-ip-geo-block-admin.php:
|
321 |
msgid "Open a new window on clicking the link in the chart."
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: admin/class-ip-geo-block-admin.php:
|
325 |
msgid "Open a new window"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: admin/class-ip-geo-block-admin.php:
|
329 |
msgid "Thanks for providing these great services for free."
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: admin/class-ip-geo-block-admin.php:
|
333 |
msgid ""
|
334 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
335 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
336 |
"when you click the link</a>.)"
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: admin/class-ip-geo-block-admin.php:
|
340 |
msgid "Back to top"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: admin/class-ip-geo-block-admin.php:
|
344 |
msgid "Enable"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: admin/class-ip-geo-block-admin.php:
|
348 |
msgid "Select one"
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: admin/class-ip-geo-block-admin.php:
|
352 |
msgid "Settings saved."
|
353 |
msgstr ""
|
354 |
|
@@ -356,23 +372,23 @@ msgstr ""
|
|
356 |
msgid "Validation logs"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:
|
360 |
msgid "Comment post"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:
|
364 |
msgid "XML-RPC"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:
|
368 |
msgid "Login form"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:
|
372 |
msgid "Admin area"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:
|
376 |
msgid "Public facing pages"
|
377 |
msgstr ""
|
378 |
|
@@ -430,7 +446,7 @@ msgstr ""
|
|
430 |
msgid "Export logs"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:
|
434 |
msgid "Export to the local file"
|
435 |
msgstr ""
|
436 |
|
@@ -439,7 +455,7 @@ msgid "Export csv"
|
|
439 |
msgstr ""
|
440 |
|
441 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
442 |
-
#: admin/includes/tab-statistics.php:
|
443 |
msgid ""
|
444 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
445 |
"is [<strong>Disable</strong>]."
|
@@ -530,49 +546,61 @@ msgstr ""
|
|
530 |
msgid "Toggle selection"
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
msgid "Matching rule"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: admin/includes/tab-settings.php:
|
538 |
msgid ""
|
539 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
540 |
"in the whitelist will be blocked."
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: admin/includes/tab-settings.php:
|
544 |
msgid ""
|
545 |
"A request from which the country code or IP address is in the blacklist will "
|
546 |
"be blocked."
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: admin/includes/tab-settings.php:
|
550 |
msgid ""
|
551 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
552 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
553 |
"networks.\">Use Autonomous System Number</dfn>"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: admin/includes/tab-settings.php:
|
557 |
#, php-format
|
558 |
msgid ""
|
559 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: admin/includes/tab-settings.php:
|
563 |
msgid ""
|
564 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
565 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
566 |
"for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: admin/includes/tab-settings.php:
|
570 |
msgid ""
|
571 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
572 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: admin/includes/tab-settings.php:
|
576 |
msgid ""
|
577 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
578 |
"balancing server, you need to put the appropriate key such as “"
|
@@ -581,29 +609,29 @@ msgid ""
|
|
581 |
"addresses</dfn>"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: admin/includes/tab-settings.php:
|
585 |
msgid ""
|
586 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
587 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
588 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
589 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
590 |
-
"<nobr>(<a class=\"ip-geo-block-cycle\" id=\"ip-geo-
|
591 |
-
"\"When you find ugly character string in the text area,
|
592 |
-
"restore.\"><span></span></a>)</nobr>"
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: admin/includes/tab-settings.php:
|
596 |
msgid ""
|
597 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: admin/includes/tab-settings.php:
|
601 |
msgid ""
|
602 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
603 |
"extensions</dfn>"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: admin/includes/tab-settings.php:
|
607 |
msgid ""
|
608 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
609 |
"particular type of uploader, certain capability may be required. Default is "
|
@@ -611,14 +639,14 @@ msgid ""
|
|
611 |
"verification will be skipped if empty.\">Capabilities to be verified</dfn>"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: admin/includes/tab-settings.php:
|
615 |
msgid ""
|
616 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
617 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
618 |
"Codex\">Roles and Capabilities</a>” )"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: admin/includes/tab-settings.php:
|
622 |
msgid ""
|
623 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
624 |
"and backdoor via both back-end and front-end. Please consider to select "
|
@@ -627,27 +655,27 @@ msgid ""
|
|
627 |
"this validation.\">Prevent malicious file uploading</dfn>"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: admin/includes/tab-settings.php:
|
631 |
-
#: admin/includes/tab-settings.php:
|
632 |
msgid "Disable"
|
633 |
msgstr ""
|
634 |
|
635 |
-
#: admin/includes/tab-settings.php:
|
636 |
msgid "Verify file extension and MIME type"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: admin/includes/tab-settings.php:
|
640 |
msgid "Verify file extension only"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: admin/includes/tab-settings.php:
|
644 |
#, php-format
|
645 |
msgid ""
|
646 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
647 |
"directory.\">Response code</dfn> %s"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: admin/includes/tab-settings.php:
|
651 |
msgid ""
|
652 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
653 |
"to a public facing page, visitors would not be blocked on the page to "
|
@@ -656,42 +684,42 @@ msgid ""
|
|
656 |
"\">Redirect URL</dfn>"
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: admin/includes/tab-settings.php:
|
660 |
msgid ""
|
661 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
662 |
"message</dfn>"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: admin/includes/tab-settings.php:
|
666 |
msgid ""
|
667 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
668 |
"form”. Lockout period is defined as expiration time at “Cache "
|
669 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: admin/includes/tab-settings.php:
|
673 |
msgid "Select when to run the validation."
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: admin/includes/tab-settings.php:
|
677 |
msgid "Validation timing"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: admin/includes/tab-settings.php:
|
681 |
msgid "“init” action hook"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: admin/includes/tab-settings.php:
|
685 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: admin/includes/tab-settings.php:
|
689 |
msgid ""
|
690 |
"Validate at “init” action hook in the same manner as typical "
|
691 |
"plugins."
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: admin/includes/tab-settings.php:
|
695 |
msgid ""
|
696 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
697 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
@@ -699,129 +727,134 @@ msgid ""
|
|
699 |
"restrictions</a>."
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: admin/includes/tab-settings.php:
|
703 |
msgid "Back-end target settings"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: admin/includes/tab-settings.php:
|
707 |
#, php-format
|
708 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: admin/includes/tab-settings.php:
|
712 |
msgid "Other areas"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: admin/includes/tab-settings.php:
|
716 |
msgid "public facing pages"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: admin/includes/tab-settings.php:
|
720 |
-
#: admin/includes/tab-settings.php:
|
721 |
-
#: admin/includes/tab-settings.php:
|
722 |
msgid "Block by country"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: admin/includes/tab-settings.php:
|
726 |
msgid "Completely close"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: admin/includes/tab-settings.php:
|
730 |
msgid ""
|
731 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
732 |
"actions</dfn>"
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: admin/includes/tab-settings.php:
|
736 |
msgid "Prevent Zero-day Exploit"
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: admin/includes/tab-settings.php:
|
740 |
msgid ""
|
741 |
"It will block a request related to the services for both public facing pages "
|
742 |
"and the dashboard."
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: admin/includes/tab-settings.php:
|
746 |
msgid ""
|
747 |
"Regardless of the country code, it will block a malicious request related to "
|
748 |
"the services only for the dashboard."
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: admin/includes/tab-settings.php:
|
752 |
msgid "admin post for logged-in user"
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: admin/includes/tab-settings.php:
|
756 |
msgid "admin post for non logged-in user"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: admin/includes/tab-settings.php:
|
760 |
msgid "Admin ajax/post"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: admin/includes/tab-settings.php:
|
764 |
msgid ""
|
765 |
-
"
|
766 |
-
"
|
767 |
-
"
|
768 |
-
"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
772 |
msgid "Toggle with non logged-in user"
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: admin/includes/tab-settings.php:
|
776 |
-
msgid "Candidate actions"
|
777 |
msgstr ""
|
778 |
|
779 |
-
#: admin/includes/tab-settings.php:
|
780 |
#, php-format
|
781 |
msgid ""
|
782 |
"Regardless of the country code, it will block a malicious request to <code>"
|
783 |
"%s⋯/*.php</code>."
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: admin/includes/tab-settings.php:
|
787 |
msgid ""
|
788 |
-
"
|
789 |
-
"
|
790 |
-
"INACTIVE”.\">Exceptions</dfn>"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: admin/includes/tab-settings.php:
|
794 |
#, php-format
|
795 |
msgid ""
|
796 |
"It configures “%s” to validate a request to the PHP file which "
|
797 |
-
"does not load WordPress core."
|
|
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: admin/includes/tab-settings.php:
|
801 |
msgid "Sorry, but your server type is not supported."
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: admin/includes/tab-settings.php:
|
805 |
msgid "Force to load WP core"
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: admin/includes/tab-settings.php:
|
809 |
msgid "Plugins area"
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: admin/includes/tab-settings.php:
|
813 |
msgid "Themes area"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: admin/includes/tab-settings.php:
|
817 |
msgid "Front-end target settings"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: admin/includes/tab-settings.php:
|
821 |
msgid "Follow “Validation rule settings”"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: admin/includes/tab-settings.php:
|
825 |
#, php-format
|
826 |
msgid ""
|
827 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
@@ -829,53 +862,53 @@ msgid ""
|
|
829 |
"\">Response code</dfn> %s"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: admin/includes/tab-settings.php:
|
833 |
msgid ""
|
834 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: admin/includes/tab-settings.php:
|
838 |
msgid ""
|
839 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
840 |
"target.\">Post type</dfn>"
|
841 |
msgstr ""
|
842 |
|
843 |
-
#: admin/includes/tab-settings.php:
|
844 |
msgid ""
|
845 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
846 |
"page as a blocking target.\">Category</dfn>"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: admin/includes/tab-settings.php:
|
850 |
msgid ""
|
851 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
852 |
"a blocking target.\">Tag</dfn>"
|
853 |
msgstr ""
|
854 |
|
855 |
-
#: admin/includes/tab-settings.php:
|
856 |
msgid "Specify the validation target on front-end."
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: admin/includes/tab-settings.php:
|
860 |
msgid "Validation target"
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: admin/includes/tab-settings.php:
|
864 |
msgid "All requests"
|
865 |
msgstr ""
|
866 |
|
867 |
-
#: admin/includes/tab-settings.php:
|
868 |
msgid "Specify the targets"
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: admin/includes/tab-settings.php:
|
872 |
msgid ""
|
873 |
"Notice that “Validation timing” is deferred till “"
|
874 |
"wp” action hook. It means that this feature would not be compatible "
|
875 |
"with any page caching."
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: admin/includes/tab-settings.php:
|
879 |
msgid ""
|
880 |
"A part of user agent string and a qualification connected with a separator "
|
881 |
"that indicates an applicable rule and can be “:” (pass) or "
|
@@ -885,19 +918,19 @@ msgid ""
|
|
885 |
"qualification”."
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: admin/includes/tab-settings.php:
|
889 |
msgid "UA string and qualification"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: admin/includes/tab-settings.php:
|
893 |
msgid "Specify the name of action that is invariably blocked."
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: admin/includes/tab-settings.php:
|
897 |
msgid "Excluded actions"
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: admin/includes/tab-settings.php:
|
901 |
msgid ""
|
902 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
903 |
"server resources. If it is disabled, “HOST” and “"
|
@@ -905,35 +938,35 @@ msgid ""
|
|
905 |
"return “true”."
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: admin/includes/tab-settings.php:
|
909 |
msgid "DNS reverse lookup"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: admin/includes/tab-settings.php:
|
913 |
msgid ""
|
914 |
"It enables to simulate validation without deployment. The results can be "
|
915 |
"found at “Public facing pages” in Logs."
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: admin/includes/tab-settings.php:
|
919 |
msgid "Simulation mode"
|
920 |
msgstr ""
|
921 |
|
922 |
-
#: admin/includes/tab-settings.php:
|
923 |
msgid "Geolocation API settings"
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: admin/includes/tab-settings.php:
|
927 |
msgid ""
|
928 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
929 |
"selection and key settings</dfn>"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: admin/includes/tab-settings.php:
|
933 |
msgid "Timeout for network API [sec]"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: admin/includes/tab-settings.php:
|
937 |
#, php-format
|
938 |
msgid ""
|
939 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
@@ -948,123 +981,123 @@ msgid ""
|
|
948 |
"troubles? | IP Geo Block\">this instruction</a>."
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: admin/includes/tab-settings.php:
|
952 |
msgid "Local database settings"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: admin/includes/tab-settings.php:
|
956 |
msgid "database"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: admin/includes/tab-settings.php:
|
960 |
msgid "Auto updating (once a month)"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: admin/includes/tab-settings.php:
|
964 |
msgid "Download database"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: admin/includes/tab-settings.php:
|
968 |
msgid "Download now"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: admin/includes/tab-settings.php:
|
972 |
msgid "Statistics and Logs settings"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: admin/includes/tab-settings.php:
|
976 |
msgid "Record “Statistics”"
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: admin/includes/tab-settings.php:
|
980 |
msgid "Maximum period for “Statistics” (days)"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: admin/includes/tab-settings.php:
|
984 |
msgid "Record “Logs”"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: admin/includes/tab-settings.php:
|
988 |
msgid "When requests blocked"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: admin/includes/tab-settings.php:
|
992 |
msgid "When requests passed"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: admin/includes/tab-settings.php:
|
996 |
-
msgid "When blocked or passed
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: admin/includes/tab-settings.php:
|
1000 |
msgid "Unauthenticated visitor"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: admin/includes/tab-settings.php:
|
1004 |
msgid "Authenticated user"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: admin/includes/tab-settings.php:
|
1008 |
msgid "All the validation"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: admin/includes/tab-settings.php:
|
1012 |
msgid "Maximum entries of “Logs”"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: admin/includes/tab-settings.php:
|
1016 |
msgid ""
|
1017 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1018 |
"recorded with their values in “Logs”</dfn>"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: admin/includes/tab-settings.php:
|
1022 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: admin/includes/tab-settings.php:
|
1026 |
msgid ""
|
1027 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1028 |
"“Live update”</dfn>"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: admin/includes/tab-settings.php:
|
1032 |
msgid "Ordinary file"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: admin/includes/tab-settings.php:
|
1036 |
msgid "In-Memory"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: admin/includes/tab-settings.php:
|
1040 |
msgid "PDO_SQLITE driver not available"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: admin/includes/tab-settings.php:
|
1044 |
msgid ""
|
1045 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1046 |
"without conflict with other plugins."
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: admin/includes/tab-settings.php:
|
1050 |
msgid ""
|
1051 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1052 |
"with other plugins using this method."
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: admin/includes/tab-settings.php:
|
1056 |
msgid "Reset database source of “Live update”"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: admin/includes/tab-settings.php:
|
1060 |
msgid "Reset now"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: admin/includes/tab-settings.php:
|
1064 |
msgid "IP address cache settings"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: admin/includes/tab-settings.php:
|
1068 |
#, php-format
|
1069 |
msgid ""
|
1070 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
@@ -1072,121 +1105,121 @@ msgid ""
|
|
1072 |
"\">Expiration time [sec]</dfn>"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: admin/includes/tab-settings.php:
|
1076 |
msgid "Garbage collection period [sec]"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: admin/includes/tab-settings.php:
|
1080 |
msgid "Number of entries to be displayed in cache"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: admin/includes/tab-settings.php:
|
1084 |
msgid "Submission settings"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: admin/includes/tab-settings.php:
|
1088 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: admin/includes/tab-settings.php:
|
1092 |
msgid "Message on comment form"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: admin/includes/tab-settings.php:
|
1096 |
msgid "None"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: admin/includes/tab-settings.php:
|
1100 |
msgid "Top"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: admin/includes/tab-settings.php:
|
1104 |
msgid "Bottom"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: admin/includes/tab-settings.php:
|
1108 |
msgid "Plugin settings"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: admin/includes/tab-settings.php:
|
1112 |
msgid ""
|
1113 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1114 |
"settings</dfn>"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
-
#: admin/includes/tab-settings.php:
|
1118 |
msgid "Remove all settings at uninstallation"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
-
#: admin/includes/tab-settings.php:
|
1122 |
msgid ""
|
1123 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1124 |
"dfn>"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: admin/includes/tab-settings.php:
|
1128 |
msgid ""
|
1129 |
"You need to click the “Save Changes” button for imported "
|
1130 |
"settings to take effect."
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: admin/includes/tab-settings.php:
|
1134 |
msgid "Export / Import settings"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: admin/includes/tab-settings.php:
|
1138 |
msgid "Export settings"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: admin/includes/tab-settings.php:
|
1142 |
msgid "Import from the local file"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: admin/includes/tab-settings.php:
|
1146 |
msgid "Import settings"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: admin/includes/tab-settings.php:
|
1150 |
msgid "Import pre-defined settings"
|
1151 |
msgstr ""
|
1152 |
|
1153 |
-
#: admin/includes/tab-settings.php:
|
1154 |
msgid ""
|
1155 |
"Import the default settings to revert to the “Right after "
|
1156 |
"installing” state"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: admin/includes/tab-settings.php:
|
1160 |
msgid "Default settings"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: admin/includes/tab-settings.php:
|
1164 |
msgid ""
|
1165 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1166 |
"for the “Back-end target settings”"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: admin/includes/tab-settings.php:
|
1170 |
msgid "Best for Back-end"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: admin/includes/tab-settings.php:
|
1174 |
msgid "Delete DB table for validation logs"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: admin/includes/tab-settings.php:
|
1178 |
msgid "Delete now"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: admin/includes/tab-settings.php:
|
1182 |
msgid "Create DB table for validation logs"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: admin/includes/tab-settings.php:
|
1186 |
msgid "Create now"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: admin/includes/tab-settings.php:
|
1190 |
msgid ""
|
1191 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1192 |
"button to find the blocked request in the dumped information which may help "
|
@@ -1195,15 +1228,15 @@ msgid ""
|
|
1195 |
"› Support » IP Geo Block\">support forum</a> ]"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: admin/includes/tab-settings.php:
|
1199 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: admin/includes/tab-settings.php:
|
1203 |
msgid "Show information"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: admin/includes/tab-settings.php:
|
1207 |
msgid ""
|
1208 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1209 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
@@ -1211,7 +1244,7 @@ msgid ""
|
|
1211 |
"\">The best practice for target settings</a>”."
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: admin/includes/tab-settings.php:
|
1215 |
msgid ""
|
1216 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1217 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
@@ -1220,18 +1253,18 @@ msgid ""
|
|
1220 |
"\">Codex</a>."
|
1221 |
msgstr ""
|
1222 |
|
1223 |
-
#: admin/includes/tab-settings.php:
|
1224 |
msgid ""
|
1225 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1226 |
"pass an IP address to the APIs via HTTP."
|
1227 |
msgstr ""
|
1228 |
|
1229 |
-
#: admin/includes/tab-settings.php:
|
1230 |
msgid ""
|
1231 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#: admin/includes/tab-settings.php:
|
1235 |
msgid ""
|
1236 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1237 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
@@ -1239,7 +1272,7 @@ msgid ""
|
|
1239 |
"cache plugin."
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: admin/includes/tab-settings.php:
|
1243 |
msgid ""
|
1244 |
"If you find any issues or have something to suggest, please feel free to "
|
1245 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
@@ -1247,20 +1280,20 @@ msgid ""
|
|
1247 |
"\">support forum</a>."
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: admin/includes/tab-settings.php:
|
1251 |
msgid ""
|
1252 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1253 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
1254 |
"Block\">Record settings and logs</a>” for details."
|
1255 |
msgstr ""
|
1256 |
|
1257 |
-
#: admin/includes/class-admin-rewrite.php:
|
1258 |
-
#: admin/includes/class-admin-rewrite.php:
|
1259 |
#, php-format
|
1260 |
msgid "Or please refer to %s to set it manually."
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: admin/includes/class-admin-rewrite.php:
|
1264 |
#, php-format
|
1265 |
msgid "“auto_prepend_file” already defined in %s."
|
1266 |
msgstr ""
|
@@ -1338,7 +1371,7 @@ msgid "Clear statistics"
|
|
1338 |
msgstr ""
|
1339 |
|
1340 |
#: admin/includes/tab-statistics.php:185
|
1341 |
-
msgid "Statistics in
|
1342 |
msgstr ""
|
1343 |
|
1344 |
#: admin/includes/tab-statistics.php:217
|
@@ -1357,35 +1390,39 @@ msgstr ""
|
|
1357 |
msgid "Clear cache"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: admin/includes/tab-statistics.php:
|
1361 |
msgid "Country (Top 10)"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
-
#: admin/includes/tab-statistics.php:
|
1365 |
msgid "AS number (Top 10)"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: admin/includes/tab-statistics.php:
|
1369 |
msgid "IP address (Top 10)"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: admin/includes/tab-statistics.php:
|
1373 |
msgid "Slug in back-end"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: admin/includes/tab-statistics.php:
|
|
|
|
|
|
|
|
|
1377 |
msgid ""
|
1378 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1379 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
1380 |
msgstr ""
|
1381 |
|
1382 |
-
#: admin/includes/tab-statistics.php:
|
1383 |
msgid ""
|
1384 |
"Please set the proper condition to record and analyze the validation "
|
1385 |
"statistics."
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: admin/includes/tab-statistics.php:
|
1389 |
msgid ""
|
1390 |
"Please set the proper condition to record and analyze the validation logs."
|
1391 |
msgstr ""
|
1 |
+
# Copyright (C) 2013-2018 tokkonopapa
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: IP Geo Block 3.0.6\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
+
"POT-Creation-Date: 2018-01-08 21:11+0900\n"
|
8 |
+
"PO-Revision-Date: 2018-01-08 23:58+0900\n"
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
28 |
#: classes/class-ip-geo-block-opts.php:409
|
29 |
#: classes/class-ip-geo-block-cron.php:273
|
30 |
#: classes/class-ip-geo-block-cron.php:305
|
31 |
+
#: admin/class-ip-geo-block-admin.php:1210
|
32 |
+
#: admin/includes/class-admin-rewrite.php:194
|
33 |
#, php-format
|
34 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
35 |
msgstr ""
|
40 |
|
41 |
#: classes/class-ip-geo-block-cron.php:268
|
42 |
#: classes/class-ip-geo-block-cron.php:300
|
43 |
+
#: admin/includes/class-admin-rewrite.php:168
|
44 |
#, php-format
|
45 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
46 |
msgstr ""
|
55 |
msgstr ""
|
56 |
|
57 |
#: classes/class-ip-geo-block-cron.php:334
|
58 |
+
#: admin/includes/tab-settings.php:1131
|
59 |
#, php-format
|
60 |
msgid "Last update: %s"
|
61 |
msgstr ""
|
96 |
"<strong>you'll be blocked</strong> after the cache expires."
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: admin/class-ip-geo-block-admin.php:260
|
100 |
msgid "Import settings ?"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: admin/class-ip-geo-block-admin.php:261
|
104 |
msgid "Create table ?"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: admin/class-ip-geo-block-admin.php:262
|
108 |
msgid "Delete table ?"
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: admin/class-ip-geo-block-admin.php:263
|
112 |
msgid "Clear statistics ?"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: admin/class-ip-geo-block-admin.php:264
|
116 |
msgid "Clear cache ?"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: admin/class-ip-geo-block-admin.php:265
|
120 |
msgid "Clear logs ?"
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: admin/class-ip-geo-block-admin.php:266
|
124 |
msgid "ajax for logged-in user"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: admin/class-ip-geo-block-admin.php:267
|
128 |
msgid "ajax for non logged-in user"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: admin/class-ip-geo-block-admin.php:268
|
132 |
+
#, php-format
|
133 |
+
msgid "[Found: %d]"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: admin/class-ip-geo-block-admin.php:269
|
137 |
+
#, php-format
|
138 |
+
msgid "Find and verify `%s` on “Logs” tab."
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: admin/class-ip-geo-block-admin.php:270
|
142 |
msgid "This feature is available with HTML5 compliant browsers."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: admin/class-ip-geo-block-admin.php:271
|
146 |
msgid "The selected row cannot be found in the visible area."
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: admin/class-ip-geo-block-admin.php:272
|
150 |
+
#: admin/class-ip-geo-block-admin.php:1403
|
151 |
+
#, php-format
|
152 |
+
msgid "An error occurred while executing the ajax command `%s`."
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: admin/class-ip-geo-block-admin.php:276
|
156 |
msgid "No data available in table"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: admin/class-ip-geo-block-admin.php:277
|
160 |
msgid "No matching records found"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: admin/class-ip-geo-block-admin.php:278
|
164 |
#: admin/includes/tab-geolocation.php:71
|
165 |
msgid "IP address"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: admin/class-ip-geo-block-admin.php:279
|
169 |
msgid "Code"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: admin/class-ip-geo-block-admin.php:280
|
173 |
msgid "ASN"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: admin/class-ip-geo-block-admin.php:281
|
177 |
msgid "Host name"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: admin/class-ip-geo-block-admin.php:282
|
181 |
msgid "Target"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: admin/class-ip-geo-block-admin.php:283
|
185 |
msgid "Failure / Total"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: admin/class-ip-geo-block-admin.php:284
|
189 |
msgid "Elapsed[sec]"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: admin/class-ip-geo-block-admin.php:285
|
193 |
msgid "Time"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: admin/class-ip-geo-block-admin.php:286
|
197 |
msgid "Result"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: admin/class-ip-geo-block-admin.php:287
|
201 |
msgid "Request"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: admin/class-ip-geo-block-admin.php:288
|
205 |
msgid "User agent"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: admin/class-ip-geo-block-admin.php:289
|
209 |
msgid "HTTP headers"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: admin/class-ip-geo-block-admin.php:290
|
213 |
msgid "$_POST data"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: admin/class-ip-geo-block-admin.php:308
|
217 |
msgid "Contribute on GitHub"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: admin/class-ip-geo-block-admin.php:322
|
221 |
+
#: admin/class-ip-geo-block-admin.php:430
|
222 |
+
#: admin/class-ip-geo-block-admin.php:638
|
223 |
+
#: admin/class-ip-geo-block-admin.php:657
|
224 |
msgid "Settings"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: admin/class-ip-geo-block-admin.php:410
|
228 |
+
#: admin/class-ip-geo-block-admin.php:411
|
229 |
+
#: admin/class-ip-geo-block-admin.php:421
|
230 |
+
#: admin/class-ip-geo-block-admin.php:422
|
231 |
#: admin/class-ip-geo-block-admin.php:429
|
232 |
+
#: admin/class-ip-geo-block-admin.php:437
|
|
|
233 |
msgid "IP Geo Block"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: admin/class-ip-geo-block-admin.php:438
|
237 |
+
#: admin/class-ip-geo-block-admin.php:642
|
238 |
+
#: admin/class-ip-geo-block-admin.php:658
|
239 |
msgid "Site List"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: admin/class-ip-geo-block-admin.php:467
|
243 |
msgid "You need WordPress 3.7+."
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: admin/class-ip-geo-block-admin.php:473
|
247 |
#, php-format
|
248 |
msgid ""
|
249 |
"Now downloading geolocation databases in background. After a little while, "
|
251 |
"strong>” at <a href=\"%s\">Validation rule settings</a>."
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: admin/class-ip-geo-block-admin.php:479
|
255 |
#, php-format
|
256 |
msgid ""
|
257 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
258 |
"confirm it at <a href=\"%s\">Validation rule settings</a>."
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: admin/class-ip-geo-block-admin.php:488
|
262 |
msgid "Local database and matching rule have been updated."
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: admin/class-ip-geo-block-admin.php:499
|
266 |
msgid ""
|
267 |
"Once you logout, you will be unable to login again because the number of "
|
268 |
"login attempts reaches the limit."
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: admin/class-ip-geo-block-admin.php:501
|
272 |
#, php-format
|
273 |
msgid ""
|
274 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
275 |
"tab</a> to prevent locking yourself out."
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: admin/class-ip-geo-block-admin.php:511
|
279 |
msgid ""
|
280 |
"Once you logout, you will be unable to login again because your country code "
|
281 |
"or IP address is in the blacklist."
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: admin/class-ip-geo-block-admin.php:512
|
285 |
msgid ""
|
286 |
"Once you logout, you will be unable to login again because your country code "
|
287 |
"or IP address is not in the whitelist."
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: admin/class-ip-geo-block-admin.php:515
|
291 |
#, php-format
|
292 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: admin/class-ip-geo-block-admin.php:526
|
296 |
msgid ""
|
297 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
298 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
299 |
"select “init” action hook."
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: admin/class-ip-geo-block-admin.php:639
|
303 |
msgid "Statistics"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: admin/class-ip-geo-block-admin.php:640
|
307 |
msgid "Logs"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: admin/class-ip-geo-block-admin.php:641
|
311 |
msgid "Search"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: admin/class-ip-geo-block-admin.php:643
|
315 |
msgid "Attribution"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: admin/class-ip-geo-block-admin.php:669
|
319 |
msgid "Network wide"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: admin/class-ip-geo-block-admin.php:682
|
323 |
msgid "Toggle all"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: admin/class-ip-geo-block-admin.php:685
|
327 |
msgid ""
|
328 |
"Independent of “Statistics and Logs settings”, you can see all "
|
329 |
"the requests validated by this plugin in almost real time."
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: admin/class-ip-geo-block-admin.php:685 admin/includes/tab-accesslog.php:37
|
333 |
msgid "Live update"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: admin/class-ip-geo-block-admin.php:689
|
337 |
msgid "Open a new window on clicking the link in the chart."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: admin/class-ip-geo-block-admin.php:689
|
341 |
msgid "Open a new window"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: admin/class-ip-geo-block-admin.php:712
|
345 |
msgid "Thanks for providing these great services for free."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: admin/class-ip-geo-block-admin.php:713
|
349 |
msgid ""
|
350 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
351 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
352 |
"when you click the link</a>.)"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: admin/class-ip-geo-block-admin.php:718
|
356 |
msgid "Back to top"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: admin/class-ip-geo-block-admin.php:815
|
360 |
msgid "Enable"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: admin/class-ip-geo-block-admin.php:830
|
364 |
msgid "Select one"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: admin/class-ip-geo-block-admin.php:1240
|
368 |
msgid "Settings saved."
|
369 |
msgstr ""
|
370 |
|
372 |
msgid "Validation logs"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
|
376 |
msgid "Comment post"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
|
380 |
msgid "XML-RPC"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
|
384 |
msgid "Login form"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
|
388 |
msgid "Admin area"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
|
392 |
msgid "Public facing pages"
|
393 |
msgstr ""
|
394 |
|
446 |
msgid "Export logs"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
|
450 |
msgid "Export to the local file"
|
451 |
msgstr ""
|
452 |
|
455 |
msgstr ""
|
456 |
|
457 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
458 |
+
#: admin/includes/tab-statistics.php:397
|
459 |
msgid ""
|
460 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
461 |
"is [<strong>Disable</strong>]."
|
546 |
msgid "Toggle selection"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: admin/includes/tab-settings.php:119
|
550 |
+
msgid "Find blocked requests in “Logs“"
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: admin/includes/tab-settings.php:120
|
554 |
+
msgid ""
|
555 |
+
"Before adding as “Exception”, please click on “<a class="
|
556 |
+
"\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
|
557 |
+
"sample.\"><span></span></a>” button (if exists) attached to the "
|
558 |
+
"following list to confirm that the blocked request is not malicious."
|
559 |
+
msgstr ""
|
560 |
+
|
561 |
+
#: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
|
562 |
msgid "Matching rule"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: admin/includes/tab-settings.php:139
|
566 |
msgid ""
|
567 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
568 |
"in the whitelist will be blocked."
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: admin/includes/tab-settings.php:140
|
572 |
msgid ""
|
573 |
"A request from which the country code or IP address is in the blacklist will "
|
574 |
"be blocked."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: admin/includes/tab-settings.php:186
|
578 |
msgid ""
|
579 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
580 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
581 |
"networks.\">Use Autonomous System Number</dfn>"
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: admin/includes/tab-settings.php:197
|
585 |
#, php-format
|
586 |
msgid ""
|
587 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: admin/includes/tab-settings.php:206
|
591 |
msgid ""
|
592 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
593 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
594 |
"for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: admin/includes/tab-settings.php:226
|
598 |
msgid ""
|
599 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
600 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: admin/includes/tab-settings.php:247
|
604 |
msgid ""
|
605 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
606 |
"balancing server, you need to put the appropriate key such as “"
|
609 |
"addresses</dfn>"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: admin/includes/tab-settings.php:266
|
613 |
msgid ""
|
614 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
615 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
616 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
617 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
618 |
+
"<nobr>(<a class=\"ip-geo-block-icon ip-geo-block-icon-cycle\" id=\"ip-geo-"
|
619 |
+
"block-decode\" title=\"When you find ugly character string in the text area, "
|
620 |
+
"please click to restore.\"><span></span></a>)</nobr>"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: admin/includes/tab-settings.php:280
|
624 |
msgid ""
|
625 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: admin/includes/tab-settings.php:291
|
629 |
msgid ""
|
630 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
631 |
"extensions</dfn>"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: admin/includes/tab-settings.php:295
|
635 |
msgid ""
|
636 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
637 |
"particular type of uploader, certain capability may be required. Default is "
|
639 |
"verification will be skipped if empty.\">Capabilities to be verified</dfn>"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: admin/includes/tab-settings.php:295
|
643 |
msgid ""
|
644 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
645 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
646 |
"Codex\">Roles and Capabilities</a>” )"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: admin/includes/tab-settings.php:302
|
650 |
msgid ""
|
651 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
652 |
"and backdoor via both back-end and front-end. Please consider to select "
|
655 |
"this validation.\">Prevent malicious file uploading</dfn>"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
|
659 |
+
#: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
|
660 |
msgid "Disable"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: admin/includes/tab-settings.php:314
|
664 |
msgid "Verify file extension and MIME type"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: admin/includes/tab-settings.php:315
|
668 |
msgid "Verify file extension only"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: admin/includes/tab-settings.php:325
|
672 |
#, php-format
|
673 |
msgid ""
|
674 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
675 |
"directory.\">Response code</dfn> %s"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
|
679 |
msgid ""
|
680 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
681 |
"to a public facing page, visitors would not be blocked on the page to "
|
684 |
"\">Redirect URL</dfn>"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
|
688 |
msgid ""
|
689 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
690 |
"message</dfn>"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: admin/includes/tab-settings.php:390
|
694 |
msgid ""
|
695 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
696 |
"form”. Lockout period is defined as expiration time at “Cache "
|
697 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: admin/includes/tab-settings.php:418
|
701 |
msgid "Select when to run the validation."
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: admin/includes/tab-settings.php:418
|
705 |
msgid "Validation timing"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: admin/includes/tab-settings.php:429
|
709 |
msgid "“init” action hook"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: admin/includes/tab-settings.php:430
|
713 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: admin/includes/tab-settings.php:433
|
717 |
msgid ""
|
718 |
"Validate at “init” action hook in the same manner as typical "
|
719 |
"plugins."
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: admin/includes/tab-settings.php:434
|
723 |
msgid ""
|
724 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
725 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
727 |
"restrictions</a>."
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: admin/includes/tab-settings.php:444
|
731 |
msgid "Back-end target settings"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: admin/includes/tab-settings.php:450
|
735 |
#, php-format
|
736 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: admin/includes/tab-settings.php:456
|
740 |
msgid "Other areas"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: admin/includes/tab-settings.php:457
|
744 |
msgid "public facing pages"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
|
748 |
+
#: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
|
749 |
+
#: admin/includes/tab-settings.php:779
|
750 |
msgid "Block by country"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: admin/includes/tab-settings.php:496
|
754 |
msgid "Completely close"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: admin/includes/tab-settings.php:529
|
758 |
msgid ""
|
759 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
760 |
"actions</dfn>"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: admin/includes/tab-settings.php:535
|
764 |
msgid "Prevent Zero-day Exploit"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: admin/includes/tab-settings.php:539
|
768 |
msgid ""
|
769 |
"It will block a request related to the services for both public facing pages "
|
770 |
"and the dashboard."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: admin/includes/tab-settings.php:540
|
774 |
msgid ""
|
775 |
"Regardless of the country code, it will block a malicious request related to "
|
776 |
"the services only for the dashboard."
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: admin/includes/tab-settings.php:563
|
780 |
msgid "admin post for logged-in user"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: admin/includes/tab-settings.php:564
|
784 |
msgid "admin post for non logged-in user"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: admin/includes/tab-settings.php:588
|
788 |
msgid "Admin ajax/post"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: admin/includes/tab-settings.php:602
|
792 |
msgid ""
|
793 |
+
"Specify the action name (“action=…”) or the page name "
|
794 |
+
"(“page=…”) to prevent unintended blocking caused by "
|
795 |
+
"“Block by country” (for non logged-in user) and “Prevent "
|
796 |
+
"Zero-day Exploit” (for logged-in user)."
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
|
800 |
+
#: admin/includes/tab-settings.php:741
|
801 |
+
msgid "Exceptions"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: admin/includes/tab-settings.php:603
|
805 |
msgid "Toggle with non logged-in user"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: admin/includes/tab-settings.php:606
|
809 |
+
msgid "Candidate actions/pages"
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: admin/includes/tab-settings.php:620
|
813 |
#, php-format
|
814 |
msgid ""
|
815 |
"Regardless of the country code, it will block a malicious request to <code>"
|
816 |
"%s⋯/*.php</code>."
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: admin/includes/tab-settings.php:621
|
820 |
msgid ""
|
821 |
+
"Select the item which causes unintended blocking in order to exclude from "
|
822 |
+
"the validation target. Grayed item indicates “INACTIVE”."
|
|
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: admin/includes/tab-settings.php:622
|
826 |
#, php-format
|
827 |
msgid ""
|
828 |
"It configures “%s” to validate a request to the PHP file which "
|
829 |
+
"does not load WordPress core. Make sure to deny direct access to the hidden "
|
830 |
+
"files beginning with a dot by the server's configuration."
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: admin/includes/tab-settings.php:623
|
834 |
msgid "Sorry, but your server type is not supported."
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
|
838 |
msgid "Force to load WP core"
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: admin/includes/tab-settings.php:664
|
842 |
msgid "Plugins area"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: admin/includes/tab-settings.php:725
|
846 |
msgid "Themes area"
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: admin/includes/tab-settings.php:760
|
850 |
msgid "Front-end target settings"
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: admin/includes/tab-settings.php:784
|
854 |
msgid "Follow “Validation rule settings”"
|
855 |
msgstr ""
|
856 |
|
857 |
+
#: admin/includes/tab-settings.php:846
|
858 |
#, php-format
|
859 |
msgid ""
|
860 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
862 |
"\">Response code</dfn> %s"
|
863 |
msgstr ""
|
864 |
|
865 |
+
#: admin/includes/tab-settings.php:912
|
866 |
msgid ""
|
867 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: admin/includes/tab-settings.php:924
|
871 |
msgid ""
|
872 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
873 |
"target.\">Post type</dfn>"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: admin/includes/tab-settings.php:936
|
877 |
msgid ""
|
878 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
879 |
"page as a blocking target.\">Category</dfn>"
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: admin/includes/tab-settings.php:948
|
883 |
msgid ""
|
884 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
885 |
"a blocking target.\">Tag</dfn>"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: admin/includes/tab-settings.php:963
|
889 |
msgid "Specify the validation target on front-end."
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: admin/includes/tab-settings.php:963
|
893 |
msgid "Validation target"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: admin/includes/tab-settings.php:974
|
897 |
msgid "All requests"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: admin/includes/tab-settings.php:975
|
901 |
msgid "Specify the targets"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: admin/includes/tab-settings.php:978
|
905 |
msgid ""
|
906 |
"Notice that “Validation timing” is deferred till “"
|
907 |
"wp” action hook. It means that this feature would not be compatible "
|
908 |
"with any page caching."
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: admin/includes/tab-settings.php:988
|
912 |
msgid ""
|
913 |
"A part of user agent string and a qualification connected with a separator "
|
914 |
"that indicates an applicable rule and can be “:” (pass) or "
|
918 |
"qualification”."
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: admin/includes/tab-settings.php:988
|
922 |
msgid "UA string and qualification"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: admin/includes/tab-settings.php:1007
|
926 |
msgid "Specify the name of action that is invariably blocked."
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: admin/includes/tab-settings.php:1007
|
930 |
msgid "Excluded actions"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: admin/includes/tab-settings.php:1026
|
934 |
msgid ""
|
935 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
936 |
"server resources. If it is disabled, “HOST” and “"
|
938 |
"return “true”."
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: admin/includes/tab-settings.php:1026
|
942 |
msgid "DNS reverse lookup"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: admin/includes/tab-settings.php:1043
|
946 |
msgid ""
|
947 |
"It enables to simulate validation without deployment. The results can be "
|
948 |
"found at “Public facing pages” in Logs."
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: admin/includes/tab-settings.php:1043
|
952 |
msgid "Simulation mode"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: admin/includes/tab-settings.php:1061
|
956 |
msgid "Geolocation API settings"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: admin/includes/tab-settings.php:1070
|
960 |
msgid ""
|
961 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
962 |
"selection and key settings</dfn>"
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: admin/includes/tab-settings.php:1089
|
966 |
msgid "Timeout for network API [sec]"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: admin/includes/tab-settings.php:1109
|
970 |
#, php-format
|
971 |
msgid ""
|
972 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
981 |
"troubles? | IP Geo Block\">this instruction</a>."
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: admin/includes/tab-settings.php:1116
|
985 |
msgid "Local database settings"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: admin/includes/tab-settings.php:1130
|
989 |
msgid "database"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: admin/includes/tab-settings.php:1140
|
993 |
msgid "Auto updating (once a month)"
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: admin/includes/tab-settings.php:1157
|
997 |
msgid "Download database"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: admin/includes/tab-settings.php:1165
|
1001 |
msgid "Download now"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: admin/includes/tab-settings.php:1176
|
1005 |
msgid "Statistics and Logs settings"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: admin/includes/tab-settings.php:1185
|
1009 |
msgid "Record “Statistics”"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: admin/includes/tab-settings.php:1202
|
1013 |
msgid "Maximum period for “Statistics” (days)"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: admin/includes/tab-settings.php:1220
|
1017 |
msgid "Record “Logs”"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: admin/includes/tab-settings.php:1232
|
1021 |
msgid "When requests blocked"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: admin/includes/tab-settings.php:1233
|
1025 |
msgid "When requests passed"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: admin/includes/tab-settings.php:1234
|
1029 |
+
msgid "When “blocked” or “passed (not in whitelist)”"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: admin/includes/tab-settings.php:1235
|
1033 |
msgid "Unauthenticated visitor"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: admin/includes/tab-settings.php:1236
|
1037 |
msgid "Authenticated user"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: admin/includes/tab-settings.php:1237
|
1041 |
msgid "All the validation"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: admin/includes/tab-settings.php:1246
|
1045 |
msgid "Maximum entries of “Logs”"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: admin/includes/tab-settings.php:1263
|
1049 |
msgid ""
|
1050 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1051 |
"recorded with their values in “Logs”</dfn>"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: admin/includes/tab-settings.php:1281
|
1055 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: admin/includes/tab-settings.php:1298
|
1059 |
msgid ""
|
1060 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1061 |
"“Live update”</dfn>"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: admin/includes/tab-settings.php:1310
|
1065 |
msgid "Ordinary file"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: admin/includes/tab-settings.php:1311
|
1069 |
msgid "In-Memory"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: admin/includes/tab-settings.php:1314
|
1073 |
msgid "PDO_SQLITE driver not available"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: admin/includes/tab-settings.php:1315
|
1077 |
msgid ""
|
1078 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1079 |
"without conflict with other plugins."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: admin/includes/tab-settings.php:1316
|
1083 |
msgid ""
|
1084 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1085 |
"with other plugins using this method."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: admin/includes/tab-settings.php:1325
|
1089 |
msgid "Reset database source of “Live update”"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: admin/includes/tab-settings.php:1333
|
1093 |
msgid "Reset now"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: admin/includes/tab-settings.php:1344
|
1097 |
msgid "IP address cache settings"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: admin/includes/tab-settings.php:1353
|
1101 |
#, php-format
|
1102 |
msgid ""
|
1103 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
1105 |
"\">Expiration time [sec]</dfn>"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: admin/includes/tab-settings.php:1369
|
1109 |
msgid "Garbage collection period [sec]"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: admin/includes/tab-settings.php:1386
|
1113 |
msgid "Number of entries to be displayed in cache"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: admin/includes/tab-settings.php:1404
|
1117 |
msgid "Submission settings"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: admin/includes/tab-settings.php:1416
|
1121 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: admin/includes/tab-settings.php:1416
|
1125 |
msgid "Message on comment form"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: admin/includes/tab-settings.php:1428
|
1129 |
msgid "None"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: admin/includes/tab-settings.php:1429
|
1133 |
msgid "Top"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: admin/includes/tab-settings.php:1430
|
1137 |
msgid "Bottom"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: admin/includes/tab-settings.php:1441
|
1141 |
msgid "Plugin settings"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: admin/includes/tab-settings.php:1454
|
1145 |
msgid ""
|
1146 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1147 |
"settings</dfn>"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: admin/includes/tab-settings.php:1472
|
1151 |
msgid "Remove all settings at uninstallation"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: admin/includes/tab-settings.php:1490
|
1155 |
msgid ""
|
1156 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1157 |
"dfn>"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: admin/includes/tab-settings.php:1504
|
1161 |
msgid ""
|
1162 |
"You need to click the “Save Changes” button for imported "
|
1163 |
"settings to take effect."
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: admin/includes/tab-settings.php:1510
|
1167 |
msgid "Export / Import settings"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: admin/includes/tab-settings.php:1517
|
1171 |
msgid "Export settings"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: admin/includes/tab-settings.php:1518
|
1175 |
msgid "Import from the local file"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: admin/includes/tab-settings.php:1518
|
1179 |
msgid "Import settings"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: admin/includes/tab-settings.php:1527
|
1183 |
msgid "Import pre-defined settings"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: admin/includes/tab-settings.php:1534
|
1187 |
msgid ""
|
1188 |
"Import the default settings to revert to the “Right after "
|
1189 |
"installing” state"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: admin/includes/tab-settings.php:1534
|
1193 |
msgid "Default settings"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: admin/includes/tab-settings.php:1535
|
1197 |
msgid ""
|
1198 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1199 |
"for the “Back-end target settings”"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: admin/includes/tab-settings.php:1535
|
1203 |
msgid "Best for Back-end"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: admin/includes/tab-settings.php:1545
|
1207 |
msgid "Delete DB table for validation logs"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: admin/includes/tab-settings.php:1553
|
1211 |
msgid "Delete now"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: admin/includes/tab-settings.php:1561
|
1215 |
msgid "Create DB table for validation logs"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: admin/includes/tab-settings.php:1569
|
1219 |
msgid "Create now"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: admin/includes/tab-settings.php:1579
|
1223 |
msgid ""
|
1224 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1225 |
"button to find the blocked request in the dumped information which may help "
|
1228 |
"› Support » IP Geo Block\">support forum</a> ]"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: admin/includes/tab-settings.php:1586
|
1232 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: admin/includes/tab-settings.php:1586
|
1236 |
msgid "Show information"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: admin/includes/tab-settings.php:1602
|
1240 |
msgid ""
|
1241 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1242 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
1244 |
"\">The best practice for target settings</a>”."
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: admin/includes/tab-settings.php:1603
|
1248 |
msgid ""
|
1249 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1250 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
1253 |
"\">Codex</a>."
|
1254 |
msgstr ""
|
1255 |
|
1256 |
+
#: admin/includes/tab-settings.php:1610
|
1257 |
msgid ""
|
1258 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1259 |
"pass an IP address to the APIs via HTTP."
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: admin/includes/tab-settings.php:1611
|
1263 |
msgid ""
|
1264 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: admin/includes/tab-settings.php:1618
|
1268 |
msgid ""
|
1269 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1270 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
1272 |
"cache plugin."
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: admin/includes/tab-settings.php:1619
|
1276 |
msgid ""
|
1277 |
"If you find any issues or have something to suggest, please feel free to "
|
1278 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
1280 |
"\">support forum</a>."
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: admin/includes/tab-settings.php:1626
|
1284 |
msgid ""
|
1285 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1286 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
1287 |
"Block\">Record settings and logs</a>” for details."
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: admin/includes/class-admin-rewrite.php:169
|
1291 |
+
#: admin/includes/class-admin-rewrite.php:195
|
1292 |
#, php-format
|
1293 |
msgid "Or please refer to %s to set it manually."
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: admin/includes/class-admin-rewrite.php:234
|
1297 |
#, php-format
|
1298 |
msgid "“auto_prepend_file” already defined in %s."
|
1299 |
msgstr ""
|
1371 |
msgstr ""
|
1372 |
|
1373 |
#: admin/includes/tab-statistics.php:185
|
1374 |
+
msgid "Statistics in Logs"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
#: admin/includes/tab-statistics.php:217
|
1390 |
msgid "Clear cache"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: admin/includes/tab-statistics.php:288
|
1394 |
msgid "Country (Top 10)"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: admin/includes/tab-statistics.php:289
|
1398 |
msgid "AS number (Top 10)"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: admin/includes/tab-statistics.php:290
|
1402 |
msgid "IP address (Top 10)"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: admin/includes/tab-statistics.php:291
|
1406 |
msgid "Slug in back-end"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: admin/includes/tab-statistics.php:343
|
1410 |
+
msgid "Toggle sorting order"
|
1411 |
+
msgstr ""
|
1412 |
+
|
1413 |
+
#: admin/includes/tab-statistics.php:392
|
1414 |
msgid ""
|
1415 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1416 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: admin/includes/tab-statistics.php:393
|
1420 |
msgid ""
|
1421 |
"Please set the proper condition to record and analyze the validation "
|
1422 |
"statistics."
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: admin/includes/tab-statistics.php:398
|
1426 |
msgid ""
|
1427 |
"Please set the proper condition to record and analyze the validation logs."
|
1428 |
msgstr ""
|
languages/ip-geo-block.pot
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
# Copyright (C) 2013-
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: IP Geo Block 3.0.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
-
"PO-Revision-Date:
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
@@ -20,14 +20,16 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
|
22 |
#. Description of the plugin/theme
|
23 |
-
msgid "
|
|
|
|
|
24 |
msgstr ""
|
25 |
|
26 |
#: classes/class-ip-geo-block-opts.php:409
|
27 |
#: classes/class-ip-geo-block-cron.php:273
|
28 |
#: classes/class-ip-geo-block-cron.php:305
|
29 |
-
#: admin/class-ip-geo-block-admin.php:
|
30 |
-
#: admin/includes/class-admin-rewrite.php:
|
31 |
#, php-format
|
32 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
33 |
msgstr ""
|
@@ -38,7 +40,7 @@ msgstr ""
|
|
38 |
|
39 |
#: classes/class-ip-geo-block-cron.php:268
|
40 |
#: classes/class-ip-geo-block-cron.php:300
|
41 |
-
#: admin/includes/class-admin-rewrite.php:
|
42 |
#, php-format
|
43 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
44 |
msgstr ""
|
@@ -53,7 +55,7 @@ msgid "gz or zip is not supported on your system."
|
|
53 |
msgstr ""
|
54 |
|
55 |
#: classes/class-ip-geo-block-cron.php:334
|
56 |
-
#: admin/includes/tab-settings.php:
|
57 |
#, php-format
|
58 |
msgid "Last update: %s"
|
59 |
msgstr ""
|
@@ -94,138 +96,154 @@ msgid ""
|
|
94 |
"<strong>you'll be blocked</strong> after the cache expires."
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: admin/class-ip-geo-block-admin.php:
|
98 |
msgid "Import settings ?"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: admin/class-ip-geo-block-admin.php:
|
102 |
msgid "Create table ?"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: admin/class-ip-geo-block-admin.php:
|
106 |
msgid "Delete table ?"
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: admin/class-ip-geo-block-admin.php:
|
110 |
msgid "Clear statistics ?"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: admin/class-ip-geo-block-admin.php:
|
114 |
msgid "Clear cache ?"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: admin/class-ip-geo-block-admin.php:
|
118 |
msgid "Clear logs ?"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: admin/class-ip-geo-block-admin.php:
|
122 |
msgid "ajax for logged-in user"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: admin/class-ip-geo-block-admin.php:
|
126 |
msgid "ajax for non logged-in user"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
msgid "This feature is available with HTML5 compliant browsers."
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: admin/class-ip-geo-block-admin.php:
|
134 |
msgid "The selected row cannot be found in the visible area."
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
msgid "No data available in table"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: admin/class-ip-geo-block-admin.php:
|
142 |
msgid "No matching records found"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: admin/class-ip-geo-block-admin.php:
|
146 |
#: admin/includes/tab-geolocation.php:71
|
147 |
msgid "IP address"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: admin/class-ip-geo-block-admin.php:
|
151 |
msgid "Code"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: admin/class-ip-geo-block-admin.php:
|
155 |
msgid "ASN"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: admin/class-ip-geo-block-admin.php:
|
159 |
msgid "Host name"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: admin/class-ip-geo-block-admin.php:
|
163 |
msgid "Target"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: admin/class-ip-geo-block-admin.php:
|
167 |
msgid "Failure / Total"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: admin/class-ip-geo-block-admin.php:
|
171 |
msgid "Elapsed[sec]"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: admin/class-ip-geo-block-admin.php:
|
175 |
msgid "Time"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: admin/class-ip-geo-block-admin.php:
|
179 |
msgid "Result"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: admin/class-ip-geo-block-admin.php:
|
183 |
msgid "Request"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: admin/class-ip-geo-block-admin.php:
|
187 |
msgid "User agent"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: admin/class-ip-geo-block-admin.php:
|
191 |
msgid "HTTP headers"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: admin/class-ip-geo-block-admin.php:
|
195 |
msgid "$_POST data"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: admin/class-ip-geo-block-admin.php:
|
199 |
msgid "Contribute on GitHub"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: admin/class-ip-geo-block-admin.php:
|
203 |
-
#: admin/class-ip-geo-block-admin.php:
|
204 |
-
#: admin/class-ip-geo-block-admin.php:
|
205 |
-
#: admin/class-ip-geo-block-admin.php:
|
206 |
msgid "Settings"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: admin/class-ip-geo-block-admin.php:
|
210 |
-
#: admin/class-ip-geo-block-admin.php:
|
211 |
-
#: admin/class-ip-geo-block-admin.php:
|
|
|
212 |
#: admin/class-ip-geo-block-admin.php:429
|
213 |
-
#: admin/class-ip-geo-block-admin.php:
|
214 |
-
#: admin/class-ip-geo-block-admin.php:444
|
215 |
msgid "IP Geo Block"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: admin/class-ip-geo-block-admin.php:
|
219 |
-
#: admin/class-ip-geo-block-admin.php:
|
220 |
-
#: admin/class-ip-geo-block-admin.php:
|
221 |
msgid "Site List"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: admin/class-ip-geo-block-admin.php:
|
225 |
msgid "You need WordPress 3.7+."
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: admin/class-ip-geo-block-admin.php:
|
229 |
#, php-format
|
230 |
msgid ""
|
231 |
"Now downloading geolocation databases in background. After a little while, "
|
@@ -233,120 +251,120 @@ msgid ""
|
|
233 |
"strong>” at <a href=\"%s\">Validation rule settings</a>."
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: admin/class-ip-geo-block-admin.php:
|
237 |
#, php-format
|
238 |
msgid ""
|
239 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
240 |
"confirm it at <a href=\"%s\">Validation rule settings</a>."
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: admin/class-ip-geo-block-admin.php:
|
244 |
msgid "Local database and matching rule have been updated."
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: admin/class-ip-geo-block-admin.php:
|
248 |
msgid ""
|
249 |
"Once you logout, you will be unable to login again because the number of "
|
250 |
"login attempts reaches the limit."
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: admin/class-ip-geo-block-admin.php:
|
254 |
#, php-format
|
255 |
msgid ""
|
256 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
257 |
"tab</a> to prevent locking yourself out."
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: admin/class-ip-geo-block-admin.php:
|
261 |
msgid ""
|
262 |
"Once you logout, you will be unable to login again because your country code "
|
263 |
"or IP address is in the blacklist."
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: admin/class-ip-geo-block-admin.php:
|
267 |
msgid ""
|
268 |
"Once you logout, you will be unable to login again because your country code "
|
269 |
"or IP address is not in the whitelist."
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: admin/class-ip-geo-block-admin.php:
|
273 |
#, php-format
|
274 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: admin/class-ip-geo-block-admin.php:
|
278 |
msgid ""
|
279 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
280 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
281 |
"select “init” action hook."
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: admin/class-ip-geo-block-admin.php:
|
285 |
msgid "Statistics"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: admin/class-ip-geo-block-admin.php:
|
289 |
msgid "Logs"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: admin/class-ip-geo-block-admin.php:
|
293 |
msgid "Search"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: admin/class-ip-geo-block-admin.php:
|
297 |
msgid "Attribution"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: admin/class-ip-geo-block-admin.php:
|
301 |
msgid "Network wide"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: admin/class-ip-geo-block-admin.php:
|
305 |
msgid "Toggle all"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: admin/class-ip-geo-block-admin.php:
|
309 |
msgid ""
|
310 |
"Independent of “Statistics and Logs settings”, you can see all "
|
311 |
"the requests validated by this plugin in almost real time."
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: admin/class-ip-geo-block-admin.php:
|
315 |
msgid "Live update"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: admin/class-ip-geo-block-admin.php:
|
319 |
msgid "Open a new window on clicking the link in the chart."
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: admin/class-ip-geo-block-admin.php:
|
323 |
msgid "Open a new window"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: admin/class-ip-geo-block-admin.php:
|
327 |
msgid "Thanks for providing these great services for free."
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: admin/class-ip-geo-block-admin.php:
|
331 |
msgid ""
|
332 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
333 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
334 |
"when you click the link</a>.)"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: admin/class-ip-geo-block-admin.php:
|
338 |
msgid "Back to top"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: admin/class-ip-geo-block-admin.php:
|
342 |
msgid "Enable"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: admin/class-ip-geo-block-admin.php:
|
346 |
msgid "Select one"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: admin/class-ip-geo-block-admin.php:
|
350 |
msgid "Settings saved."
|
351 |
msgstr ""
|
352 |
|
@@ -354,23 +372,23 @@ msgstr ""
|
|
354 |
msgid "Validation logs"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:
|
358 |
msgid "Comment post"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:
|
362 |
msgid "XML-RPC"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:
|
366 |
msgid "Login form"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:
|
370 |
msgid "Admin area"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:
|
374 |
msgid "Public facing pages"
|
375 |
msgstr ""
|
376 |
|
@@ -428,7 +446,7 @@ msgstr ""
|
|
428 |
msgid "Export logs"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:
|
432 |
msgid "Export to the local file"
|
433 |
msgstr ""
|
434 |
|
@@ -437,7 +455,7 @@ msgid "Export csv"
|
|
437 |
msgstr ""
|
438 |
|
439 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
440 |
-
#: admin/includes/tab-statistics.php:
|
441 |
msgid ""
|
442 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
443 |
"is [<strong>Disable</strong>]."
|
@@ -528,49 +546,61 @@ msgstr ""
|
|
528 |
msgid "Toggle selection"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
msgid "Matching rule"
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: admin/includes/tab-settings.php:
|
536 |
msgid ""
|
537 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
538 |
"in the whitelist will be blocked."
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: admin/includes/tab-settings.php:
|
542 |
msgid ""
|
543 |
"A request from which the country code or IP address is in the blacklist will "
|
544 |
"be blocked."
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: admin/includes/tab-settings.php:
|
548 |
msgid ""
|
549 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
550 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
551 |
"networks.\">Use Autonomous System Number</dfn>"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: admin/includes/tab-settings.php:
|
555 |
#, php-format
|
556 |
msgid ""
|
557 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: admin/includes/tab-settings.php:
|
561 |
msgid ""
|
562 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
563 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
564 |
"for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: admin/includes/tab-settings.php:
|
568 |
msgid ""
|
569 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
570 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: admin/includes/tab-settings.php:
|
574 |
msgid ""
|
575 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
576 |
"balancing server, you need to put the appropriate key such as “"
|
@@ -579,29 +609,29 @@ msgid ""
|
|
579 |
"addresses</dfn>"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: admin/includes/tab-settings.php:
|
583 |
msgid ""
|
584 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
585 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
586 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
587 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
588 |
-
"<nobr>(<a class=\"ip-geo-block-cycle\" id=\"ip-geo-
|
589 |
-
"\"When you find ugly character string in the text area,
|
590 |
-
"restore.\"><span></span></a>)</nobr>"
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: admin/includes/tab-settings.php:
|
594 |
msgid ""
|
595 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: admin/includes/tab-settings.php:
|
599 |
msgid ""
|
600 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
601 |
"extensions</dfn>"
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: admin/includes/tab-settings.php:
|
605 |
msgid ""
|
606 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
607 |
"particular type of uploader, certain capability may be required. Default is "
|
@@ -609,14 +639,14 @@ msgid ""
|
|
609 |
"verification will be skipped if empty.\">Capabilities to be verified</dfn>"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: admin/includes/tab-settings.php:
|
613 |
msgid ""
|
614 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
615 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
616 |
"Codex\">Roles and Capabilities</a>” )"
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: admin/includes/tab-settings.php:
|
620 |
msgid ""
|
621 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
622 |
"and backdoor via both back-end and front-end. Please consider to select "
|
@@ -625,27 +655,27 @@ msgid ""
|
|
625 |
"this validation.\">Prevent malicious file uploading</dfn>"
|
626 |
msgstr ""
|
627 |
|
628 |
-
#: admin/includes/tab-settings.php:
|
629 |
-
#: admin/includes/tab-settings.php:
|
630 |
msgid "Disable"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: admin/includes/tab-settings.php:
|
634 |
msgid "Verify file extension and MIME type"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: admin/includes/tab-settings.php:
|
638 |
msgid "Verify file extension only"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: admin/includes/tab-settings.php:
|
642 |
#, php-format
|
643 |
msgid ""
|
644 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
645 |
"directory.\">Response code</dfn> %s"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: admin/includes/tab-settings.php:
|
649 |
msgid ""
|
650 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
651 |
"to a public facing page, visitors would not be blocked on the page to "
|
@@ -654,42 +684,42 @@ msgid ""
|
|
654 |
"\">Redirect URL</dfn>"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: admin/includes/tab-settings.php:
|
658 |
msgid ""
|
659 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
660 |
"message</dfn>"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: admin/includes/tab-settings.php:
|
664 |
msgid ""
|
665 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
666 |
"form”. Lockout period is defined as expiration time at “Cache "
|
667 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: admin/includes/tab-settings.php:
|
671 |
msgid "Select when to run the validation."
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: admin/includes/tab-settings.php:
|
675 |
msgid "Validation timing"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: admin/includes/tab-settings.php:
|
679 |
msgid "“init” action hook"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: admin/includes/tab-settings.php:
|
683 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: admin/includes/tab-settings.php:
|
687 |
msgid ""
|
688 |
"Validate at “init” action hook in the same manner as typical "
|
689 |
"plugins."
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: admin/includes/tab-settings.php:
|
693 |
msgid ""
|
694 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
695 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
@@ -697,129 +727,134 @@ msgid ""
|
|
697 |
"restrictions</a>."
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: admin/includes/tab-settings.php:
|
701 |
msgid "Back-end target settings"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: admin/includes/tab-settings.php:
|
705 |
#, php-format
|
706 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: admin/includes/tab-settings.php:
|
710 |
msgid "Other areas"
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: admin/includes/tab-settings.php:
|
714 |
msgid "public facing pages"
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: admin/includes/tab-settings.php:
|
718 |
-
#: admin/includes/tab-settings.php:
|
719 |
-
#: admin/includes/tab-settings.php:
|
720 |
msgid "Block by country"
|
721 |
msgstr ""
|
722 |
|
723 |
-
#: admin/includes/tab-settings.php:
|
724 |
msgid "Completely close"
|
725 |
msgstr ""
|
726 |
|
727 |
-
#: admin/includes/tab-settings.php:
|
728 |
msgid ""
|
729 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
730 |
"actions</dfn>"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: admin/includes/tab-settings.php:
|
734 |
msgid "Prevent Zero-day Exploit"
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: admin/includes/tab-settings.php:
|
738 |
msgid ""
|
739 |
"It will block a request related to the services for both public facing pages "
|
740 |
"and the dashboard."
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: admin/includes/tab-settings.php:
|
744 |
msgid ""
|
745 |
"Regardless of the country code, it will block a malicious request related to "
|
746 |
"the services only for the dashboard."
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: admin/includes/tab-settings.php:
|
750 |
msgid "admin post for logged-in user"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: admin/includes/tab-settings.php:
|
754 |
msgid "admin post for non logged-in user"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: admin/includes/tab-settings.php:
|
758 |
msgid "Admin ajax/post"
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: admin/includes/tab-settings.php:
|
762 |
msgid ""
|
763 |
-
"
|
764 |
-
"
|
765 |
-
"
|
766 |
-
"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: admin/includes/tab-settings.php:
|
|
|
|
|
|
|
|
|
|
|
770 |
msgid "Toggle with non logged-in user"
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: admin/includes/tab-settings.php:
|
774 |
-
msgid "Candidate actions"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: admin/includes/tab-settings.php:
|
778 |
#, php-format
|
779 |
msgid ""
|
780 |
"Regardless of the country code, it will block a malicious request to <code>"
|
781 |
"%s⋯/*.php</code>."
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: admin/includes/tab-settings.php:
|
785 |
msgid ""
|
786 |
-
"
|
787 |
-
"
|
788 |
-
"INACTIVE”.\">Exceptions</dfn>"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: admin/includes/tab-settings.php:
|
792 |
#, php-format
|
793 |
msgid ""
|
794 |
"It configures “%s” to validate a request to the PHP file which "
|
795 |
-
"does not load WordPress core."
|
|
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: admin/includes/tab-settings.php:
|
799 |
msgid "Sorry, but your server type is not supported."
|
800 |
msgstr ""
|
801 |
|
802 |
-
#: admin/includes/tab-settings.php:
|
803 |
msgid "Force to load WP core"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: admin/includes/tab-settings.php:
|
807 |
msgid "Plugins area"
|
808 |
msgstr ""
|
809 |
|
810 |
-
#: admin/includes/tab-settings.php:
|
811 |
msgid "Themes area"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#: admin/includes/tab-settings.php:
|
815 |
msgid "Front-end target settings"
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: admin/includes/tab-settings.php:
|
819 |
msgid "Follow “Validation rule settings”"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: admin/includes/tab-settings.php:
|
823 |
#, php-format
|
824 |
msgid ""
|
825 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
@@ -827,53 +862,53 @@ msgid ""
|
|
827 |
"\">Response code</dfn> %s"
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: admin/includes/tab-settings.php:
|
831 |
msgid ""
|
832 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: admin/includes/tab-settings.php:
|
836 |
msgid ""
|
837 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
838 |
"target.\">Post type</dfn>"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: admin/includes/tab-settings.php:
|
842 |
msgid ""
|
843 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
844 |
"page as a blocking target.\">Category</dfn>"
|
845 |
msgstr ""
|
846 |
|
847 |
-
#: admin/includes/tab-settings.php:
|
848 |
msgid ""
|
849 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
850 |
"a blocking target.\">Tag</dfn>"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: admin/includes/tab-settings.php:
|
854 |
msgid "Specify the validation target on front-end."
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: admin/includes/tab-settings.php:
|
858 |
msgid "Validation target"
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: admin/includes/tab-settings.php:
|
862 |
msgid "All requests"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: admin/includes/tab-settings.php:
|
866 |
msgid "Specify the targets"
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: admin/includes/tab-settings.php:
|
870 |
msgid ""
|
871 |
"Notice that “Validation timing” is deferred till “"
|
872 |
"wp” action hook. It means that this feature would not be compatible "
|
873 |
"with any page caching."
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: admin/includes/tab-settings.php:
|
877 |
msgid ""
|
878 |
"A part of user agent string and a qualification connected with a separator "
|
879 |
"that indicates an applicable rule and can be “:” (pass) or "
|
@@ -883,19 +918,19 @@ msgid ""
|
|
883 |
"qualification”."
|
884 |
msgstr ""
|
885 |
|
886 |
-
#: admin/includes/tab-settings.php:
|
887 |
msgid "UA string and qualification"
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: admin/includes/tab-settings.php:
|
891 |
msgid "Specify the name of action that is invariably blocked."
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: admin/includes/tab-settings.php:
|
895 |
msgid "Excluded actions"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: admin/includes/tab-settings.php:
|
899 |
msgid ""
|
900 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
901 |
"server resources. If it is disabled, “HOST” and “"
|
@@ -903,35 +938,35 @@ msgid ""
|
|
903 |
"return “true”."
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: admin/includes/tab-settings.php:
|
907 |
msgid "DNS reverse lookup"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: admin/includes/tab-settings.php:
|
911 |
msgid ""
|
912 |
"It enables to simulate validation without deployment. The results can be "
|
913 |
"found at “Public facing pages” in Logs."
|
914 |
msgstr ""
|
915 |
|
916 |
-
#: admin/includes/tab-settings.php:
|
917 |
msgid "Simulation mode"
|
918 |
msgstr ""
|
919 |
|
920 |
-
#: admin/includes/tab-settings.php:
|
921 |
msgid "Geolocation API settings"
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: admin/includes/tab-settings.php:
|
925 |
msgid ""
|
926 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
927 |
"selection and key settings</dfn>"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: admin/includes/tab-settings.php:
|
931 |
msgid "Timeout for network API [sec]"
|
932 |
msgstr ""
|
933 |
|
934 |
-
#: admin/includes/tab-settings.php:
|
935 |
#, php-format
|
936 |
msgid ""
|
937 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
@@ -946,123 +981,123 @@ msgid ""
|
|
946 |
"troubles? | IP Geo Block\">this instruction</a>."
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: admin/includes/tab-settings.php:
|
950 |
msgid "Local database settings"
|
951 |
msgstr ""
|
952 |
|
953 |
-
#: admin/includes/tab-settings.php:
|
954 |
msgid "database"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: admin/includes/tab-settings.php:
|
958 |
msgid "Auto updating (once a month)"
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: admin/includes/tab-settings.php:
|
962 |
msgid "Download database"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: admin/includes/tab-settings.php:
|
966 |
msgid "Download now"
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: admin/includes/tab-settings.php:
|
970 |
msgid "Statistics and Logs settings"
|
971 |
msgstr ""
|
972 |
|
973 |
-
#: admin/includes/tab-settings.php:
|
974 |
msgid "Record “Statistics”"
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: admin/includes/tab-settings.php:
|
978 |
msgid "Maximum period for “Statistics” (days)"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: admin/includes/tab-settings.php:
|
982 |
msgid "Record “Logs”"
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: admin/includes/tab-settings.php:
|
986 |
msgid "When requests blocked"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: admin/includes/tab-settings.php:
|
990 |
msgid "When requests passed"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: admin/includes/tab-settings.php:
|
994 |
-
msgid "When blocked or passed
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: admin/includes/tab-settings.php:
|
998 |
msgid "Unauthenticated visitor"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: admin/includes/tab-settings.php:
|
1002 |
msgid "Authenticated user"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: admin/includes/tab-settings.php:
|
1006 |
msgid "All the validation"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: admin/includes/tab-settings.php:
|
1010 |
msgid "Maximum entries of “Logs”"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: admin/includes/tab-settings.php:
|
1014 |
msgid ""
|
1015 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1016 |
"recorded with their values in “Logs”</dfn>"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: admin/includes/tab-settings.php:
|
1020 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: admin/includes/tab-settings.php:
|
1024 |
msgid ""
|
1025 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1026 |
"“Live update”</dfn>"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: admin/includes/tab-settings.php:
|
1030 |
msgid "Ordinary file"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: admin/includes/tab-settings.php:
|
1034 |
msgid "In-Memory"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: admin/includes/tab-settings.php:
|
1038 |
msgid "PDO_SQLITE driver not available"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: admin/includes/tab-settings.php:
|
1042 |
msgid ""
|
1043 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1044 |
"without conflict with other plugins."
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: admin/includes/tab-settings.php:
|
1048 |
msgid ""
|
1049 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1050 |
"with other plugins using this method."
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#: admin/includes/tab-settings.php:
|
1054 |
msgid "Reset database source of “Live update”"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: admin/includes/tab-settings.php:
|
1058 |
msgid "Reset now"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: admin/includes/tab-settings.php:
|
1062 |
msgid "IP address cache settings"
|
1063 |
msgstr ""
|
1064 |
|
1065 |
-
#: admin/includes/tab-settings.php:
|
1066 |
#, php-format
|
1067 |
msgid ""
|
1068 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
@@ -1070,121 +1105,121 @@ msgid ""
|
|
1070 |
"\">Expiration time [sec]</dfn>"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: admin/includes/tab-settings.php:
|
1074 |
msgid "Garbage collection period [sec]"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: admin/includes/tab-settings.php:
|
1078 |
msgid "Number of entries to be displayed in cache"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: admin/includes/tab-settings.php:
|
1082 |
msgid "Submission settings"
|
1083 |
msgstr ""
|
1084 |
|
1085 |
-
#: admin/includes/tab-settings.php:
|
1086 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1087 |
msgstr ""
|
1088 |
|
1089 |
-
#: admin/includes/tab-settings.php:
|
1090 |
msgid "Message on comment form"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
-
#: admin/includes/tab-settings.php:
|
1094 |
msgid "None"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
-
#: admin/includes/tab-settings.php:
|
1098 |
msgid "Top"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
-
#: admin/includes/tab-settings.php:
|
1102 |
msgid "Bottom"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: admin/includes/tab-settings.php:
|
1106 |
msgid "Plugin settings"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
-
#: admin/includes/tab-settings.php:
|
1110 |
msgid ""
|
1111 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1112 |
"settings</dfn>"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: admin/includes/tab-settings.php:
|
1116 |
msgid "Remove all settings at uninstallation"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: admin/includes/tab-settings.php:
|
1120 |
msgid ""
|
1121 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1122 |
"dfn>"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: admin/includes/tab-settings.php:
|
1126 |
msgid ""
|
1127 |
"You need to click the “Save Changes” button for imported "
|
1128 |
"settings to take effect."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: admin/includes/tab-settings.php:
|
1132 |
msgid "Export / Import settings"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: admin/includes/tab-settings.php:
|
1136 |
msgid "Export settings"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: admin/includes/tab-settings.php:
|
1140 |
msgid "Import from the local file"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: admin/includes/tab-settings.php:
|
1144 |
msgid "Import settings"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: admin/includes/tab-settings.php:
|
1148 |
msgid "Import pre-defined settings"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: admin/includes/tab-settings.php:
|
1152 |
msgid ""
|
1153 |
"Import the default settings to revert to the “Right after "
|
1154 |
"installing” state"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
-
#: admin/includes/tab-settings.php:
|
1158 |
msgid "Default settings"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
-
#: admin/includes/tab-settings.php:
|
1162 |
msgid ""
|
1163 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1164 |
"for the “Back-end target settings”"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: admin/includes/tab-settings.php:
|
1168 |
msgid "Best for Back-end"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: admin/includes/tab-settings.php:
|
1172 |
msgid "Delete DB table for validation logs"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: admin/includes/tab-settings.php:
|
1176 |
msgid "Delete now"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
-
#: admin/includes/tab-settings.php:
|
1180 |
msgid "Create DB table for validation logs"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: admin/includes/tab-settings.php:
|
1184 |
msgid "Create now"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: admin/includes/tab-settings.php:
|
1188 |
msgid ""
|
1189 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1190 |
"button to find the blocked request in the dumped information which may help "
|
@@ -1193,15 +1228,15 @@ msgid ""
|
|
1193 |
"› Support » IP Geo Block\">support forum</a> ]"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
-
#: admin/includes/tab-settings.php:
|
1197 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: admin/includes/tab-settings.php:
|
1201 |
msgid "Show information"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: admin/includes/tab-settings.php:
|
1205 |
msgid ""
|
1206 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1207 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
@@ -1209,7 +1244,7 @@ msgid ""
|
|
1209 |
"\">The best practice for target settings</a>”."
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: admin/includes/tab-settings.php:
|
1213 |
msgid ""
|
1214 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1215 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
@@ -1218,18 +1253,18 @@ msgid ""
|
|
1218 |
"\">Codex</a>."
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: admin/includes/tab-settings.php:
|
1222 |
msgid ""
|
1223 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1224 |
"pass an IP address to the APIs via HTTP."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: admin/includes/tab-settings.php:
|
1228 |
msgid ""
|
1229 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: admin/includes/tab-settings.php:
|
1233 |
msgid ""
|
1234 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1235 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
@@ -1237,7 +1272,7 @@ msgid ""
|
|
1237 |
"cache plugin."
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: admin/includes/tab-settings.php:
|
1241 |
msgid ""
|
1242 |
"If you find any issues or have something to suggest, please feel free to "
|
1243 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
@@ -1245,20 +1280,20 @@ msgid ""
|
|
1245 |
"\">support forum</a>."
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: admin/includes/tab-settings.php:
|
1249 |
msgid ""
|
1250 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1251 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
1252 |
"Block\">Record settings and logs</a>” for details."
|
1253 |
msgstr ""
|
1254 |
|
1255 |
-
#: admin/includes/class-admin-rewrite.php:
|
1256 |
-
#: admin/includes/class-admin-rewrite.php:
|
1257 |
#, php-format
|
1258 |
msgid "Or please refer to %s to set it manually."
|
1259 |
msgstr ""
|
1260 |
|
1261 |
-
#: admin/includes/class-admin-rewrite.php:
|
1262 |
#, php-format
|
1263 |
msgid "“auto_prepend_file” already defined in %s."
|
1264 |
msgstr ""
|
@@ -1336,7 +1371,7 @@ msgid "Clear statistics"
|
|
1336 |
msgstr ""
|
1337 |
|
1338 |
#: admin/includes/tab-statistics.php:185
|
1339 |
-
msgid "Statistics in
|
1340 |
msgstr ""
|
1341 |
|
1342 |
#: admin/includes/tab-statistics.php:217
|
@@ -1355,35 +1390,39 @@ msgstr ""
|
|
1355 |
msgid "Clear cache"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: admin/includes/tab-statistics.php:
|
1359 |
msgid "Country (Top 10)"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: admin/includes/tab-statistics.php:
|
1363 |
msgid "AS number (Top 10)"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
#: admin/includes/tab-statistics.php:
|
1367 |
msgid "IP address (Top 10)"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
-
#: admin/includes/tab-statistics.php:
|
1371 |
msgid "Slug in back-end"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
-
#: admin/includes/tab-statistics.php:
|
|
|
|
|
|
|
|
|
1375 |
msgid ""
|
1376 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1377 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: admin/includes/tab-statistics.php:
|
1381 |
msgid ""
|
1382 |
"Please set the proper condition to record and analyze the validation "
|
1383 |
"statistics."
|
1384 |
msgstr ""
|
1385 |
|
1386 |
-
#: admin/includes/tab-statistics.php:
|
1387 |
msgid ""
|
1388 |
"Please set the proper condition to record and analyze the validation logs."
|
1389 |
msgstr ""
|
1 |
+
# Copyright (C) 2013-2018 tokkonopapa
|
2 |
# This file is distributed under the same license as the IP Geo Block package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: IP Geo Block 3.0.6\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
|
7 |
+
"POT-Creation-Date: 2018-01-08 21:11+0900\n"
|
8 |
+
"PO-Revision-Date: 2018-01-08 21:11+0900\n"
|
9 |
"Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"MIME-Version: 1.0\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
|
22 |
#. Description of the plugin/theme
|
23 |
+
msgid ""
|
24 |
+
"It blocks any spams, login attempts and malicious access to the admin area "
|
25 |
+
"posted from outside your nation, and also prevents zero-day exploit."
|
26 |
msgstr ""
|
27 |
|
28 |
#: classes/class-ip-geo-block-opts.php:409
|
29 |
#: classes/class-ip-geo-block-cron.php:273
|
30 |
#: classes/class-ip-geo-block-cron.php:305
|
31 |
+
#: admin/class-ip-geo-block-admin.php:1210
|
32 |
+
#: admin/includes/class-admin-rewrite.php:194
|
33 |
#, php-format
|
34 |
msgid "Unable to write <code>%s</code>. Please check the permission."
|
35 |
msgstr ""
|
40 |
|
41 |
#: classes/class-ip-geo-block-cron.php:268
|
42 |
#: classes/class-ip-geo-block-cron.php:300
|
43 |
+
#: admin/includes/class-admin-rewrite.php:168
|
44 |
#, php-format
|
45 |
msgid "Unable to read <code>%s</code>. Please check the permission."
|
46 |
msgstr ""
|
55 |
msgstr ""
|
56 |
|
57 |
#: classes/class-ip-geo-block-cron.php:334
|
58 |
+
#: admin/includes/tab-settings.php:1131
|
59 |
#, php-format
|
60 |
msgid "Last update: %s"
|
61 |
msgstr ""
|
96 |
"<strong>you'll be blocked</strong> after the cache expires."
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: admin/class-ip-geo-block-admin.php:260
|
100 |
msgid "Import settings ?"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: admin/class-ip-geo-block-admin.php:261
|
104 |
msgid "Create table ?"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: admin/class-ip-geo-block-admin.php:262
|
108 |
msgid "Delete table ?"
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: admin/class-ip-geo-block-admin.php:263
|
112 |
msgid "Clear statistics ?"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: admin/class-ip-geo-block-admin.php:264
|
116 |
msgid "Clear cache ?"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: admin/class-ip-geo-block-admin.php:265
|
120 |
msgid "Clear logs ?"
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: admin/class-ip-geo-block-admin.php:266
|
124 |
msgid "ajax for logged-in user"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: admin/class-ip-geo-block-admin.php:267
|
128 |
msgid "ajax for non logged-in user"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: admin/class-ip-geo-block-admin.php:268
|
132 |
+
#, php-format
|
133 |
+
msgid "[Found: %d]"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: admin/class-ip-geo-block-admin.php:269
|
137 |
+
#, php-format
|
138 |
+
msgid "Find and verify `%s` on “Logs” tab."
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: admin/class-ip-geo-block-admin.php:270
|
142 |
msgid "This feature is available with HTML5 compliant browsers."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: admin/class-ip-geo-block-admin.php:271
|
146 |
msgid "The selected row cannot be found in the visible area."
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: admin/class-ip-geo-block-admin.php:272
|
150 |
+
#: admin/class-ip-geo-block-admin.php:1403
|
151 |
+
#, php-format
|
152 |
+
msgid "An error occurred while executing the ajax command `%s`."
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: admin/class-ip-geo-block-admin.php:276
|
156 |
msgid "No data available in table"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: admin/class-ip-geo-block-admin.php:277
|
160 |
msgid "No matching records found"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: admin/class-ip-geo-block-admin.php:278
|
164 |
#: admin/includes/tab-geolocation.php:71
|
165 |
msgid "IP address"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: admin/class-ip-geo-block-admin.php:279
|
169 |
msgid "Code"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: admin/class-ip-geo-block-admin.php:280
|
173 |
msgid "ASN"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: admin/class-ip-geo-block-admin.php:281
|
177 |
msgid "Host name"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: admin/class-ip-geo-block-admin.php:282
|
181 |
msgid "Target"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: admin/class-ip-geo-block-admin.php:283
|
185 |
msgid "Failure / Total"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: admin/class-ip-geo-block-admin.php:284
|
189 |
msgid "Elapsed[sec]"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: admin/class-ip-geo-block-admin.php:285
|
193 |
msgid "Time"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: admin/class-ip-geo-block-admin.php:286
|
197 |
msgid "Result"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: admin/class-ip-geo-block-admin.php:287
|
201 |
msgid "Request"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: admin/class-ip-geo-block-admin.php:288
|
205 |
msgid "User agent"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: admin/class-ip-geo-block-admin.php:289
|
209 |
msgid "HTTP headers"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: admin/class-ip-geo-block-admin.php:290
|
213 |
msgid "$_POST data"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: admin/class-ip-geo-block-admin.php:308
|
217 |
msgid "Contribute on GitHub"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: admin/class-ip-geo-block-admin.php:322
|
221 |
+
#: admin/class-ip-geo-block-admin.php:430
|
222 |
+
#: admin/class-ip-geo-block-admin.php:638
|
223 |
+
#: admin/class-ip-geo-block-admin.php:657
|
224 |
msgid "Settings"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: admin/class-ip-geo-block-admin.php:410
|
228 |
+
#: admin/class-ip-geo-block-admin.php:411
|
229 |
+
#: admin/class-ip-geo-block-admin.php:421
|
230 |
+
#: admin/class-ip-geo-block-admin.php:422
|
231 |
#: admin/class-ip-geo-block-admin.php:429
|
232 |
+
#: admin/class-ip-geo-block-admin.php:437
|
|
|
233 |
msgid "IP Geo Block"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: admin/class-ip-geo-block-admin.php:438
|
237 |
+
#: admin/class-ip-geo-block-admin.php:642
|
238 |
+
#: admin/class-ip-geo-block-admin.php:658
|
239 |
msgid "Site List"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: admin/class-ip-geo-block-admin.php:467
|
243 |
msgid "You need WordPress 3.7+."
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: admin/class-ip-geo-block-admin.php:473
|
247 |
#, php-format
|
248 |
msgid ""
|
249 |
"Now downloading geolocation databases in background. After a little while, "
|
251 |
"strong>” at <a href=\"%s\">Validation rule settings</a>."
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: admin/class-ip-geo-block-admin.php:479
|
255 |
#, php-format
|
256 |
msgid ""
|
257 |
"The “<strong>Matching rule</strong>” is not set properly. Please "
|
258 |
"confirm it at <a href=\"%s\">Validation rule settings</a>."
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: admin/class-ip-geo-block-admin.php:488
|
262 |
msgid "Local database and matching rule have been updated."
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: admin/class-ip-geo-block-admin.php:499
|
266 |
msgid ""
|
267 |
"Once you logout, you will be unable to login again because the number of "
|
268 |
"login attempts reaches the limit."
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: admin/class-ip-geo-block-admin.php:501
|
272 |
#, php-format
|
273 |
msgid ""
|
274 |
"Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
|
275 |
"tab</a> to prevent locking yourself out."
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: admin/class-ip-geo-block-admin.php:511
|
279 |
msgid ""
|
280 |
"Once you logout, you will be unable to login again because your country code "
|
281 |
"or IP address is in the blacklist."
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: admin/class-ip-geo-block-admin.php:512
|
285 |
msgid ""
|
286 |
"Once you logout, you will be unable to login again because your country code "
|
287 |
"or IP address is not in the whitelist."
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: admin/class-ip-geo-block-admin.php:515
|
291 |
#, php-format
|
292 |
msgid "Please check your <a href=\"%s\">Validation rule settings</a>."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: admin/class-ip-geo-block-admin.php:526
|
296 |
msgid ""
|
297 |
"“mu-plugins” (ip-geo-block-mu.php) at “Validation "
|
298 |
"timing” is imcompatible with <strong>IP Geo Allow</strong>. Please "
|
299 |
"select “init” action hook."
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: admin/class-ip-geo-block-admin.php:639
|
303 |
msgid "Statistics"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: admin/class-ip-geo-block-admin.php:640
|
307 |
msgid "Logs"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: admin/class-ip-geo-block-admin.php:641
|
311 |
msgid "Search"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: admin/class-ip-geo-block-admin.php:643
|
315 |
msgid "Attribution"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: admin/class-ip-geo-block-admin.php:669
|
319 |
msgid "Network wide"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: admin/class-ip-geo-block-admin.php:682
|
323 |
msgid "Toggle all"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: admin/class-ip-geo-block-admin.php:685
|
327 |
msgid ""
|
328 |
"Independent of “Statistics and Logs settings”, you can see all "
|
329 |
"the requests validated by this plugin in almost real time."
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: admin/class-ip-geo-block-admin.php:685 admin/includes/tab-accesslog.php:37
|
333 |
msgid "Live update"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: admin/class-ip-geo-block-admin.php:689
|
337 |
msgid "Open a new window on clicking the link in the chart."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: admin/class-ip-geo-block-admin.php:689
|
341 |
msgid "Open a new window"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: admin/class-ip-geo-block-admin.php:712
|
345 |
msgid "Thanks for providing these great services for free."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: admin/class-ip-geo-block-admin.php:713
|
349 |
msgid ""
|
350 |
"(Most browsers will redirect you to each site <a href=\"http://www."
|
351 |
"ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
|
352 |
"when you click the link</a>.)"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: admin/class-ip-geo-block-admin.php:718
|
356 |
msgid "Back to top"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: admin/class-ip-geo-block-admin.php:815
|
360 |
msgid "Enable"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: admin/class-ip-geo-block-admin.php:830
|
364 |
msgid "Select one"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: admin/class-ip-geo-block-admin.php:1240
|
368 |
msgid "Settings saved."
|
369 |
msgstr ""
|
370 |
|
372 |
msgid "Validation logs"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
|
376 |
msgid "Comment post"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
|
380 |
msgid "XML-RPC"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
|
384 |
msgid "Login form"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
|
388 |
msgid "Admin area"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
|
392 |
msgid "Public facing pages"
|
393 |
msgstr ""
|
394 |
|
446 |
msgid "Export logs"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
|
450 |
msgid "Export to the local file"
|
451 |
msgstr ""
|
452 |
|
455 |
msgstr ""
|
456 |
|
457 |
#: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
|
458 |
+
#: admin/includes/tab-statistics.php:397
|
459 |
msgid ""
|
460 |
"[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
|
461 |
"is [<strong>Disable</strong>]."
|
546 |
msgid "Toggle selection"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: admin/includes/tab-settings.php:119
|
550 |
+
msgid "Find blocked requests in “Logs“"
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: admin/includes/tab-settings.php:120
|
554 |
+
msgid ""
|
555 |
+
"Before adding as “Exception”, please click on “<a class="
|
556 |
+
"\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
|
557 |
+
"sample.\"><span></span></a>” button (if exists) attached to the "
|
558 |
+
"following list to confirm that the blocked request is not malicious."
|
559 |
+
msgstr ""
|
560 |
+
|
561 |
+
#: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
|
562 |
msgid "Matching rule"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: admin/includes/tab-settings.php:139
|
566 |
msgid ""
|
567 |
"A request from which the country code or IP address is <strong>NOT</strong> "
|
568 |
"in the whitelist will be blocked."
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: admin/includes/tab-settings.php:140
|
572 |
msgid ""
|
573 |
"A request from which the country code or IP address is in the blacklist will "
|
574 |
"be blocked."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: admin/includes/tab-settings.php:186
|
578 |
msgid ""
|
579 |
"<dfn title=\"It enables utilizing “AS number” in the “"
|
580 |
"Whitelist/Blacklist of extra IP addresses” to specify a group of IP "
|
581 |
"networks.\">Use Autonomous System Number</dfn>"
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: admin/includes/tab-settings.php:197
|
585 |
#, php-format
|
586 |
msgid ""
|
587 |
"Some useful tools for investigating ASN are introduced in “%s”."
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: admin/includes/tab-settings.php:206
|
591 |
msgid ""
|
592 |
"<dfn title=\"e.g. “192.0.64.0/18” for Jetpack server, "
|
593 |
"“69.46.36.0/27” for WordFence server or “AS32934” "
|
594 |
"for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: admin/includes/tab-settings.php:226
|
598 |
msgid ""
|
599 |
"<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
|
600 |
"\">Blacklist of extra IP addresses prior to country code</dfn>"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: admin/includes/tab-settings.php:247
|
604 |
msgid ""
|
605 |
"<dfn title=\"If your server is placed behind the proxy server or the load "
|
606 |
"balancing server, you need to put the appropriate key such as “"
|
609 |
"addresses</dfn>"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: admin/includes/tab-settings.php:266
|
613 |
msgid ""
|
614 |
"<dfn title=\"It validates malicious signatures independently of “Block "
|
615 |
"by country” and “Prevent Zero-day Exploit” for the target "
|
616 |
"“Admin area”, “Admin ajax/post”, “Plugins "
|
617 |
"area” and “Themes area”.\">Bad signatures in query</dfn> "
|
618 |
+
"<nobr>(<a class=\"ip-geo-block-icon ip-geo-block-icon-cycle\" id=\"ip-geo-"
|
619 |
+
"block-decode\" title=\"When you find ugly character string in the text area, "
|
620 |
+
"please click to restore.\"><span></span></a>)</nobr>"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: admin/includes/tab-settings.php:280
|
624 |
msgid ""
|
625 |
"<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: admin/includes/tab-settings.php:291
|
629 |
msgid ""
|
630 |
"<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
|
631 |
"extensions</dfn>"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: admin/includes/tab-settings.php:295
|
635 |
msgid ""
|
636 |
"<dfn title=\"Specify the capabilities to be verified. Depending on the "
|
637 |
"particular type of uploader, certain capability may be required. Default is "
|
639 |
"verification will be skipped if empty.\">Capabilities to be verified</dfn>"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: admin/includes/tab-settings.php:295
|
643 |
msgid ""
|
644 |
"( See “<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
|
645 |
"Roles_and_Capabilities\" title=\"Roles and Capabilities « WordPress "
|
646 |
"Codex\">Roles and Capabilities</a>” )"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: admin/includes/tab-settings.php:302
|
650 |
msgid ""
|
651 |
"<dfn title=\"It restricts the file types on upload in order to block malware "
|
652 |
"and backdoor via both back-end and front-end. Please consider to select "
|
655 |
"this validation.\">Prevent malicious file uploading</dfn>"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
|
659 |
+
#: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
|
660 |
msgid "Disable"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: admin/includes/tab-settings.php:314
|
664 |
msgid "Verify file extension and MIME type"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: admin/includes/tab-settings.php:315
|
668 |
msgid "Verify file extension only"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: admin/includes/tab-settings.php:325
|
672 |
#, php-format
|
673 |
msgid ""
|
674 |
"<dfn title=\"You can put your original 403.php and so on into your theme "
|
675 |
"directory.\">Response code</dfn> %s"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
|
679 |
msgid ""
|
680 |
"<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
|
681 |
"to a public facing page, visitors would not be blocked on the page to "
|
684 |
"\">Redirect URL</dfn>"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
|
688 |
msgid ""
|
689 |
"<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
|
690 |
"message</dfn>"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: admin/includes/tab-settings.php:390
|
694 |
msgid ""
|
695 |
"<dfn title=\"This is applied to “XML-RPC” and “Login "
|
696 |
"form”. Lockout period is defined as expiration time at “Cache "
|
697 |
"settings”.\">Max number of failed login attempts per IP address</dfn>"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: admin/includes/tab-settings.php:418
|
701 |
msgid "Select when to run the validation."
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: admin/includes/tab-settings.php:418
|
705 |
msgid "Validation timing"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: admin/includes/tab-settings.php:429
|
709 |
msgid "“init” action hook"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: admin/includes/tab-settings.php:430
|
713 |
msgid "“mu-plugins” (ip-geo-block-mu.php)"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: admin/includes/tab-settings.php:433
|
717 |
msgid ""
|
718 |
"Validate at “init” action hook in the same manner as typical "
|
719 |
"plugins."
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: admin/includes/tab-settings.php:434
|
723 |
msgid ""
|
724 |
"Validate at an earlier phase than other typical plugins. It can reduce load "
|
725 |
"on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
|
727 |
"restrictions</a>."
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: admin/includes/tab-settings.php:444
|
731 |
msgid "Back-end target settings"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: admin/includes/tab-settings.php:450
|
735 |
#, php-format
|
736 |
msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: admin/includes/tab-settings.php:456
|
740 |
msgid "Other areas"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: admin/includes/tab-settings.php:457
|
744 |
msgid "public facing pages"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
|
748 |
+
#: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
|
749 |
+
#: admin/includes/tab-settings.php:779
|
750 |
msgid "Block by country"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: admin/includes/tab-settings.php:496
|
754 |
msgid "Completely close"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: admin/includes/tab-settings.php:529
|
758 |
msgid ""
|
759 |
"<dfn title=\"Specify the individual action as a blocking target.\">Target "
|
760 |
"actions</dfn>"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: admin/includes/tab-settings.php:535
|
764 |
msgid "Prevent Zero-day Exploit"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: admin/includes/tab-settings.php:539
|
768 |
msgid ""
|
769 |
"It will block a request related to the services for both public facing pages "
|
770 |
"and the dashboard."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: admin/includes/tab-settings.php:540
|
774 |
msgid ""
|
775 |
"Regardless of the country code, it will block a malicious request related to "
|
776 |
"the services only for the dashboard."
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: admin/includes/tab-settings.php:563
|
780 |
msgid "admin post for logged-in user"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: admin/includes/tab-settings.php:564
|
784 |
msgid "admin post for non logged-in user"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: admin/includes/tab-settings.php:588
|
788 |
msgid "Admin ajax/post"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: admin/includes/tab-settings.php:602
|
792 |
msgid ""
|
793 |
+
"Specify the action name (“action=…”) or the page name "
|
794 |
+
"(“page=…”) to prevent unintended blocking caused by "
|
795 |
+
"“Block by country” (for non logged-in user) and “Prevent "
|
796 |
+
"Zero-day Exploit” (for logged-in user)."
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
|
800 |
+
#: admin/includes/tab-settings.php:741
|
801 |
+
msgid "Exceptions"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: admin/includes/tab-settings.php:603
|
805 |
msgid "Toggle with non logged-in user"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: admin/includes/tab-settings.php:606
|
809 |
+
msgid "Candidate actions/pages"
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: admin/includes/tab-settings.php:620
|
813 |
#, php-format
|
814 |
msgid ""
|
815 |
"Regardless of the country code, it will block a malicious request to <code>"
|
816 |
"%s⋯/*.php</code>."
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: admin/includes/tab-settings.php:621
|
820 |
msgid ""
|
821 |
+
"Select the item which causes unintended blocking in order to exclude from "
|
822 |
+
"the validation target. Grayed item indicates “INACTIVE”."
|
|
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: admin/includes/tab-settings.php:622
|
826 |
#, php-format
|
827 |
msgid ""
|
828 |
"It configures “%s” to validate a request to the PHP file which "
|
829 |
+
"does not load WordPress core. Make sure to deny direct access to the hidden "
|
830 |
+
"files beginning with a dot by the server's configuration."
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: admin/includes/tab-settings.php:623
|
834 |
msgid "Sorry, but your server type is not supported."
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
|
838 |
msgid "Force to load WP core"
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: admin/includes/tab-settings.php:664
|
842 |
msgid "Plugins area"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: admin/includes/tab-settings.php:725
|
846 |
msgid "Themes area"
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: admin/includes/tab-settings.php:760
|
850 |
msgid "Front-end target settings"
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: admin/includes/tab-settings.php:784
|
854 |
msgid "Follow “Validation rule settings”"
|
855 |
msgstr ""
|
856 |
|
857 |
+
#: admin/includes/tab-settings.php:846
|
858 |
#, php-format
|
859 |
msgid ""
|
860 |
"<dfn title=\"You can configure a different response code from the Back-end. "
|
862 |
"\">Response code</dfn> %s"
|
863 |
msgstr ""
|
864 |
|
865 |
+
#: admin/includes/tab-settings.php:912
|
866 |
msgid ""
|
867 |
"<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: admin/includes/tab-settings.php:924
|
871 |
msgid ""
|
872 |
"<dfn title=\"Specify the individual post type on a single page as a blocking "
|
873 |
"target.\">Post type</dfn>"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: admin/includes/tab-settings.php:936
|
877 |
msgid ""
|
878 |
"<dfn title=\"Specify the individual category on a single page or archive "
|
879 |
"page as a blocking target.\">Category</dfn>"
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: admin/includes/tab-settings.php:948
|
883 |
msgid ""
|
884 |
"<dfn title=\"Specify the individual tag on a single page or archive page as "
|
885 |
"a blocking target.\">Tag</dfn>"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: admin/includes/tab-settings.php:963
|
889 |
msgid "Specify the validation target on front-end."
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: admin/includes/tab-settings.php:963
|
893 |
msgid "Validation target"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: admin/includes/tab-settings.php:974
|
897 |
msgid "All requests"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: admin/includes/tab-settings.php:975
|
901 |
msgid "Specify the targets"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: admin/includes/tab-settings.php:978
|
905 |
msgid ""
|
906 |
"Notice that “Validation timing” is deferred till “"
|
907 |
"wp” action hook. It means that this feature would not be compatible "
|
908 |
"with any page caching."
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: admin/includes/tab-settings.php:988
|
912 |
msgid ""
|
913 |
"A part of user agent string and a qualification connected with a separator "
|
914 |
"that indicates an applicable rule and can be “:” (pass) or "
|
918 |
"qualification”."
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: admin/includes/tab-settings.php:988
|
922 |
msgid "UA string and qualification"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: admin/includes/tab-settings.php:1007
|
926 |
msgid "Specify the name of action that is invariably blocked."
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: admin/includes/tab-settings.php:1007
|
930 |
msgid "Excluded actions"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: admin/includes/tab-settings.php:1026
|
934 |
msgid ""
|
935 |
"It enables to verify the host by reverse DNS lookup which would spend some "
|
936 |
"server resources. If it is disabled, “HOST” and “"
|
938 |
"return “true”."
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: admin/includes/tab-settings.php:1026
|
942 |
msgid "DNS reverse lookup"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: admin/includes/tab-settings.php:1043
|
946 |
msgid ""
|
947 |
"It enables to simulate validation without deployment. The results can be "
|
948 |
"found at “Public facing pages” in Logs."
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: admin/includes/tab-settings.php:1043
|
952 |
msgid "Simulation mode"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: admin/includes/tab-settings.php:1061
|
956 |
msgid "Geolocation API settings"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: admin/includes/tab-settings.php:1070
|
960 |
msgid ""
|
961 |
"<dfn title=\"Cache and local database are scanned at the top priority.\">API "
|
962 |
"selection and key settings</dfn>"
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: admin/includes/tab-settings.php:1089
|
966 |
msgid "Timeout for network API [sec]"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: admin/includes/tab-settings.php:1109
|
970 |
#, php-format
|
971 |
msgid ""
|
972 |
"Can not find geolocation API libraries in <code>%s</code>. It seems to have "
|
981 |
"troubles? | IP Geo Block\">this instruction</a>."
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: admin/includes/tab-settings.php:1116
|
985 |
msgid "Local database settings"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: admin/includes/tab-settings.php:1130
|
989 |
msgid "database"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: admin/includes/tab-settings.php:1140
|
993 |
msgid "Auto updating (once a month)"
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: admin/includes/tab-settings.php:1157
|
997 |
msgid "Download database"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: admin/includes/tab-settings.php:1165
|
1001 |
msgid "Download now"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: admin/includes/tab-settings.php:1176
|
1005 |
msgid "Statistics and Logs settings"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: admin/includes/tab-settings.php:1185
|
1009 |
msgid "Record “Statistics”"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: admin/includes/tab-settings.php:1202
|
1013 |
msgid "Maximum period for “Statistics” (days)"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: admin/includes/tab-settings.php:1220
|
1017 |
msgid "Record “Logs”"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: admin/includes/tab-settings.php:1232
|
1021 |
msgid "When requests blocked"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: admin/includes/tab-settings.php:1233
|
1025 |
msgid "When requests passed"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: admin/includes/tab-settings.php:1234
|
1029 |
+
msgid "When “blocked” or “passed (not in whitelist)”"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: admin/includes/tab-settings.php:1235
|
1033 |
msgid "Unauthenticated visitor"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: admin/includes/tab-settings.php:1236
|
1037 |
msgid "Authenticated user"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: admin/includes/tab-settings.php:1237
|
1041 |
msgid "All the validation"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: admin/includes/tab-settings.php:1246
|
1045 |
msgid "Maximum entries of “Logs”"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: admin/includes/tab-settings.php:1263
|
1049 |
msgid ""
|
1050 |
"<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
|
1051 |
"recorded with their values in “Logs”</dfn>"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: admin/includes/tab-settings.php:1281
|
1055 |
msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: admin/includes/tab-settings.php:1298
|
1059 |
msgid ""
|
1060 |
"<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
|
1061 |
"“Live update”</dfn>"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: admin/includes/tab-settings.php:1310
|
1065 |
msgid "Ordinary file"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: admin/includes/tab-settings.php:1311
|
1069 |
msgid "In-Memory"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: admin/includes/tab-settings.php:1314
|
1073 |
msgid "PDO_SQLITE driver not available"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: admin/includes/tab-settings.php:1315
|
1077 |
msgid ""
|
1078 |
"It takes a few tens of milliseconds as overhead. It can be safely used "
|
1079 |
"without conflict with other plugins."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: admin/includes/tab-settings.php:1316
|
1083 |
msgid ""
|
1084 |
"It takes a few milliseconds as overhead. There is a possibility of conflict "
|
1085 |
"with other plugins using this method."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: admin/includes/tab-settings.php:1325
|
1089 |
msgid "Reset database source of “Live update”"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: admin/includes/tab-settings.php:1333
|
1093 |
msgid "Reset now"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: admin/includes/tab-settings.php:1344
|
1097 |
msgid "IP address cache settings"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: admin/includes/tab-settings.php:1353
|
1101 |
#, php-format
|
1102 |
msgid ""
|
1103 |
"<dfn title=\"If user authentication fails consecutively %d times, subsequent "
|
1105 |
"\">Expiration time [sec]</dfn>"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: admin/includes/tab-settings.php:1369
|
1109 |
msgid "Garbage collection period [sec]"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: admin/includes/tab-settings.php:1386
|
1113 |
msgid "Number of entries to be displayed in cache"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: admin/includes/tab-settings.php:1404
|
1117 |
msgid "Submission settings"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: admin/includes/tab-settings.php:1416
|
1121 |
msgid "The whole will be wrapped by <p> tag. Allowed tags: "
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: admin/includes/tab-settings.php:1416
|
1125 |
msgid "Message on comment form"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: admin/includes/tab-settings.php:1428
|
1129 |
msgid "None"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: admin/includes/tab-settings.php:1429
|
1133 |
msgid "Top"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: admin/includes/tab-settings.php:1430
|
1137 |
msgid "Bottom"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: admin/includes/tab-settings.php:1441
|
1141 |
msgid "Plugin settings"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: admin/includes/tab-settings.php:1454
|
1145 |
msgid ""
|
1146 |
"<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
|
1147 |
"settings</dfn>"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: admin/includes/tab-settings.php:1472
|
1151 |
msgid "Remove all settings at uninstallation"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: admin/includes/tab-settings.php:1490
|
1155 |
msgid ""
|
1156 |
"<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
|
1157 |
"dfn>"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: admin/includes/tab-settings.php:1504
|
1161 |
msgid ""
|
1162 |
"You need to click the “Save Changes” button for imported "
|
1163 |
"settings to take effect."
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: admin/includes/tab-settings.php:1510
|
1167 |
msgid "Export / Import settings"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: admin/includes/tab-settings.php:1517
|
1171 |
msgid "Export settings"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: admin/includes/tab-settings.php:1518
|
1175 |
msgid "Import from the local file"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: admin/includes/tab-settings.php:1518
|
1179 |
msgid "Import settings"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: admin/includes/tab-settings.php:1527
|
1183 |
msgid "Import pre-defined settings"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: admin/includes/tab-settings.php:1534
|
1187 |
msgid ""
|
1188 |
"Import the default settings to revert to the “Right after "
|
1189 |
"installing” state"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: admin/includes/tab-settings.php:1534
|
1193 |
msgid "Default settings"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: admin/includes/tab-settings.php:1535
|
1197 |
msgid ""
|
1198 |
"Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
|
1199 |
"for the “Back-end target settings”"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: admin/includes/tab-settings.php:1535
|
1203 |
msgid "Best for Back-end"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: admin/includes/tab-settings.php:1545
|
1207 |
msgid "Delete DB table for validation logs"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: admin/includes/tab-settings.php:1553
|
1211 |
msgid "Delete now"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: admin/includes/tab-settings.php:1561
|
1215 |
msgid "Create DB table for validation logs"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: admin/includes/tab-settings.php:1569
|
1219 |
msgid "Create now"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: admin/includes/tab-settings.php:1579
|
1223 |
msgid ""
|
1224 |
"<dfn title=\"When an unexpected blocking has occurred, please press the "
|
1225 |
"button to find the blocked request in the dumped information which may help "
|
1228 |
"› Support » IP Geo Block\">support forum</a> ]"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: admin/includes/tab-settings.php:1586
|
1232 |
msgid "Please copy & paste when submitting your issue to support forum."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: admin/includes/tab-settings.php:1586
|
1236 |
msgid "Show information"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: admin/includes/tab-settings.php:1602
|
1240 |
msgid ""
|
1241 |
"To enhance the protection ability, please refer to “<a rel=\"noreferrer"
|
1242 |
"\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
|
1244 |
"\">The best practice for target settings</a>”."
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: admin/includes/tab-settings.php:1603
|
1248 |
msgid ""
|
1249 |
"If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
|
1250 |
"\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
|
1253 |
"\">Codex</a>."
|
1254 |
msgstr ""
|
1255 |
|
1256 |
+
#: admin/includes/tab-settings.php:1610
|
1257 |
msgid ""
|
1258 |
"While Maxmind and IP2Location will fetch the local database, others will "
|
1259 |
"pass an IP address to the APIs via HTTP."
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: admin/includes/tab-settings.php:1611
|
1263 |
msgid ""
|
1264 |
"Please select the appropriate APIs to fit the privacy law in your country."
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: admin/includes/tab-settings.php:1618
|
1268 |
msgid ""
|
1269 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1270 |
"ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
|
1272 |
"cache plugin."
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: admin/includes/tab-settings.php:1619
|
1276 |
msgid ""
|
1277 |
"If you find any issues or have something to suggest, please feel free to "
|
1278 |
"open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
|
1280 |
"\">support forum</a>."
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: admin/includes/tab-settings.php:1626
|
1284 |
msgid ""
|
1285 |
"Please refer to the document “<a rel=\"noreferrer\" href=\"http://www."
|
1286 |
"ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
|
1287 |
"Block\">Record settings and logs</a>” for details."
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: admin/includes/class-admin-rewrite.php:169
|
1291 |
+
#: admin/includes/class-admin-rewrite.php:195
|
1292 |
#, php-format
|
1293 |
msgid "Or please refer to %s to set it manually."
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: admin/includes/class-admin-rewrite.php:234
|
1297 |
#, php-format
|
1298 |
msgid "“auto_prepend_file” already defined in %s."
|
1299 |
msgstr ""
|
1371 |
msgstr ""
|
1372 |
|
1373 |
#: admin/includes/tab-statistics.php:185
|
1374 |
+
msgid "Statistics in Logs"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
#: admin/includes/tab-statistics.php:217
|
1390 |
msgid "Clear cache"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: admin/includes/tab-statistics.php:288
|
1394 |
msgid "Country (Top 10)"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: admin/includes/tab-statistics.php:289
|
1398 |
msgid "AS number (Top 10)"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: admin/includes/tab-statistics.php:290
|
1402 |
msgid "IP address (Top 10)"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: admin/includes/tab-statistics.php:291
|
1406 |
msgid "Slug in back-end"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: admin/includes/tab-statistics.php:343
|
1410 |
+
msgid "Toggle sorting order"
|
1411 |
+
msgstr ""
|
1412 |
+
|
1413 |
+
#: admin/includes/tab-statistics.php:392
|
1414 |
msgid ""
|
1415 |
"[<strong>Record validation statistics</strong>] on [<strong>Settings</"
|
1416 |
"strong>] tab is not selected as [<strong>Enable</strong>]."
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: admin/includes/tab-statistics.php:393
|
1420 |
msgid ""
|
1421 |
"Please set the proper condition to record and analyze the validation "
|
1422 |
"statistics."
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: admin/includes/tab-statistics.php:398
|
1426 |
msgid ""
|
1427 |
"Please set the proper condition to record and analyze the validation logs."
|
1428 |
msgstr ""
|
rewrite-ini.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* IP Geo Block - Execute rewrited request
|
4 |
+
*
|
5 |
+
* @package IP_Geo_Block
|
6 |
+
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
+
* @license GPL-2.0+
|
8 |
+
* @link http://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
|
13 |
+
* accept malicious requests directly without loading WP core, then validation
|
14 |
+
* by WP-ZEP will be bypassed. To avoid such bypassing, those requests should
|
15 |
+
* be redirected to this file in order to load WP core. The `.user.ini` in the
|
16 |
+
* plugins/themes directory will help this redirection if it is configured as
|
17 |
+
* follows on nginx for example:
|
18 |
+
*
|
19 |
+
* ; BEGIN IP Geo Block
|
20 |
+
* auto_prepend_file = "/home/wp-content/plugins/ip-geo-block/rewrite-ini.php"
|
21 |
+
* ; END IP Geo Block
|
22 |
+
*
|
23 |
+
* The redirected requests will be verified against the certain attack patterns
|
24 |
+
* such as null byte attack or directory traversal, and then load the WordPress
|
25 |
+
* core module through wp-load.php to triger WP-ZEP.
|
26 |
+
*/
|
27 |
+
|
28 |
+
if ( ! class_exists( 'IP_Geo_Block_Rewrite', FALSE ) ):
|
29 |
+
|
30 |
+
class IP_Geo_Block_Rewrite {
|
31 |
+
|
32 |
+
public static function search_user_ini() {
|
33 |
+
$dir = dirname( dirname( __FILE__ ) ); // `/wp-content/plugins`
|
34 |
+
$ini = ini_get( 'user_ini.filename' );
|
35 |
+
$doc = ! empty( $_SERVER['DOCUMENT_ROOT'] ) ?
|
36 |
+
$_SERVER['DOCUMENT_ROOT'] :
|
37 |
+
substr( $_SERVER['SCRIPT_FILENAME'], 0, -strlen( $_SERVER['SCRIPT_NAME'] ) );
|
38 |
+
|
39 |
+
do {
|
40 |
+
// avoid loop just in case
|
41 |
+
if ( ( $next = dirname( $dir ) ) !== $dir ) {
|
42 |
+
$dir = $next;
|
43 |
+
} else {
|
44 |
+
break;
|
45 |
+
}
|
46 |
+
|
47 |
+
if ( file_exists( "$dir/$ini" ) ) {
|
48 |
+
$tmp = @file( "$dir/$ini" );
|
49 |
+
$tmp = preg_grep( '/^\s*auto_prepend_file/', $tmp );
|
50 |
+
$tmp = explode( '=', (string)array_pop( $tmp ), 2 );
|
51 |
+
|
52 |
+
if ( ! empty( $tmp ) ) {
|
53 |
+
$tmp = trim( $tmp[1], " \t\n\r\0\x0B\"\'" );
|
54 |
+
if ( $tmp && file_exists( $tmp ) ) {
|
55 |
+
@include_once( $tmp );
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
break;
|
60 |
+
}
|
61 |
+
} while ( $dir !== $doc );
|
62 |
+
}
|
63 |
+
|
64 |
+
// this function should be empty
|
65 |
+
public static function exec( $context, $validate, $settings ) {}
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
+
// search and include `.user.ini` in other directory
|
70 |
+
IP_Geo_Block_Rewrite::search_user_ini();
|
71 |
+
|
72 |
+
// this will trigger `init` action hook
|
73 |
+
require_once '../../../wp-load.php';
|
74 |
+
|
75 |
+
endif; /* ! class_exists( 'IP_Geo_Block_Rewrite', FALSE ) */
|
rewrite.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*
|
11 |
* THIS IS FOR THE ADVANCED USERS:
|
12 |
* This file is for WP-ZEP. If some php files in the plugins/themes directory
|
@@ -14,7 +14,7 @@
|
|
14 |
* by WP-ZEP will be bypassed. To avoid such bypassing, those requests should
|
15 |
* be redirected to this file in order to load WP core. The `.htaccess` in the
|
16 |
* plugins/themes directory will help this redirection if it is configured as
|
17 |
-
* follows
|
18 |
*
|
19 |
* # BEGIN IP Geo Block
|
20 |
* <IfModule mod_rewrite.c>
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://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
|
14 |
* by WP-ZEP will be bypassed. To avoid such bypassing, those requests should
|
15 |
* be redirected to this file in order to load WP core. The `.htaccess` in the
|
16 |
* plugins/themes directory will help this redirection if it is configured as
|
17 |
+
* follows on apache for example:
|
18 |
*
|
19 |
* # BEGIN IP Geo Block
|
20 |
* <IfModule mod_rewrite.c>
|
samples.php
CHANGED
@@ -6,14 +6,13 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright
|
10 |
*/
|
11 |
/* Start loading wp-load.php */
|
12 |
if ( ! empty( $_GET['wp-load'] ) ) {
|
13 |
-
$
|
14 |
-
include_once $abspath . '/wp-load.php';
|
15 |
}
|
16 |
-
die( '0' );
|
17 |
/* End of loading wp-load.php */
|
18 |
|
19 |
/**
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
/* Start loading wp-load.php */
|
12 |
if ( ! empty( $_GET['wp-load'] ) ) {
|
13 |
+
$res = include_once '../../../wp-load.php';
|
|
|
14 |
}
|
15 |
+
die( isset( $res ) ? '1' : '0' );
|
16 |
/* End of loading wp-load.php */
|
17 |
|
18 |
/**
|
uninstall.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
|
12 |
// If uninstall not called from WordPress, then exit
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
|
12 |
// If uninstall not called from WordPress, then exit
|
wp-content/ip-geo-api/ip2location/class-ip2location.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
if ( class_exists( 'IP_Geo_Block_API', FALSE ) ) :
|
12 |
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
if ( class_exists( 'IP_Geo_Block_API', FALSE ) ) :
|
12 |
|
wp-content/ip-geo-api/maxmind/class-maxmind.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
-
* @copyright 2013-
|
10 |
*/
|
11 |
if ( class_exists( 'IP_Geo_Block_API', FALSE ) ) :
|
12 |
|
6 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link http://www.ipgeoblock.com/
|
9 |
+
* @copyright 2013-2018 tokkonopapa
|
10 |
*/
|
11 |
if ( class_exists( 'IP_Geo_Block_API', FALSE ) ) :
|
12 |
|
wp-content/mu-plugins/ip-geo-block-mu.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
9 |
* @license GPL-2.0+
|
10 |
* @link http://www.ipgeoblock.com/
|
11 |
-
* @copyright 2013-
|
12 |
*
|
13 |
* Plugin Name: IP Geo Block (mu)
|
14 |
* Plugin URI: http://wordpress.org/plugins/ip-geo-block/
|
8 |
* @author tokkonopapa <tokkonopapa@yahoo.com>
|
9 |
* @license GPL-2.0+
|
10 |
* @link http://www.ipgeoblock.com/
|
11 |
+
* @copyright 2013-2018 tokkonopapa
|
12 |
*
|
13 |
* Plugin Name: IP Geo Block (mu)
|
14 |
* Plugin URI: http://wordpress.org/plugins/ip-geo-block/
|