1

주제: mod_security와 Flash Uploader 충돌

특정환경에서 멀티업로더가 동작하지 않는 것으로 보고 되고 있어서 오늘 그 환경을 통해서 문제를 해결했습니다.
문제는 Flash 자체의 버그때문입니다. FAQ 를 업데이트 하였고, 1.0.6 부터는 이 문제를 해결해서 내보내도록 해야겠습니다.

---- 이하 업데이트된 FAQ 입니다. ----

Q: 1.0.4 에서 1.0.5 로 업그레이드 했습니다. 잘 사용하던 파일업로더가 동작하지 않습니다. 어떻게 해결해야 하는지요 ?
A: 1.0.4 와는 달리 1.0.5 에서는 Flash 를 이용한 멀티업로드 기능을 지원하고 있습니다. 한꺼번에 여러개의 파일을 업로드할 수 있는 기능을 제공합니다. 이러한 업로더가 동작하지 않는 경우에는 다음 세가지를 점검하시기 바랍니다.

첫째, 브라우져 캐쉬의 갱신을 해주어야 합니다.
업그레이드 과정에서 사용하던 javascript 가 일부 변경되었습니다. 구버젼의 javascript 가 브라우져에 캐슁(caching)되어 있을 수 있습니다. F5 혹은 Ctrl-F5 를 눌러서 캐쉬를 갱신해주시거나 수동으로 캐쉬삭제를 해주시기 바랍니다.

둘째, 2006.05.19일 현재 기준으로 Flash자체에 버그가 있습니다.
이때의 증상은 모든 기능이 정상동작하지만, 글 혹은 공지를 쓸때 파일업로드를 시도하면 업로드를 시작하는 듯 하다가 사라져 버립니다. 원인은 Flash 의 파일 업로드를 담당하는 부분의 버그 때문입니다. apache 의 mod_security 가 적용된 hosting service 에서만 발생합니다. ( http://process.kaist.ac.kr/~gendoh/blog/157 참고하세요 )
해결하는 방법은 .htaccess 를 열어서 다음세줄을 최상단에 추가합니다.

SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off

서버의 설정에 따라서 위의 설정이 적용되지 않을 경우가 있습니다. 이경우는 서버 관리자에 mod_security 를 동작시키지 않도록 요청하시기 바랍니다. Tattertools 는 mod_security가 해결해주는 보안문제에 대한 해결책이 내부적으로 적용되어 있기 때문에, mod_security 없이도 안전하게 동작합니다.

셋째, ( 이경우는 잘 발생하지 않습니다만.. ) 도메인포워딩과 관련한 경우입니다.
도메인을 포워딩하여 태터툴즈를 사용하고 계시는 경우에 발생하는 문제입니다. 도메인 포워딩이 아닌 원래의 주소를 이용하시면 문제를 해결할 수 있습니다. 관련하여 Peanut 님이 보고해주신 내용을 그대로 첨부합니다.
원래 블로그 주소는 http://OOOOOO.byus.net/blog 입니다. 이 주소를 제로보드에서 해주는 도메인 포워딩 서비스 zetyx.net으로 변경했었습니다.
그래서 제가 제 블로그에 접속할 때도 http://OOOOOO.zetyx.net/으로 항상 접속했었는데요. 나중에는 갖은 방법을 동원해도 안 되길래, 아예 테터를 지우기 까지 했었습니다. 그리고, 마지막으로 여기로 접속했는데, 파일 업로드가 거짓말처럼 되더군요. http://OOOOOO.byus.net/blog/owner/  그 후에도 시험해 봤는데, 도메인 포워딩 받은 http://OOOOOO.zetyx.net/ 주소로 접속했을 때는 파일 업로드가 안되고, 원래 주소인 http://OOOOOO.byus.net/blog/owner/로 접속하면, 파일 업로드가 되는 걸 확인했습니다.

2

답글: mod_security와 Flash Uploader 충돌

세번째 부분은 도메인명에 따른 플래시의 접근 보안 문제입니다. uploader.swf 내부에서 스크립트 상으로 security.allowDomain() 을 설정하거나, <param name="allowScriptAccess" value="always"> 를 추가하는 것으로 해결이 가능한 것으로 알고 있습니다. Flash8 에서 같은 도메인에서만 HTTP 등 통신관련 된 기능이 작동하는 sameDomain 이 기본값으로 되었다고 합니다. 확인해보지는 못했지만 아무래도 이것과 관련된것 같네요.

http://www.adobe.com/kr/devnet/flash/ar … ce_02.html