그누보드 허점 - PHP 끝 태그 남용 문제 해소하는 프로그램 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

그누보드 허점 - PHP 끝 태그 남용 문제 해소하는 프로그램 정보

최신글 그누보드 허점 - PHP 끝 태그 남용 문제 해소하는 프로그램

첨부파일

remove_end.zip (1.7K) 81회 다운로드 2020-11-30 15:10:30
테스트한 버전5.4.3
호환 가능 버전5이상

본문

PHP 끝 태그를 남용하는 경우 어떤 문제가 초래하는지 전번에 게시했습니다.
https://sir.kr/g5_builder/4014 에서 상세 내용 읽어주세요.

실지 이 문제가 그누보드에서 어떻게 잠재하고 있는지 함께 봅시다.
그누보드페이지에서 웃메뉴바에 접속자수를 보여주는 부분 다들 보았을겁니다.
접속자수 출력해주는 코드파일이 /theme/basic/skin/connect/basic/connect.skin.php 인데요
다음 이미지와 같이 ?> 끝 태그 다음에 빈 행이 있고 그 다음에 접속자수를 출력하고 있습니다.

1032442072_1606715634.2676.png

 

이 파일을 실지 불러와 사용하는데가 /theme/basic/head.php 34행입니다.
이제 페이지에서 접속자부분을 개발자방식으로 지적하여 실지 html로 어떻게 반영되었는지 다음 이미지를 보면 이해가실겁니다.

 

1032442072_1606715745.8137.png

 

사실 뭐 크게 문제 발생하는것은 없지만, 이런 식으로 PHP 끝 태그를 남용하다가는 언제 어데서 문제가 복잡해져도 디버깅이 곤란해지게 됩니다.
위의 문제가 깨끗히 해소되자면 다음과 같이 변경되어야 합니다.

 

1032442072_1606715785.3091.png

 

1032442072_1606715797.4843.png

 

제가 그누보드의 이러한 문제를 해소하는 php코드를 간단히 작성했습니다.
사용방법:
1. 첨부파일을 다운로드 합니다.
2. clear.php파일을 그누보드가 설치된 루트폴더안에 복사합니다.
3. 웹 브라우저에서 clear.php 코드를 실행합니다. 
예: http://localhost/gnuboard/clear.php 저의 경우 그누보드 소스가 DocumentRoot/gnuboard/에 있거든요.

그누보드 5.3.4를 가지고 테스트 한 결과 390개 코드파일을 수정변경했습니다.
그리고 그누보드 정상작동에 부정적 영향 전혀 없었습니다.

단, /theme/basic/skin/connect/basic/connect.skin.php 파일은 정규식 구분이 신통치 않아 원만히 해소되지 않는데요, 개별적으로 이 파일은 첨부한 파일로 덮어쓰고 사용하시면 됩니다.

저의 노력 많은 도움 되길 희망합니다...

추천
36

댓글 전체

감사합니다. 잘 모르지만 사용하려합니다.
아울러
그누보드를 거의 기본 상태로 사용하고 있어서
패치를 덮어 쓰고 있는데, 그때마다 매번 제거작업을 해야합니까?
새 패치파일들만 제거작업해도 되고 전체적으로 제거작업해도 됩니다.
새 패치파일만 제거하시려면 좀 복잡한데요,
새 패치파일들을 일일히 오픈하여 PHP끝 태그 붙었는지 체크하심이 번거롭지요, 그냥 매번 제거작업 하심이 큰 불편이 없을거 같네요.
그누보드 확장하시는 분들도, ?> 문제 지금부터 관심돌려셔 패치파일 올렸으면 하는 생각입니다.
저의 글에 추천을 주신 여러분께 다시금 인사드려요,
저는 자기만의 PHP Framework을 만드는 과정에 위와 같은 문제를 직면했더럤는데 작게 생각하구 공개하여 모두가 기뻐하시니 저두 놀랍기만 합니다.
초보라 문제점을 아직 잘 인식하지 못하긴 하지만, 사용자분들이 관심 가져주시는만큼 계속 발전하겠지요ㅎㅎ
능력 공유에 감사할뿐입니다. 컴퓨터 키면 적용해보고싶네요
저런문제때문에 PHP 코딩표준규칙인 PSR-12에서 PHP파일만있을때는 종료태그 삭제하라고 한거죠
그누는 PHP 코딩표준도 안지키는..
전체 2,423 |RSS
그누보드5 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT