{"id":300344,"date":"2026-05-16T09:54:51","date_gmt":"2026-05-16T09:54:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/security-with-ip-blocking-system\/"},"modified":"2026-05-19T10:22:22","modified_gmt":"2026-05-19T10:22:22","slug":"lunexia-htaccess-shield","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lunexia-htaccess-shield\/","author":23480853,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Lunexia .htaccess Shield","header_author":"Lunexiait","header_description":"Professional website security hardening with IP blocking system by automatically applying common .htaccess security rules safely.","assets_banners_color":"","last_updated":"2026-05-19 10:22:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/lunexia-htaccess-shield\/","header_author_uri":"https:\/\/lunexiait.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":201,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"lunexiait","date":"2026-05-19 06:34:51"},"1.1.0":{"tag":"1.1.0","author":"lunexiait","date":"2026-05-19 06:34:51"},"1.1.1":{"tag":"1.1.1","author":"lunexiait","date":"2026-05-19 06:34:51"},"1.2.1":{"tag":"1.2.1","author":"lunexiait","date":"2026-05-19 10:22:22"},"2.0.0":{"tag":"2.0.0","author":"lunexiait","date":"2026-05-19 10:22:22"}},"upgrade_notice":{"1.2.1":"<p>Update to 1.2.1 to resolve plugin activation issues caused by malformed .htaccess rules and improve failed login blocking visibility.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.1.0","1.1.1","1.2.1","2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Main dashboard showing security score and available rules","2":"Rules management interface with toggle switches","3":"Backup and restore functionality","4":"System status information"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1174,31093,1329,1178,600],"plugin_category":[54],"plugin_contributors":[263133],"plugin_business_model":[],"class_list":["post-300344","plugin","type-plugin","status-publish","hentry","plugin_tags-firewall","plugin_tags-hardening","plugin_tags-htaccess","plugin_tags-protection","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-lunexiait","plugin_committers-lunexiait"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/lunexia-htaccess-shield.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Lunexia .htaccess Shield is a comprehensive security plugin that helps harden your website by automatically applying proven .htaccess security rules. With an intuitive dashboard, you can easily enable or disable various security measures to protect your website from common threats.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>One-Click Security Rules<\/strong>: Enable\/disable security rules with a simple toggle interface<\/li>\n<li><strong>Security Score<\/strong>: Visual indicator showing your current protection level<\/li>\n<li><strong>Automatic .htaccess Management<\/strong>: Safely applies rules without manual editing<\/li>\n<li><strong>Backup &amp; Restore<\/strong>: Create backups before making changes and restore if needed<\/li>\n<li><strong>Admin Approval Workflow<\/strong>: Require admin approval for new Administrator\/Editor accounts before login<\/li>\n<li><strong>OTP Login Protection<\/strong>: Add one-time password verification for selected user roles<\/li>\n<li><strong>Backend Access Protection<\/strong>: Block blocked IPs from reaching <code>wp-admin<\/code> and <code>wp-login.php<\/code><\/li>\n<li><strong>Feature Preview<\/strong>: Preview recommended premium hardening features before enabling them<\/li>\n<li><strong>System Status<\/strong>: Monitor your server's security readiness<\/li>\n<\/ul>\n\n<p><strong>Security Rules Included:<\/strong><\/p>\n\n<ul>\n<li>Disable directory browsing<\/li>\n<li>Protect wp-config.php and .htaccess files<\/li>\n<li>Block access to sensitive files<\/li>\n<li>Disable XML-RPC for improved security<\/li>\n<li>Prevent PHP execution in uploads folder<\/li>\n<li>Malicious query string protection<\/li>\n<li>Security headers (XSS, CSRF, HSTS, etc.)<\/li>\n<\/ul>\n\n<p><strong>Safe &amp; Reliable:<\/strong>\n* Uses core functions for .htaccess manipulation\n* Creates automatic backups before changes\n* Checks file permissions before applying rules\n* Non-destructive - rules are wrapped in markers for easy removal<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external services as follows:<\/p>\n\n<p><strong>Google Sheets API Service<\/strong>\nThis plugin uses the Google Sheets API (via Google Apps Script) to validate license keys when users activate a license. This is an optional feature and is only used when a user voluntarily attempts to activate a license key.<\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Validates license key authenticity and domain binding<\/li>\n<li><strong>When it's used<\/strong>: Only when users click \"Activate License\" in the plugin settings<\/li>\n<li><strong>What data is sent<\/strong>: License key and website domain name<\/li>\n<li><strong>Service provider<\/strong>: Google (Google Sheets \/ Google Apps Script)<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/policies.google.com\/terms<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/policies.google.com\/privacy<\/li>\n<li><strong>Data retention<\/strong>: License validation data is stored only on the user's Google Sheet, which they control<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>For support, please visit the plugin forum or check the documentation.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed with security best practices in mind.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lunexia-htaccess-shield<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu<\/li>\n<li>Navigate to 'Lunexia .htaccess Shield' in the admin menu<\/li>\n<li>Review and enable desired security rules<\/li>\n<li>Click \"Save &amp; Apply Rules\" to harden your site<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20plugin%20safe%20to%20use%3F\"><h3>Is this plugin safe to use?<\/h3><\/dt>\n<dd><p>Yes, Lunexia .htaccess Shield is designed with safety in mind. It:\n- Creates backups before making changes\n- Uses core functions for file operations\n- Checks file permissions before applying rules\n- Wraps all rules in identifiable markers<\/p><\/dd>\n<dt id=\"what%20if%20something%20goes%20wrong%3F\"><h3>What if something goes wrong?<\/h3><\/dt>\n<dd><p>If you encounter issues:\n1. Use the restore function to revert to a backup\n2. Manually edit your .htaccess file to remove Lunexia .htaccess Shield rules\n3. Deactivate the plugin if needed<\/p><\/dd>\n<dt id=\"does%20this%20replace%20my%20security%20plugins%3F\"><h3>Does this replace my security plugins?<\/h3><\/dt>\n<dd><p>No, Lunexia .htaccess Shield complements other security plugins by focusing specifically on .htaccess hardening. It works well alongside plugins like Wordfence, Sucuri, or iThemes Security.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>The .htaccess rules are lightweight and optimized for performance. Most rules have minimal impact on site speed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added admin approval workflow for pending Administrator and Editor accounts<\/li>\n<li>Added OTP login protection for selected user roles<\/li>\n<li>Added backend access protection for blocked IPs on <code>wp-admin<\/code> and <code>wp-login.php<\/code><\/li>\n<li>Added recommended feature preview modal for premium hardening features<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed invalid .htaccess rule generation that could cause server errors<\/li>\n<li>Ensured blocked IP rules use modern rewrite-based access control<\/li>\n<li>Preserved activity logging for failed logins and blocked IP events<\/li>\n<li>Improved compatibility with Apache\/LiteSpeed and PHP error handling<\/li>\n<\/ul>","raw_excerpt":"Professional website security hardening by applying proven .htaccess security rules automatically and safely.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300344"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lunexiait"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300344"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300344"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300344"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300344"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300344"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}