프로그래밍
4시간 전
0
WebTiles는 사용자가 직접 HTML, CSS, JavaScript 코드를 안전하게 삽입하고 실행할 수 있는 협업 웹 페이지를 구현한 프로젝트입니다.
기술적 핵심은 Shadow DOM을 활용한 격리 처리로, 각 타일(250x250 크기)마다 독립적인 컨텍스트를 제공하여 스타일과 스크립트 충돌을 방지하며, HTML과 CSS는 엄격한 파싱 및 필터링 규칙으로 보안을 강화하였습니다.
JavaScript 실행은 JS-Interpreter를 사용해 샌드박스 환경을 구축, 실행 속도와 메모리를 제한하며, DOM 및 네트워크 API를 재구현해 안전한 코드 실행을 가능하게 하였습니다.
이 과정에서 발생한 여러 샌드박스 탈출 시도와 악성 코드(웜) 확산 문제를 경험하며, CSP 설정과 다중 파싱 루프 등으로 보완하였고, 이를 통해 사용자 코드 수용의 실용적 가능성을 입증하였습니다.
결과적으로 WebTiles는 사용자 생성 콘텐츠의 자유와 보안을 균형 있게 달성한 혁신적 웹 협업 플랫폼으로, 게임, 앱, 소셜 미디어 등 다양한 활용 사례를 보여주고 있습니다.