68user's page 掲示板

Prev< No. 2026〜2054> Next  [最新発言に戻る] [過去ログ一覧]
No. 2026 # 椎(水明) 2001/06/16 (土) 13:40:52
PerlのCGIで記入した文章において,
改行をスペースに変換する方法を以前お尋ねしました。
その後,いろいろ試してみたのですが,
日本語コード変換直後に
$val =~ s/\r\n|\r|\n/ /g;
を記入することで上手くいきました。
どうもありがとうございました。

No. 2027 # スナフキン 2001/06/16 (土) 15:09:05
>>2024 68user
プロセスグループというのですか、時間があれば調べてみます。
しかし、ホントに良くできていますよね、M$とは大違いだ(笑)

>open(IN, "(cd dir; foo | bar) |") みたいなのを言ってますか?
いえいえ、全体的にです。
自分は、今の所bashしか使っていませんが、スクリプト言語全体に
同じような構文が多いように感じます。(意識的なんでしょうか?)

>環境を書いた方がよいでしょう。
そうですね、これからそう心がけます。
VineLinuxには /etc/rc.conf は無く、/etc/rc.d/ 関係にもそれらしい
記述は見つけられませんでした。いろいろ調べてみます。
ありがとうございました。

No. 2028 # スナフキン 2001/06/17 (日) 03:29:32
>>2022 スナフキン
> 何の事は無い、あっさり解決しました。
すいません、上記の発言は正確では有りませんでした。
正確には、ps での表示にはちゃんと親子関係が表示されましたが、
コマンド jobs には表示されませんでした。
ん〜、親PIDが判る(killできる)のでこれでも可です。

>プロセスグループ
コレ、特有の呼び名かと思いましたが、単純に自分の言っていた親子
関係にあるプロセス群のことを指していたのですね(^^;

No. 2029 # 尚隆 [URL] 2001/06/17 (日) 23:38:15
すみません。ネット初心者です。
くだらないことをおききしたいのですが、、、。
いろいろなホームページをみていたら、かってに
何かわからないのですが、「無料のダウンロードを行いました」
といって、なんだか何もしていないにもかかわらず、
なにかが、ダウンロードされてしまったみたいです。
これによって、個人情報が流れてしまったり、することはあるのでしょうか?なんだか不安です。
アドバイスお願いします。
いろいろ不安になります。

No. 2030 # koni 2001/06/18 (月) 18:03:19
koni と申します。
(環境: ActivePerl v5.6.0 + WinNT)

ワンタイムパスワードについて質問があります。
MD5 を使い認証をしてくるサーバーに Net::FTP を使用して自動 FTP をし
たいのですが、うまく行きません。

詳細は以下です。
※この件に明るくないため、言葉の使用法が誤っているかも知れません。

==
まずは、

# start -----
use Net::FTP;

$ftp = Net::FTP->new("ftp-server-name.co.jp", Debug => 1);
$ftp->login('user', 'pass');
$ftp->quit;
# end -------

などとしたところ、PASS を送信したところで、はじかれてしまいました。
ちなみにこれを ffftp などの MD5 対応のクライアントを使うと、

FFFTP Ver.1.80 Copyright(C) 1997-2001 Sota.
----------------------------
ホスト ftp-server-name.co.jp を探しています.
ホスト ftp-server-name.co.jp (***.***.***.*** (21)) に接続しています.
接続しました.
    :(省略)
>USER user
331 * * *
MD5を使用します.
>PASS [xxxxxx]
230 User user logged in.
>TYPE A
200 Type set to A.
ダウンロードのためにホスト ***.***.***.*** (*****) に接続しています.
接続しました.
>NLST -alL
150 Opening ASCII mode data connection for /bin/ls.
226 Transfer complete.
ファイル一覧の取得は正常終了しました. (124 Bytes)
(* の部分は伏せてあります。)

などとなり、接続できました。
個人的には、Net::FTP にこの MD5 を実装するには、上記の USER user をし
たあと、331 の後の値を、Digest::MD5 のメソッドにかませて、戻り値をパ
スワードとして送信すれば OK なのか、と考え、やってみたのですがダメそ
うでした。

もしご存知のかたがいらっしゃいましたら、ご教授願います。

No. 2031 # rosegarden 2001/06/19 (火) 07:33:34
>>2030 koni
> ワンタイムパスワードについて質問があります。
> MD5 を使い認証をしてくるサーバーに Net::FTP を使用して自動 FTP をし
> たいのですが、うまく行きません。
一口にワンタイムパスワードといってもいくつかあるので、
これだけでは分かりません。
しかし、md5 が云々と言うことから、opie じゃないかと思いますが。
私自身 opie も S/key も使ったことがないので、分かりませんが、
> 個人的には、Net::FTP にこの MD5 を実装するには、上記の USER user をし
> たあと、331 の後の値を、Digest::MD5 のメソッドにかませて、戻り値をパ
> スワードとして送信すれば OK なのか、と考え、やってみたのですがダメそ
> うでした。
多分 password を md5 でハッシュしても駄目でしょう。
ワンタイムパスワードの意味がないです。
CPAN に
http://search.cpan.org/search?mode=module&query=opie
という module があるのでトライしてはどうでしょうか?
とにかく、認証方法がワンタイムパスワードとしか分からないので、
これでうまくいくかどうかは保証できません。
上記サイトの module search で S/key とか MD5 とか MD4 で
それらしきものを検索してはどうですか?

でも良いことを聞きました。ありがとうございました。

# web サーバで ftp 使わせているのですが、
# パスワードの保護がどうにかならないかと
# 頭を抱えていたところです。

No. 2032 # snow [E-mail] 2001/06/20 (水) 13:31:30
はじめまして、C言語でFTPクライントを作ろうとここのページを参照させて
いただいたのですが、以下の部分のソースがよくわかりません。
  
  87: while (1){
  88: char c;
  89: c = getopt(argc, argv, "d");
  90: if ( c == -1 ) break;
  91: switch (c){
  92: case 'd':
  93: debug_flg = 1;
  94: argc--;
  95: argv++;
  96: break;
  97: default:
  98: break;
  99: }
100: }

getoptは調べたところint型だと思うのですが、なぜchar型の変数に値を
代入しているのでしょうか?
また、いろいろ調べてみたんですが、このgetoptで何をしているのかもよく
わかりませんでした。よろしければこの部分についての解説もお願いいたし
ます。m(_ _)m

No. 2033 # 68user 2001/06/20 (水) 14:07:33
>>2030 koni
そういう FTP サーバを使ったことがないので試すこともできないのですが、
これって APOP みたいな感じなんですかね? どこかで公開されている FTP
サーバはないものでしょうか。

>>2032 snow
> getoptは調べたところint型だと思うのですが、なぜchar型の変数に
> 値を代入しているのでしょうか?
これは僕のミスで、正しくは int です。直しておきます。

> このgetoptで何をしているのかもよくわかりませんでした。
引数解析です。
    for ( i=1 ; i<argc ; i++ ){
        if ( argv[i][0] == '-' ){
            switch (argv[i][1]){
                case 'd': debug_flg = 1; break;
            }
        }
    }
みたいなもんですが、自分で書くのもめんどくさいのでライブラリを
使いました。

詳しくはここらへんをどうぞ。
    http://www.jp.FreeBSD.org/cgi/mroff.cgi?subdir=man&man=getopt&dir=jpman-3.1.0%2Fman&sect=3

No. 2034 # 68user 2001/06/20 (水) 14:19:27
>>2033 otp-md5
google 君に教えてもらいました。なるほど、こんな感じの流れになるのか。
    http://www.jaist.ac.jp/~uchida-t/otp/

No. 2035 # snow [E-mail] 2001/06/20 (水) 18:07:04
>>2033 68user

ご回答ありがとうございます。
ですが、このままint型に変えただけだと、エラーがなければCに入るのは
通常「100」ですよね?ということは
case 100: とすれば良いのですよね?
そこを修正して、先ほどのプログラムを例に従って実行してみたのですが、
どうもどこかでループにはまっているようで、ファイルの取得ができません。
う〜ん・・・(汗

No. 2036 # ED 2001/06/21 (木) 05:36:12
>68userさん
http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/view-segabbs.cgi.diff?r1=1.3&r2=1.1&f=h
ロボット検からまだ引っかかるので上記ページを確認したのですが
<head>の部分が</head>になっているのがちょっと変かなっと思ったのですが…どうなんでしょうか。

No. 2037 # 68user 2001/06/21 (木) 10:19:50
>>2035 snow
> エラーがなければCに入るのは通常「100」ですよね?
'd' の character code は 100 なので、100 でも 'd' でも動作は
同じですけど、可読性やメンテナンス性を考えて 'd' と書きましょう。

> どうもどこかでループにはまっているようで、ファイルの取得ができません。
できる限り余分な部分を削ったソースを見せて下さい。

>>2036 ED
> <head>の部分が</head>になっているのがちょっと変かな
プログラムのソースでなく実物を見て下さい。
    http://X68000.startshop.co.jp/~68user/segabbs/bbs3/vol5/5_97.html

> ロボット検からまだ引っかかるので
META タグを追加してからまだ15日しか経過していません。例えば
google なら、クロール頻度は最低1ヵ月に1回だそうです。
    http://www.google.com/intl/ja/faq.html

No. 2038 # snow [E-mail] 2001/06/21 (木) 17:59:55
>>2037 68user

>> エラーがなければCに入るのは通常「100」ですよね?
>'d' の character code は 100 なので、100 でも 'd' でも動作は
>同じですけど、可読性やメンテナンス性を考えて 'd' と書きましょう。

そうなんですか。すいません、'd'で大丈夫だとは知りませんでした。

>> どうもどこかでループにはまっているようで、ファイルの取得ができま
>>せん。
>できる限り余分な部分を削ったソースを見せて下さい。

いえ、前回のcの型の変更以外の変更は行っていません。
それでできないのですが・・・

No. 2039 # ED 2001/06/22 (金) 00:17:06
>68useさん
すいません。プログラムのほうしか見てませんでした。

No. 2040 # Moo [E-mail] 2001/06/22 (金) 11:56:36
    お礼です。
    「ネットワークプログラミングの基礎知識」を参考にさせて頂きました。
    とても分かりやすく私にとって大変役に立ちました。
    自分はDOSやWindowsのアプリ、ドライバを作ることが主な仕事ですが
この度、サーバ側のプログラムを作ることになり、こちらのHPを参考に
させていただきました。
    特に「ネットワークプログラミングの基礎知識」と「簡易版コマンド
マニュアル」内のcrontabを読ませていただき、大いに参考になりました。
    普段はC(ドライバ作成用)とDelphi(クライアント側アプリ作成用)
を使っていますが、こちらでPerlの使い方までも教えてもらいました。
    ただただお礼を言うばかりです。

    素晴らしいHPを提供してくださって、こころから感謝申し上げます。
    有り難うございました。

No. 2041 # 68user 2001/06/23 (土) 16:48:47
>>2038 snow
> いえ、前回のcの型の変更以外の変更は行っていません。
> それでできないのですが・・・
動かないというのは、
    http://X68000.startshop.co.jp/~68user/net/c-ftp-1.html
の ftp-client.c ですか? コマンドラインからは何とタイプしましたか?
    % ./ftp-client -d anonymous your@mail.address ftp.jp.FreeBSD.org /pub/FreeBSD/README.TXT
のように -d を付けるとデバッグ情報が表示されますが、どこで
止まっていますか?

もし NAT 環境で試しておられるなら、
    --> PORT 192,168,0,7,9,58
    <-- 500 Illegal PORT range rejected.
などとプライベート IP アドレスを送ってしまい、エラーと
なります。しかしこのプログラムではエラーチェックを行って
いないので、構わず RETR を送ってしまいうためファイルを
取得できません。この点は説明を付けておくべきでしたね。

getopt の件は修正しておきました。ご指摘ありがとうございました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/ftp-client.c

>>2039 ED
というわけで、しばらくお待ち下さい。

>>2040 Moo
どもども。わかりにくい点がありましたら ご指摘お願いします。

No. 2042 # 68user 2001/06/23 (土) 16:59:13
>>2041 68user
> この点は説明を付けておくべきでしたね。
NAT 環境では動かない旨、追加しました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/c-ftp-1.html.diff?r1=1.1&r2=1.2&f=h

No. 2043 # 68user 2001/06/24 (日) 06:39:45
>>1691 紅の猫
>>2023 rosegarden
http-client, http-client-2 のバッファオーバーランの修正と、
bzero,bcopy の説明の追加を行いました。ご指摘ありがとうございました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/http-client.c
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/c-http-1.html

No. 2044 # 幸江 2001/06/24 (日) 17:06:56
このようなことでもアドバイスもらえるのかな?
えっと、CGIでHTMLの一部(5行目から7行目)までとかをログとして取得し、その部分を出力することはできるんでしょうか?

No. 2045 # 68user 2001/06/25 (月) 11:43:05
>>2044 幸江
質問の意味がわからないです。

> HTMLの一部(5行目から7行目)までとかを
この HTML はどこにあるんですか? どこかから取得するんですか?

> ログとして取得し、その部分を出力
「ログとして取得」とはどういう意味でしょうか? HTML から
特定の範囲を切り出し、ブラウザ上に出力し、さらにそれを
ログに記録しておくのですか?

No. 2046 # snow [E-mail] 2001/06/25 (月) 14:08:00
>>2041 68user

以下のようにコマンドを打ったところ、
./ftp-client -d userid passwd hogehoge.com index.html

以下のようなデバッグ情報が出力されました。(一部文字化けしてますが)
<-- 220-************************************************
<-- 220- 洩T[o[韃
                                                誉芒鋤天B
<-- 220-OS ・indows98SE 費 怒莉(19)髟・・
房-- 220 ************************************************
--> USER userid
<-- 331 Give me your password
--> PASS passwd
<-- 530 Not authorized.
--> PORT 172,18,168,100,4,19
<-- 5--> RETR index.html

で止まってしまいました。

NAT環境では使用していないので、ご指摘いただいた問題はないと思います。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2047 # snow [E-mail] 2001/06/25 (月) 14:17:26
あと、今確認したところUSER,PASS,PORTというファイルが残ってました。

下の書き込みで文字化け対象を記入してしまって、申し訳ありません。

No. 2048 # 68user 2001/06/25 (月) 16:03:08
>>2046 snow
> --> PASS passwd
> <-- 530 Not authorized.
ということは、ユーザ名かパスワードが間違ってませんか?

>>2047 snow
> 今確認したところUSER,PASS,PORTというファイルが残ってました。
「--> PASS」というのを誤って copy & paste してしまったんじゃ
ないでしょうか。このプログラムにはファイルを生成するコードは
入っていないです。

No. 2049 # 幸江 2001/06/25 (月) 16:43:17
>質問の意味がわからないです
ごめんなさい。

>> HTMLの一部(5行目から7行目)までとかを
>この HTML はどこにあるんですか? どこかから取得するんですか?
HTMLはYahoo!のトップなどです。

>> ログとして取得し、その部分を出力
>「ログとして取得」とはどういう意味でしょうか? HTML から
>特定の範囲を切り出し、ブラウザ上に出力し、さらにそれを
>ログに記録しておくのですか?
そのようにしたいのですが可能なのでしょうか?

No. 2050 # snow [E-mail] 2001/06/25 (月) 16:51:44
>>2048 68user

再度実行したところ、USER,PASS,PORTは出てきませんでしたので、
私の間違いだったようです。すいません。

>> --> PASS passwd
>> <-- 530 Not authorized.
>ということは、ユーザ名かパスワードが間違ってませんか?

間違ってないんですが・・・(汗
普通にftpコマンドで繋げるとちゃんとつながりますし。
なぜでしょう。。。

下では書きませんでしたが、パスワードをacerolaとしているのですが、
どうもパスワードでNGになっているようです。
なぜだかわかりますでしょうか?

No. 2051 # snow [E-mail] 2001/06/25 (月) 16:52:56
すいません、追記です。
どうしてパスワードでNGになったかわかったかと言うと、
サーバー側のログを見て、パスワードでNGになっていることを確認
しております。

No. 2052 # 68user 2001/06/25 (月) 17:06:22
>>2049 幸江
> HTMLはYahoo!のトップなどです。
可能です。HTTP をしゃべりたいなら
    http://X68000.startshop.co.jp/~68user/net/
を参考に自分でダウンローダを作るか、wget、fetch、lynx などの
ダウンローダを使うとよいでしょう。

例として Yahoo! を出しているのならよいのですが、もし他人の
ページの一部を持ってこようとしておられるなら、相手の許可を
得てからにしましょう。

>>2050 snow
> 普通にftpコマンドで繋げるとちゃんとつながりますし。
なるほど。
    o ftp コマンドではログインできる
    o -d オプションによるデバッグ表示を見ても、正しいパスワードを
        送信しているように見える
    o パスワードには * や ? などの文字は含まれていない
        (シェルがワイルドカードを解釈しているわけではない)
ということですね。謎です。

ftp コマンドで debug モードを ON にしてみると何かわかりませんか?
    % ftp
    ftp> debug
    Debugging on (debug=1).
    ftp> open hostname
    Connected to hostname
    220 hostname FTP server (Version 6.00LS) ready.
    Name (hostname:username): username
    ---> USER username
    331 Password required for username.
    Password:
    ---> PASS password
などと表示されると思います (ftp クライアントによっては、
PASS **** などと何を送っているか見せてくれないかも
しれませんが)。

また、認証までなら telnet でもできますので、試してみて下さい。
    % telnet hostname 21
    Connected to hostname.
    Escape character is '^]'.
    220 hostname FTP server (Version 6.00LS) ready.
    USER username
    331 Password required for username.
    PASS password

No. 2053 # ゆうすけ [URL] [E-mail] 2001/06/29 (金) 15:52:35
お世話になっています。本当、UNIXの部屋を良く、使っています。
ところで、コマンドを自分のUNIX環境で有効にするには、どうしたら
いいですか?使えないコマンドがたくさんあるのですが・・・ぜひ、
教えて下さい。先輩に聞いたら、いろいろと設定しなければならない
とかで・・・詳しくは、教えて貰えませんでした。どうぞ、教えて
下さい。

No. 2054 # 68user 2001/06/29 (金) 17:10:27
>>2053 ゆうすけ
回答を出しやすくするために、
    - OS は何か (uname -a の結果)
    - 例えばどんなコマンドが使えないか
を挙げて下さい。

Prev< No. 2026〜2054> Next  [最新発言に戻る] [過去ログ一覧]