Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 7월 공모주 청약 일정
- php
- Oracle
- linux
- 코드이그나이터
- Eclipse
- 공모주 청약
- 자바
- 주식
- 리눅스
- codeigniter
- SQL
- 자바스크립트
- 공모주
- 주식 청약 일정
- java
- 제이쿼리
- html
- Stock ipo
- 6월 공모주 청약 일정
- MYSQL
- 공모주 청약 일정
- 주식 청약
- jquery
- Stock
- css
- 오라클
- JavaScript
- 맥
- IPO
Archives
- Today
- Total
개발자의 끄적끄적
[php/codeigniter] 코드이그나이터 ajax csrf 403 error 해결방법 / ajax csrf token 갱신 방법 본문
개발/php
[php/codeigniter] 코드이그나이터 ajax csrf 403 error 해결방법 / ajax csrf token 갱신 방법
효벨 2021. 4. 5. 01:00728x90
반응형
[php/codeigniter] 코드이그나이터 ajax csrf 403 error 해결방법 / ajax csrf token 갱신 방법
php codeigniter 에서
아래와 같은 ajaxform 을
ajax 를 이용해서 컨트롤러로 전달하는 기능을 많이 사용합니다.
<form id="ajaxform" method="post">
<input type="hidden" id="id_token" name="<?= $this->security->get_csrf_token_name() ?>" value="<?= $this->security->get_csrf_hash() ?>">
</form>
그럴때 만약 컨트롤러에서 ok 라고 판단이 되지않고 error 로 페이지에서
리턴을 받았을때,
다시 시도하려고 하면 403 에러가 발생합니다.
csrf token 갱신이 안되서 나는 에러입니다.
그럴때는 아래처럼 사용하시면 됩니다.
전송받고 리턴하는 컨트롤러에서
처리가 끝나고 아래처럼 json_encode 로 리턴할때,
새로운 token 을 생성해서 변수에 담아서 같이 전달합니다.
$arr = array();
$arr["data"] = "$this->security->get_csrf_hash()";
echo json_encode($arr);
exit;
그리고는 아래처럼 r.data 안에 들어있는 토큰값을 form input hidden 에 설정된 아이디의 값에 세팅하면 됩니다!
$.post( "/main/test", $("#ajaxform").serialize(), function(r) {
...
$("#id_token").val(r.data);
...
}, "json");
참고들 하세요!
반응형
'개발 > php' 카테고리의 다른 글
Comments