私のWebアプリケーションで入力タイプタグを次のように使用することを考えています。
<input type="email">
<input type="number" required="required">
それらを使用するのがどれほど安全か知りたいのですが、ユーザーがブラウザからそれらを無効にするためのオプションはありますか?
私のWebアプリケーションで入力タイプタグを次のように使用することを考えています。
<input type="email">
<input type="number" required="required">
それらを使用するのがどれほど安全か知りたいのですが、ユーザーがブラウザからそれらを無効にするためのオプションはありますか?
彼らは安全ではありません。
それらが実行されることを期待することはできません。
サーバー側の入力チェックをスキップすることはできません。
HTML フォームは、ユーザーがデータを入力するための単なるインターフェイスです。サーバーが受け取るのは、フォームに入力されたデータを使用してブラウザーが作成する HTTP 要求です。ただし、HTML フォームや Web サイトとはまったく関係なく、いつでも誰でも任意の種類の HTTP 要求をサーバーに送信できます。
クライアント側で「安全」なものはありません。
HTML5 は HTML4 と同じようにインプット メソッドに対して安全です。要素は JavaScript または PHP で制御する必要があります。
サーバー側の検証は、それらを安全に保つための最良の方法です。
それらは安全に使用できます。ユーザーはそれらを無効にすることはできず、ブラウザがそれらをサポートしていない場合、それらは通常の入力type=text要素のように動作します
ブラウザがタイプを理解しない場合、それはとして扱われtext
ます。ここの人々が知らないかもしれない誰かによって使用されているどこかにあいまいなブラウザがあるかもしれないので、ユーザーがそれらを無効にすることができるかどうかを言うことは不可能です。防御的にコーディングします(無効になっている場合は準備します)が、そこにある機能を使用します。
これらの新しい入力タグを知らない古いブラウザは、少なくともそれらをtext inputs
サーバー側のチェックが不可欠になるものとして扱います。
編集:それが私の元の答えでは明確ではなかったが、新しいタグだけをサーバー側でチェックする必要があるという意味ではなかった場合。フロントエンドに対応する入力があるという理由だけで、入力が有効であると信頼できないことを明確にしたかっただけです。