CSRF 오류가 나게 하는 /extend 내 파일 좀 봐주세요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

CSRF 오류가 나게 하는 /extend 내 파일 좀 봐주세요. 정보

CSRF 오류가 나게 하는 /extend 내 파일 좀 봐주세요.

첨부파일

rank.php (3.2K) 1회 다운로드 2013-01-03 08:37:53

본문

안녕하세요. 정말 해결이 안되네요

어떤 파일 때문인지는 알았습니다.

/extend 폴더 내에 다음과 같은 rank5.php 파일 때문인데요,

<?
//Rank Top5 추출
function Rank5($skin_dir="", $rows=10, $subject_len=16, $options="")
{
    global $g4;
    global $g_id;
   
$year = date("Y");
$month = date("m");
$day = date("d");

//$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$tmp = mktime(0, 0, 0, $month, $day, $year);
$lastmonth = date("Y-m",$tmp);


    if ($skin_dir)
        $skin_path = "$g4[path]/skin/top10/$skin_dir";
    else
        $skin_path = "$g4[path]/skin/top10/rank5";

    $Writelist = array();
    $Commentlist = array();
    $Visitlist = array();

//글쓰기 랭킹
$sql_common = " from  $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id = a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";


$sql = " SELECT b.mb_nick,count(*) cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0,$rows";

    $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{

    $Writelist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Writelist[$i][mb_cnt] = $row[cnt];
}

//코멘트 랭킹
$sql_common = " from  $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id <> a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";

$sql = " SELECT b.mb_nick,count(*)cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0, $rows";

    $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{

    $Commentlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Commentlist[$i][mb_cnt] = $row[cnt];
}

//방문자 랭킹
$sql_common = " from  $g4[point_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.po_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and po_rel_table = '@login' ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";

$sql = " SELECT b.mb_nick,count(*)cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0, $rows";

    $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{

    $Visitlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Visitlist[$i][mb_cnt] = $row[cnt];
}
   
    ob_start();
    include "$skin_path/rank.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>


이 파일이 들어가면 csrf 가 엑박으로 나옵니다. 이 파일과 관련된 스킨이

사이트 내 꼭 필요한 거라서 파일을 뺄 수 없는 상황입니다ㅠㅠ

무엇이 잘못되었을까요?



검색해본 결과 charset 문제는 아니였습니다. 그리고 <? ?> 뒤에 공백도 없구요.

bbs/kcaptcha.php 관련 파일 <? ?> 뒤에 다 공백 없습니다.

아시는 분 없으신가요...

댓글 전체

균이님 답변 감사합니다. 그런데, 라인 지우고 타이핑해도 똑같아요. 위에 올려진 것을 긁어보니 공백이 있네요. 그런데 제 원소스를 다시 긁어보니 없습니다. 우연하게 위 내용상 소스에 공백이 생긴 것 같아요.
위 코드를 extend 폴더에 넣어보았는데 말이죠
마지막 공백 없애니 전혀 문제 없습니다
첨부화일로 등록해보세요 다운 받아서 extend에 넣어볼테니까요
이유는 모르겠군요
기존 화일 삭제하고 <? ?> 사이를 복사해서 화일을 다시 만들어보세요
그래도 안된다면 extend 폴더에서 lib폴더로 이동 후
이 화일을 사용하는 부분 상단에서
include_once "$g4[path]/lib/rank.php"; 이렇게 해서 사용하면 됩니다
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT