私は最近Coldfusion 9を使用しており(主に PHP のバックグラウンド)、ユーザーが送信した入力/文字列を「クリーン/サニタイズ」する方法を見つけようとして頭を悩ませています。
私はそれを HTMLSAFE にしたいと考えています。JavaScript や SQL クエリ インジェクションを排除したいと考えています。CF9 に既に付属しているある種の機能を見落としていることを願っています。
誰かが私を適切な方向に向けることができますか?
私は最近Coldfusion 9を使用しており(主に PHP のバックグラウンド)、ユーザーが送信した入力/文字列を「クリーン/サニタイズ」する方法を見つけようとして頭を悩ませています。
私はそれを HTMLSAFE にしたいと考えています。JavaScript や SQL クエリ インジェクションを排除したいと考えています。CF9 に既に付属しているある種の機能を見落としていることを願っています。
誰かが私を適切な方向に向けることができますか?
さて、SQL インジェクションの場合は、CFQUERYPARAMを使用します。
XSS などの入力のサニタイズに関しては、CFAPPLICATION で ScriptProtect 属性を使用できますが、完全に機能しないと聞いています。必要に応じて、Portcullisまたは同様のサードパーティの CFC を調べて、スクリプト保護を強化することもできます。
これはカイルの提案への追加であり、代替の回答ではありませんが、コメントパネルはリンクにとって少しゴミです.
ColdFusion文字列関数を見てください。HTMLCodeFormat、HTMLEditFormat、JSStringFormat、および URLEncodedFormat があります。これらはすべて、フォームから投稿されたコンテンツの操作に役立ちます。
正規表現関数を使用して HTML タグを削除することもできますが、正確な科学ではありません。このColdFusion ベースの regex/html questionは、少し役立つはずです。
Project HoneypotとAkismetの保護を他のツールの中でもフォームに統合するcfformprotectなどを使用して、ボットや既知のスパマーから身を守ることもできます。
いくつかのオプションがあります:
<script/>
、<img/>
その他のいくつかのタグを適用します。つまり、本当にHTML をサニタイズしようとしている場合は、ColdFusion がネイティブにアクセスできる Java を使用してください。特に、OWASP AntiSamy Projectを使用します。これは、HTML フラグメントを取得し、それに含まれる値をホワイトリストに登録します。これは、SO や slashdot.org などのサイトが提出物を保護するために使用するのと同じアプローチであり、マークアップ コンテンツを受け入れるためのより安全なアプローチです。