CI 묻고 답하기

제목 ci4 csrf 사용 관련해서...
카테고리 CI 4 관련
글쓴이 안성 작성시각 2021/07/29 19:02:47
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 10813   RSS

ci4 csrf를 사용중인데

 

일부러 token 값을 틀리게 해서 폼값을 넘겼을때

 

아무런 에러페이지나 에러문구 없이 이전 페이지로 그냥 넘어가 버리네요.

 

throw SecurityException::forDisallowedAction(); 여기 까지 실행되는건 확인했는데..

 

조언 부탁드립니다.

 

** vendor/codeigniter4/framework/system/Security/Security.php

if (! isset($token, $_COOKIE[$this->cookieName]) || $token !== $_COOKIE[$this->cookieName])

{

     throw SecurityException::forDisallowedAction();

}

 

** vendor/codeigniter4/framework/system/Security/Exceptions/SecurityException.php

namespace CodeIgniter\Security\Exceptions;

use CodeIgniter\Exceptions\FrameworkException;

class SecurityException extends FrameworkException

{

    public static function forDisallowedAction()

    {

        return new static(lang('Security.disallowedAction'), 403);

    }

    

    public static function forInvalidSameSite(string $samesite)

    {

        return new static(lang('Security.invalidSameSite', [$samesite]));

    }

}

 다음글 ci 질문입니다. (6)
 이전글 세션중에 flashdata가 갑자기 안 사라지는 경우 ... (3)

댓글

변종원(웅파) / 2021/07/30 07:05:36 / 추천 0
매뉴얼 참고요. 기본사항입니다. http://ci4doc.cikorea.net/libraries/security.html#csrf
테러보이 / 2021/07/30 09:06:56 / 추천 0

.env의

security.redirect   = true

가 켜져있으면 리다이렉트됩니다.

 

(app\Config\Security.php)

테러보이 / 2021/07/30 09:12:08 / 추천 0
안성 / 2021/07/31 17:41:11 / 추천 0

답변 주신분들 감사합니다.

app/config/Security.php public $redirect = false; 는 적용되지 않고

vendor/codeigniter4/framework/system/Security/Security.php $redirect = false; 해야 에러 페이지가 나오네요..

 

 

테러보이 / 2021/07/31 23:47:01 / 추천 0
벤더 안쪽은 만지는 파일이 아닙니다
.env가 있다면 그 설정이 우선 적용되는지라 그파일부터 체크해보세요