그누보드 콘트롤 타워 common.php 의 의미없는 디비 connect 없애기

그누보드는 그누보드내의 페이지를 호출할때마다 항상 common.php를 호출하도록 되어 있습니다.

그누보드 배포판을 기준으로 설명드리자면 비회원이 게시판의 글을 읽고자 클릭을 할 경우 코멘트창밑에 자동글등록방지 코드가 생성됩니다.

ajax를 이용해서 kcaptcha_session.php, kcaptcha_image.php을 호출하여 이미지를 생성하고 보여줍니다. 또한 이미지를 클릭할경우 다른이미지를 보여주도록 되어 있습니다.

이  과정에서
kcaptcha_session.php, kcaptcha_image.php는 실제 디비접근은 필요없음에도  common.php를 include 하게되면서, 무의미한 디비 접근을 두번이나 닫았다 엽니다.

mysql_pconnect()를 활용한 영구적인 접속 방법은, 운영하는 환경에 따라 틀려질수 있음으로 논외로 하고 mysql_connect() 환경하에서는 접속요청을 줄이는것도 서버의 부하를 줄일수 있다고 생각됩니다.

common.php 소스중에서 아래의 디비접근 소스를 제외한 별도의 common_nodb.php를 만들어 디비 접속과 상관없는 페이지의 경우 common_nodb.php를 include하도록 수정해서 사용중입니다.

$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);

현재, 그누보드에서 디비 접근과 무관하면서, 중복적인 디비접근을 시도하는  페이지를 더 찾아보는 중입니다.


|

댓글 4개

해당 페이지를 본다는 것은 이미 db connection이 생성되어 있다는 의미가 아닌가요?
비회원의 경우 board.php?bo_table=테이블명&wr_id=글번호 이렇게 글을 읽게 됩니다.
이 때 Mysql 에 sql_connect 요청을 한번만 해도 될걸 세번이나 한다는 의미입니다.

kcaptcha_session.php, kcaptcha_image.php 에서 include하는 _common.php를 적당히 수정해주시면 한번만 컨넥트 요청이 됩니다.

captcha는 디비와 아무 관련이 없는 별도 페이지거든요. 실행에 아무 문제도 없습니다.
전 너무나 초보자인데요
만약에요 그누보드파일 모두를 어떻게 common.php를 include 한 파일들을 찾을 수 있을까요?
수백개가 되는 파일들인데.. 빠르게 찾는 방법을 알아야 수정을 할 수 있지 않을까요?

저의 짧은 생각에는 common.php에 common_nodb.php파일 내용을 추가하고 그에 따라 조건을 설정해두면 수정하는데 어려움이 없지 않을까 생각 합니다.

너무 초보적인 이야기 인가요?
common.php는
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 이렇게 시작하지 않는 페이지는 모두다 common.php를 호출합니다.

다 찾자는게 아니라, 그누보드 페이지중에서 디비접근 필요없이 행해지는 캡차를 비롯해서 혹시 다른 화일이 존재하는지 찾아보자는 얘기였고, 디비 접근이 필요할경우엔 해당없습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
16년 전 조회 3,441
16년 전 조회 3,465
16년 전 조회 3,610
16년 전 조회 3,569
16년 전 조회 1.2만
16년 전 조회 1.9만
16년 전 조회 6,009
16년 전 조회 4,442
16년 전 조회 8,485
16년 전 조회 4,151
16년 전 조회 5,448
16년 전 조회 2,953
16년 전 조회 6,002
16년 전 조회 7,520
16년 전 조회 5,405
16년 전 조회 5,580
16년 전 조회 3,959
16년 전 조회 4,726
16년 전 조회 6,015
16년 전 조회 3,735
🐛 버그신고