fix: auto-trim trailing slash from paths + illegal chars check during move
This commit is contained in:
parent
566043ec43
commit
7306fabdba
@ -214,10 +214,15 @@ module.exports = class Page extends Model {
|
||||
*/
|
||||
static async createPage(opts) {
|
||||
// -> Validate path
|
||||
if (opts.path.indexOf('.') >= 0 || opts.path.indexOf(' ') >= 0) {
|
||||
if (opts.path.indexOf('.') >= 0 || opts.path.indexOf(' ') >= 0 || opts.path.index('\\') >= 0) {
|
||||
throw new WIKI.Error.PageIllegalPath()
|
||||
}
|
||||
|
||||
// -> Remove trailing slash
|
||||
if (opts.path.endsWidth('/')) {
|
||||
opts.path = opts.path.slice(0, -1)
|
||||
}
|
||||
|
||||
// -> Check for page access
|
||||
if (!WIKI.auth.checkAccess(opts.user, ['write:pages'], {
|
||||
locale: opts.locale,
|
||||
@ -398,6 +403,16 @@ module.exports = class Page extends Model {
|
||||
throw new WIKI.Error.PageNotFound()
|
||||
}
|
||||
|
||||
// -> Validate path
|
||||
if (opts.destinationPath.indexOf('.') >= 0 || opts.destinationPath.indexOf(' ') >= 0 || opts.destinationPath.index('\\') >= 0) {
|
||||
throw new WIKI.Error.PageIllegalPath()
|
||||
}
|
||||
|
||||
// -> Remove trailing slash
|
||||
if (opts.destinationPath.endsWidth('/')) {
|
||||
opts.destinationPath = opts.destinationPath.slice(0, -1)
|
||||
}
|
||||
|
||||
// -> Check for source page access
|
||||
if (!WIKI.auth.checkAccess(opts.user, ['manage:pages'], {
|
||||
locale: page.localeCode,
|
||||
|
Loading…
Reference in New Issue
Block a user