it 언어 노트/ci3

ci3) The action you have requested is not allowed 해결책

윤비버 2024. 8. 24. 16:00
728x90
반응형

안녕하세요 비버팩토리입니다.

 

이번에 ci3로 작업을 하다가 보안을 신경 쓰려고 csrf를 활성화시켰습니다.

그러다가 The action you have requested is not allowed.  라고 발견 했습니다.

과정은 이렇습니다. 

관리자 페이지랑 프런트 페이지 둘 다 브라우저 창에 열어둔 상태인데, 어드민 페이지에서 설정 일부를 변경하고 폼 서브밋을 한 후에 프런트단에서 로그아웃을 합니다.

관리자 페이지 브라우저로 새로고침을 하면 The action you have requested is not allowed.라고 나옵니다.

혹시나 개발 모드 수정을 하면 증상이 없어지는가 하고 했는데  development => production 이것 또한 아니었습니다.

 

그렇다고 보안을 해제하면 안되고 해서 구글링을 통해서 ci 포럼에서 서치 했습니다.

https://forum.codeigniter.com/post-362426.html

 

$config['csrf_protection'] = FALSE; if true my website error

03-10-2019, 09:01 AM (This post was last modified: 03-10-2019, 09:02 AM by dave friend.) (03-10-2019, 08:37 AM)kelapamuda Wrote: Hello, I already have a website running well, but in order to make it securer , I do this : In config php, it comes   $config

forum.codeigniter.com

 

 

여기서 중간에 데이브 친구 라는분의 답변을 보면 아래 내용에서 힌트를 찾았습니다.

 

$config['csrf_regenerate'] = FALSE;

 

이건 자주 토큰을 변경 하지 않아야되서 false로 변경합니다.

 

그리고 나머지는 일부 페이지 제외를 하면됩니다.

$config['csrf_exclude_uris'] = array('your_controller/and_method');

 

저는 어드민만 제외시켰습니다.

그러고 다시 여러 번 테스트를 했는데 다시는 그런 증상이 나오지 않았습니다.

 

 

끝!

728x90
반응형