• 締切済み

フォーム入力チェックはCGI(サーバ)で行う必要がありますか?

漠然と思ったのですが、HTMLの入力フォーム値のチェックをCGIでは行わずに、Javascriptのみで済ませる方法はないでしょうか? Javascirptだけでチェックできればサーバ側の言語が、Perl、PHP、JSPのどれであっても同じ入力チェックを使えるので楽だなぁと思いました。 ただ、JavascriptをOFFにして直接URLに値を埋め込んだ場合、入力チェックを素通りしてしまいます。 Javascriptの有無をサーバ側で判定は不可能?な為、やはりサーバ側で入力チェックを行うしかないでしょうか? よろしくお願いします。

  • CGI
  • 回答数2
  • ありがとう数1

みんなの回答

  • mu-an
  • ベストアンサー率50% (1/2)
回答No.2

安全に運営したいならサーバー上でチェックをいれるべき。 JavaScriptでのチェックはユーザーのためのものだと思います。 (→いちいちサーバーがレスポンスを返さず クライアント側でやった方がレスポンス早いし 親切設計ということで)

  • onimotsu
  • ベストアンサー率36% (279/758)
回答No.1

入力チェックはよくJavaScriptを使用しますね。 JavaScriptがOFFの場合にはONに促す画面を表示することで 対応できないでしょうか。 入力チェックはこちらが少し参考になります。 http://www.openspc2.org/reibun/javascript/form_textfield/009/index.html JavaScriptがOFFの場合に画面に表示するには <noscript> </noscript> これを使います。 参考までにこちら。 http://www.openspc2.org/reibun/javascript/browser/010/index.html

matchori
質問者

お礼

noscriptすっかり忘れていました。 表示上はこれでOKですね。 又、参考URLとてもいいです。 ありがとうございます。 ただ、セキュリティを考えますと、例えば 買い物の個数を Javascriptで、半角数字をチェックしてsubmit.cgi へPOSTするとした場合、クライアントが JavascriptをブラウザでOFFにして、直接、submit.cgi? num=;delete * from x; などとした場合、データベースエラーが発生したり、 テーブルを削除できてしまったりする為、このようなセキュリティに関する所まではJavascriptでチェックしただけでは不十分て、結局サーバ側でもチェックが必要かなと思いました。いかがなものでしょうか?

関連するQ&A

  • CGIを使った問い合わせフォームの作り方

    現在、Webサイトを作成しており、もうそろそろで完成します。 しかし、問い合わせフォームの作り方がわかりません。 PerlによるCGIを使った方法があることは知っているのですが、具体的にどのような手順で始めたら良いのかわかりません。 どこからがHTMLで、どこからがCGIなのか、サーバー側で何をしたらいいのか、わかりません。 例えば、都道府県や生年月日をプルダウンで選択する項目などがありますが、プルダウンのリストに入っている都道府県や数字はHTMLだけで表示できるのでしょうか?CGIやサーバー側で、何かする必要があるのでしょうか? 何かアドバイスを頂ければ幸いで御座います。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • フォームメールの入力チェック

    HTML側にJavaScriptでチェックを行うのではなく、 nameの値の前にアンダーバーを付けて、cgi側で入力チェックをいたいと思っています。 <input type="text" name="_email">としておけば、 メールアドレスが入力されていなければエラーになります。 これをselect の場合<select name="_time">としてもチェックがかからないのは何故でしょうか? もちろん、option value のdefaultはblankにしてあります。ここで、いづれかのoption value を選ばないと 入力チェックがかかるようにしたいのです。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。

    • ベストアンサー
    • HTML
  • フォームでCGIにとばした処理結果を。。

    はじめまして。 JavaScriptもHTMLもCGIもほとんど初心者です。 現在フリーのCGI(Perl:アンケートフォーム)を使用しようとしてるのですが、HTMLファイルのformにあるactionで CGIにとばして、その結果を(JavaScriptで開いた?)新しいウィンドウに表示したいのですが、可能でしょうか? さらに、出来ればその結果が表示される新しいウィンドウにはメニューバーやスクロールバーをなくして、「閉じる」というボタンをつけて閉じるようにしたいのですが、それも可能でしょうか? 何卒よろしくお願いします。 =====

  • CGIについて質問です 基本の基本です

    CGIについて勉強しようと考えているのですが全く意味が分かりません。 ブラウザの要求に対して、プログラムを起動さすためのサーバー側の仕組み。ということは分かるのですが、HPの中でどういう風に使用すればいいのでしょうか。 JavaScriptみたいに記述するのでしょうか。 それともCGIはサーバー側のシステムでこちらはPHPやPerl(PHPやPerlも言語ということしか分かりません。JavaScriptと同じ様な捉え方でいいのでしょうか)を使ってCGIを起動さすという考え方でいいのでしょうか。 全く知識はありませんが、WEBに関して色々勉強したいと考えているのでよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 入力フォームでCGIを使用

    現在、HPを作成しているのですが、 不明な点があるので、教えてください。 入力フォームを作成しており、送信ボタンを押すと CGIサーバを経由し、データが送信され、受信できる はずなのですが、試しに適当に入力し、テストを行った のですが、うまくいきません。 送信を押すと「送信されました」という画面に変わるので 送信までは、うまく出来ていると思うのですが… (1)送信された内容をチェックするにはどうすればよいですか? (2)(1)においてCGIサーバを直接、見に行くとなった場合、  どのようにすれば、見に行くことができますか? CGIの仕組み自体あまり理解していないので、 できるだけわかりやすくお願いします。 長くなりましたが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • テキストのみのメールフォーム用CGIにチェックボックスを設置

    現在、Perlを使ったメールフォームCGIを作成中なのですが、 元々Perlの知識はほとんどないところ、 サンプルCGIをダウンロードして必要な部分だけを修正し、 少しずつ希望するメールフォームに近づけているところです。 テキストフォームを新たに追加して、 それに対応できるように CGIプログラムの命令文を多少追加したりする程度は 何とか出来るようになりましたが、 チェックボックスを設置してみたところ、 複数にチェックを入れても、 送られてくるメールには はじめにチェックしたvalue情報しか送られてきません。 CGIのどこを修正すれば良いのか、 Perl言語自体をきちんと勉強していない私にとっては 皆目検討もつかず、暗礁に乗り上げてしまっています。 この程度の情報では、まともに回答するには情報不足だと思いますが、 このような問題解決には概ねCGIの どの辺りのどの命令文を確認すれば良い等、 判断できる範囲でご教授いただけましたら幸いです。

  • メールフォームCGI作成費用

    お問合せメールフォームのCGIプログラム作成費用はいくらが相場なのでしょうか。企業用で、セキュリティに厳しいサーバーにいれるため、専門業者さんに依頼したいのですが相場がわかりません。入力項目は7~8個、文字入力規制をつけ、必須項目漏れなどにはエラー表示をし、入力されたデータはメールで受けたいと考えています。CGI言語はperlです。フォームのイメージ・デザインはできています。よろしくお願いします。

    • 締切済み
    • CGI
  • ファイルのサイズチェックってできないのですが?

    メールフォームを作成しているのですが、添付するファイルのサイズチェックで行き詰まってしまいました。 JavaScriptでファイルのサイズチェックはできないのでしょうか? CGI(perl)でファイルの添付を可能としたメールフォームを作成したのですが、サーバー(prel)側でのサイズチェックはでき動作はするのですが、10MB/100MBの重いファイルの場合、一度サーバー側へデータが送られてからしかサイズチェックが動作しない為、非常に長い時間、ブラウザが固まったような状態がつづきます。それを解消したいのです。 JavaScriptでファイルのサイズチェックを行えればとおもったのですが可能なのでしょうか?

    • ベストアンサー
    • Java
  • 入力フォームの入力チェックについて

    皆様こんにちは、宜しくお願い致します。 現在、ASP.NET2.0で業務用Webアプリを開発しています。 入力フォームサブミット時の入力チェックについてですが、 Validatorコントロール含むサーバサイドのみでは不十分 なのでしょうか? 職場では、PerlやASP案件はJavascriptを使用してクライアント サイドとサーバサイドで同様の入力チェックを実装しておりますが、 特に仕様や規約で決まっている訳ではない為、実装理由を上司に 尋ねると「まぁ念の為にね」という回答でした。 その為、今回も念の為にクライアントサイドの入力チェックも 実装しようという事ですが、私としましては工数が増えるだけで 同様のチェックを両サイドで行うメリットが分かりません。 職場は小さい会社で、初めてのASP.NET案件の為、他に経験者が おらず困っています。 ケースバイケース、という事もあるかと思いますが、ASP.NET もしくはWebアプリ開発の一つの手法として、経験者様からの アドバイスを頂戴致したく、宜しくお願い致します。

  • フォーム入力のチェック

    フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI