| 제목 | euc-kr에서 xss_clean버그시 대처 방법(?) | ||
|---|---|---|---|
| 글쓴이 | 徽人 | 작성시각 | 2009/11/04 12:49:04 | 
| 
                         | 
                |||
                        
class MY_Input extends CI_Input
{
	function MY_Input()
	{
		parent::CI_Input();
	}
	/**
	 * euc-kr에서는 버그가 있으므로 utf-8로 변경해서 검사.
	 */
	function xss_clean($str, $is_image = FALSE)
	{	
		$CFG =& load_class('Config');
		$charset = $CFG->item('charset');
		$CFG->set_item('charset', 'UTF-8');			// UTF-8로 변경.
		$str = iconv($charset, 'UTF-8', $str);		// 검사할 문자열을 UTF-8로 변경.
		$str = parent::xss_clean($str, $is_image);
		$CFG->set_item('charset', $charset);		// 인코딩을 원상복구~
		if(is_bool($str))
			return $str;
		return iconv('UTF-8', $charset, $str);
	}
}
전 이렇게 해서 해결했습니다. 검사하기전에 UTF-8로 인코딩 변경하고(전역 설정도 변경) 검사 후 다시 기본 인코딩으로 변경합니다. 피드백 적극 환영합니다 ㅎㅎ  | 
                |||
| 다음글 | 프로파일러 쉽게 사용하기 (1) | ||
| 이전글 | php 세션(서버에저장되는)을 쓰기위해서 (1) | ||
| 
                             
                                마냐
                                /
                                2009/11/04 14:15:24 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                徽人
                                /
                                2009/11/04 22:08:33 /
                                추천
                                0
                             
                            
                                www.codeigniter-kr.org/qna/view/1239/page/1/ 
                        html_entity_decode() 함수가 euc-kr을 지원하지 않아서 생기는 버그입니다. "&" 가 포함 될경우 에러가 생깁니다.  | 
                    
| 
                             
                                마냐
                                /
                                2009/11/04 23:59:01 /
                                추천
                                0
                             
                            아.. 제가 써논거군요. ㄷㄷㄷ;;  | 
                    
어떤 버그인가요?