- PR -

[ASP.NET2.0]クライアントサイドコードとサーバーサイドコードの使い分け

投票結果総投票数:32
1.全てサーバーサイド 1 3.12%
2.基本はサーバーサイド 24 75.00%
3.基本はクライアントサイド 2 6.25%
4.可能な限りクライアントサ 5 15.62%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-13 23:49
引用:
Jittaさんの書き込み (2006-11-13 23:36) より:
じゃぁ、3,4と2の違いは、何?


2は、最初の例のようにサーバーサイドでもクライアントサイドでも実現可能なものはサーバーサイドで行うという選択肢です。
3,4は、それをクライアントサイドで行うというものです。
3と4の違いですが、3は、"場合によっては"サーバーサイドにまかせるよということです。この"場合によって"というのが曖昧なのですが、この選択肢を設けて、「場合によっては」の具体的な説明などを皆様から聞かせていただこうかと思っておりました。
4は出来る限りJavaScriptという選択肢です。

#すみません、予想以上に私の表現わかりづらかったようですねorz

引用:
文字数制限があります。


80文字以内と書かれていたのですが・・・。マルチバイト文字は2文字として数えられるのでしょうか。次からは気をつけます。

[ 追記 ]
確認した所"半角"80文字でした。

[ メッセージ編集済み 編集者: よこけん 編集日時 2006-11-13 23:58 ]
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-11-14 00:36
引用:

よこけんさんの書き込み (2006-11-13 23:49) より:
2は、最初の例のようにサーバーサイドでもクライアントサイドでも実現可能なものはサーバーサイドで行うという選択肢です。
3,4は、それをクライアントサイドで行うというものです。
3と4の違いですが、3は、"場合によっては"サーバーサイドにまかせるよということです。この"場合によって"というのが曖昧なのですが、この選択肢を設けて、「場合によっては」の具体的な説明などを皆様から聞かせていただこうかと思っておりました。
4は出来る限りJavaScriptという選択肢です。



それ、常に確実にふるいわけられることできますか?
確実にできるというならなにもいうことがありませんが、すべての人ができるなら、脆弱性のある applicaton なんて存在しないことになりますよね?
# でも現実はどうでしょう?

そんなことで脆弱性がある application を作成するくらいなら、始めからより確実な server side で処理を行うことを常に行ってやったほうがいいでしょうってのが私の意見の趣旨です。
# あくまで、client script はおまけ
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-14 01:03
引用:

ちゃっぴさんの書き込み (2006-11-14 00:36) より:
それ、常に確実にふるいわけられることできますか?
確実にできるというならなにもいうことがありませんが、すべての人ができるなら、脆弱性のある applicaton なんて存在しないことになりますよね?
# でも現実はどうでしょう?

そんなことで脆弱性がある application を作成するくらいなら、始めからより確実な server side で処理を行うことを常に行ってやったほうがいいでしょうってのが私の意見の趣旨です。
# あくまで、client script はおまけ



#すみません、的外れなこと言ってるかもですが・・・
入力値検査はしっかり行うということを前提にしているので、問題ないのでは?
最初の例ならば、チェックボックスにチェックを付けたときにJavaScriptが動くかポストバックが行われるかの違いでしかないように思えます。(サーバーサイドで実現したとしてもテキストボックスを入力可能にすることはできますし。)
その後、不正な値を送信しようとするユーザーがいても、それは別問題なのではないでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-11-14 01:28
サーバーサイドでの検証を、きっちり行うのが前提なのですね。

(アクセシビリティ、ユーザビリティの向上が期待できるところから)
時間や予算に余裕があれば、クライアント サイドの検証も入れます。
時間や予算に余裕がなければ、実装しません。

にしかならないです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-14 01:47
なんか、投票形式にするべき内容ではなかったですね。
もっと、人それぞれの嗜好があるものかと思っていたのですが・・・。

皆様ありがとうございました。これからはサーバーサイドコードで行こうと思います。

[ メッセージ編集済み 編集者: よこけん 編集日時 2006-11-14 01:58 ]
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-11-14 10:20
あら、終わっちゃっていますか?

僕も基本はサーバーサイドですが、
入力チェックはサーバーサイドで必ず行うことを前提に
チェックボックスを入れたらテキストボックスを入力不可にしたりとか、
そういった細かい動作には PostBack は行わないようにしています。
なんでも PostBack したら LAN内 ならともかく WAN や InterNet だとつらいですからね。

_________________
かるあ のメモスニペット
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2006-11-14 11:36
引用:

よこけんさんの書き込み (2006-11-14 01:47) より:
なんか、投票形式にするべき内容ではなかったですね。
もっと、人それぞれの嗜好があるものかと思っていたのですが・・・。


「人それぞれの嗜好がある・・・」と書いてある所からすると、何かを勘違いしている気がするのですよ。

サーバへの通信は、乱暴に言ってしまうと、telnetのようなプログラムでどんな内容でも送れます。
その意味で、質問自体がナンセンスな訳です。

(クライアントの入力をいかにしやすくするか?といった所は、作る人のセンスじゃないでしょうか?)
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-14 15:08
引用:

かるあさんの書き込み (2006-11-14 10:20) より:
僕も基本はサーバーサイドですが、
入力チェックはサーバーサイドで必ず行うことを前提に
チェックボックスを入れたらテキストボックスを入力不可にしたりとか、
そういった細かい動作には PostBack は行わないようにしています。


良かった、そういう意見の人が全くいなかったのでかなり不安になっていました。

引用:

冬寂さんの書き込み (2006-11-14 11:36) より:
サーバへの通信は、乱暴に言ってしまうと、telnetのようなプログラムでどんな内容でも送れます。
その意味で、質問自体がナンセンスな訳です。


何度か申し上げているように、サーバーに不正な値が送信される云々の話は今回関係ありません。(元々の私の表現の仕方が悪かったせいで、申し訳ないです。)

スキルアップ/キャリアアップ(JOB@IT)