投稿日:2003年04月29日 作成鷹の巣

No.9865 FTP転送のオプションについて。



FTP転送のオプションについて。

No.9865 投稿時間:2003年04月29日(Tue) 10:15 投稿者名:moon URL:

御世話になります。
FTP転送のオプションについてお尋ね致します。
CGIのプログラムを作成しFTPで転送(アップロード)する場合
、ファイルによってバイナリモードやアスキーモードを使い分けて転送
するように書いてあるのをよく見かけます。
私の場合、自宅サーバーを構築しており、他のLAN上のクライアン
トPCで作成したファイルを自宅サーバーのPCへFTPで転送するの
ですが、(セキュリティ上、それが一番望ましいと色々な所に書いてあ
ったので)その際にもアップロード転送する場合、バイナリやアスキー
等で分けなければいけないのでしょうか?例えば、マイネットワークか
らサーバーパソコンへファイルを送る場合は、通常そのような事は全く
関係ないのですが、FTP転送する場合はFTPの転送ソフト(私の場
合はFFFTP)が何か変更するものなのですか?
わかりにくい質問かも知れませんがよろしくお願いします。


Win-Win なら不要(テキストとは異機種間のデーター互換をとる方法)

No.9866 投稿時間:2003年04月29日(Tue) 10:52 投稿者名:OAK URL:

> 御世話になります。
> FTP転送のオプションについてお尋ね致します。
> CGIのプログラムを作成しFTPで転送(アップロード)する場合
> 、ファイルによってバイナリモードやアスキーモードを使い分けて転送
> するように書いてあるのをよく見かけます。
> 私の場合、自宅サーバーを構築しており、他のLAN上のクライアン
> トPCで作成したファイルを自宅サーバーのPCへFTPで転送するの
> ですが、(セキュリティ上、それが一番望ましいと色々な所に書いてあ
> ったので)その際にもアップロード転送する場合、バイナリやアスキー
> 等で分けなければいけないのでしょうか?例えば、マイネットワークか
> らサーバーパソコンへファイルを送る場合は、通常そのような事は全く
> 関係ないのですが、FTP転送する場合はFTPの転送ソフト(私の場
> 合はFFFTP)が何か変更するものなのですか?
> わかりにくい質問かも知れませんがよろしくお願いします。

簡単に考えて、テキストとは異機種間のデーター互換をとる方法です。
したがって、Win-Win や UNIX-UNIX なら不要。Win-UNIX なら必要と言う事になります。
上でセキュリティの話が出てますが、私はあまり意味が無いと思います。
CGIは実機でテストした方が確実です。私はそのために自宅サーバーにしています。

ここで問題。
テキストモードのFTP転送で、データを変換しているのは誰(どのプログラム)でしょう
1.サーバー
2.クライアント
3.送信側
4.受信側。


よくわかりました。

No.9869 投稿時間:2003年04月29日(Tue) 12:31 投稿者名:moon URL:

> > 御世話になります。
> > FTP転送のオプションについてお尋ね致します。
> > CGIのプログラムを作成しFTPで転送(アップロード)する場合
> > 、ファイルによってバイナリモードやアスキーモードを使い分けて転送
> > するように書いてあるのをよく見かけます。
> > 私の場合、自宅サーバーを構築しており、他のLAN上のクライアン
> > トPCで作成したファイルを自宅サーバーのPCへFTPで転送するの
> > ですが、(セキュリティ上、それが一番望ましいと色々な所に書いてあ
> > ったので)その際にもアップロード転送する場合、バイナリやアスキー
> > 等で分けなければいけないのでしょうか?例えば、マイネットワークか
> > らサーバーパソコンへファイルを送る場合は、通常そのような事は全く
> > 関係ないのですが、FTP転送する場合はFTPの転送ソフト(私の場
> > 合はFFFTP)が何か変更するものなのですか?
> > わかりにくい質問かも知れませんがよろしくお願いします。
>
> 簡単に考えて、テキストとは異機種間のデーター互換をとる方法です。
> したがって、Win-Win や UNIX-UNIX なら不要。Win-UNIX なら必要と言う事になります。
> 上でセキュリティの話が出てますが、私はあまり意味が無いと思います。
> CGIは実機でテストした方が確実です。私はそのために自宅サーバーにしています。
>
> ここで問題。
> テキストモードのFTP転送で、データを変換しているのは誰(どのプログラム)でしょう
> 1.サーバー
> 2.クライアント
> 3.送信側
> 4.受信側。

OAK様
御世話になります。
>Win-Win や UNIX-UNIX なら不要。Win-UNIX なら必要
との事でよくわかりました。
> ここで問題。
> テキストモードのFTP転送で、データを変換しているのは誰(どのプログラム)でしょう
> 1.サーバー
> 2.クライアント
> 3.送信側
> 4.受信側。
については クライアントの送信側です。
OAK様のおっしゃるとおりサーバー機でCGIやページの編集をすれば
問題ないとは思うのですが、クライアントのPCの性能の方がいいので
どうしてもそちらで編集等を行い、サーバーへFTPでアップしており
ます。(PCは隣同士にあるんですが・・・)
ありがとうございました。


「セキュリティ上望ましい」というのは...。

No.9879 投稿時間:2003年04月30日(Wed) 17:23 投稿者名:通行人 URL:

ファイルを FTP で送信すること自体は、セキュリティ上何の意味も無いと思います。まして「ファイルを受信させるためだけに FTP サーバを稼動させている」のなら逆効果です。またサーバ機の余計な負荷にもなります。
「セキュリティ上望ましい」というのは、サーバ機とクライアント機の間をファイアウォール等で隔離することについて書いているのではないですか。
隔離する場合は当然、OS レベルのファイル共有は禁止するでしょう。そうすれば、サーバ機へのファイル送信は、外部サーバと同様に FTP 等でしか行えなくなります。

> > テキストモードのFTP転送で、データを変換しているのは誰(どのプログラム)でしょう
> > 1.サーバー
> > 2.クライアント
> > 3.送信側
> > 4.受信側。
> については クライアントの送信側です。

出題者は私ではないですが、問題の解答を。

仕様上は、サーバ・クライアントに関係無く、送信側・受信側ともにデータ変換の義務があります。

FTP のテキストモード転送では、回線上を流れるデータ列を
◎文字セットは ASCII を使用する (*1)
◎行区切りは CR+LF を使用する
と規定することにより、異機種間の互換を取ろうとしています。

Windows はシステム自体の仕様が上記条件と一致しているため、変換の必要はありません。
Un*x はテキストファイルの改行コードが LF のため、un*x 上のサーバ・クライアントは
◎送信時は、ファイルから読んだデータに「LF → CR+LF」の変換を掛けて回線に送る
◎受信時は、「CR+LF → LF」の変換を掛けてからファイルに保存
という作業を行っています。

バイナリ転送とテキスト転送の違いがよく「改行コードの変換」と言われるのは、そのためです。
同じシステム同士なら、テキスト転送とバイナリ転送の転送結果は同じになります。(*2)

ちなみに文字セットに EBCDIC を使用したシステムでは、改行コードだけではなく他の文字もコード変換の必要が生じます。

(*1) ただ「ASCII」としか決められていないので、日本語文字の扱いなどで混乱を生じています。
(*2) ファイルに「バイナリ/テキスト」のフラグを付けて管理している OS が、この世に存在するかもしれません。


大変よくわかりました。

No.9923 投稿時間:2003年05月02日(Fri) 19:35 投稿者名:moon URL:

> ファイルを FTP で送信すること自体は、セキュリティ上何の意味も無いと思います。まして「ファイルを受信させるためだけに FTP サーバを稼動させている」のなら逆効果です。またサーバ機の余計な負荷にもなります。
> 「セキュリティ上望ましい」というのは、サーバ機とクライアント機の間をファイアウォール等で隔離することについて書いているのではないですか。
> 隔離する場合は当然、OS レベルのファイル共有は禁止するでしょう。そうすれば、サーバ機へのファイル送信は、外部サーバと同様に FTP 等でしか行えなくなります。
>
> > > テキストモードのFTP転送で、データを変換しているのは誰(どのプログラム)でしょう
> > > 1.サーバー
> > > 2.クライアント
> > > 3.送信側
> > > 4.受信側。
> > については クライアントの送信側です。
>
> 出題者は私ではないですが、問題の解答を。
>
> 仕様上は、サーバ・クライアントに関係無く、送信側・受信側ともにデータ変換の義務があります。
>
> FTP のテキストモード転送では、回線上を流れるデータ列を
> ◎文字セットは ASCII を使用する (*1)
> ◎行区切りは CR+LF を使用する
> と規定することにより、異機種間の互換を取ろうとしています。
>
> Windows はシステム自体の仕様が上記条件と一致しているため、変換の必要はありません。
> Un*x はテキストファイルの改行コードが LF のため、un*x 上のサーバ・クライアントは
> ◎送信時は、ファイルから読んだデータに「LF → CR+LF」の変換を掛けて回線に送る
> ◎受信時は、「CR+LF → LF」の変換を掛けてからファイルに保存
> という作業を行っています。
>
> バイナリ転送とテキスト転送の違いがよく「改行コードの変換」と言われるのは、そのためです。
> 同じシステム同士なら、テキスト転送とバイナリ転送の転送結果は同じになります。(*2)
>
> ちなみに文字セットに EBCDIC を使用したシステムでは、改行コードだけではなく他の文字もコード変換の必要が生じます。
>
> (*1) ただ「ASCII」としか決められていないので、日本語文字の扱いなどで混乱を生じています。
> (*2) ファイルに「バイナリ/テキスト」のフラグを付けて管理している OS が、この世に存在するかもしれません。

通行人様
すごく詳しい説明大変よくわかりました。
色々、謎の部分がありましたので・・。
本当にありがとうございました。


|目次|掲示板|過去ログ目次|▲頁先頭|