2

だから私はFCKeditorを使用していますが、ユーザーがドキュメントを作成するときに、情報がWordからコピーされる場合もあれば、エディターで直接書き込まれる場合もあれば、両方の方法で作成される場合もあるという問題があります。これがDBに残しているのは、開いていて閉じられないタグがたくさんあることです。これは私のレイアウトを劇的に捨てており、私は解決策を見つけようとしています。

構成ファイルをプレーンテキストとして貼り付けるように変更しました。これにより、Wordの書式設定の転送が停止すると想定しましたが、引き続き実行されます。

そこで、情報がDBに送信される前に、開始タグを検索して削除する方法を見つけようとしています。または、私を助けるために欠けているFCKeditor関数/構成オプションがありますか?

どのように進めるべきかについての提案はありますか?

ありがとう
レヴィ

4

2 に答える 2

2

セキュリティ関連の問題(<script>たとえば、タグがユーザーによって挿入されるなど)とプレゼンテーション関連の問題(閉じられていないタグなど)の両方に対処するセキュリティ予防策と同様に、次のように使用できます。ブラウザから受信しているサーバー上のHTMLPurifierのようなツール。

もちろん、これは最初の問題、つまりユーザーがFCKEditorに好きなように入力できるという事実を解決するものではありません。ただし、HTMLが有効で安全であることを保証します。

実際、FCKEditorが無効なHTMLを取得していなくても、セキュリティのためだけにHTMLPurifierを使用できます。

アイデアは、次のリストを提供することです。

  • 許可されたタグ
  • それらのタグに許可された属性

そして、その見返りとして、HTMLPurifierはクリーンで有効なHTMLを提供します。

于 2009-09-16T04:35:40.683 に答える
0

編集:エディターでバグが発生しているようです。別のスクリプトを試してみるか、サーバー側のスクリプトを使用して、一致しないdivタグを調べて削除することができます。

HTMLを使用すると、ほとんどのタグを開いたままにすることができます。タグを開いたままにして、閉じたままにする必要がある場合は、ホワイトリストまたはブラックリストで検索してサーバー側から削除できます。そうしないと、HTMLはXMLではなく、FCKeditorはHTMLを生成し、HTMLはXMLとして検証されないという理解にかなり固執します。印刷された出力が失われる場合は、FCKeditorの出力をdivでラップしてみてください。

それ以外の場合は、ページレイアウトを台無しにしている入力と出力の具体的な例を含めてください。

于 2009-09-16T01:45:45.190 に答える