Skip to content

Commit 5ac0e4a

Browse files
docs(*): Mention limitation of the bouncer
1 parent ba00224 commit 5ac0e4a

File tree

1 file changed

+43
-2
lines changed

1 file changed

+43
-2
lines changed

docs/USER_GUIDE.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
- [Prerequisites](#prerequisites)
1212
- [Usage](#usage)
1313
- [Features](#features)
14+
- [Understanding the limitations of the bouncer](#understanding-the-limitations-of-the-bouncer)
1415
- [Configurations](#configurations)
1516
- [General settings](#general-settings)
1617
- [Theme customization](#theme-customization)
@@ -32,8 +33,11 @@
3233

3334
## Description
3435

35-
The `CrowdSec Bouncer` plugin for WordPress has been designed to protect WordPress websites from all kinds of
36-
attacks by using [CrowdSec](https://www.crowdsec.net/) technology.
36+
The `CrowdSec Bouncer` plugin for WordPress has been designed to protect WordPress websites from various malicious activities
37+
by using [CrowdSec](https://www.crowdsec.net/) technology.
38+
39+
**N.B.:**
40+
it’s important to understand the scope and limitations of this bouncer, as described in the [Understanding the limitations of the bouncer](#understanding-the-limitations-of-the-bouncer) section.
3741

3842
## Prerequisites
3943

@@ -51,6 +55,7 @@ Please note that first and foremost CrowdSec must be installed on a server that
5155
When a user is suspected by CrowdSec to be malevolent, this bouncer will either send him/her a captcha to resolve or
5256
simply a page notifying that access is denied. If the user is considered as a clean user, he will access the page as normal.
5357

58+
5459
By default, the ban wall is displayed as below:
5560

5661
![Ban wall](images/screenshots/front-ban.jpg)
@@ -63,6 +68,42 @@ Please note that it is possible to customize all the colors of these pages in a
6368

6469
On the other hand, all texts are also fully customizable. This will allow you, for example, to present translated pages in your users’ language.
6570

71+
#### Understanding the limitations of the bouncer
72+
73+
While this plugin provides effective protection for most scenarios by intercepting and bouncing web requests that go through the [WordPress loading process](https://medium.com/@dendeffe/wordpress-loading-sequence-a-guided-tour-e077c7dbd119), there are inherent limitations to this approach. These limitations can create potential gaps in coverage, which you should be aware of:
74+
75+
1. Requests to PHP files outside of the WordPress Core loading process
76+
77+
Since this plugin is loaded as part of the WordPress core process, it will not attempt to retrieve or apply a remediation if a custom public PHP script is accessed directly.
78+
79+
To ensure all PHP scripts are covered, consider enabling the [auto_prepend_file mode](#auto-prepend-file-mode).
80+
81+
82+
2. Requests to Non-PHP Files (e.g., .env or other static files)
83+
84+
Requests for non-PHP files, such as `.env` or other static files, are not handled by this plugin.
85+
As this limitation is tied to the nature of PHP itself, you may need to implement additional server-level protections (e.g., strict file permissions or blocking access to sensitive files through server configuration) to secure such files.
86+
87+
For example, you can deny access to hidden files, using the Nginx directive
88+
```nginx
89+
location ~ /\. {
90+
deny all;
91+
}
92+
```
93+
94+
or the Apache one:
95+
96+
```htaccess
97+
<FilesMatch "^\.">
98+
Require all denied
99+
</FilesMatch>
100+
101+
```
102+
103+
104+
105+
By understanding these limitations, you can take additional steps to secure your site comprehensively and complement the protection offered by the `CrowdSec Bouncer` plugin.
106+
66107
### Configurations
67108

68109
This plugin comes with configurations that you will find under `CrowdSec` admin section.

0 commit comments

Comments
 (0)