2013-07-29 3 views
0

codeigniter와 함께 FCKEditer를 사용하고 있으며 데이터베이스에 데이터를 제출할 때 데이터를 보내기 전에 서식을 제거합니다. 내가fckediter가 codeigniter에서 formating을 제거하는 중

<span style="color: rgb(255, 0, 0);">know-how in the field of Water</span> 

를 제출하는 경우, 예를 들어

, 테이블의 데이터 저장소는

<span>know-how in the field of Water</span> 

난 형태가 울부 짖는 소리

<form action="#" method="post" id="frm" name="frm" class="form_class"> 

<label id="validateeditor" >Description</label> 
         <? 

       $dataf = array(
           'name'  => 'page_description', 
           'id'   => 'page_description', 
           'toolbarset' => 'Default', 
           'basepath' => base_url().'application/plugins/fckeditor/', 
           'width'  => '700', 
           'height'  => '400' 
        ); 

       echo form_fckeditor($dataf, @$result['page_description']); 
</form> 

처럼 난에 다음과 같은 jQuery 코드를 사용하고있는 것입니다 데이터베이스에 데이터 저장

<script type="text/javascript"> 
$(document).ready(function(){ 

jQuery("#frm").validationEngine('attach',{ 
    promptPosition :'centerRight', 
    onValidationComplete: function(form, status){ 
    if(status) 
    { 
     insert_update(); 
    } 
    } 
}) 

}); 

function insert_update() 
{ 
var fckvalue = FCKeditorAPI.GetInstance('page_description').GetXHTML(); 
$("#page_description").val(fckvalue); 
    var formdata = $("#frm").serialize(); 
     $.ajax({ 
       type: 'POST', 
       url: '<?php echo site_url(ADMIN_DIR."cms/insert_update"); ?>', 
       data: formdata, 
       success:function (data){ 
        var msg; 
        if(jQuery.trim($("#<?php echo $u_column;?>").val())!='') 
        { 
         msg = "Record Updated Successfully."; 
        } 
        else 
        { 
         msg = "Record Inserted Successfully."; 
        } 

        jQuery.noticeAdd({text:msg}); 
        $("#list").trigger("reloadGrid"); 
        editDialog.dialog("close"); 
       } 
     }); 
} 
</script> 

내가 뭘 잘못했는지는 모르겠지만 데이터를 저장할 때 위와 같이 서식이 제거됩니다.

감사

+0

정지 XSS 필터링을 수행 : 사용자가 입력에서 제 TRUE 파라미터로 전달하는 경우

  • 입력 한 내용을 여과한다. 당신은'$ this-> input-> post()'의 두번째 매개 변수를'true'로 설정하지 않습니다. –

  • +0

    아니 내 게시물은 $ this-> input-> post ('page_description', false); 그러나 여전히 동일하다. – air

    답변

    0

    이것은 귀하의 의견에 XSS 필터링의 결과로 일어나고있다.

    여기 청소되지 않습니다이 필드를 보장하기 위해 확인해야 할 몇 가지 있습니다 : 당신의 config.php 파일에 $this->form_validation->set_rules('page_description', 'Description', 'required|xss_clean');

  • 확인 $config['global_xss_filtering'] = TRUE; 경우 :

    1. 당신은 입력을 필터링 유효성 검사 규칙이있을 수 있습니다. 사용자가 컨트롤러의 필드의 값을 얻을 때 $this->input->post('page_description', TRUE);