- - PR -
サーバ上のCSVファイルについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-12-19 11:31
ASPサービス上で、画面上のデータ(個人情報)をCSVファイルにて出力しようと思っています。(クライアント側で必要なため)
CSVファイルにて出力することはできるのですが、外部のPCからもURLを入力すれば閲覧することができてしまいます。(http://〜/***.csv) これを防ぐには、証明書の発行以外には防ぐことはできないのでしょうか? サーバOS:Windows 2003 Server 開発環境:VS2003 (VB.NET) また、一般的なWEBアプリケーションやASPサービスは全てSSL通信で行っているもんなのでしょうか? | ||||||||
|
投稿日時: 2007-12-19 11:50
認証をかければいいんじゃないですかね。
| ||||||||
|
投稿日時: 2007-12-19 11:54
まさおさんの書かれている”クライアント側”と”外部のPC”の違いはなんでしょう?
これがはっきりしないと、どう隠せばいいかというアドバイスもしずらいです。 一般的に見られなくする方法としては、csvを外部から見れない場所に作成して、 見るときはサーバサイドの処理を起動して、その処理の中で作成したファイルを読んで、 レスポンスを返すということをします。 サーバサイドの処理の中で、見てよい。よくない。という切り分けをおこなった上で csvをクライアントサイドに返すようにすればいいでしょう。 csvをファイルとして作成しないで、全てサーバサイドのオンメモリでやってしまうとい う方法もあります。 レスポンスで返す方法もアドバイスできればいいのでしょうがVBでは私はわかりません。 | ||||||||
|
投稿日時: 2007-12-19 12:51
べるさんへ
確かに発行だけでは防げないですね。発行した上で、サーバにて認証をする必要がありますね。 progmanさんへ クライアント側はID/パスワードをログインしてボタンを押してCSVを開くのに対し、 外部のPCっていうのは、URLを入力して(http://〜/***.csv)CSVを開くということです。 CSVファイルを外部から見れない場所に作成して、見る時にその作成したファイルを読み込んで返すというのを、VBでのやり方はどうすればよいのでしょうか? わかる方がいれば是非教えてください。 | ||||||||
|
投稿日時: 2007-12-19 13:51
httpサーバのディレクトリの認証がいいのかもしれません。
IISを使われてるのではとおもいますが、IIS、認証、パスワード、ユーザ名 などで検索してみてはどうでしょう。 | ||||||||
|
投稿日時: 2007-12-19 13:57
ファイルの出力はFileStreamなどで、たファイルをクライアントに返すのは、Response.WriteFileでどうでしょう? | ||||||||
|
投稿日時: 2007-12-19 14:09
会話の流れがすごくずれている気がするのですが。。
まさおさんは、認証を使う方向で進んでますが、 最初の投稿の仕様を見る限り、 そのCSVファイルは認証でアクセス制御する必要がないように思われます。 ましてや、個人情報ですから。。 まず、CSVファイルをWebサーバ経由でアクセスする必要があるのかどうかを 見極めるべきだと思います。 ↑これは特殊な場合だと思います。 通常は、progmanさんが最初におっしゃっていたように、 外部からWebサーバ経由でアクセスできないディレクトリに置きます。 つまり、/www/html とかに置かないということです。 (UNIXの表現ですみません。どなたかフォローをお願いします) これも progmanさんが書かれていましたが、 サーバサイドのプログラムなら、公開ディレクトリに置かなくてもアクセス できます。 PerlでもPHPでもJavaでもそうします。 また、一般的なWEBアプリケーションやASPサービスは全てSSL通信で行っている もんではないと思います。 個人情報やクレジットカード番号などを送受信する必要があるときのみSSLを 使うのが一般的ではないでしょうか。 インターネット・ショップなどで言えば、カートに商品を入れるまでは、 httpで、決済画面に移るときに、SSLにするのが一般的かと思います。 | ||||||||
|
投稿日時: 2007-12-19 16:35
私はなるべく認証を使わない方向で行きたいのですが。。。
CSVファイルを外部から見れないフォルダに作成し、 GENZOさんの言われたResponse.WriteFileにてCSVファイルをダウンロードしてもらう形にしようと思います。 様々なご意見ありがとうございました。 |