summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-01-16 05:14:32 +0000
committerGitHub <noreply@github.com>2022-01-16 13:14:32 +0800
commit661d3d28e97bb49bef075c0314edad5879148aaa (patch)
tree9b4a0c1a8244b003b9467f861088d6eadbaafabc /docs
parent4b4884ce889439f092d3797984e768e0cf2a278e (diff)
downloadgitea-661d3d28e97bb49bef075c0314edad5879148aaa.tar.gz
gitea-661d3d28e97bb49bef075c0314edad5879148aaa.zip
Prevent possible XSS when using jQuery (#18289)
In the case of misuse or misunderstanding from a developer whereby, if `sel` can receive user-controlled data, jQuery `$(sel)` can lead to the creation of a new element. Current usage is using hard-coded selectors in the templates, but nobody prevents that from expanding to user-controlled somehow.
Diffstat (limited to 'docs')
-rw-r--r--docs/content/doc/developers/guidelines-frontend.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/content/doc/developers/guidelines-frontend.md b/docs/content/doc/developers/guidelines-frontend.md
index 9fec5bd17e..cbd2ca8a24 100644
--- a/docs/content/doc/developers/guidelines-frontend.md
+++ b/docs/content/doc/developers/guidelines-frontend.md
@@ -127,3 +127,8 @@ We forbid `dataset` usage, its camel-casing behaviour makes it hard to grep for
### Vue2/Vue3 and JSX
Gitea is using Vue2 now, we plan to upgrade to Vue3. We decided not to introduce JSX to keep the HTML and the JavaScript code separated.
+
+### jQuery's `$(...)`
+
+jQuery's `$` function has a broad functionality depending on the input. Well, this can be seen as nice, it's also a fallpit for possible XSS attacks when the input is user-controlled.
+The usage of the function can be correct in certain situations, but it is discourage and recommended to use a more specific function of jQuery(e.g. `$.find`, `$.parseHTML`).