얼마전부터 본인이 사용중인 블로그(텍스트큐브)와 역시 본인이 운영하고 있는 홈페이지(제로보드 기반)에서 파일 업로드를 하려고 "파일 업로드" 버튼을 클릭해도 업로드 다이얼로그 창이 나타나지 않고, 업로드를 할 수 없는 문제가 발생하고 있어 애를 먹고 있었다.
도대체 왜 안되는 것일까 -_-? 웹 검색엔진의 도움을 받아 마침내 오늘!!! 그 해결방법을 알아내고 본인과 같은 문제를 겪는 사용자가 또 나오게 되면 그분들에게 도움을 드리고자 포스팅을 작성한다.
텍스트 큐브 업로드 | 제로보드 업로드 |
이 문제를 해결하기 위하여 PC재부팅 / 인터넷 익스플로러 재설치 와 인터넷 익스플로러 버전을 6/7/8까지 다 변경해봤다. 게다가 인터넷 익스플로러 ActiveX까지 모두 제거해봐도 먹통인 파일 업로드 버튼......
원인은 Flash Player....... 이놈의 Flash Player때문에 요 몇일사이 별 뻘짓을 다 하고 말았던 것이다.
문제가된 Flash Player의 버전은 10.0.12.36.....
제어판 -> 프로그램 추가/삭제 -> Flash Player 제거!!!!!!
그후에 9.0.124.0 버전으로 교체한후에 정상적으로 잘 동작한다.
플래쉬 플레이어 9.x대를 다운받기 위하여 매크로 미디어 홈페이지를 방문했는데, 다운로드 페이지에서 찾기 어려워 직접 다이렉트 링크를 알려드리니, 이를 다운받아 설치하면 된다.
다운로드 : http://download.macromedia.com/pub/flashplayer/updaters/9/flash_player_update6_flash9.zip
다운받은 파일의 압축을 풀면 아래의 그림과 같이 3개의 폴더가 생성됩니다.
"Release" 폴더의 "Install Flash Player 9 ActiveX.msi" 와 "Install Flash Player 9 Plugin.msi"를 설치하면 됩니다. 설치 완료 후 Flash Player의 버전은 "9.0.124.0"입니다.
금번 Flash 10 버전부터 보안 센드박스쪽이 변경이 되었는데, 일반적으로 플래쉬로 파일 업로드를 구현하는 웹프로그램은 화면에서는 보이지 않으나 1x1 픽셀 정도 크기의 플래쉬를 삽입하여 구현하는데, 이로 인해 나타난 문제로 추정된다고 한다. (Flash Player와 mod_security의 궁합이 맞지 않아 발생하는 문제라고 한다.)
이와는 별도로 Flash Player를 교체하지 않고, TextCube의 Config.PHP파일에
$service['flashuploader'] = false;
를 추가해줌으로써 플래쉬 업로더를 비활성화 시킨후 상요하는 방법도 있다.
그러나 이 경우에는 멀티업로드 기능이 사라지므로 파일을 여러개 업로드하는 사용자의 경우에는 한개씩 업로드하는 수고스러움을 감당해야 한다.