{"id":302019,"date":"2026-06-03T13:33:45","date_gmt":"2026-06-03T13:33:45","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ip-access-control\/"},"modified":"2026-10-19T05:57:34","modified_gmt":"2026-10-19T05:57:34","slug":"trustbrain-ip-access-control","status":"publish","type":"plugin","link":"https:\/\/kab.wordpress.org\/plugins\/trustbrain-ip-access-control\/","author":23260849,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"TrustBrain IP Access Control","header_author":"TrustBrain","header_description":"GeoIP\u30d9\u30fc\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u30d7\u30e9\u30b0\u30a4\u30f3 - \u56fd\u5225\u5236\u9650\u3001IP\u8a31\u53ef\/\u62d2\u5426\u30ea\u30b9\u30c8\u3001\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u6a5f\u80fd","assets_banners_color":"313b76","last_updated":"2026-10-19 05:57:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/trustbrain.jp\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":537,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"iwamura","date":"2026-06-06 15:24:40","revision":3563210},"1.0.1":{"tag":"1.0.1","author":"iwamura","date":"2026-09-30 03:51:18","revision":3720240},"1.1.0":{"tag":"1.1.0","author":"iwamura","date":"2026-10-15 03:51:54","revision":3747561},"1.2.0":{"tag":"1.2.0","author":"iwamura","date":"2026-10-19 05:57:34","revision":3754067}},"upgrade_notice":{"1.2.0":"<p>Security fix for client IP address detection, and a new Administrator access control option.<\/p>","1.1.0":"<p>Security fix for the REST API protection, and a new User information protection option.<\/p>","1.0.1":"<p>Source strings refactored to English. Existing Japanese UI is preserved via official Japanese translations.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3560936,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3561188,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3561188,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3561188,"resolution":"1","location":"assets","locale":"","width":1653,"height":1190},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3561188,"resolution":"2","location":"assets","locale":"","width":1247,"height":1294},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3561188,"resolution":"3","location":"assets","locale":"","width":1254,"height":1298}},"screenshots":{"1":"Block statistics dashboard: visualizes total blocks, cache hit rate, and average processing time over the last 30 days.","2":"Backend (admin area) access control: country code whitelist, IP restriction (with ASN support), XML-RPC \/ REST API protection, and emergency access URL.","3":"Frontend (public pages) access control: country whitelist, denied IP list, and protection targets (comment, trackback, oEmbed, REST API)."}},"plugin_section":[],"plugin_tags":[1912,88702,1174,4124,600],"plugin_category":[49,54],"plugin_contributors":[265665],"plugin_business_model":[],"class_list":["post-302019","plugin","type-plugin","status-publish","hentry","plugin_tags-access-control","plugin_tags-country-block","plugin_tags-firewall","plugin_tags-geolocation","plugin_tags-security","plugin_category-maps-and-location","plugin_category-security-and-spam-protection","plugin_contributors-iwamura","plugin_committers-iwamura"],"banners":{"banner":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/banner-772x250.png?rev=3561188","banner_2x":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/banner-1544x500.png?rev=3561188","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/icon.svg?rev=3560936","icon":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/icon.svg?rev=3560936","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/screenshot-1.png?rev=3561188","caption":"Block statistics dashboard: visualizes total blocks, cache hit rate, and average processing time over the last 30 days."},{"src":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/screenshot-2.png?rev=3561188","caption":"Backend (admin area) access control: country code whitelist, IP restriction (with ASN support), XML-RPC \/ REST API protection, and emergency access URL."},{"src":"https:\/\/ps.w.org\/trustbrain-ip-access-control\/assets\/screenshot-3.png?rev=3561188","caption":"Frontend (public pages) access control: country whitelist, denied IP list, and protection targets (comment, trackback, oEmbed, REST API)."}],"raw_content":"<!--section=description-->\n<p>TrustBrain IP Access Control is a security plugin for WordPress that provides comprehensive IP-based access control:<\/p>\n\n<h4>Access Control Features<\/h4>\n\n<ul>\n<li>Country-based access control (whitelist\/blacklist)<\/li>\n<li>IP address and CIDR whitelist\/blacklist<\/li>\n<li>ASN (Autonomous System Number) based blocking<\/li>\n<li>Separate settings for backend (admin area) and frontend<\/li>\n<li>XML-RPC and REST API protection<\/li>\n<li>User information protection: hide user names and user IDs from visitors who are not logged in<\/li>\n<li>Administrator access control: users with the selected roles can log in and use the site only from allowed IP addresses or countries<\/li>\n<li>Comment and trackback spam protection<\/li>\n<li>Access logging and statistics<\/li>\n<li>Emergency access URL for lockout recovery<\/li>\n<\/ul>\n\n<h4>GeoIP Integration<\/h4>\n\n<p>This plugin uses MaxMind GeoLite2 databases for IP geolocation. You need to obtain a free license key from <a href=\"https:\/\/www.maxmind.com\/en\/geolite2\/signup\">MaxMind<\/a> to use the geolocation features.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin stores access logs including IP addresses for security purposes. The logs are stored locally in your WordPress database and can be configured to auto-delete after a specified retention period.<\/p>\n\n<p>This plugin uses MaxMind GeoLite2 databases for IP geolocation. The databases are stored locally and no IP data is sent to external services during normal operation.<\/p>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin optionally connects to MaxMind servers to download GeoLite2 database updates. This only occurs when you manually trigger an update or enable automatic updates. No visitor data is transmitted.<\/p>\n\n<ul>\n<li>MaxMind GeoLite2: https:\/\/www.maxmind.com\/en\/geolite2\/eula<\/li>\n<li>Privacy Policy: https:\/\/www.maxmind.com\/en\/privacy-policy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>trustbrain-ip-access-control<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to 'IP Access Control' in the admin menu to configure settings<\/li>\n<li>Obtain a MaxMind license key and configure it in the maintenance settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20maxmind%20license%20key%3F\"><h3>Do I need a MaxMind license key?<\/h3><\/dt>\n<dd><p>Yes, to use the country-based blocking features, you need a free MaxMind GeoLite2 license key. You can sign up at https:\/\/www.maxmind.com\/en\/geolite2\/signup<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Will this plugin slow down my site?<\/h3><\/dt>\n<dd><p>The plugin is optimized for performance. IP lookups use local database files with caching, ensuring minimal impact on page load times.<\/p><\/dd>\n<dt id=\"can%20i%20block%20specific%20countries%20from%20accessing%20my%20admin%20area%3F\"><h3>Can I block specific countries from accessing my admin area?<\/h3><\/dt>\n<dd><p>Yes, you can set up country-based whitelist rules for the backend (admin area) and whitelist or blacklist rules for the frontend.<\/p><\/dd>\n<dt id=\"what%20if%20i%20accidentally%20lock%20myself%20out%3F\"><h3>What if I accidentally lock myself out?<\/h3><\/dt>\n<dd><p>The plugin provides an Emergency Access URL feature that allows you to bypass IP restrictions temporarily.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Security: Fixed a security issue in client IP address detection when \"X-Forwarded-For\" is selected. If your site is behind more than one proxy (for example a CDN in front of a load balancer), select the CDN's own header, such as CF-Connecting-IP.<\/li>\n<li>New: Administrator access control. Users with the selected roles (Administrator by default; super admins on multisite are always included) can log in and use the site only from allowed IP addresses, CIDR ranges, ASNs or countries. Other users are not affected. Sessions used from other locations are logged out. Saving or importing settings is refused if it would lock out the current user.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Security: Fixed a case where the REST API protection could be bypassed.<\/li>\n<li>New: User information protection. Hides user names and user IDs from visitors who are not logged in (REST API user endpoints, ?author= redirects, oEmbed author, users sitemap, comment author class, login error messages).<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Refactor source strings to English for i18n compliance (Japanese translations available via translate.wordpress.org)<\/li>\n<li>Regenerate .pot template<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Country-based IP blocking (whitelist\/blacklist)<\/li>\n<li>IP address, CIDR, and ASN blocking<\/li>\n<li>Backend and frontend protection settings<\/li>\n<li>XML-RPC and REST API protection<\/li>\n<li>Access logging and statistics<\/li>\n<li>Emergency access URL feature<\/li>\n<\/ul>","raw_excerpt":"GeoIP-based access control plugin with country blocking, IP whitelist\/blacklist, and access logging.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302019"}],"author":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/iwamura"}],"wp:attachment":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302019"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302019"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302019"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302019"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302019"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}