2016-09-09 9 views
0

私は、ユーザーがタイトル付きのメモを作成できるアプリケーションを持っています。ノート自体のURLの一部としてこれらのタイトルを使用して、URLを人間が読めるようにします。URLの一部として使用する任意の文字列入力の検証とサニタイズ方法

私は、入力をサニタイズし、違法であると思われるものについてユーザーにフィードバックを提供するための最善の方法を考案しようとしています。

これまでのところ私はグラブを使用して入力を保存すると考えています。トリムしてencodeURIComponentに渡してください。私はその出力をdecodeURIComponentに渡します。 decodeURIComponentの結果は、元の入力と同じでなければエラーとなります。 diffと一致しない文字を使用しないように警告されます。

明らかにこのアプローチに間違いはありますか?より良い方法がありますか?

+0

右の音について:) –

答えて

1

このアプローチでは十分ですが、diffに一致しない文字を表示することによってユーザーに「問題の領域」を表示することは、より直接的な標的攻撃を計画するプッシュになります。禁止されていることを明確に述べてはいけません。ユーザーは現在のブラックリストをバイパスして理解するための新しい手法を見つけ出し、より集中的な攻撃を計画できます。

関連する問題