CI 묻고 답하기

제목 글 내용중 eval(), base64_encoding() 내장함수 쓰일 경우 406 Not Acceptable 에러
글쓴이 파키라 작성시각 2010/02/10 17:00:51
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 23393   RSS
안녕하세요! Q&A 게시판을 만들고 있습니다.

글 내용 중 eval(), base64_encoding() 내장함수가 쓰여져 있을 경우에 406 Not Acceptable 에러가 나오거든요..

자료를 찾아보니 Security Controller를 거치게 되서 그런거 같은데 어떻게 해야 할까요?

그리고,  example.com/news/article/my_article에서 "my_article" 파라미터가 있을 수도, 없을 수도 있는 경우에 처리를 어떻게 해줘야 하는지도 여쭙니다...

감사합니다. 
 다음글 [초보]체크박스의 폼검증에 관하여 (7)
 이전글 [초보]조인할 경우에 어케 하나요? (2)

댓글

변종원(웅파) / 2010/02/10 21:02:09 / 추천 0

if($this->uri->segment('3')){
  //my_article 이 있을때 처리
} else {
  //my_article 이 없을때 처리
}

첫번째 질문은 이해가 잘 안되네요.
글 내용에 base64_encoding() 함수를 거쳐서 생성된 내용이 들어있다는 건가요?
 

파키라 / 2010/02/11 09:23:53 / 추천 0
글내용에 eval()... 내장함수 등을 쓰고 글 등록할 경우에 406 Not Acceptable 에러가 나오거든요...
변종원(웅파) / 2010/02/11 09:44:02 / 추천 0
함수명 자체가 들어있다는 말씀이죠?

글내용
블라블라블라 eval() 블라블라

검색해보니 ci의 문제가 아니라 서버단의 문제인것 같습니다. 아니면 클라이언트 브라우저의 문제일 수도 있구요. 쓰시는 브라우저, 위지윅에디터를 쓰신다면 에디터명과 버전, 서버 환경 등을 올려주셔야 답변이 가능합니다.

질문을 하실때는 답변자는 어떤 상황인지 질문자가 이야기하지 않으면 알수가 없습니다.
어떤 상황에서 어떤 액션을 취했을때 어떤 문제가 생겼는지를 알아야 정확한 답변이 가능합니다.
참고하세요
파키라 / 2010/02/11 10:39:26 / 추천 0

네 감사합니다... 웅파님

그런데 일반 텍스트 를 입력하면 정상적으로 글이 등록이 되는데... 내장함수만 들어가면 에러가 나오니까요. ^^;

ps )
브라우저 : IE 7
웹서버 : apache 1.3.34 ( Linux)
PHP : PHP Version 4.4.8

파키라 / 2010/02/11 10:57:35 / 추천 0

내용을 찾아보니 mod_security에 의한 문제일 수도 있는것 같습니다..

해결후에 결과 포스팅 하겠습니다... 감사합니다. 웅파님


결과내용 :
mod_security에 의해서 필터링되는 문제였습니다.

하단내용을 수정하여 처리되었습니다.

감사합니다. 웅파님

------------------------------------------------------------------------------

SecFilterScanPOST On
POST 메소드의 payload를 점검한다.
ModSecurity는 다음과 같은 2가지 타입으로 인코딩된 Request body를 지원한다.
o application/x-www-form-urlencoded (Form 데이터 전송 시 사용)
o multipart/form-data (파일 전송시 사용)
다른 인코딩 타입은 대부분의 웹 어플리케이션에서 사용되지는 않는다.


SetEnvIfNoCase Content-Type \
"^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads"
각 요청별로 POST payload 점검을 비 활성화할 수 있다. 환경변수 MODSEC_NOPOSTBUFFERING
이 정의되어 있으면 POST payload 버퍼링을 하지 않는다.