2012-04-25 13 views
1

私はcodeigniterにHTMLコンテンツをデータベースに保存するフォームを持っています。 例このHTML:CodeigniterはHTMLエンティティを削除します

<div style="width:400px"> 
    <div style="background-color:yellow"> 
    Header 
    </div> 
</div> 

私はそれを保存すると、私は壊れたHTMLタグを取得します。フォームを送信する際に私が "print_r" $ _POSTを使っても、htmlタグが壊れているのが分かります。

<div 
    <div 
    Header 
    </div> 
</div> 

しかし、CodeIgniterのない同じ形式(シンプルコード)は、正常に動作し、適切なHTMLを示しています。ここ は私が得るものです。

これはCIでは正常ですか?どのようにこれを解決することができますか?

+0

私はここにいくつかのプロセスが欠落していない限り、それには何の問題もありません。より多くの "詳細"を提供するためのケア? –

答えて

5

これはXSSフィルタリングの問題です。 CIのインストールでは、global_xss_filteringフラグをtrueに設定しています。したがって、使用する前にすべての入力データを消去します。ここでは、問題が記載されており、その前に解決:

Codeigniter - Disable XSS filtering on a post basis

とここでは、「セキュリティフィルタ処理」に記載されている:

http://codeigniter.com/user_guide/libraries/input.html

0

スタイルの決算で「/」を入れてみてください:

<div style="width:400px;"> 
    <div style="background-color:yellow;"> 
     Header 
    </div> 
</div> 
関連する問題