제목 | post 로 값 넘길 때 #이 들어가면 403 에러가 납니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | perfume | 작성시각 | 2021/04/15 07:32:52 |
|
|||
ajax를 이용해 FormData로 처리하고 있는 로직이 있습니다. 환경설정은 global_xss_filtering = TRUE, csrf_protection = FALSE 이렇게 되어 있는 상태로 지금까지 작업해오던 사이트에서 url 인풋값을 넘길 때 값에 #이 들어가면 403 에러가 납니다. $this->input->post('url', false)); 식으로 해봤는데 근본적으로 403 에러가 나버리니 저 문제는 아닌거 같구요. csrf를 사용해야 하나 했는데 그러면 이전 코드를 모두 수정해야 하는거 같아서 안될거 같구요.
다른 특수기호(!, @ 등)는 괜찮은데 #만 포함되면 403에러가 나는건 왜일까요? 어떻게 해결해야 할까요? |
|||
다음글 | 세션 시간때 문제 (3) | ||
이전글 | 일반 쿼리 $this->db->query()... (3) | ||
변종원(웅파)
/
2021/04/15 07:56:04 /
추천
0
|
perfume
/
2021/04/15 08:07:59 /
추천
0
변종원님 답변 감사드립니다. global_xss_filtering 는 끄고 테스트해봤는데 마찬가지이구요, 그리고 컨트롤러에 코드 모두 지우고 ajax로 넘겨도 403에러가 납니다. 그래서 컨트롤단 코드는 문제가 아닌거 같구요, 보니까 인풋값의 제일 마지막에 #이 붙으면 생깁니다. 아래는 뷰단 코드입니다.
for( var i=0; i<count; i++ ){ ... formData.append( 'b_link[]', $('.INPUT-b_link').eq(i).val() ); ... } $.ajax({ url : url_link, type : 'POST', cache : false, contentType : false, processData : false, async : false, data : formData, dataType : 'html', success : function(data) { ... } });
|
변종원(웅파)
/
2021/04/15 08:42:53 /
추천
0
웹서버 로그, ci 로그도 참고하세요
|
global_xss_filtering 끄고 테스트해보시고
뷰와 컨트롤러 소스를 올리셔야 정확한 답변이 가능할 것 같네요.