Skip to content

Commit

Permalink
fix: prevent malformed paths for pages (#4533)
Browse files Browse the repository at this point in the history
* First take on removing erroneous path characters

Paths should not accept trailing slashes or hashtags. This is a first attempt at nullifying those.

* Use rules to verify path before acceptance

Use Regex and rules to verify paths before acceptance

* Rules to prevent any leading or trailing slashes

* Complex slug for regex on path, but it elminates special chars

* Added yarn.lock to .gitignore

* Maybe we do want yarn.lock afterall

* Adding yarn.lock

* Move Regex pattern outside of export
  • Loading branch information
broxen authored Oct 10, 2021
1 parent e8d56c2 commit 813df21
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion client/components/editor/editor-modal-properties.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
:hint='$t(`editor:props.pathHint`)'
persistent-hint
@click:append='showPathSelector'
:rules='[rules.required, rules.path]'
)
v-divider
v-card-text.grey.pt-5(:class='$vuetify.theme.dark ? `darken-3-d5` : `lighten-4`')
Expand Down Expand Up @@ -254,6 +255,7 @@ import 'codemirror/mode/htmlmixed/htmlmixed.js'
import 'codemirror/mode/css/css.js'
/* global siteLangs, siteConfig */
const filenamePattern = /^(?![\#\/\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s])(?!.*[\#\/\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s]$)[^\#\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s]*$/
export default {
props: {
Expand All @@ -272,7 +274,13 @@ export default {
newTagSuggestions: [],
newTagSearch: '',
currentTab: 0,
cm: null
cm: null,
rules: {
required: value => !!value || 'This field is required.',
path: value => {
return filenamePattern.test(value) || 'Invalid path. Please ensure it does not contain special characters, or begin/end in a slash or hashtag string.'
}
}
}
},
computed: {
Expand Down

0 comments on commit 813df21

Please sign in to comment.