위토즈 - 개발자프로그램판매공간

정보공유

[씨아이보드팁] [씨아이보드] back-end 처리로 결과값을 받아야 하는경우

 

무조건 csrf_verify 를 호출하여 토큰값이 존재하지 않을경우 오류를 출력합니다.

 

그런데 back-end 로 결과값을 받아야하는경우 토큰값을 넘겨주지 않으므로 오류가 납니다. 

 

/application/core/CB_Security.php 파일에서

 

토큰 유효성검사가 필요없는 클래스 또는 메소드를 비교대상에서 제외시킵니다.

 

 

if (!isset($_POST[$this->_csrf_token_name], $_COOKIE[$this->_csrf_cookie_name]) OR $_POST[$this->_csrf_token_name] !== $_COOKIE[$this->_csrf_cookie_name]) // Do the tokens match?

{

    $this->csrf_show_error();

}

 

 

if ( $class != 'eximbay' && (!isset($_POST[$this->_csrf_token_name], $_COOKIE[$this->_csrf_cookie_name]) OR $_POST[$this->_csrf_token_name] !== $_COOKIE[$this->_csrf_cookie_name])) // Do the tokens match?

{

    $this->csrf_show_error();

}

 

로 변경

 

 

 

가장 정상적인 방법.

 

리턴 url 을 application/config/config.php 에서 csrf 예외목록에 추가.

 

$config['csrf_exclude_uris']

 

 

 

 

The action you have requested is not allowed.  라는 메시지가 나올경우 위의 문제라고 보시면됩니다. 

 

 

 

정보공유
Total 0건 1 페이지
번호 제목 글쓴이 날짜 조회
게시물이 없습니다.