Resolving 403 Forbidden Errors Caused by Solid Security
Content
Encountering a 403 Forbidden error on your WordPress site can be alarming, especially when it seems linked to the Solid Security plugin. This comprehensive guide explains the common causes and provides step-by-step solutions to regain access to your site.
What is a 403 Forbidden Error?
A 403 status code means the server understood the request but refuses to authorize it. When related to Solid Security, this is typically a security feature actively blocking what it perceives as a malicious or suspicious request.
Common Causes and Solutions
1. Locked Out of Your Entire Site (Frontend and WP-Admin)
Symptoms: Every page on your site, including the WordPress login page, displays a Solid Security lockout message.
Immediate Solution: Since you cannot access the admin area, you must disable the plugin via your hosting file manager or SFTP/FTP client.
- Connect to your site's file system.
- Navigate to the
wp-content/pluginsdirectory. - Rename the
better-wp-securityfolder to something likebetter-wp-security-off. - This will deactivate the plugin and should instantly restore access to your site.
- Log in to WordPress, rename the folder back, and reactivate the plugin. The lockout condition often resolves after this reset.
2. Blocked File Downloads or Functionality
Symptoms: Specific actions, like downloading files from a form plugin or connecting external software, return a 403 error.
Solution: This is often caused by the System Tweaks module. Navigate to Security > Settings > Advanced > System Tweaks and disable the following settings, testing after each one:
- PHP Execution: Disable PHP in Plugins
- Filter Suspicious Query Strings in the URL
- Filter Long URL Strings
3. Blocked Admin-Ajax or REST API Requests
Symptoms: Features that rely on AJAX (like page builders) or the REST API fail with 403 errors, often breaking the WordPress admin.
Solution: The Banned Users module's default list can be overly aggressive.
- If you can access the settings, go to Security > Settings > Features > Firewall tab > Ban Users.
- Disable the Default Ban List setting.
- Save changes.
4. Cannot Access Solid Security's Settings Page
Symptoms: You can access the WordPress admin but receive a "Sorry, you are not allowed to access this page" or "The link you followed has expired" error when trying to open the Security settings.
Solution: A confirmed workaround involves editing a plugin file. In the file wp-content/plugins/better-wp-security/core/admin-pages/page-settings.php, find line ~45 and make the following change:
Original Code:if ( ! empty( $_POST ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
Change to:if ( ! empty( $_POST['itsec-nonce'] ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
This change has been reported to instantly restore access to the settings page.
Advanced Troubleshooting: Using the wp-config.php File
If you cannot access your site's backend or file system to rename the plugin, you can disable Solid Security's modules by adding code to your wp-config.php file.
- Access your
wp-config.phpfile via SFTP/FTP or your host's file manager. - Insert the following lines of code above the line that says
/* That's all, stop editing! Happy publishing. */. - Ensure you use straight apostrophes
'and not curly quotes‘’.
define('ITSEC_DISABLE_MODULES', true);
define('ITSEC_DISABLE_TWO_FACTOR', true);
This will disable the plugin's active protection, allowing you to log in and reconfigure your settings.
Checking Server Logs
For persistent or unclear 403 errors, your server's error logs are the best source of truth. They can confirm if Solid Security is the cause and often provide the specific rule that triggered the block. Contact your hosting provider for assistance in locating and interpreting these logs.
Conclusion
While 403 errors from Solid Security can be disruptive, they are almost always a sign that the plugin's security features are working—sometimes too well. The solutions above, from temporarily disabling the plugin to adjusting specific settings, will help you resolve the conflict while maintaining your site's security. Always remember to make backups before editing core files.
Related Support Threads Support
-
403 in status code checkerhttps://wordpress.org/support/topic/403-in-status-code-checker/
-
WP CLI being blocked with http code 418https://wordpress.org/support/topic/wp-cli-being-blocked-with-http-code-418/
-
can’t install plugin anymorehttps://wordpress.org/support/topic/cant-install-plugin-anymore/
-
REST API_iThemes settinghttps://wordpress.org/support/topic/rest-api_ithemes-setting/
-
404 errorshttps://wordpress.org/support/topic/404-errors-126/
-
iThemes Security prevents Downloadshttps://wordpress.org/support/topic/ithemes-security-prevents-downloads/
-
Force SSL 404 lockouthttps://wordpress.org/support/topic/force-ssl-404-lockout/
-
The plug-in prevents the connection of external softwarehttps://wordpress.org/support/topic/the-plug-in-prevents-the-connection-of-external-software-how-to-allow-access-t/
-
Cannot access settings pagehttps://wordpress.org/support/topic/cannot-access-settings-page-6/
-
fopen is blockedhttps://wordpress.org/support/topic/fopen-is-blocked/
-
403 for admin-ajax.phphttps://wordpress.org/support/topic/403-for-admin-ajax-php/
-
Error 405 response json invalid when installhttps://wordpress.org/support/topic/error-405-response-json-invalid-when-install/
-
403 Forbidden You do not have permission to access this document.https://wordpress.org/support/topic/403-forbidden-you-do-not-have-permission-to-access-this-document-2/
-
server error 403 elementorhttps://wordpress.org/support/topic/server-error-403-elementor/
-
Changed DB prefix now getting 403https://wordpress.org/support/topic/changed-db-prefix-now-getting-403/
-
iThemes blocks TranslatePresshttps://wordpress.org/support/topic/ithemes-blocks-translatepress/
-
URGENT Plugin Failure Spawning 403 Errorshttps://wordpress.org/support/topic/urgent-plugin-failure-spawning-403-errors-2/
-
Cant access the plugin settings at allhttps://wordpress.org/support/topic/cant-access-the-plugin-settings-at-all/
-
FTP accesshttps://wordpress.org/support/topic/ftp-access-10/
-
Complete website returns 403https://wordpress.org/support/topic/complete-website-returns-403/
-
403 Forbiddenhttps://wordpress.org/support/topic/403-forbidden-199/
-
iThemes Security Pluginhttps://wordpress.org/support/topic/ithemes-security-plugin-2/
-
Cant change api rest restrictionhttps://wordpress.org/support/topic/cant-change-api-rest-restriction/
-
Status code 403https://wordpress.org/support/topic/status-code-403-2/
-
403 error when activatinghttps://wordpress.org/support/topic/403-error-when-activating/
-
403 Forbidden messagehttps://wordpress.org/support/topic/403-forbidden-message-6/