私は疑問に思っていました...フロントエンドで検証したとしても、バックエンドでユーザー入力を検証する必要があることは誰もが知っています。言い換えれば、フロントエンドの検証は使いやすさのためだけであり、バックエンドの検証は品質とセキュリティのためです。
Webページに入力フィールドがあり、ユーザーがテキストを入力できるとします。攻撃者がそのような長いテキストを入力して、バックエンドにテキストを保持する変数に収まらない可能性はありますか?これまで見てきたことは、文字列がデータベースフィールドに収まるかどうかを確認することだけです。
String txt = getParameter("usertext");
assert(txt.length() < 201);
// the field in the database:
// user_text varchar(200),
しかし、ユーザーテキストが非常に長く、長String txt
すぎると小さすぎる場合、プログラムは最初の行でクラッシュしませんか?
これがどれくらいの期間になるかについての議論ではないことを願っていString
ます。ヒープサイズと仮想メモリなしでそれを行うことができれば、それは素晴らしいことです;)