이전에 제로보드 XE라고 불렸던 시스템에 대한 내용은 XpressEngine 문서 참고하십시오.
<colbgcolor=#57a9b8><colcolor=#fff> 제로보드 파일:zeroboard4 로고.png | |
종류 | 전자 게시판 |
언어 | PHP |
라이선스 | 제로보드 독자라이선스 |
개발 | 고영수 |
최초 버전 | 1.0 (1999년 말) |
최신 버전 | 4.1 pl10 (2009년 9월 22일) |
유지보수 | 중단됨 |
1. 개요
웹 프로그래머 고영수(제로)[1]가 PHP로 개발한 웹 게시판 시스템. DB는 MySQL[2]을 사용했다.2. 역사
2000년대 초에 개인 홈페이지 제작 열풍이 불었었고, 이때 다양한 이지보드, 세팔보드 등의 웹 게시판 시스템들이 여럿 개발되었다. 제로보드는 그 중에서도 본좌급 인기를 자랑하던 물건. 심지어 리그베다 위키가 엔젤하이로 밑에 들어가 있던 시절의 각종 게시판들도 제로보드였다. 디시인사이드도 2013년 7월까지 이걸 마개조해서 사용하다가 자체 게시판으로 갈아탔다.또한 이 프로그램 덕분에 저가형 웹호스팅 시장은 아파치+PHP+MySQL 외의 다른 포맷이 사실상 전멸했을 정도의 인기를 끌었고, 개인 홈페이지 뿐만 아니라 기업이나 단체 홈페이지 등에서도 엄청나게 쓰면서(+더군다나 공짜이기까지 했으니) 적당한 호스팅 구해서 제로보드 깔고 스킨 다운받아서 깔고 페이지 몇 개 나모 웹에디터로 뚝딱해서 붙이면 (겉보기에는) 그럴싸해 보이는 사이트가 하나 나왔으니 너도나도 웹 사이트 제작에 뛰어들게 되고, 이런 이유로 사이트 평균 퀄리티와 단가 하락을 가져온 주범으로 지목당하기도 한다. 사실 이건 해외도 마찬가지다. 해외도 2000년대에는 저 조합을 쓰는 phpBB나 다른 포럼형 게시판이 인기를 끌었고, 그 이후에는 역시 저 조합을 쓰는 워드프레스가 인기몰이하다가 2010년대 중반부터는 워낙 서버값이 싸지다보니 그냥 가상서버 이상급을 끌어다 쓰는 경우가 많아져서 조합은 아무래도 좋게 되었다. Node.js, Ruby, NoSQL 계열이 인기 많아진 건 덤. 그래도 아파치를 제외하면 아직 정석급 자리를 차지하고 있다.
제로보드를 쓰는 홈페이지들은 대부분 페이지의 구조를 테이블로 짜고, 제로보드 게시판 설정의 헤더와 푸터에 각각 테이블 윗쪽 부분과 아래쪽 부분을 넣어주면 그럴싸한 페이지가 완성되었다. 당시에는 웹 표준 같은 개념이 없었으니 IE 이외의 환경에서 깨지건 말건 신경도 안 썼다.
2009년 9월 22일 배포된 제로보드 4.1 pl10 버전을 마지막으로 개발 및 배포가 중단되었다. 인터넷을 찾아보면 이 버전을 구할 수는 있지만 보안 취약점이 많으므로 사용을 권장하지 않는다. 개발 중단 이후 다른 유저들이 비공식적으로 수정한 버전이 몇개 존재하지만, 이 역시 현재 시점에서는 보안 취약점이 많으므로 사용을 권장하지 않는다.
제로보드 5가 2005년경 나왔으나, 베타 버전인 0.0.5 까지만 나온 상태로 중지되었고, 이후에는 XpressEngine이라는 새로운 프로젝트가 시작되었다.
아직까지 제로보드 4.1로 웹사이트를 운영하는 곳도 있다. 제로보드 4.1은 보안이 취약하고 더 이상 사용자 지원도 되지 않기 때문에 운영에 적지 않은 어려움이 있다. PHP 5.3 버전부터 제로보드 4.1이 제대로 작동하지 않는 문제가 있어서[3] 호스팅 서버의 사양이 높은 사이트는 대부분 XE, 라이믹스, 그누보드, 워드프레스 등으로 전환했다.
3. 특징
제로보드의 형태는 댓글을 제외하면 PC통신의 게시판 형태를 거의 그대로 가져왔다. 한국은 초고속 인터넷이 다른 나라보다 빠르게 보급, 대중화되면서 인터넷의 바로 전 단계에 해당되는 PC통신이 먼저 대중화되었다. 제로보드보다 앞서 태어난 WWWBoard나 WayBoard,[4] 워니보드 등등이 PC통신의 게시판 형태를 그대로 도입했다. 이 대세를 제로보드도 그대로 따른 것이다.이 게시판의 보급과 인기로 인해 한국의 인터넷 게시판들은 게시물을 작성하면 그 밑으로 댓글이 달리는 형태가 주류로 자리잡게 되었다. 덕분에 한국의 네티즌들이 서양의 포럼형 게시판이나 일본의 스레드 플로팅형 게시판을 처음 접하게 되면 어색함과 불편함을 많이 느끼곤 한다. 이에 대해서는 스레드 문서와 플로트 문서, 인터넷 포럼 문서를 참고.
3.1. 장점
간편한 스킨(게시판의 디자인) 시스템과 회원 관리 시스템 등이 높은 인기 요인. 스킨은 구조가 간편해서, 구조를 어느 정도만 파악하고 이미지 제작 능력만 있다면 누구나 자신의 홈페이지에 맞춰서 쉽게 스킨을 새로 만들 수 있었다. 회원 관리 시스템은 동시대의 다른 게시판 프로그램에 비해 기능이 강력해서 인기가 좋았다.3.2. 단점
하지만 2002년에 출시된 4.1 버전 이후 개발자의 사정으로 계속해서 업데이트가 되지 않았었고, 이후 블로그의 인기와 이런저런 문제점들이 지적되어 인기가 떨어졌었다. 지금도 개인 홈페이지에서는 쓰는 사람들이 많지만, 웹 표준 문제도 있고 보안상 허점으로 사이트가 자주 털리는 사례가 많아 현재는 사용을 권장하지 않는다.3.2.1. 코드 퀄리티
코드 퀄리티는 제로보드가 만들어진 당시 기준으로도 상당히 엉망이다. 중심이 되는 설계가 없고[5], 그때그때 원하는 기능을 덕지덕지 이어붙인 형태라서 모듈화가 제대로 되어 있지 않고 사방에 전역 변수가 떡칠되어 있다. 제로보드 4가 보안에 취약하다는 악명은 보안에 취약한 코드를 만들기 쉬운 당시 PHP의 특성과 제로보드 4의 코드 퀄리티가 빚어낸 결과이다. 제로보드 4의 강점이었던 스킨 시스템도 어떤 인터페이스를 제공하는 것이 아니라 그냥 생짜 PHP 코드를 집어넣는 형태로 구현되어 있다. 유저가 제작한 스킨으로 인해 보안 문제를 일으키는 경우나 제로보드가 버전업 될 때마다 동작하던 스킨이 깨지는 경우가 비일비재했다.더 큰 문제는 제로보드 스킨 제작으로 PHP에 입문한 사람들이 많다는 것이다. 사실상 그런 사람들에게는 제로보드 4 코드가 레퍼런스인 셈인데, 코딩 습관이 제로보드 4에 맞춰지게 된다. 이로 인해 제대로 된 강좌 없이 막히는 부분이 있으면 다른 소스에서 복사 붙여넣기 하는 개발문화가 형성되었고 이들이 프로그래머로 진출하면서 비슷한 수준의 코드를 생산하게 되는 일이 많았다.
3.2.2. 보안 문제
제로보드 4의 보안 문제는 당대 게시판 중 상당히 심각한 수준으로, 웹을 크롤링하면서 제로보드 4를 발견하면 자동으로 해킹하는 봇까지 있었을 정도이다. 특히 SQL 주입 취약점이 심각한 수준으로, 2000년대 말~ 2010년대 초반 상당수의 제로보드 4 웹사이트가 이 취약점을 이용하여 해킹당한 사례가 있으며 이 시기 수많은 서브컬처 계열 사이트가 폐쇄되거나 리뉴얼을 해야만 했다. 대표적인 사례로 뽐뿌.제로보드의 스킨 구현 방식이 제로보드의 핵심 파일을 수정하는 방식이기에, 보안 패치가 되었다 해도 보안 패치 적용 전의 스킨을 사용시 보안 패치가 적용되지 않는 문제점이 있다. 게다가 제로보드는 2009년 이후로 개발이 중단된 상태이기 때문에, 보안 문제가 발생해도 대처하기가 어렵다.
당연히 비밀번호 암호화 방식도 케케묵은 옛날 방식이다. MySQL의 password 암호화 방식을 사용해서 암호화하는데, 문제는 DB 테이블에서 password의 자릿수가 딱 16자로 잡혀 있어서 4.1 이후 버전의 MySQL password 암호화를 저장할 수가 없게 되어 있다. 이것은 MySQL의 password 암호화가 4.0 버전까지 16자로 나왔기 때문인데, 4.1 버전에서 암호화를 바꾸면서 자릿수가 41자로 늘어났다.[6] 이 때문에 제로보드는 4.1 이후 버전의 MySQL과 호환이 안 되게 되었고, 국내 웹 호스팅의 euc-kr 호스팅의 MySQL 버전이 4.0에서 멈추게 된 문제를 제공했다. 여담이지만 그누보드는 진작에 암호화를 갈아치워 최신 버전의 MySQL과도 호환이 잘 된다.
게다가 구 버전의 PHP와 MySQL을 쓰기에 SQL 주입을 원천적으로 차단하는 Prepared statement[7]도 쓸 수 없다. 그야말로 답이 없다.
3.2.3. 웹 표준 문제
웹 표준을 지키지 않아 Chrome이나 Firefox 등의 타사 웹 브라우저는 물론이고 Internet Explorer도 10 이상이면 화면이 이상하게 나오거나 일부 기능이 작동하지 않는 등의 문제가 생긴다. 그 중에서 몇 가지 문제점들을 뽑자면 다음과 같다.- Internet Explorer를 제외한 웹 브라우저에서는 목록에서 카테고리 선택이 되지 않는다. Internet Explorer도 10 이상에서는 호환성 보기를 설정하지 않으면 카테고리 선택이 되지 않는다. 이 문제는 카테고리 선택을 select box로 출력되게 할 경우 발생하는데, 코드를 뜯어보면 Internet Explorer가 아닐 경우 이 부분이 출력이 안 되게 아예 막아놔서 벌어지는 현상이다. 저 부분을 풀어버리면 작동이 된다.
- 일부 브라우저에서 회원가입을 진행할 수 없다. Internet Eplorer 역시 10 이상에서 문제가 발생한다. 아이디를 쓰고 Check ID 버튼을 아무리 눌러도 반응이 없다. 비표준 자바스크립트 사용으로 인한 문제로 추정된다.
- 일부 브라우저에서 사용하지 않는 버튼들이 그대로 표시된다. 예를 들어서, 글을 쓸 수 없는 게시판인데도 글쓰기 버튼이 표시된다거나 하는 문제 말이다. 이 문제는 글을 쓸 수 없는 게시판의 버튼을 삭제할 때 그냥 삭제하는 것이 아니라, '<Zeroboard'라는 접두어를 앞에 붙여 비정상적인 태그로 만들어 브라우저가 출력하지 못하게 하는 방법을 쓰기 때문이다. 파폭이나 크롬 같은 경우는 저걸 고쳐서 출력하기 때문에 문제가 된다. 다만 제로보드 4.0까지는 브라우저와 상관 없이 사용하지 않는 버튼도 그대로 출력되었다.
Internet Explorer 10 이상에서는 소스를 수정해서 호환성 보기를 강제로 설정시켜도 되지만,[8] Internet Explorer를 제외한 다른 브라우저에서는 애초에 레거시 호환성을 고려하지 않고 설계하기 때문에 해결이 불가능하다. 소스 코드를 웹 표준에 맞게 수정하는 방법도 있지만, 상술했듯이 보안 문제도 있기 때문에 특수한 경우가 아닌 이상 다른 시스템으로 옮기는 게 좋다.
3.2.4. 폐쇄적인 라이센스 정책
제로보드는 원래 라이센스 정책이 굉장히 폐쇄적이었다. 심지어 유료 버전을 사지 않으면 스킨 상에 나타나는 저작권 문구조차 못 지우게 했다. 그러나 2008년 3월 18일, 차기 버전이 나오면서 제로보드라는 이름을 쓰지 않는 조건 하에 수정 및 재배포가 가능해졌다. 같은 시기에 저작권 문구 역시 삭제가 가능하게 바뀌었으며, 스킨 제작자에게 허락을 받았거나 자작 스킨이라면 스킨 저작권 문구도 삭제할 수 있게 바뀌었다.3.2.5. 플러그인 제작 문제
추가 플러그인 제작이 불편하다. 이 문제 때문에 사용자마다 제로보드의 소스가 다른 문제가 발생했다. 팁 게시판에 올라온 것을 바탕으로 수정해서 사용하던 사람이 많았기 때문. 4.1 버전 이후 업데이트가 안 되고 보안 업데이트도 어려웠던 이유 중 하나이기도 하다.3.2.6. 지원중단 문제
너무 오랫동안 개발이 되지 않다 보니 최신 버전의 PHP와 MySQL에서는 쓰기 힘들다. PHP 5.4에서 PHP 4 시절의 오래된 기능의 호환을 제거하면서 작동이 되지 않게 되었다.[9] MySQL은 더 심한 것이, 이미 오래 전에 나온 4.1 버전부터 작동이 되지 않는다. 이는 MySQL의 password() 함수의 비밀번호 생성 알고리즘이 보안성을 이유로 향상되면서 호환성이 없어진 것이 원인.[10] 거기다 EUC-KR 기반이라[11] 요즘 많이 쓰는 UTF-8 환경에서는 쓰는 것도 어렵다. 배포가 중단되기 직전 UTF-8 버전이 배포된 적이 있지만 이미 그때는 XE가 개발된 이후라 쓰는 사람도 많지 않았다. 이 때문에 국내 호스팅 제공 업체의 EUC-KR 지원 호스팅은 대다수가 MySQL 버전이 4.0에 머물러 있는 것을 볼 수 있다.4. 후속
고영수가 근무하던 첫눈 이라는 회사를 인수한 네이버가 오픈소스 분야를 강화하기 위해 2007년 3월에 제로보드 브랜드를 인수한 후[12], 고영수를 주축으로 차기 버전 개발팀을 구성했다.2008년, 네이버의 지원으로 XpressEngine(XE)이 나왔다. 초기 이름은 제로보드 XE였으나 종합 빌더 개념을 뜻하는 XE로 변경했다. XE는 기존의 단순한 게시판 프로그램이 아닌 종합 사이트 빌더 개념의 CMS(Contents Management System)이다. 제로보드와는 달리, 모듈화 방식을 사용하여 메인 소스를 수정하지 않고도 원하는 기능을 추가할 수 있도록 하였다. 제로보드 4로부터 DB를 XML 형식으로 추출해 대부분 옮길수는 있지만 프로그램 구조와 스킨 시스템이 완전히 바뀌어서 호환성은 없다. 별개의 프로그램이 된 것이다.
XE는 이후 라이믹스로 승계되어 개발이 계속되고 있으며 XE에서 라이믹스로는 바로 업그레이드가 가능하다. XE 개발팀에서는 XE3라는 것도 개발하였으나, XE와는 전혀 다른 구조를 사용하여 업그레이드가 불가능한 별개의 CMS가 되었다.
5. 여담
쪽지가 오면 "쪽지가 도착했습니다, 빨리 확인해 주세요."라는 여성 목소리의 알림이 들리는데, 이 목소리의 주인공은 라디오 기상캐스터와 여행작가로 활동 중인 송소진이다. 라디오 프로 신해철의 고스트네이션 오프닝의 경고문의 주인공이기도 하다. 이 알림음은 어도비 플래시 기반으로 되어 있기 때문에 플래시 플레이어가 없거나 비활성화되어 있으면 쪽지가 와도 알림음이 들리지 않았다.현재 제로보드와 비슷하면서도 계속해서 업데이트가 되고 사용자가 활발한 게시판 프로그램으로는 오픈소스 프로그램인 그누보드가 있다. 비슷한 시절부터 발전한 탓인지 그누보드4 버전은 제로보드와 일부 단점을 공유한다. 위에서 서술한 보안 문제, Prepared statement 미지원 등이 대표적인데, 그누보드도 버전 5로 넘어가면서 많이 달라져서 현재는 크게 문제되지는 않는 편이다. PHP 7 지원 문제도 그누보드 5에서 업데이트로 해결되었다.
한때 그누보드와 제로보드 기반 사이트에서 웹 보드 게임을 서비스할 수 있는 프로그램이 있었으나, 관리 업체 측 사정으로 운영이 중단되었다. 참고
비공식 보안 패치와 함께 PHP 8.x에 대응하도록 마개조한 버전이 있다. #
6. 제로보드를 사용하는 사이트
전성기에는 많은 사이트가 있었으나, 세월이 지나면서 많이 줄어들었다. 폐쇄된 사이트가 많고, 살아남은 사이트도 대부분 XpressEngine이나 그누보드, 또는 자체 프로그램으로 전환했다.- LCN
디시인사이드: 2007년 중순 경까지 사용하다가 이후 서버를 이전하면서 자체 프로그램으로 바꿨다. 다만 2013년 8월 4일까지만 해도 제로보드의 흔적이 다수 남아있었으나[13] 추가적인 개편을 여러차례 진행하면서 현재는 흔적이 남지 않게 되었다.- 뽐뿌[14]
마비노기 타임즈[15]- TE31
- 고파스[16]
- PGR21[17]
- 홍차넷[18]
- 츄잉
Theme of EZ2Dj(커뮤니티)[19]파코즈하드웨어[20]한국영미문학페미니즘학회[21]
7. 관련 문서
[1] 2023년 기준 라인넥스트의 대표를 맡고 있다.[2] 후술하겠지만, MySQL 4.0 이하 버전에 대응하는 버전이 없는 MariaDB는 쓸 수 없다.[3] 5.3부터 추가된 경고성 문구인 Deprecated(제거 예정)가 한몫 했다.[4] 훗날 이 보드는 그누보드에 큰 영향을 준다.[5] 사실 PHP용 프레임워크(Laravel, CodeIgniter, CakePHP 등)는 5.4버전 즈음 되어서야 본 궤도에 올랐다.[6] SHA-1(결과값이 40자다)을 두 번 돌리고 앞에 별표를 붙인다.[7] 쿼리 명령과 변수를 분리해서 기술하는 기법.[8] lib.php파일 상단에
header ("X-UA-Compatible: IE=EmulateIE9");
를 추가해주면 된다.[9] 설치 페이지에서부터 엄청난 양의 Deprecated가 반겨주며 PHP 7.x에서는 MySQL함수가 모두 제거된 관계로(mysqli 또는 PDO로 변경해야 한다) 아예 Fatal Error가 떠서 제로보드 4.1을 사용하려던 홈페이지 제작자를 벙찌게 만든다. 5.5 이후의 최신 PHP 버전들에서는 그누보드 4 최종 버전에서도 이미지 불러오기 관련 Deprecated가 뜬다. 그누보드 5는 업데이트를 통해 PHP 7.0 지원.[10] 호환성을 위해 예전 알고리즘이 old_password()라는 함수로 남아있기 때문에 소스를 수정하면 4.1 이후 버전에서도 사용이 가능하긴 하다.[11] 외국어는 물론이고 이모지, 심지어 한글 채움 문자를 사용하지 않으면 일부 한글조차 표현이 안 된다! 참고로 이모지는 MySQL 5.5(= MariaDB 5.5)에서야 지원하며 한글 채움 문자는 Mozilla Firefox만 지원한다.[12] 네이버, 제로보드 인수[13] 대표적으로 제목에 공백 문자만 입력한 상태로 글쓰기를 하면 제로보드 특유의 경고창과 함께 제목은 반드시 입력해야 한다고 나왔었다.[14] 위에서도 언급했지만, 보안상의 취약점으로 인해 개인정보가 유출되는 사태가 발생했다.[15] 2022년에 폐쇄되었다.[16] 보안상의 취약점으로 인해 게시물에 악성코드가 삽입되는 일이 자주 일어난다고 한다. 참고로 2012년 초반 디시인사이드에서 일어났던 일이다.[17] 거의 코드를 갈아엎은 수준으로 마개조해서 사용중이다. 회원정보 등에 일부 흔적이 남아 있다.[18] PGR21과 비슷한 방법으로 코드를 갈아엎었다. 회원정보 등에 흔적이 남은 것도 PGR21과 비슷하다. PGR21의 전 운영자가 설립한 사이트라 그런지 게시판 시스템도 PGR21에서 쓰던 것을 거의 그대로 가져다 쓰는 것으로 추정된다.[19] 한때 XpressEngine으로 바꾸려는 계획이 있었으나, 서버 이전으로 인해 계획이 취소되었다. 현재는 사이트가 폐쇄되었으며, 네이버 카페에 'Theme of RDM'이라는 이름으로 새로 만든 상태. 자세한 내용은 해당 문서 참고.[20] 자체적으로 꽤 많이 마개조하여 사용하고 있다. 2021년 6월 1일자로 폐쇄되었다.[21] 2021년 5월 8일 해킹 여파로 게시판이 삭제되기전까지 사용.