2016-05-21 4 views
0

CKEditorなどのHTML WYSIWYGエディタを使用していますが、ユーザーがページのレイアウトを変更するHTMLコードを送信しないようにするにはどうですか? HTMLを出力しようとします。ここでWYSIWYGフォームを作成しますが、ユーザーがページレイアウトを壊すのを防ぐ

は、2つのポストの例である:あなたが見ることができるように

<p><b>This is my post</b></p> 
<p>It has some nice HTML that does not break stuff</p> 

</div> 
<div style="height:10000px; width:10000px;"> 
    <p>muhahaha</p> 
</div> 

、最初のポストは、私はそれを表示することができ、それはクレイジー見て文句を言わない、いいと簡単です。しかし、第2のポストは(テストしていません完全に私のページのレイアウトを変更することができますが、あなたのアイデアを得る。私はにhtmlentitiesを使用することができます知っている

<html> 
<head>...</head> 
<body> 
    <div class='content'> 
     <div class='post'> 
      <p><b>This is my post</b></p> 
      <p>It has some nice HTML that does not break stuff</p> 
     </div> 
     <div class='post'> 
      </div> 
      <div style="height:10000px; width:10000px;"> 
       <p>muhahaha</p> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

をが、これはその後、大胆せずに最初の投稿を表示していましたし、私はそれを望んでいません。

stackoverflowのウェブサイトは、中に組み込まれて、このような何かを持っている必要があり、ユーザーはWYSIWYGエディタを用いてレイアウトを変えるHTMLを提出することができることを停止するための簡単な方法がある場合、私は疑問に思って?

+2

CKEditorのようなエディタでは、インラインスタイルやその他の属性を追加できないようにすることができます。高度に構成可能です。あなたがエディタをバイパスすることを心配している場合は、ユーザ側の入力をサニタイズするためにサーバサイドのDOMパーサを使用する必要があります – charlietfl

答えて

0

CKEditorバージョンは、機能を持っていますAdvanced Content Filterと呼ばれています。デフォルトでは、自動モードでは、変換および削除によって受信HTMLコンテンツがフィルタリングされます許可されていない要素、属性、クラス、およびスタイル。 CKEditorは、有効なエディタ機能(ボタン、プラグイン)で許可されていると定義されたコンテンツのみを許可します。

これも設定可能なので、ユーザーがWebサイトに送信できる内容と送信できない内容を完全に制御できます。

はそれを把握するには、次のリソースを見てください:

関連する問題