강의에 쓰인 vue.js 멀티게시판 소스를 다운로드 받으실 수 있습니다.
강의에서 만든 멀티게시판은 "general.zip"을 다운하시면 되고,
페이징 처리가 부가된 멀티게시판은 "paging.zip"을 다운하시면 됩니다.
이 소스는 아파치 + PHP + Mysql 환경에서 동작합니다.
그리고, php.ini에서 short_open_tag=On으로 설정된 상태여야 합니다.
다음 순서에 따라, 소스를 올리시면 작동합니다
1. index.php와 jquery.bpopup2.min.js, jquery.min.js, jquery-ui.min.js 파일을 같은 폴더에 업로드합니다
(페이징 처리버전에는 이에 더해 getdbcount.php 파일과 getdbdata.php 파일을 올려야 합니다)
2. Mysql 데이터베이스에서 board 테이블과 notice 테이블을 생성해야 합니다.
(notice_테이블생성쿼리.sql 파일 및 board_테이블생성쿼리.sql을 사용하여 테이블을 생성해 주세요.
해당 쿼리를 복사해서, phpmyadmin, Mysql-Front, HeidiSql과 같은 Mysql 클라이언트 툴에서 복사한 쿼리를 (쿼리창에) 붙여넣어 실행하시면 됩니다)
(필요하다면, board테이블_스키마_캡쳐.png 파일과 notice테이블_스키마_캡쳐.png 파일을 확인하여 수동으로 생성할 수도 있습니다)
3. index.php 파일의 첫부분에 다음 include 구문이 있습니다
include "conndb.php";
conndb.php 파일은 직접 작성하셔야 합니다.
이 파일에는 db_conn() 함수 구현 부분이 존재하며, 단순히 Mysql 데이터베이스에 연결하는 부분입니다.
따라서, conndb.php 파일을 만들고, db_conn() 함수 내용을 직접 작성해주세요.
(만약, 페이징 처리 버전이라면, getdbcount.php 파일과 getdbdata.php 파일에서도 동일한 처리를 해주세요)
4. index.php 파일의 다음 구문에서 $DB_SNAME 변수가 쓰였습니다.
mysqli_select_db($db_link,$DB_SNAME);
이 변수는 Mysql에서 board 테이블과 notice 테이블이 생성된 데이터베이스 명칭입니다.
따라서, 이 변수를 conndb.php 파일에 선언해 주시고 적절한 값으로 세팅해 주세요.
기타 주의사항
이 소스는 보안 처리가 되어 있지 않습니다.
또한, 강의용으로 제작되어 있어, 상용으로 쓰기에는 부족한 면이 있습니다.
필요한 부분을 수정하여 사용하시고, "웹프로그래머를 위한 보안 강의"를 참조하셔서
필요한 보안 부분을 추가하여 주세요.
현 시점(2021-01-01)에서 "웹프로그래머를 위한 보안 강의"가 완성되지 않았지만
속히 완성될 수 있도록 하겠습니다.
현재 완성된 보안 강의에서 설명한 Sql Injection 처리는 반드시 해주세요.