- ベストアンサー
フォームバリデーションする際、js切っては考慮?
JavaScriptでフォームバリデーションを実装する際、ユーザがJavaScriptを切ってたらどうなるのでしょうか? ・普通は、その場合も考慮してサーバ側でもフォームバリデーションを実装するのでしょうか? ・それとも、警告を表示してJavaScriptをonにしてもらうのでしょうか? ・ここら辺は設計というか、個々の案件によって考え方が異なるのでしょうか? ・一般的にはどう実装するのが正しいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>普通は、その場合も考慮してサーバ側でもフォームバリデーションを実装するのでしょうか? あたりまえ。サーバ側ではリクエストの際の内容は何も信じちゃいけない。 だって自分が思っているフォームから来ているかすら怪しいでしょ? >それとも、警告を表示してJavaScriptをonにしてもらうのでしょうか? ほとんどの環境で最初から動いているものをわざわざ切っている人が警告を表示したくらいでONにしないし、 本当にJavaScriptが動かない環境もまだある。 >ここら辺は設計というか、個々の案件によって考え方が異なるのでしょうか? >一般的にはどう実装するのが正しいのでしょうか? JavaScriptはあくまでも補助。
その他の回答 (3)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
あ、ちなみに狭いイントラ内でのみのシステムとか、利用する人の人数が 小規模や環境が決まり切っていて、それ以外の人は利用できない前提 とした時は、そこまでガチガチにしなくてもいいでしょう。 当たり前に利用していて、異常データが処理されないようにだけ 対応する、というレベルで。 何か外部からの侵入によって攻撃対象とされるならば、そもそも そこへたどり着いてしまう部分を強化する、という考えのもとに。 本当はあまり良い対応ではありませんが、時と場合によりますよね。
お礼
補足ありがとうございます。 >イントラ内でのみのシステムとか ・前提条件書き忘れていました ・ネット接続前提です
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
JavaScriptは、確認できる場合はクライアント側で確認する、という位置づけでしかありません。 通信経路や画面自体で値を改ざんされてサーバへ送られることも想定されるため、 サーバ側では、JavaScriptでチェックしてようがなんだろうか、一律チェックすべきです。
お礼
回答ありがとうございました。 >サーバ側では、JavaScriptでチェックしてようがなんだろうか、一律チェックすべきです 参考になりましたー
- ORUKA1951
- ベストアンサー率45% (5062/11036)
あくまで、javascriptは補助的手段です。 入力文字のチェック、次のコントロールへの移動など。 元々、受け取るサーバー側で処理をするのですから、javascriptで可能なことはサーバーで、もっと確実に可能です。サーバーにデータを送らず、クライアントサイドで完結するものでないのでしたら、javascriptのない環境で動作するように設計した上で、javascriptで補助するという形で設計します。 下記は基本中の基本ですから 【引用】____________ここから HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )]より フォームには関係しませんが、 【引用】____________ここから Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。JavaScript・・・【中略】・・・などの特殊な機能が使用されているためにサイトの一部がテキスト ブラウザで表示されない場合、検索エンジンのスパイダーがサイトをうまくクロールできない可能性があります。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[ウェブマスター向けガイドライン(品質に関するガイドライン) - ウェブマスター ツール ヘルプ( https://support.google.com/webmasters/answer/35769?hl=ja#2 )]より 「どんな環境からもWebの情報を利用できるように」はフォームに限らず、ウェブページを作成するときの【手段じゃなく】目的なので!!
お礼
回答ありがとうございました。 >あくまで、javascriptは補助的手段です 参考になりましたー
お礼
回答ありがとうございました。 >ほとんどの環境で最初から動いているものをわざわざ切っている人が警告を表示したくらいでONにしないし、 >本当にJavaScriptが動かない環境もまだある なるほど、と思いましたー