add validation for file path
This commit is contained in:
parent
89a0f23fe5
commit
366d25e2a0
|
|
@ -10,6 +10,7 @@ import { DocxLoader } from '@langchain/community/document_loaders/fs/docx'
|
||||||
import { LoadOfSheet } from '../MicrosoftExcel/ExcelLoader'
|
import { LoadOfSheet } from '../MicrosoftExcel/ExcelLoader'
|
||||||
import { PowerpointLoader } from '../MicrosoftPowerpoint/PowerpointLoader'
|
import { PowerpointLoader } from '../MicrosoftPowerpoint/PowerpointLoader'
|
||||||
import { handleEscapeCharacters } from '../../../src/utils'
|
import { handleEscapeCharacters } from '../../../src/utils'
|
||||||
|
import { isPathTraversal } from '../../../src/validator'
|
||||||
|
|
||||||
class Folder_DocumentLoaders implements INode {
|
class Folder_DocumentLoaders implements INode {
|
||||||
label: string
|
label: string
|
||||||
|
|
@ -125,6 +126,14 @@ class Folder_DocumentLoaders implements INode {
|
||||||
const _omitMetadataKeys = nodeData.inputs?.omitMetadataKeys as string
|
const _omitMetadataKeys = nodeData.inputs?.omitMetadataKeys as string
|
||||||
const output = nodeData.outputs?.output as string
|
const output = nodeData.outputs?.output as string
|
||||||
|
|
||||||
|
if (!folderPath) {
|
||||||
|
throw new Error('Folder path is required')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isPathTraversal(folderPath)) {
|
||||||
|
throw new Error('Invalid folder path: Path traversal detected. Please provide a safe folder path.')
|
||||||
|
}
|
||||||
|
|
||||||
let omitMetadataKeys: string[] = []
|
let omitMetadataKeys: string[] = []
|
||||||
if (_omitMetadataKeys) {
|
if (_omitMetadataKeys) {
|
||||||
omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim())
|
omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue