You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.adoc
+38Lines changed: 38 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,6 +64,44 @@ It could be omitted as the title already says that it is an experimental feature
64
64
* Avoid the phrase “It is recommended to” when proposing a solution.
65
65
* Capitalize all Cypher keywords, i.e., `MATCH` rather than `match` or `Match`.
66
66
67
+
[[security-guidelines]]
68
+
=== Security guidelines for writing error messages
69
+
70
+
* Be informative but not too revealing.
71
+
Error messages should provide enough information for users to understand what went wrong and possibly how to correct it, but they should not disclose sensitive information that could aid an attacker.
72
+
For instance, instead of saying "Invalid username," use "Invalid username or password."
73
+
74
+
* Avoid technical jargon.
75
+
Use plain language that is easily understandable by all users.
76
+
Avoid technical terms that could confuse users or reveal too much about the underlying architecture.
77
+
78
+
* Use generic responses for security-related errors.
79
+
For login errors, password validations, or any security-related processes, use generic error messages.
80
+
For example, use "Login failed" instead of specifying whether the username or password was incorrect.
81
+
82
+
* Do not expose internal information.
83
+
Never reveal information about the internal state of the application, like file paths, database information, or stack traces, as these can provide attackers with clues about potential vulnerabilities.
84
+
Stack traces are safe to have in debug.log but nowhere else.
85
+
86
+
* Do not use error messages from underlying libraries/dependencies (e.g. Java runtime errors) but always catch the error and throw your own error message. It is safe to reuse error messages only if they are coming from Neo4j, i.e. have a Neo4j status code.
87
+
88
+
* Guide users towards resolution.
89
+
Where appropriate, guide users on how to rectify the error.
90
+
For instance, if a user inputs an invalid format in a form, the error message should indicate the expected format.
91
+
92
+
* Log detailed errors for internal use.
93
+
While showing generic error messages to users, log detailed error information internally.
94
+
This will help developers to debug issues without exposing sensitive information to users.
95
+
96
+
* Regularly review and update error messages to ensure they remain relevant, accurate, and secure.
Copy file name to clipboardExpand all lines: modules/ROOT/pages/notifications/all-notifications.adoc
+10-8Lines changed: 10 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1300,7 +1300,7 @@ m|INFORMATION
1300
1300
m|TOPOLOGY
1301
1301
|===
1302
1302
1303
-
.Reallocating databases resulted in no allocation changes
1303
+
.Reallocating databases resulted in no allocation changes
1304
1304
====
1305
1305
Command::
1306
1306
+
@@ -1310,15 +1310,15 @@ REALLOCATE DATABASES
1310
1310
----
1311
1311
1312
1312
Description of the returned code::
1313
-
No databases were reallocated. No better allocation is currently possible.
1313
+
No databases were reallocated. No better allocation is currently possible.
1314
1314
1315
1315
1316
1316
Example scenarios::
1317
-
**Scenario 1:** The cluster is already balanced.
1317
+
**Scenario 1:** The cluster is already balanced.
1318
1318
For example, when there are three servers, each hosting databases `foo` and `bar`, meaning all databases are allocated to all servers.
1319
1319
+
1320
1320
1321
-
**Scenario 2:** The cluster appears unbalanced, but server constraints prevent you from moving to a better, more balanced, allocation.
1321
+
**Scenario 2:** The cluster appears unbalanced, but server constraints prevent you from moving to a better, more balanced, allocation.
1322
1322
For example, assuming server 1 hosts databases `foo` and `bar`, server 2 hosts only `foo`, and server 3 hosts no databases.
1323
1323
Then, a better allocation would move `foo` from server 1 to server 3, but if server 3 has the constraint `deniedDatabases:['foo']}`, then the cluster is already balanced subject to this constraint.
1324
1324
====
@@ -1339,9 +1339,9 @@ m|INFORMATION
1339
1339
m|TOPOLOGY
1340
1340
|===
1341
1341
1342
-
.Requested topology matched current topology
1342
+
.Requested topology matched current topology
1343
1343
====
1344
-
The example assumes that you have a cluster with three servers and a database `foo` with a topology of two primaries and one secondary.
1344
+
The example assumes that you have a cluster with three servers and a database `foo` with a topology of two primaries and one secondary.
1345
1345
1346
1346
Command::
1347
1347
+
@@ -1705,7 +1705,9 @@ Relationship type expression cannot possibly be satisfied. (`R1&R2` can never be
0 commit comments