주제: 파일 업로드 등 관련 문제점. (1.6.0.1)
안녕하세요?
회사 업무를 처리하면서 일지를 태터를 이용하여 작성하는데,
간간이 보이는 문제점들이 있어 투고하게 되었습니다.
[환경]
tattertools 1.0.6.1
apache 1.3.33-6sarge3
php 4.3.10-16
mysql 4.0.24-10sarge2
[문제점 1]
파일명이 꽤 긴 경우에 처음 몇 바이트까지만 db 의 label 필드에 저장되는 관계로,
업로드 한 파일을 정상적으로 다운로드 받을 수 없는 문제점이 있습니다.
정확한 경계조건은 테스트하지 않았습니다만, 파일명이 한글 40글자 이상인 경우면 재현 가능할겁니다.
(정확히는 업로드/다운로드가 불가능한 것이 아니라 파일명이 보존되지 않는 것입니다.)
여기에 대해서는 임시로 db 를 수정하여 문제를 해결하고 있습니다만, 참고해 주세요.
--- tt.orig/setup.php 2006-06-29 15:46:48.000000000 +0900
+++ tt/setup.php 2006-09-12 12:32:52.143426715 +0900
@@ -921,8 +921,8 @@
CREATE TABLE {$_POST['dbPrefix']}Attachments (
owner int(11) NOT NULL default '0',
parent int(11) NOT NULL default '0',
- name varchar(32) NOT NULL default '',
- label varchar(64) NOT NULL default '',
+ name varchar(255) NOT NULL default '',
+ label varchar(255) NOT NULL default '',
mime varchar(32) NOT NULL default '',
size int(11) NOT NULL default '0',
width int(11) NOT NULL default '0',
@@ -965,7 +965,7 @@
owner int(11) NOT NULL default '0',
id int(11) NOT NULL auto_increment,
parent int(11) default NULL,
- name varchar(127) NOT NULL default '',
+ name varchar(255) NOT NULL default '',
priority int(11) NOT NULL default '0',
entries int(11) NOT NULL default '0',
entriesInLogin int(11) NOT NULL default '0',
[문제점 2]
두 개 이상의 공백으로 시작하는 텍스트를 저장하고,
수정을 위해 불러왔다 다시 저장하면 공백이 점점 줄어들어서,
이 과정을 반복하면 공백이 두 칸까지 줄어듭니다.
작성하는 내용이 □ ○ - 등을 머리기호로 사용하는 개요식이다 보니,
라인의 시작하는 공백이 줄어들면 전체 편집이 보기에 나빠집니다.
사용자가 입력했던 내용을 그대로 db 에 넣지 않고,
빈칸 둘을 하나로 줄여서 저장하기 때문인 것으로 생각됩니다.
수정되어야 할 사항이라고 생각합니다만, 다른 분들의 의견은 어떠신지요.
[문제점 3]
파일명에 single quote 가 포함된 경우, 업로드한 파일을 정상적으로 다운로드 할 수 없습니다.
label 필드에 저장될 때 back slash 가 붙어버리기 때문인 것으로 생각되는데,
이때문에 첨부파일을 클릭하면 원 파일명이 아닌 업로드시의 utime 형태의 파일명으로 받게 됩니다.
(정확히는 다운로드할 때 파일명을 제대로 알려주지 못하는 문제입니다.)
--
최근 개발 버전에서는 확인해 보지 못했습니다만,
포럼을 검색해도 이에 대한 버그리포트가 없는 것으로 보아 그대로가 아닌가 합니다.