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

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

· 3개월 전 · 283
# 그누보드는 프레임워크를 사용하지 않은 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 에 프레임워크 쓰고싶어여 ㅠ

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
427
424
421
416
411
408
401
400
393
390
389
386
382
380
378
367
361
358
354
347
339
337
336
329
328
318
316
315
311
302