Skip to content

Commit 1917718

Browse files
br41nsluglicitdevComfortablyCoding
authored
Add QUERYSTRING_MAX_PARSE_DEPTH to docs (#240)
* Add `QUERY_MAX_DEPTH` to docs * Update content/configuration/security-limits.md * Rename to QUERYSTRING_MAX_PARSE_DEPTH Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> * Fix formatting --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
1 parent 9f4f272 commit 1917718

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

content/configuration/security-limits.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: Security & Limits
33
description: Configuration for access tokens, cookies, CSP, hashing, CORS, rate limiting, and request limits.
44
---
55

6-
76
:partial{content="config-env-vars"}
87

98
| Variable | Description | Default Value |
@@ -59,7 +58,6 @@ Argon2's hashing function is used by Directus to hash user passwords, generate h
5958

6059
All `HASH_*` environment variable parameters are passed to the `argon2.hash` function. See the [node-argon2 library options page](https://github.com/ranisalt/node-argon2/wiki/Options) for reference.
6160

62-
6361
::callout{icon="material-symbols:info-outline"}
6462
**Memory Usage**
6563
Modifying `HASH_MEMORY_COST` and/or `HASH_PARALLELISM` will affect the amount of memory directus uses when computing hashes; each thread gets `HASH_MEMORY_COST` amount of memory, so the total additional memory will be these two values multiplied. This may cause out of memory errors, especially when running in containerized environments.
@@ -81,7 +79,7 @@ For more details about each configuration variable, please see the [CORS package
8179

8280
## Rate Limiting
8381

84-
You can use the built-in rate-limiter to prevent users from hitting the API too much.
82+
You can use the built-in rate-limiter to prevent users from hitting the API too much.
8583

8684
Enabling the rate-limiter with no other options will set a default maximum of 50 requests per second, tracked in memory.
8785

@@ -118,15 +116,16 @@ This rate-limiter prevents the API from accepting new requests while the server
118116

119117
Allows you to configure hard technical limits, to prevent abuse and optimize for your particular server environment.
120118

121-
| Variable | Description | Default Value |
122-
| --------------------------- | ------------------------------------------------------------------------------------------- | ------------- |
123-
| `RELATIONAL_BATCH_SIZE` | How many rows are read into memory at a time when constructing nested relational datasets. | 25000 |
124-
| `EXPORT_BATCH_SIZE` | How many rows are read into memory at a time when constructing exports. | 5000 |
125-
| `USERS_ADMIN_ACCESS_LIMIT` | How many active users with admin privilege are allowed. | `Infinity` |
126-
| `USERS_APP_ACCESS_LIMIT` | How many active users with access to the Data Studio are allowed. | `Infinity` |
127-
| `USERS_API_ACCESS_LIMIT` | How many active API access users are allowed. | `Infinity` |
128-
| `GRAPHQL_QUERY_TOKEN_LIMIT` | How many GraphQL query tokens will be parsed. | 5000 |
129-
| `MAX_PAYLOAD_SIZE` | Controls the maximum request body size. Accepts number of bytes, or human readable string. | `1mb` |
130-
| `MAX_RELATIONAL_DEPTH` | The maximum depth when filtering / querying relational fields, with a minimum value of `2`. | `10` |
131-
| `QUERY_LIMIT_DEFAULT` | The default query limit used when not defined in the API request. | `100` |
132-
| `QUERY_LIMIT_MAX` | The maximum query limit accepted on API requests. | `-1` |
119+
| Variable | Description | Default Value |
120+
| ------------------------------ | ------------------------------------------------------------------------------------------- | ------------- |
121+
| `RELATIONAL_BATCH_SIZE` | How many rows are read into memory at a time when constructing nested relational datasets. | 25000 |
122+
| `EXPORT_BATCH_SIZE` | How many rows are read into memory at a time when constructing exports. | 5000 |
123+
| `USERS_ADMIN_ACCESS_LIMIT` | How many active users with admin privilege are allowed. | `Infinity` |
124+
| `USERS_APP_ACCESS_LIMIT` | How many active users with access to the Data Studio are allowed. | `Infinity` |
125+
| `USERS_API_ACCESS_LIMIT` | How many active API access users are allowed. | `Infinity` |
126+
| `GRAPHQL_QUERY_TOKEN_LIMIT` | How many GraphQL query tokens will be parsed. | 5000 |
127+
| `MAX_PAYLOAD_SIZE` | Controls the maximum request body size. Accepts number of bytes, or human readable string. | `1mb` |
128+
| `MAX_RELATIONAL_DEPTH` | The maximum depth when filtering / querying relational fields, with a minimum value of `2`. | `10` |
129+
| `QUERY_LIMIT_DEFAULT` | The default query limit used when not defined in the API request. | `100` |
130+
| `QUERY_LIMIT_MAX` | The maximum query limit accepted on API requests. | `-1` |
131+
| `QUERYSTRING_MAX_PARSE_DEPTH ` | The maximum object depth when parsing URL query parameters using the querystring format | `10` |

0 commit comments

Comments
 (0)