ユーザーが入力する悪意のある html を制限したいのですが、ユーザーが大なり記号 (>) または小なり記号 (<) を使用できるようにする必要があります。
次の 2 つの文字列を許可しないだけで安全ですか?
"/>" and "</"
タグを閉じずに悪意のある HTML を実行できますか?
詳細情報: これは ASP.Net MVC です。ユーザーがテキスト ボックスにテキストを入力すると、テキストがデータベースに保存され、ページに表示されます。
ユーザーが入力する悪意のある html を制限したいのですが、ユーザーが大なり記号 (>) または小なり記号 (<) を使用できるようにする必要があります。
次の 2 つの文字列を許可しないだけで安全ですか?
"/>" and "</"
タグを閉じずに悪意のある HTML を実行できますか?
詳細情報: これは ASP.Net MVC です。ユーザーがテキスト ボックスにテキストを入力すると、テキストがデータベースに保存され、ページに表示されます。
この状況は、ユーザー インターフェイスに表示されるときにユーザーが入力した入力をエスケープすることによっても処理できます。これにより、すべてのユーザー入力が UI にテキストとして表示されます。この場合、タグはユーザー入力用にブラウザーにレンダリングされません。
すべてのユーザー入力は、データを削除せずに処理する必要があります。害があることを認識している場合は、ユーザーに表示するときにエスケープを使用する必要があります。
愚かな検索/置換フィルターを回避するためのテクニックはたくさんあります。xss の脆弱性と sql インジェクションについて読んでください。