トップページ⇒php
1001コメント344KB

CGI: Common Gateway Interface part 11

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/14 22:26ID:F9qlqHNx
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

Perlのコーディングに関する質問は、専用スレでお願いします:
[Perl 初心者コーナー Part24]
http://pc2.2ch.net/test/read.cgi/php/1054992610/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[WebProg 初心者の質問 Part3]
http://pc2.2ch.net/test/read.cgi/php/1045091733/

過去ログ・関連スレッドは >>2-5 あたりに
0663nobodyさん04/01/31 11:55ID:???
>>662
>投稿者の記事削除機能で使ってたのに。
厨臭さが漂ってますよ
0664nobodyさん04/02/01 10:14ID:???
>>663
ほんとだw
0665nobodyさん04/02/03 00:14ID:???
2ch某板のアクティブなスレッドから、特定IDのレスを抽出するCGI作ってるんだけど、(ニュース系のIDストーカーみたいなの)
どうも安いレンタルサーバーで動かすと激烈に重い。
今、上位100スレの全ログから抽出するのに成功したけど、全部で700以上のスレがあるんだよね。
どうにか軽くする方法ないですかねー。
0666nobodyさん04/02/03 00:27ID:???
>>665
こうゆうこと言ったら元も子もないがCGIでやることではないような。
クライアント側でやるべきでは?
例えばそのようなIEツールバーを作るとか。
0667nobodyさん04/02/03 01:49ID:???
>>665
1.定時に巡回してログを収集する(cronか何かで)
2.ログを解析し、DBにぶちこむなり、IDでindexを張るなり(これもcronか何かで)
3.CGIは、DBないしindexを検索するだけ
0668nobodyさん04/02/03 07:01ID:???
無駄に2chの負荷増やすなよ。
0669nobodyさん04/02/03 09:57ID:???
find.2ch.net
0670nobodyさん04/02/03 20:53ID:???
掲示板の作成でwrite.htmlとwrite.cgiとread.cgiと一緒に空のテキストファイル(content.txt)をアップロードしてやるそうです。
利用する技術はopen文、CGIモジュール、param関数、ファイル読み込み、ファイル書き込み、です。
これがwrite.htmlのソースです。
↓
<html>
<body>
<body background=star-k2.gif>
<center>
<font size="7"color="#FF00FF">掲示板のプログラム</font><br>
</center>

<font size="4"color="#00FFFF">氏名</font><br>
<center>
<font size="5"color="#FFFF00">書き込みの内容を指定してください ;</font><br>
</center>
<center>

<form action="write. cgi">
<input type="text" name="contents">
<input type="submit">

</center>
</form>
</body>
</html>

0671つづき04/02/03 20:55ID:???
これがwrite.cgiのソースです。
↓
#!/usr/bin/perl

print "Content-type:text/html\n\n";
use CGI qw(:standard);
$value = param("contents") ;
???????????????????
?ここに何を入力するかわかりません。?
???????????????????
print "<html><body>";
print "書き込みが終了しました";
print "</body></html>";

これがresd.cgiのソースです。
↓
#!/usr/bin/perl
print "Content-type: text/html\n\n";
??????????
ここに何を入れるか???
?????????????
print ???????
print ???????
print ??????
print ???????

以上です。わっけがわかりません。友達みんなこうゆうの弱いんで今みんなパソコン詳しい人に頼み込み中なんです…
誰か教えてください!
0672nobodyさん04/02/03 21:18ID:???
>>670-671
自由にソースコード書いていいと思うよ。
0673nobodyさん04/02/03 21:58ID:???
>>672

レスありがとうございます!
でも…馬鹿ですいませんが、自由にソースコードを書くことすら出来ない
のが現状です…大学の講義で、情報処理関係の講義を選択したのですが、
もうなにがなんだかさっぱりわからなくて…HTMLの基礎をかじったぐらい
の知識しかないので…
もしよろしければ、もう少し教えていただけませんか?
「勝手にしろ」とおっしゃられるかもしれませんが、ホントお願いします!
0674nobodyさん04/02/03 22:35ID:???
>>673
君がやりたいことを実現してくれるソースコードを書け
0675nobodyさん04/02/03 22:39ID:???
問題作った香具師も相当なアレだよなぁ。。。
0676nobodyさん04/02/04 04:15ID:???
ここで宿題を教わろうというアレな香具師とちょうどいいじゃん
0677nobodyさん04/02/04 13:07ID:???
673です。
痛い香具師なのは十分わかってるんですが…
右も左もわからない状態でして…
やっぱり自分でとことん調べるべきですよね。。
なんとか頑張ります。

ありがとうございましたm(_ _)m
0678nobodyさん04/02/08 23:32ID:???
Perl初心者スレから誘導されました。

現在mod_perlを使ってるのですが、
時間のかかるスクリプトの場合、途中でブラウザ側が読み込み中止をしても
最後までスクリプトは実行されるものなんでしょうか?
15秒程度のスクリプトで実験したところ、中止した後も最後まで実行されているようでした。

更新作業をするスクリプトで、一旦更新するブロックに入ったら
何があっても最後まで実行させたいのですが、まれに途中で止まってしまっているようで
原因がよくわかりません。


タイムアウト以内に終わるのであれば、ブラウザで読み込みの中止をしても最後まで実行される
ものなんでしょうか?
それとも、fork,execなりsystemなりして別プロセスとして動かしたほうがいいんでしょうか?
067967804/02/08 23:34ID:2J+W47Q/
なんかわかりにくくなっちゃったな。
どういうタイミングで、実行中のスクリプトが終了するのかが分からないんです。
0680nobodyさん04/02/08 23:49ID:???
KENTのスクリプトとか見てるとflock使わないで
symlinkやmkdirを使って自前でロックしてるみたいなんだけど
flockじゃやっぱりロックしきれないのかな?
0681nobodyさん04/02/09 00:50ID:???
>>678
fork して入出力 (STDIN/OUT/ERR) を閉じれ。
完了確認はメール送るなりなんなりすれ。
http://www.google.co.jp/search?q=CGI+%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88

>>680
Perl の場合は NFS 越しの flock は意味を成さないのと、
flock を実装していない OS に対応する為に、排他処理を
自作ルーチンでやる事がある。これらに当てはまらない
環境で使う事が分かっているなら flock が無難。

…という話は散々既出で嫌がられるので、以後はこの辺に。
http://pc2.2ch.net/test/read.cgi/php/1024795138/
0682nobodyさん04/02/09 00:54ID:???
なんで mod_perl がCGIなのかと問いつめたい…
flock は CGIとは直接の関係もないのではないかと(ry
0683nobodyさん04/02/09 11:32ID:???
>>681
専用スレあったのですね。スマソ。
0684nobodyさん04/02/09 12:15ID:???
>>678
mod_perl のことは難しいので、普通のCGIのケースに限って話をすると、
apache の場合のポイントは二つある。

一点目、apache が CGI を実行するときは、
クライアントとの TCP 接続について結構無頓着で、
CGI からデータが送られてくるまでは感知せず、
データを受け取って、つまりクライアントにデータを送信する段になって、
初めて TCP 接続をチェックして、
ここでようやく「切れてるじゃん」ということに気づく。
気づくと、CGI プロセスを kill しにかかる。

それじゃあ処理が完了するまでデータ送らなきゃ良いじゃん、
という話になるわけだが、まあやっぱりそういうわけにもかず、
二点目として、apache は、一定時間 CGI から出力がないと、
タイムアウトとみなし、CGI プロセスを kill しにかかる。
普通はこっちに引っかかるだろう。

上記は普通の CGI についての話であって、
mod_perl でコンテンツハンドラを書く場合はまた話が異なる。
Apache::Connection クラスには aborted という素敵なメソッドが用意されているぐらいで
いろいろ楽しいことができそうに思うのだが、
詳しいことは mod_perl スレに行って詳しい人に聞いてくれ。
0685nobodyさん04/02/10 19:09ID:???
Perl+Socketでブラウザと同じリクエストを送るようにして
エロ動画に直リンできるCGIを組んだんだけど
これを公開したら転送量がものすごいことになることに気づいた。
リクエストそのままで指定したURLに飛ばしたりはできない…よね。
やっぱり各自DLして使ってもらうしかない?
0686nobodyさん04/02/10 19:58ID:???
仕組みが理解できていない典型だな
068768504/02/10 22:04ID:???
なんか間違ったこと言ってる?
0688nobodyさん04/02/10 23:33ID:???
>>685
一つだけいえるのはCGI(サーバー側)でやるべきことではない。
0689nobodyさん04/02/11 10:52ID:???
>>685
redirectって知ってる?
069068504/02/11 14:53ID:???
>>688
できないってことだよね。そうします。ありがとう。

>>689
できるならuser-agent, refererを偽装したまま
redirectする方法を教えてください。
0691nobodyさん04/02/11 15:17ID:???
>685
CGI proxy なんてやる意味はあまりないぞ
重いだけ
0692nobodyさん04/02/12 04:41ID:???
>>690
redirect 知ってるならそんなことが出来ないのも分かるよね?
069368504/02/12 09:35ID:???
>>691
ふつーにローカルで動かすスクリプトにしました。

>>692
無理だと思ってたけど誰も答えてくれないし
689を見てできるのかなと思ってしまいました。
0694nobodyさん04/02/12 13:42ID:???
>>693
誰も答えなかったのは、CGIの問題ではないからだと思われ。
0695nobodyさん04/02/12 16:41ID:???
>>685だと暗黙の要求が見えてこないからねぇ

(エロい人の思考パターン)
 エロ動画に直リン -> httpリクエストを弄らなきゃ!
   -> >>690でやっぱり偽装か -> 無理
(ノーマルパターン)
 各自DL -> 意味あるのか分からんが(;´Д`)リダイレクトで可能
0696nobodyさん04/02/15 07:40ID:YoBoJyol
cgiからhtmlメールを出すとき(ただし、htmlのみでなく、$boundaryで、
テキストメールとhtmlメールの両方を1通にまとめて送ってます)、
htmlメール部分の文字コードは・・・
●規約としては、どのコードにするのが正しいのでしょうか?
また、
●現実問題として、どのコードににするのが「無難」なんでしょうか?

ご存じのかた、教えていただければ幸いです。
0697nobodyさん04/02/15 07:55ID:zLVCaZam
Apache2を使用しているのですが、以下のようにcgi-binに設定
したディレクトリにHTMLファイルを置いてもブラウザでその
HTMLを閲覧できません。(permission denied error)
どーしても cgi-bin ディレクトリにHTMLファイルを置きたいのです・・・。
宜しくお願い致します。

<Directory "/usr/local/apache/htdocs/cgi-bin">
SetHandler perl-script
AddHandler cgi-script .cgi .pl
PerlHandler ModPerl::Registry
Options ExecCGI
Allow from all
PerlSendHeader On
</Directory>
0698nobodyさん04/02/15 12:25ID:bW2T2U/M
ここで質問していいのか分かりませんが
メールフォームで画像も添付できるようにしたいと思っています。
今はココ(ttp://www.annie.ne.jp/~cgipal/doc/palskin.htm)の
palskin mail ver.5というのを使っています。
できればこれに書き足してできれば最高なのですが…
こういう事は可能でしょうか?
0699nobodyさん04/02/15 13:30ID:???
>>698
【 スクリプト改造工房 PART 7 】
http://pc2.2ch.net/test/read.cgi/php/1063780103/

ちなみにその文面のまま依頼すると叩かれるので注意。
1をちゃんと読むこと。
0700nobodyさん04/02/16 00:41ID:???
とりあえず >>1 を読んで、意味がわからないならここで質問しても無駄かと。
本当はスルーしたほうがいいんだろうなーとか思いつつ。
0701nobodyさん04/02/26 20:49ID:???
http://hoge.com/ のCGIから、
http://fuga.com/ に Location でリダイレクトしました。
でもアドレスバーのURLは http://hoge.com/ のまま。
こういうもんなのでしょうか?

リダイレクト後にリロードすると、hoge.com で送信した内容が二重で送信されてしまいます。
これもこういうもんなのでしょうか?
070270104/02/26 21:06ID:???
print qq(Location: /\n\n);

だと、アドレスバーはリダイレクト前から変化せず

print qq(Location: http://hoge.com/\n\n);

だと、アドレスバーが http://hoge.com/ になってくれますね。

相対パスだと変化しなくて、
httpからのURLだと変化するようです。。。
とりあえず確認したことをご報告します
0703nobodyさん04/02/26 21:12ID:vjE+BrRn
 
0704nobodyさん04/02/26 21:22ID:???
>>701
・・・
070570104/02/26 21:47ID:???
>>704

適当に例えたものが、httpになってましたね・・・
0706nobodyさん04/02/26 21:57ID:???
なんだか微妙にあちこち間違って覚えてるようだな
0707nobodyさん04/02/26 23:29ID:???
HTTPとCGIについてもっと勉強しれ
070870104/02/27 00:53ID:???
>>706,707
すいません、どっかものすごい勘違いしてますでしょうか。。。汗
0709nobodyさん04/02/27 01:42ID:???
Location: は絶対URIでは
つまり http://からはじめれと
0710nobodyさん04/02/27 02:28ID:???
http://無しで移動するのはブラウザの配慮
0711nobodyさん04/02/27 02:44ID:???
>>701
http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html#7.2.1.2

hoge.comは中の人に迷惑だからやめれ。
071270104/02/27 17:15ID:???
>>709, 710, 711

なるほど。
出直してきまつ。。

ありがとうございました!
0713nobodyさん04/03/02 19:04ID:AJEsvSvh
HTML出力のサニタイズについてなのですが、現在<>&"'を文字実体参照に置き換えています。
投稿に文字実体参照を使いたいのですが、&をサニタイズからはずすと、どういうマズイことがあるのでしょうか。

文字実体参照と解釈できるものだけ再置換してもいいんですが、特に問題がないようなら外してしまおうかと。

あと、<>についても、どちらか一方だけ文字実体参照に置き換えておけば大丈夫というのは誤りですか?
0714nobodyさん04/03/02 21:36ID:???
>>713
 君はトンデモなHTMLを出力しても平気なクチ?
最低限Validになってないのは恥ずかしいと思わないのかね。
0715nobodyさん04/03/02 21:44ID:???
>>714
思わないなぁ。そんな上っ面にはとらわれない主義だから。
もっと本質を見ようね。
0716nobodyさん04/03/02 21:48ID:???
>>713
>&をサニタイズからはずすと、どういうマズイことがあるのでしょうか。
>あと、<>についても、どちらか一方だけ文字実体参照に置き換えておけば大丈夫というのは誤りですか?

具体的実害は思いつかないが、少なくともHTMLとして文法違反になるのは確か。
予期せぬ表示上の不具合を発生させる可能性は否定できない。
そもそもなんでそんなにサニタイズを端折りたいの?

ちなみに俺は、HTML4.01の仕様に存在する実態参照だけは許して、
それ以外の&は&に置換するルーチンを書いた。
ここに貼り付けようと思ったが長すぎて拒否された。
071771604/03/02 21:52ID:???
>ちなみに俺は、HTML4.01の仕様に存在する実態参照だけは許して、
>それ以外の&は&に置換するルーチンを書いた。
>ここに貼り付けようと思ったが長すぎて拒否された。

区切って書いてみる

sub sanitizeamp
{
my ($str) = @_;
# 数値参照は OK (ただし末尾の ; が欠けている場合は補う)
if ($str =~ s/^?(\d+|x[0-9A-Fa-f]+);?/?$1;/) { return $str; }
# HTML4 に実在する文字参照は OK (ただし末尾の ; が欠けている場合は補う)
(続く)
0718nobodyさん04/03/02 21:55ID:???
elsif ($str =~ s/^&(nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest(続く)
0719nobodyさん04/03/02 21:57ID:???
|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig
|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof
(途中途中に入っている改行は削除すること)
072071604/03/02 21:59ID:???
めんどくさくなったからやめます
0721nobodyさん04/03/02 22:01ID:???
>>715はなぜサニタイジングするかということ自体を全く理解してないようだ。
それでいて

> 思わないなぁ。そんな上っ面にはとらわれない主義だから。
> もっと本質を見ようね。

とか言っているんだから救いようがない。
具体的に色々問題があるわけだが、馬鹿には教えても無駄のようだから省略。

一見便利そうで利用者・閲覧者全員に迷惑を与える危険性の高いスクリプト
でも作って自己満足していれ。
072271304/03/02 22:08ID:???
>>716
サニタイズを端折りたいわけではないです。
具体的にどういう不具合が出るのかを知りたかったので。
実体参照だけ再置換するルーチンを組むのは面倒ではないのですが、&を素通しにしてOKなら処理が速いかな、と。

HTML4.01に準拠するとして、#PCDATAとして扱われるところには<>&"は直接書いてはいけない、という理解でいいですか?

>>721
713です。715は私ではないので。
>一見便利そうで利用者・閲覧者全員に迷惑を与える危険性の高いスクリプト
を作りたくないので、質問しています。よろしければ教えてください。
072371604/03/02 22:26ID:???
>>717-720
途中まで書いて中断するのも気持ち悪いからうp
ttp://www.geocities.co.jp/AnimeComic/5498/misc/sanitizeamp.txt
0724nobodyさん04/03/02 22:35ID:???
>>723

ありがと。サラッとみた感じで、数値の桁数を5ケタ以下にしといたほうがよさそうな。

まあ、あれですか。
<brockquote>また、著者は、「&」の代わりに「&amp;」(ASCII十進38)を用い、文字参照の冒頭――文字実体参照の開始区切り子――と誤解されるのを避けるべきである。</blockquote>
ということですね。

参考になりました。
072571604/03/03 01:28ID:???
>>713,>>722
サニタイズを端折った場合の問題を1つ思い出したので書いておく。

" のサニタイズを端折ったら
入力された文字列を value に取った input 要素の表示に異常が出たことがあった。
<input type="text" value="giko"monar"> となるべきところを
<input type="text" value="giko"monar"> になったってことね。

<> のサニタイズについても、< だけやって > を端折ったら
なんか問題が起きたような気がしたがちと今は思い出せん。
072672304/03/03 01:32ID:???
>>724
>サラッとみた感じで、数値の桁数を5ケタ以下にしといたほうがよさそうな。

なるほど。
数値実態参照の数値の範囲は16ビットなんだっけ?
?〜?
?x0〜?xFFFF
てこと?
072772604/03/03 01:57ID:???
ああ、間違った、
&#0〜&#65535
&#x0〜&#xFFFF
てこと?
0728nobodyさん04/03/03 12:03ID:???
Unicodeの文字番号を指してるはずだから、
今ではU+FFFFより上にも文字もある予感
0729nobodyさん04/03/09 12:04ID:TnCgMCud
掲示板とMLとの連携で情報交換システムを稼動させています。
ML登録CGIで掲示板の投稿の配信を受けるかどうか、選択し、
掲示板投稿時に投稿をその設定されたアドレスへメール配信しています。

で、MLアカウントへのメールが来たら、同時に掲示板への新規投稿として
掲示板に放り込みたいのですが、
どんな方法が考えられますか?
アウトラインだけでいいのでどなたか御教授下さいませ。
0730nobodyさん04/03/09 17:04ID:???
CGIで掲示板を作ろうとしてるんだけど、
規制として、何行以上書き込まないと書き込まれないような
スプリクト記述ってありませんよね?
0731nobodyさん04/03/09 17:07ID:???
パターンマッチで改行が何回あるか数えたらええんちゃうの?
そういう意味じゃないのかな…
0732nobodyさん04/03/09 17:08ID:???
>>730
あるでしょ。てか
アドレス入れなきゃ書き込ませない、なんて事はざらなんで、
ある一定の長さの本文じゃなきゃ書き込ませない、なんて
別にそうすればいいだけでは?

0733nobodyさん04/03/09 17:08ID:???
>>730
改行大杉が出来るんだから改行少なすぎもできるだろ
0734nobodyさん04/03/09 18:34ID:???
>>730
その程度も自分で判断できないお前には無理
0735nobodyさん04/03/09 18:45ID:???
>>730
> スプリクト記述ってありませんよね?

ありません。自分で書くしかありません。
できない場合は、掲示板の投稿の改行を数え、だめなやつは管理者権限で削除して下さい。
0736nobodyさん04/03/10 04:52ID:???
どうせまた「作る」=「設置」なんじゃないの
0737nobodyさん04/03/10 12:37ID:ZLD/dvfR
OSX Server10.3を使用して、CGIを動かしたいのですが、アクセスすると
http://foo.example.com/cgi-bin/tester
へ接続しにいこうとしてうまくいきません。
以前もこのような症状がおきて、その時教わったのが、vi -b で.cgiファイルを開いて、行の最後に^M か ^B がついていたら、それを、viの画面で何かのコマンド(%s/…)で変換したら問題無く動いたのですが、そのコマンドがどのようなコマンドだったか忘れてしまいました。
実際今はの.cgiファイルを、vi -b で開くと、行の最後には、^Mがついております。
どのようにしたら良いでしょうか。

0738nobodyさん04/03/10 13:01ID:???
>>729
だれか返事してやれよw

メールアカウントの.forward なりに プログラムを埋め込む
そのプログラムは、直接ログファイルに書き込むなり
その掲示板CGIを呼ぶなりして投稿と同じ処理をCGIにさせるなりする。
0739nobodyさん04/03/10 13:15ID:???
>>738
> >>729
> だれか返事してやれよw
>
> メールアカウントの.forward なりに プログラムを埋め込む
> そのプログラムは、直接ログファイルに書き込むなり
> その掲示板CGIを呼ぶなりして投稿と同じ処理をCGIにさせるなりする。

ありがとうございます。
/home/ACCOUNT/www/ 以下でCGI動かしてます。
mailのログは
/var/spool/mail/ACCOUNT ファイルにある事は確認しました
telnetから上記mailのログは読めましたし、
/home/ACCOUNT 以下に持って来れましたが
CGIからMail::MboxParser.pm使って中身見ようとしましたが、
当然ながらパーミッションの問題で持って来れませんでした。
その.forward使ってメール着信時に予め/home/ACCOUNT に
ファイルのコピーを持って来ればいいのでしょうが、
肝心の.forwardをどこに置けばいいやらよくわかりません、
宜しければお教えいただくか、ポインタ教えて下さい。
0740nobodyさん04/03/10 15:01ID:???
>>739
man forward
0741nobodyさん04/03/10 15:06ID:???
>>739
あー 掲示板CGIでログを解析しないほうがいい。

.forward の中で呼ばれるプログラムは
メールの内容を標準入力に渡されるのでそれを加工して掲示板のログに入れてあげればよいかと。
074273904/03/10 15:32ID:tqgEM6Ax
>>741
実は
/home/ACCOUNT/maillists/
にML設定ファイルがあり、それ宛へのメールをCGIで横取りしたいのです。

.forward を書いてみましたが
[email protected]宛てのメールは転送されましたが、
/home/ACCOUNT/maillists/test
で設定した
test@@ACCOUNT.com宛てのメールは転送されてきませんでした
まあ、当然といえば当然ですが。

やっぱり
/var/spool/mail/ACCOUNT をcpしてくるようなスクリプトを書いて
CGIからそれを叩く、って事なんでしょうか
0743nobodyさん04/03/10 17:13ID:bqGiGoNX
テスト
0744nobodyさん04/03/10 18:13ID:???
>>742
test のアカウントにも .forward おいたら?

spoolの下からコピーなんて邪道は許せんw
0745nobodyさん04/03/10 18:53ID:???
>>744
> >>742
> test のアカウントにも .forward おいたら?
>
> spoolの下からコピーなんて邪道は許せんw
はい、そうですね、僕もそうしたくないです。
/home/ACCOUNT/maillists/
これがMLのアドレスリスト記載したファイルの置き場で、
testにアドレスをいくつか改行で入れたものをこの中に入れといてやると

[email protected]で入れたアドレスにメールが配信されます。
/home/ACCOUNT/maillists/
には複数のMLアカウント用のファイルが置いてあります。
/home/ACCOUNT/maillists/.forward
として置きましたが無視されました。

どこに置けばいいんでしょうか…


0746nobodyさん04/03/10 19:34ID:???
/etc/aliases
0747nobodyさん04/03/10 20:11ID:???
>>746
> /etc/aliases
調べてみました。
telnetで除きに行きましたが Permission denied
で、見せてもらえませんでした。

現状 [email protected]宛てのメールは
~/.forward で捕まえられそうなので、
全てのMLへ[email protected]を参加させ、
そいつを~/.forward で捕まえてto: MLアドレスなら処理、
見たいな事でやってみようと思います。。
0748nobodyさん04/03/10 20:28ID:???
"| naniwoyattenndai"
0749nobodyさん04/03/11 00:53ID:XsdX+AtW
質問です。
自宅サーバ開設の実験として、Kent Webさまよりyybbsをダウンロードして、
文献(Mac OSX Unix的活用講座)の指示通りperlのある場所の指定をし、
アクセス権を正しく設定しましたが、"Internal Server Error"となってしまい
ます。職場/自宅の両方の環境で試しましたが、ダメです。Kent Webさまの
FAQコーナーの事項はすべてチェックしたつもりです。いったいなにがダメ
なのか教えてください!Askaは問題なくうごくのですが・・・
サーバ、クライアントともMac OS X 10.3.2です。
0750nobodyさん04/03/11 01:00ID:???
>>749
スレ違い >>1-5 を読め
0751nobodyさん04/03/11 02:09ID:???
いやこのスレでもいいとは思うが

しかし >>749 に書いてある情報だけで
「いったいなにがダメなのか教えてください!」と聞かれても
「あんたという人間自身がダメ」としか答えようがないよ

とりあえずエラーログでも見てみたらどうだ
「エラーログって何?」という状態だったら、自分でCGIを使うのは諦めたほうがいい
075274704/03/11 11:56ID:???
>>748
> "| naniwoyattenndai"
どうもヒントありがとうございます。

open Mail, "mail |" or die;
open Back, ">mail.back" or die;
while(<Mail>){print Back;}
close Mail;
close Back;

こんな風にやってみました。
とりあえず1個持ってきてくれましたが、

& Saved 1 message in mbox
Held 673 messages in /var/spool/mail/hoge

なんて事で、溜まりまくってます。
これmailコマンドになんか足してやれば、
未読メールは全部読む、なんて事にならないんでしょうか?
調べましたがわかりませんでした。

でも読んでmboxにセーブされるなら手元にprint
する必要ないですね。

なんかスレ違いになってきてますが、
すんませんがポインタでもお願いします。
0753nobodyさん04/03/11 22:32ID:???
>>748 は「.forward の中に | を書け」というアドバイスだと思ったんだが…
075474704/03/12 16:10ID:???
>>753
> >>748 は「.forward の中に | を書け」というアドバイスだと思ったんだが…

はい、気が付きました。
パイプで処理をプログラムに渡す、って事ですね。
いろいろやってみます。
0755nobodyさん04/03/21 19:08ID:???
フォームって、リターンキーで送信しちゃうと、ボタン名飛ばないんだね。
ボタン名がクエリに入ってたら処理を分岐してたオレはいったい…

どうしよ。
0756nobodyさん04/03/21 21:44ID:???
hiddenを使えばいいじゃない
0757nobodyさん04/03/21 21:56ID:???
複数のtype=submit があって、nameで分岐してるってことじゃないかな。

name無しの時に分岐のどの処理をさせるか、無効操作として再度フォーム表示するかどうか、
それさえ決めればよさそうな.....
075875504/03/22 11:38ID:???
>>756

hiddenでフラグ持たせとくかー
なんかすんごいアナログだけど
ボタン一個の時はこれしかないよね。

>>757

そそ。nameで分岐。
name無しは基本的にまたフォームに戻すんだけど、
リターンで送信されたときにもちゃんと飛ばせないトナーと思ったり。

1フォームにsubmitボタンが2個あるときってどうしてますか?
0759nobodyさん04/03/22 14:56ID:???
まずそういうインターフェイスを見直す。
0760nobodyさん04/03/22 15:59ID:???
>>759 ならどう見直す?
0761nobodyさん04/03/22 16:20ID:???
ラジオボタンで選択
0762nobodyさん04/03/22 16:43ID:???
>>761
現実的じゃないかも。
たしかにラジオボタンだと正確に取得できるが、
実際のフォームとかでそういうの見ないな。(むしろ使いにくい)
■ このスレッドは過去ログ倉庫に格納されています