CI 묻고 답하기

제목 safari csrf_protection 질문
카테고리 일반
글쓴이 하하예에 작성시각 2022/04/21 15:37:06
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 520   RSS

안녕하세요 엄청 오랜만에 질문드리는것 같네요

최근에 ci 3.1.13 로 프로젝트를 진행하고 있는데요 완성하고 사파리로 테스트하는 와중에 

the action you have requested is not allowed. 으로 로그인이 안되는 현상을 발견해서

$config['csrf_protection'] = FALSE; 해보니 정상적으로 동작하는것을 확인할수 있었습니다.

구글링해보니 대부분 ajax이슈인거같아서요..

저는 로그인을 비동기가 아니고 폼으로 날리는 방법으로 진행하였는데 방법을 찾지 못하여서 자문을 구합니다.

 

현재는 임시방편으로 csrf_protection 옵션을 풀어논 상태여서 신경쓰이네요ㅎㅎ

참고로 크롬에서는 잘 동작하고 폼안에 csrf_token csrf_hash를 넣어둔 상태입니다. 

 

태그 csrf_protection,safari
 다음글 CacheException 질문 , 도움부탁드립니다 (1)
 이전글 ci4 select간 궁금증이 있어서 질문 드립니다. (3)

댓글

한대승(불의회상) / 2022/04/21 17:10:27 / 추천 0

가장 쉽고 빠른 방법은 API 관련 URL만 CSRF를 사용하지 않는 것입니다.

API 특성상 인증 관련 로직은 웹과 별도로 구성하는게 일반적이라서요.

config/config.php 파일에 'csrf_exclude_urls' 옵션을 찾으신후 배열로 기술하면 제외 가능합니다.

$config['csrf_exclude_uris'] = array( 'api/.*');