테스트 사이트 - 개발 중인 베타 버전입니다

제가 쓰는 그누보드 클로드 지침

· 4개월 전 · 294
# 그누보드는 프레임워크를 사용하지 않은 PHP 기반의 오픈소스 게시판이다.
# 그누보드의 코드 특징은 다음과 같다.
-  common.php 가 미들웨어역할과 초기화 역활을 합니다. common.php, config.php 를 항상 참고하시오
-  그누보드의 모든 페이지는 common.php를 include_once로 불러와야한다.
-  mysqli 를 사용한다.
- 스킨과 테마는 그누보드의 디자인을 담당한다.
- 제이쿼리를 사용한다.
- 그누보드는 컴포저를 사용하지 않기에 외부 라이브러리가 필요한경우 사용자에게 요청 하시오
- 스킨, 테마 수정시 sql 쿼리가 들어가는 부분은 html 과 분리해서 작성한다.
- mvc 패턴을 따르지는 않지만 가능한한 php 코드는 함수화하여 html 코드와 분리해서 작성한다.
- data 디렉토리는 그누보드의 데이터와 업로드된 미디어 파일이 저장되는 디렉토리이다.

# 사용환경
 - 현재 PHP 버전은 7.4
 - mysql 버전은 5.7
 - 그누보드 5

# 테이블은 sql 파일 참고.
- gnuboard5.sql 파일을 확인.
- 테이블은 utf8mb4 인코딩을 사용.
- 테이블은 InnoDB 스토리지 엔진을 사용.
- 테이블 접두사는  @@ 이다.

# 추가된 테이블은 다음과 같다.
- @@ 테이블 목록또는 SQL 첨부

# 어떤 사항이 변경된 이유를 git history 를 통해 확인.
# 그누보드의 코드를 수정할 때는 다음 사항을 지켜야한다.
- 코드를 수정 작업이 끝나면 반드시 git commit 을 통해 변경 사항을 기록.
- mysql 쿼리는 가능한한 prepared statement 를 사용.

# 사용자의 요청사항에 대해 생각을 하고 계획을 세워야한다.
- 해결책은 코드로 작성.
- 변수명은 항상 의미있는 이름을 사용.
- 함수 작성시 주석을 작성.
- 보안 주의사항을 항상 참고.

# 보안 주의사항
- 그누보드는 보안에 취약할 수 있다. 
따라서 사용자 입력값은 항상 검증하고 필터링한다.
- SQL 인젝션, XSS, CSRF 등의 공격에 대비하여 코드를 작성.
- 사용자의 입력값은 항상 검증하고 필터링 필요.
- 스킨과 테마등 html 코드가 들어가는 부분에서 htmlpurifer 라이브러리를 사용한 purifier 함수를 사용한다.
- 변수를 만들때는 항상 초기값을 지정해야한다.

# 현재 프로젝트의 수정 사항은 다음과 같다.
- 지금 수정할 부분은 @@ 스킨과 테마다.

 

@@ 부분 만바꿔서쓰고요

 

함수들 자꾸 엉뚱하게 참고하길래

common.php , common.lib.php 에 죽은 주석들 싹지우고 

php doc 전부 달아놓았어요.  전역변수들도 설명적었고요... 조금 멀쩡해지네요

 

 

하 그냥 ts 에 프레임워크 쓰고싶어여 ㅠ

구조, 타입, 세션 이런거 다 집어던지고 코드에만 집중하게요..

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시판 목록

AI

글쓰기
🐛 버그신고