- - PR -
ファイルのチェック
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-03-01 10:48
シナリオ的にはいくつかありますが。
@ユーザーがかってにセキュリティーの設定を変更してしまって。 次の日からファイルが送信できなくなってしまう。 Aウィルス駆除ソフトので引っかかってしまう可能性がある (すべて同じウィルス駆除であればまだましですが) Bセキュリティレベルを下げているので、ウィルスが混入する可能性が大きくなります C新しいPCがはいるたびに上記の問題が発生します。 などなど HELPデスク等がしっかりサポートするのであればいいですが 、無いであれば技術者が毎回呼出される可能性があります (設置が近くにあればまだ良いですが、毎回出張となれば。。。。) | ||||||||||||||||||||||||
|
投稿日時: 2008-03-01 14:41
ActiveX を利用しても良いとは思いますが、下記のような欠点があるので注意が必要です。
ということで、結構扱いが厄介です。 A に対応するためには、その Web browser に対応した別のものを利用する必要があります。 B に対応するためには、公的に承認されている CA から証明書を購入するか、private CA を独自構築して運用するといった対応が必要でしょう。 証明書をつけないのは論外として、証明書をつけても検証できない状態で警告が表示される状態も user の security 教育を考えると望ましい状態ではないので絶対に避けるべきです。 C に対応するためには ActiveX 内で OS の version 判定を行い処理を分岐させるような対応が必要でしょう。 ということで、対応するとなるとかなり費用が膨らむので client 側でやらなくてもよい仕様ならばやらないに越したことはないと思います。 _________________ | ||||||||||||||||||||||||
|
投稿日時: 2008-03-01 15:25
ここから先は本題とは完全に横道にそれます。
ActiveX で client 側の file を読み込んでから post するといった方法もあると思います。その場合、読み込み処理時点で file が存在するか否かがわかりますから確認処理は不要でしょう。 <INPUT type="file"〜> を生かした方法でやる場合には、確実性を求めるならばどちらにしろ server-side での確認が必須になりますので perforamnce tuning 以外の何ものでも無いかと。それを開発する費用に対し、効果が上回れば実施すればいいですし、上回らないのであればやらない。そんなところになるでしょう。
ありがとうございます。
誤解の無いように書いておきますが、file 操作では事前に確認を行ったところで結局のところ結果が成功したか失敗したかで条件分岐することは必要になります。それを行わないのはそもそも論外なわけです。ここまではいいですよね? で、その上で事前確認を行うとなると上記を base に新たな処理を追加するわけになるわけです。その上で下記について回答します。
必須とはされない処理を追加するわけですから、逆に複雑になっていませんか? 誤解している人が結構いると思うのであえて書きますが、例外 (exception) とはそもそも例外処理を間違いの少ないようにかつ効率的に実装することを目的として導入されたものです。 古の C では例外なんてものは無かったと聞いています。ではなぜ例外が導入されたのでしょう? ちょっと下記を考えて見ましょう。
例外処理1、例外処理2 が共通の処理を実行すると仮定しましょう。 2箇所に分けて記述するのは面倒ですし、保守性からみても良くないですよね? また、戻り値で返ってくるのは error code だけです。 それ以上の情報を得るためには Win32 API では GetLastError を利用する必要があります。さらに code が複雑になりますよね? それを避けるために導入されたのが例外 object なわけです。
簡潔に説明するため処理を 2つしか用意しませんでしたけど、大量にあったらどうなるでしょう?そこら辺を踏まえて再度例外について見直してはいかがでしょうか? 個人的には例外を避けるべきというのは performance tuning 以外に理由は見当たらないと思っています。その他の要因以上に performance tuning が要求される環境であれば例外を避けるべきという理由はもっともですが、現実的にはどうでしょう? 少なくとも例外を避ける方がわかりやすいというのは違っていると思います。 _________________ | ||||||||||||||||||||||||
|
投稿日時: 2008-03-01 15:42
もう一つ書いておきます。
File 操作で事前に存在確認を行う欠点として下記があります。
どちらもめったに発生しないことだとは思いますが、可能性としては存在しています。 Performance tuning (対して効果がないと思います) が絶対条件でもない限り、前述のこととこちらの欠点を加味して判断してみてください。 結果は明白だと思います。 _________________ | ||||||||||||||||||||||||
|
投稿日時: 2008-03-03 08:54
未確認情報なのですが(確認する元気がありません)
ActiveXをインストールベースであれば多分(?)CA証明等の問題は無いかと 思います。(ひょっとしたら署名も不要では(?)) ただ、常にインストールが必要である事は避けられないですが。 未確認ばかりですいません。参考になればと思います。 | ||||||||||||||||||||||||
|
投稿日時: 2008-03-03 13:34
indigo-xさん、ちゃっぴさん
ありがとうございます。 ActiveXを使用するにしても、色々な懸念があることが 理解できました。 本当にありがとうございました。 |