昨年、私はクリスマス プロジェクトに取り組んでいました。このプロジェクトでは、顧客がクリスマス リクエスト用に 256 文字の自由テキスト フィールドを使用してメールを相互に送信できるようにしていました。このプロジェクトは、(非常に大規模な) 製品データベースを検索して、テキスト フィールドに一致する提案製品を探しましたが、問題の製品を見つけることができなかった顧客には自由なテキスト オプションを提供しました。
明らかな懸念の 1 つは、顧客が疑いを持たない顧客に対して、会社のブランドが周囲にある状態でかなり露骨な要求を送信する機会があることでした。
プロジェクトは、さまざまな理由で最終的には進行しませんでした。冒涜的な側面もその 1 つです。
しかし、私はプロジェクトについて考え、ここでどのような種類の検証を使用できるか疑問に思いました。私は、この種の質問に対する標準的な回答であるclbutticを認識しています。
私が検討した解決策は次のとおりです。
- WebPurify のようなものを実行します
- MechanicalTurk を使用する
- リスト内の単語を探す正規表現パターンを記述します。これのより複雑なバージョンでは、単語の複数形と過去時制も考慮されます。
- 疑わしい単語の配列を書き、それぞれにスコアを付けます。提出物がスコアを上回った場合、検証は失敗します。
したがって、2 つの質問があります。
- 提出が失敗した場合、UI の観点からどのように処理しますか?
- これらのソリューションの長所と短所、または提案できる他のソリューションは何ですか?
注意 - 「冒とく的なフィルターは悪」などの回答は関係ありません。この半仮説的な状況では、冒涜フィルターを実装することを決定していないか、実装するかどうかの選択を与えられていません。私は自分のプログラミング スキル (可能であれば LAMP スタック上にある必要があります) でできる限りのことをしなければなりません。