私はフレームワークに精通するために、Yesodを使って私の(かなり単純な)ウェブサイトを書き直しました。その一部には、単純な静的(しかしフォーマットされた)コンテンツを提供することが含まれます。それは、すべてのユーザー入力、「、ブックが言うように、XSS-サニタイズパッケージのおかげで簡単な書式設定を可能にし、YesodのnicHtmlFieldを修正する別の方法はありますか?
http://www.yesodweb.com/book/forms
:私はイェソドブックに記述されているnicHtmlフィールドを使用することを決めたことを行うために、検証され、XSS攻撃がないことが保証されています。
しかし、すべてが良くないです。一部の書式設定はフィールドに入力すると機能しますが、入力と送信の間のどこかで消去されます。特に、このフォームでは、「スタイル」属性に埋め込まれたcssを使用してセンターテキストなどの処理を行います。これらのCSSベースの書式設定要素は消去されるようです。
私は何とかそれを台無しにしていた私のコードではないことを確認するために印刷ステートメントを使用しました。それはそうではないので、私は、xss-sanitizeは埋め込まれたcssを好きではなく、それを削除すると仮定します。 sanitizeBalanceへの呼び出しを削除するためにYesod.Form.Nicを変更すると、問題が修正されているように見えるので、そのように思われます。
これらの静的ページを編集するには信頼できるユーザーでなければなりません(現時点では私です)ので、残念な点を確認することはあまり気にしません。しかし、それは何か、ハックのように感じるので、私の質問は - これの周りに他の方法がありますか?または、YesodのHTMLエディタフィールドが壊れていないとわからない別のパッケージがありますか?
このようなサウンドは、Yesodで修正/回避する必要があります。 [issue tracker](https://github.com/yesodweb/yesod/issues)に報告することをお勧めします。 – hammar