업스트림이 PHP 7 기준이라 최근 PHP 8.5 호스팅에서 Textcube가 fatal error로 동작하지 않는 문제가 있어, 1.10.10을 PHP 8.5까지 포팅한 커뮤니티 포크를 공개합니다.
저장소: https://github.com/deokio/Textcube-NG
1.10.10버전의 릴리즈된 코드들(플러그인 포함) 모두를 대상으로 수정하였습니다. 그대로 PHP 파일만 교체하는 drop-in 방식이라, 기존 블로그를 PHP 버전 낮추지 않고 그대로 옮길 수 있습니다.
검증:
- PHP 7.4 / 8.2 / 8.4 / 8.5 (MySQL 5.7, Apache 2.4) 테스트 통과 (설치, 인증, 로그인, CRUD, 첨부, TTXML, 피드, 스킨, 플러그인 로드).
- 싱글/패스/도메인모드 동작 확인, memcached 운영 확인
주요 변경:
- deprecated/제거 문법 전반 수정,
- phpmailer 6.9.x 교체(기존 인터페이스 유지)
- flash흔적 제거 및 같이 배포되는 플러그인 코드 변환 및 설명보강, 라인 플러그인 기능 보완 등.
- 보안 패치 및 사용성에 영향을 미치는 자잘한 버그 수정 - 결정적으로 로그인이 제대로 동작합니다.
- 변경관련하여, Anthropic의 Claude Code 및 Opus 4.6 High를 사용하였습니다.
먼저 알아두실 점:
-
HIGH 2건(MD5 무솔트 비밀번호 — 기존 로그인 호환 위해 유지, 내부 raw SQL 일부 잔존)이 남아 있습니다.
SQL관련해서는 PDO를 사용하여 전달받은 변수들을 사전 처리한 부분들이 있기 떄문에, 최소한도의 보안처리는 되어 있습니다. 모두 수정하려면 textcube동작구조를 완전히 엎어야 하는 수준이라서 진행하지 않았습니다.
-
그렇지만, 다중도메인 또는 멀티패스 블로그에서는 가급적 권장하지 않습니다.
컨버전과정에서 php 8.5로 지원하되 원래 코드를 기계적으로 변환하는 식으로 진행하려고 했습니다만,
진행과정에서 그간 멀티블로그를 지원하는 텍스트큐브 서비스 해킹원인(.htaccess 변조)으로 파악되어 부득이하게 패치를 하였습니다.
일부 잔존사항은 데이터 변조문제와는 큰 관련이 없고, phpinfo를 실행가능한 상태면 노출되는 항목에 가까워서 놔둔 것입니다.
-
따라서, 위와 같은 환경에서는 추가 하드닝을 권장합니다.
1인이 혼자서 싱글모드로 쓰는경우는 크게 문제없음을 확인했습니다.
상세는 저장소 내 documents/SECURITY.md 관련 파일을 참고 부탁드립니다.
Needlworks/TNF와 무관한 비공식 포크이며, GPL을 따릅니다. 같은 처지로 막혀 계신 분들께 도움이 되길 바랍니다.
업스트림이 PHP 7 기준이라 최근 PHP 8.5 호스팅에서 Textcube가 fatal error로 동작하지 않는 문제가 있어, 1.10.10을 PHP 8.5까지 포팅한 커뮤니티 포크를 공개합니다.
저장소: https://github.com/deokio/Textcube-NG
1.10.10버전의 릴리즈된 코드들(플러그인 포함) 모두를 대상으로 수정하였습니다. 그대로 PHP 파일만 교체하는 drop-in 방식이라, 기존 블로그를 PHP 버전 낮추지 않고 그대로 옮길 수 있습니다.
검증:
주요 변경:
먼저 알아두실 점:
HIGH 2건(MD5 무솔트 비밀번호 — 기존 로그인 호환 위해 유지, 내부 raw SQL 일부 잔존)이 남아 있습니다.
SQL관련해서는 PDO를 사용하여 전달받은 변수들을 사전 처리한 부분들이 있기 떄문에, 최소한도의 보안처리는 되어 있습니다. 모두 수정하려면 textcube동작구조를 완전히 엎어야 하는 수준이라서 진행하지 않았습니다.
그렇지만, 다중도메인 또는 멀티패스 블로그에서는 가급적 권장하지 않습니다.
컨버전과정에서 php 8.5로 지원하되 원래 코드를 기계적으로 변환하는 식으로 진행하려고 했습니다만,
진행과정에서 그간 멀티블로그를 지원하는 텍스트큐브 서비스 해킹원인(.htaccess 변조)으로 파악되어 부득이하게 패치를 하였습니다.
일부 잔존사항은 데이터 변조문제와는 큰 관련이 없고, phpinfo를 실행가능한 상태면 노출되는 항목에 가까워서 놔둔 것입니다.
따라서, 위와 같은 환경에서는 추가 하드닝을 권장합니다.
1인이 혼자서 싱글모드로 쓰는경우는 크게 문제없음을 확인했습니다.
상세는 저장소 내 documents/SECURITY.md 관련 파일을 참고 부탁드립니다.
Needlworks/TNF와 무관한 비공식 포크이며, GPL을 따릅니다. 같은 처지로 막혀 계신 분들께 도움이 되길 바랍니다.