질문 Q #15295
[보안]입력, 출력 데이타 가공은 어떻게 하고 계시나요?
동재 2016-09-22 21:35:58

INPUT 값 입력, 저장, 출력 과정에서

어떤 방법으로 문자열을 가공.저장 하시나요?

 

 

저는

 

form 전송 시에는

별다른 가공 없이 쿼리바인딩만으로 바로 DB에 입력시키고

 

프런트단에서

html_escape($data) 혹은 nl2br(html_escape($data)) 해서 출력을 하고 있습니다.

 

 

DB 입력단계에서 html_escape 등으로 가공할 경우 출력할 때 많이 헷갈리더라구요.

 

 

제가 현재 쓰는 방법이 옳은 건가요?

 

CI 보안관련 메뉴얼에는 DB 입력 때 부터 이스케이핑하라는 말이 있고 대부분 보안관련 글들이 그렇게 설명하던데

저는 DB 입력 시  쿼리바인딩이나 액티브레코드를 사용하기 때문에 문제가 없을것 같습니다.

 

 

혹시 저와 같은 방법으로 했을 경우 문제가 발생한다거나

다른 방법.. 혹은 조언 해 주실거 없으신가요?   

답변 1
#1 변종원(웅파) 2016-09-22 23:25:01

post 전송한 데이터는 폼검증에서 xss_clean 으로 처리하거나 $post = $this->input->post(null, true); 형태로 받아서 처리하고 입력합니다.

입력하기전에 보안처리를 하고 보여줄때는 상황에 따라 처리합니다.