summaryrefslogtreecommitdiff
path: root/lib/file-stroage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/file-stroage.ts')
-rw-r--r--lib/file-stroage.ts38
1 files changed, 19 insertions, 19 deletions
diff --git a/lib/file-stroage.ts b/lib/file-stroage.ts
index c347ffe3..7bc9ef1c 100644
--- a/lib/file-stroage.ts
+++ b/lib/file-stroage.ts
@@ -194,31 +194,31 @@ class FileSecurityValidator {
return { valid: true };
}
- // 파일 내용 기본 검증 (매직 넘버 체크 + XSS 패턴 검사)
+ // 파일 내용 기본 검증 (매직 넘버 체크(비활성화) + XSS 패턴 검사)
static async validateFileContent(buffer: Buffer, fileName: string): Promise<{ valid: boolean; error?: string }> {
try {
const extension = path.extname(fileName).toLowerCase().substring(1);
- // 파일 시그니처 (매직 넘버) 검증
- const fileSignatures: Record<string, Buffer[]> = {
- 'pdf': [Buffer.from([0x25, 0x50, 0x44, 0x46])], // %PDF
- 'jpg': [Buffer.from([0xFF, 0xD8, 0xFF])],
- 'jpeg': [Buffer.from([0xFF, 0xD8, 0xFF])],
- 'png': [Buffer.from([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])],
- 'gif': [Buffer.from([0x47, 0x49, 0x46, 0x38])], // GIF8
- 'zip': [Buffer.from([0x50, 0x4B, 0x03, 0x04]), Buffer.from([0x50, 0x4B, 0x05, 0x06])],
- };
+ // 파일 시그니처 (매직 넘버) 검증 << DRM 파일 처리 불가로 주석 처리
+ // const fileSignatures: Record<string, Buffer[]> = {
+ // 'pdf': [Buffer.from([0x25, 0x50, 0x44, 0x46])], // %PDF
+ // 'jpg': [Buffer.from([0xFF, 0xD8, 0xFF])],
+ // 'jpeg': [Buffer.from([0xFF, 0xD8, 0xFF])],
+ // 'png': [Buffer.from([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])],
+ // 'gif': [Buffer.from([0x47, 0x49, 0x46, 0x38])], // GIF8
+ // 'zip': [Buffer.from([0x50, 0x4B, 0x03, 0x04]), Buffer.from([0x50, 0x4B, 0x05, 0x06])],
+ // };
- const expectedSignatures = fileSignatures[extension];
- if (expectedSignatures) {
- const hasValidSignature = expectedSignatures.some(signature =>
- buffer.subarray(0, signature.length).equals(signature)
- );
+ // const expectedSignatures = fileSignatures[extension];
+ // if (expectedSignatures) {
+ // const hasValidSignature = expectedSignatures.some(signature =>
+ // buffer.subarray(0, signature.length).equals(signature)
+ // );
- if (!hasValidSignature) {
- return { valid: false, error: `파일 내용이 확장자와 일치하지 않습니다: ${extension}` };
- }
- }
+ // if (!hasValidSignature) {
+ // return { valid: false, error: `파일 내용이 확장자와 일치하지 않습니다: ${extension}` };
+ // }
+ // }
// 실행 파일 패턴 검색
const executablePatterns = [