目次

    JavaScriptによる入力制限とは

    Webサイトでは、フォーム送信前にJavaScriptで入力内容をチェックすることがよくあります。例えば次のような処理です。

    • 必須項目が入力されているかチェックする
    • メールアドレスの形式を確認する
    • 文字数制限をチェックする
    • 数値のみ入力できるようにする

    このような処理により、ユーザーは入力ミスにすぐ気づくことができ、エラー表示の回数も減るためユーザー体験(UX)の改善につながります。

    JavaScriptの入力制限は簡単に突破できる

    しかし、JavaScriptの入力制限はセキュリティ対策ではありません。JavaScriptはブラウザ側で動作する仕組みのため、ユーザーが環境を変えれば簡単に回避することができます。

    例えば次のような方法です。

    • ブラウザ設定でJavaScriptを無効にする
    • 検証ツールで入力制限を変更する
    • curlコマンドなどで直接POSTリクエストを送る
    • APIツールでフォームの送信先URLを直接叩く

    このような方法を使えば、JavaScriptによる入力チェックは誰でも簡単に突破できてしまいます

    必ずサーバー側で検証する必要がある

    そのため、重要な入力チェックは必ずサーバー側で実装する必要があります。サーバー側の処理であれば、ユーザーがブラウザ設定を変更しても回避することはできません。

    例えば次のようなチェックです。

    • 入力値の形式チェック
    • 文字数制限
    • 数値の範囲チェック
    • 権限チェック
    • 不正なリクエストの拒否

    JavaScriptはユーザー体験の改善のための補助として使い、本当に重要な検証はサーバー側で必ず再チェックする設計になっている必要があります。

    まとめ

    システムテストでは、JavaScriptによる入力制限について次のポイントを確認します。

    1. 入力チェックがJavaScriptだけに依存していないか
    2. サーバー側でも同じ検証が行われているか
    3. 不正なリクエストを送った場合にエラーになるか

    JavaScriptの入力制限はユーザー体験を良くするための仕組みであり、セキュリティ対策ではありません。重要なデータの検証は必ずサーバー側で行う必要があります。システムテストではこの前提を理解し、入力チェックの設計が適切かどうかを確認することが重要です。

    PREV
    2026.04.03
    テストで確認したいinput type=hidden
    NEXT
    2026.04.07
    テストで確認したい入力値の最大値・最小値・文字数制限