PHP 개발자가 없다면 접근 권한, 백업 복원과 실행 환경부터 확인하세요. 이후 PHP2Shell 해결을 위한 패치 PHP, 이전 또는 정적 보관을 선택합니다.
01
변경 전 관리권과 책임자 확보
도메인, 호스팅, 서버/패널, 소스, DB 자격 정보, 결제 책임자를 찾습니다. 유지 보수 승인자와 복구 담당을 정하고 로컬 파일로 정확한 제품·버전을 확인합니다. 계정·소스를 복구한 뒤 운영 PHP를 바꾸세요.
02
증거를 보존하고 복원을 연습
침해 의심 시 정리 전 로그를 보존합니다. 코드·DB·업로드·설정·예약 작업을 같은 시점의 암호화·접근 제한 세트로 저장하고 인코딩·외부 저장소를 기록합니다. 비공개 환경에 복원해 내용·로그인을 시험하세요. 백업 성공 메시지만으로는 부족합니다.
패치가 침해를 배제하지 않습니다 ↗03
PHP 세대 차이 확인
PHP 5.3/5.6은 삭제 API에 의존할 수 있습니다. PHP 7은 ext/mysql, PHP 8은 each()/create_function()을 삭제하고 타입·서명을 강화합니다. PHP 8.2는 동적 속성을 폐기 예정으로 알립니다. 거치는 이전 문서를 모두 읽으세요. 옛 최소값은 운영 권장이나 사용자 코드 시험이 아닙니다.
04
수리·이전·정적 보관 선택
검증된 공급자 패치로 시간을 벌 때 두 CVE와 유지 지원을 확인하세요. 지원 종료 PHP에는 지원되는 목표가 필요합니다. 관리 가능한 앱은 수리, 방치된 의존은 재구축, 콘텐츠 전용은 정적 보관을 검토하며 로그인·검색·폼도 처리합니다.
05
실제와 가까운 비공개 연습
Web PHP·확장·INI·DB·라우팅을 목표에 맞춥니다. 익명화 사본을 제한하고 실제 메일·과금·운영 웹훅을 차단합니다. 코어·플러그인·사용자 코드를 함께 시험하고 업무 검증·로그를 저장합니다. 비개발자도 호스트에 기록을 요청할 수 있습니다.
06
쓰기와 스키마를 고려한 복귀
일치하는 파일·DB 세트를 보관합니다. PHP 복귀는 스키마를 되돌리지 않습니다. 쓰기 중지나 시험된 동기화, 실패 기준·담당·기한을 정합니다. 스냅샷 뒤 새 주문을 포함해 복원·대사를 연습하고 거래를 버리지 마세요.
07
전환 뒤 실제 서비스 검증
Web PHP·모든 FPM·큐·일정·컨테이너·복제본을 확인해 옛 프로세스를 교체합니다. 두 CVE를 버전·공급자 공지로 검증하고 깊은 링크·로그인·업로드·업무를 시험합니다. 로그·복귀 기간을 확보하세요. CLI·홈페이지만으로는 부족합니다.
PHP2Shell 패치 검증 ↗PHP2Shell 수정 후 서비스 기능 검증
로그인·세션·역할
테스트 계정으로 로그인·로그아웃·비밀번호 복구, 세션·관리자·역할 권한을 확인합니다.
깊은 링크·HTTP 상태
깊은 링크, 폼, 없는 페이지를 요청해 매개변수·리다이렉트·HTTP 상태를 비교합니다.
DB 읽기·쓰기·트랜잭션
테스트 DB에 읽고 쓰며 드라이버·엄격 SQL·트랜잭션·왕복 값을 검증합니다.
사용자 템플릿·이스케이프
기사·목록·계정·오류 템플릿을 열어 사용자 태그·이스케이프·캐시·경고를 확인합니다.
업로드·썸네일
무해한 이미지를 업로드하고 썸네일 조회·삭제를 시험합니다. 권한·경로·URL을 보고 실행 파일은 차단합니다.
새 큐·기존 작업
새 워커로 새 작업과 기존 작업을 처리해 직렬화·재시도·중복을 확인합니다.
예약 작업·PHP 경로
스케줄러 실제 PHP·INI·계정을 확인하고 무해한 작업을 시험해 배포 뒤 비교합니다.
콜드/웜 캐시·OPcache
문서대로 캐시를 재빌드하고 콜드/웜 요청, 옛 직렬화 값과 OPcache 프로세스를 확인합니다.
테스트 메일
테스트 메일 수집기로 보내 템플릿·큐·전송을 확인하고 실제 고객에게 보내지 않습니다.
주문·세금·재고
배송·세금·할인·환불을 포함한 샌드박스 주문의 합계·재고·기록을 비교합니다.
샌드박스 결제·알림
결제 성공·실패·비동기 통지를 시험하고 서명·멱등성으로 중복 청구를 방지합니다.
검색 색인·필터
테스트 검색 색인을 재빌드해 검색어·필터·권한을 PHP 응답과 별도로 확인합니다.
사이트·도메인·언어
모든 사이트·도메인·언어를 올바른 역할로 확인하고 쿠키·URL·개별 설정을 비교합니다.
GBK/UTF-8·데이터 왕복
특수 문자를 폼·DB·내보내기에서 왕복하고 별도 변환 시험 전 GBK/UTF-8을 유지합니다.
API 계약·콜백
인증 유무 API의 JSON 유형·오류·상태·외부 콜백을 비교합니다.
Web/CLI 확장·ABI
Web/CLI 확장 ABI·NTS/ZTS를 확인하고 드라이버와 서비스를 시험합니다.
PHP2Shell 패치 검증
앱 호환성, 유지보수 상태, PHP 보안은 별도로 확인합니다. 두 CVE 수정이 포함된 지원 중인 PHP를 선택하고 모든 Web 작업자, 예약 작업, 복제본을 검증하세요. 플러그인 업데이트만으로 PHP가 바뀌지 않습니다.
| PHP 브랜치 | 이 버전 미만의 업스트림 | 최초 수정 버전 | 보안 지원 종료 |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 2029년 12월 31일 |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 2028년 12월 31일 |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 2027년 12월 31일 |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 2026년 12월 31일 |
해당 브랜치의 일반 PHP 릴리스는 없습니다. 7.4, 8.0, 8.1의 최소 소스 백포트가 있으며 공급업체 지원은 별도로 확인해야 합니다. 가이드 읽기 ↗