解決済み

CGIでアップロード

  • 暇なときにでも
  • 質問No.298768
  • 閲覧数168
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 85% (63/74)

今日は。
CGI(PERL)やってます。
サーバ上に設定されたMIMEタイプをクライアントからアップロードすることを考えています。
このときにセキュリティ上、気をつけなければならないことは?

質問者が選んだベストアンサー

  • 回答No.3

ベストアンサー率 78% (1525/1942)

 サーバのクオータ管理が正しく働くのであれば気にしなくてもいいのかもしれませんが、

>大容量のテキストファイルの類をアップロードしてきた場合、全部サーバ側に来ないと容量のチェックは無理なように見えますが。

 Perl CGI側でできそうなことはsysread関数で長さを制限しながら読み込み、制限を超えるとdieでスクリプトを終了させてしまうという手が考えられます。また、スクリプト起動時にディスク容量を確認(サーバによって方法は異なると思います)する動作もできると思います。

 セキュリティ面ではありませんが、日本語ファイル名のファイルが転送されてきたとき、Unix上でEUCコードの日本語ファイル名に変換できないことがあります。半角かな禁止や文字化けへの対処は大変面倒なので、アルファベット+数字だけのファイル名でのアップロードに制限するといいのですが、なかなか守ってくれません。このサイトのように事前に文字をチェックするシステムを導入ればいいのではないかと思っているのですが、いまだに実現できていません。
補足コメント
yuki_chan

お礼率 85% (63/74)

お礼の文章を訂正します。

制限値を越えるとだめではなくて
サーバのプロセス監視によって、このプロセスが止められたようです。
投稿日時 - 2002-06-27 15:33:59
お礼コメント
yuki_chan

お礼率 85% (63/74)

レンタルサーバ上:irixにて

sysread(STDIN, $IN, 制限値)
を実行すると、制限値を超えるとだめになるようです。
read(STDIN, $IN, 丸ごとサイズ)
を実行すると、一応うまくいくようです。
投稿日時 - 2002-06-26 15:01:18
感謝経済、優待交換9月20日スタート

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 78% (1525/1942)

要はアップロード時にうまくサイズチェックできるようにするということではあるのですが、ブラウザのアップロード機能でいきなり送信させることは危ないとかんがえています。サーバ側からはパソコン上にあるファイルサイズをチェックするということもできませんし、相手がプログラムでプレーンテキストのデータを連続送信してきた場合には途中でも受信を拒否するようにcgiのプログラムを書くか、JavaScriptやCookieなどを利用して送信元の事前チェックを厳しくする必要があります。
お礼コメント
yuki_chan

お礼率 85% (63/74)

大容量のテキストファイルの類をアップロードしてきた場合、全部サーバ側に来ないと容量のチェックは無理なように見えますが。
使用しているサーバはレンタルしていて、

なお、CGI に関する制限としましては、
メール&ウェブではお客様が設置したCGIプログラムが消費する
サーバリソースの消費量を監視しており、サーバの既定の値を超えた
場合、自動的に該当プログラムのプロセスを停止する措置を行います

ということだそうです。
後は、プロキシ―経由を禁止して、おかしいとみなしたプロバイダーを禁止しようかと考えています。
投稿日時 - 2002-06-25 17:13:51
  • 回答No.1

ベストアンサー率 78% (1525/1942)

よくわからないのですが、サーバはhttpサーバだと思いますが、MIMEタイプはPOSTまたはGETメソッドでクライアント側からサーバにアップロードするときに、形式を指定する時に使うと思われますが、「サーバ上に指定されたMIMEタイプをクライアントからアップロードする」という動作はどういう状況を念頭に入れているのでしょうか。
 ファイルのアップロードはあらゆるファイルタイプのデータを転送できます。サーバでのファイルの実行が禁止されていれば、サーバでのウイルスの実行などは制限されます。しかし、大量のデータを送りつけてディスクをパンクさせたり、サーバに保存させたウイルスやブラクラをダウンロードさせて他のクライアントに被害を与えることは可能です。ユーザ認証とファイルサイズ制限は最低でも必要です。サーバ上で定期的にウイルスチェッカによるスキャンも必要でしょう。
お礼コメント
yuki_chan

お礼率 85% (63/74)

回答、ありがとうございます。

ファイルのサイズ制限は、CGIでする予定です。
クライアントでのウィルスチェックをさせるつもりですが、当てにならないので、サーバ側でブロックすることにしてます。
MIMEタイプは、必要なものだけ許可(文書用ファイルが想定)の形。
投稿日時 - 2002-06-24 13:05:39
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ