코드이그나이터 기반 PHP 오픈소스 게시판 : 씨아이보드

자잘한 버그 신고.

  • 루팡
  • 0
  • 3,823
  • 글주소
  • 07-16

안녕하세요 프리미엄보드 사용자입니다.

 

일단..  사소한 버그가 몇몇 보이네요.  다른분들도 도움되시라고 공유합니다.

 

 

1. 게시판레벨 2로 해놓고 , 게시물 포인트 소진시켜두면, 권한없다고 페이지이동하면서 포인트도 차감되는 버그가 있네요.

 

   - 원인 : Accesslevel.php 파일

        header( "HTTP/1.1 302 Moved Temporarily" );

        header("Location: /permission_denied");

    이렇게 되있는데, 이거 이동하는 시간에 아래 루틴이 실행되서 그럽니다. 아래처럼 수정하면 됩니다.

        header( "HTTP/1.1 302 Moved Temporarily" );

        header("Location: /permission_denied");

        exit; // 이동시키고 로직 종료시키는 코드 추가. 

        페이지 포워드나 리다이렉트는 php 뿐만아니고 모든 언어에서 반드시 위와같이 명시적으로  추가 코드 실행을 막아줘야 합니다.

 

 

2. csrf 를 글로벌 On 해두면 kcp 실명인증완료시 403 페이지로 이동하는 증상

 

    application/config/config.php 파일에 보면, 

   $config['csrf_exclude_uris'] = array

       이렇게 선언된 부분이 있는데 

       아래와 같이 추가합니다.

 $config['csrf_exclude_uris'] = array(

     array('controller' => 'selfcert','method' => 'kcp_phone_return'), // kcp 실명인증 페이지 추가 

 

   원인은 아시겠지만 csrf 용 토큰이 당연히 kcp 요청 post 에선 없기때문에 발생하는 에러입니다.

 

 

 

아 당연히 될줄알고 쓰다가 발생하는 버그땜에 좀 당황스럽네요

 

그러나 이정도 버그는 이해가능정도이니 다른 분들과도 공유하고 싶습니다.

 ​