クライアント側に表示されるHTMLで作成されるものは、
必要な値をサーバーに送信するために、入力しやすいように
設定された条件のようなものになっています。
たとえば、以下のように文字数や入力の制限するコードがあります。
<html>
<body>
数値型なので、数値しか入力されない?<br />
<input type="number" name="val_number" /><br />
文字列を最大4文字まで入力可能?<br />
<input type="text" name="val_text" maxlength="4" /><br />
半角英数字しか入力できない?<br />
<input type="text" name="val_disabled" style="ime-mode: disabled" /><br />
この入力欄の値は読み込み専用?<br />
<input type="text" name="val_readonly" readonly="readonly" /><br />
この入力欄の値は変更できない?<br />
<input type="text" name="val_disabled" disabled="disabled" /><br />
非表示の属性(ユーザーからは見えない値なので、変更されない?)<br />
<input type="hidden" name="val_hidden" /><br />
</body>
</html>
ですが、どれも直接GETやPOSTされた時など、このコードの制限を一切受けることなく自由な値がサーバー側へ送られてしまします。
ですので、その設定された条件で補正された、正しいデータが
必ず来る保障はないものなのです。
HTML側では、入力の補助。
サーバー側では、クライアントから送られてきた値が正常なものか
別途確認するコードが必要ですね。
0 件のコメント:
コメントを投稿