CGIだけど、なんか質問ある?

このエントリーをはてなブックマークに追加
1名無しさん

print "くだらねぇー質問はココから始めろ!";
2(゚Д゚)ハァ?:2000/10/16(月) 01:42
ムダスレ立てんなボゲェ。
3名無しさん:2000/10/16(月) 02:01
黙って実行されてろ。
4名無しさん:2000/10/16(月) 02:04
500 とかいうなよ
5名無しさん:2000/10/16(月) 03:37
たまには、日本語話せよ。
6名無しさん:2000/10/16(月) 04:21
1の頭の中は404だな。
7名無しさん:2000/10/16(月) 19:01
ない
8名無しさん:2000/10/16(月) 20:12
初心者の素朴な疑問ですが、cgiに大量のデータが送られてきた
として、これをcgi側でサイズチェックして大きすぎると判断したら
破棄してエラーメッセージを送り返すとします。
このときcgi側で読みこまなかったデータはそのままサヨナラして
くれるのでせうか? サーバのメモリのどっかに溜まったまま・・・
なんてことは絶対ナイジェリアですか?

9名無しさん:2000/10/16(月) 20:35
送りたいんだけどだろ?>8
108>9:2000/10/16(月) 20:54
いきなりgets(Cの場合ね)で読みこんだりするとヤバそうなんで、
環境変数でサイズをチェックした方がいいと思うんですが
これ、何メガバイトも送られてきたらどうすればいいんでしょう?
というのが質問の主旨でありんす。
11名無しさん:2000/10/16(月) 21:08
それはデータ管理の範疇でCGIとは関係ねーだろ >>8
12TDR:2000/10/16(月) 21:24
SSIの <!--#exec cgi="./????/****.cgi"-->は*.cgiスクリプトだと
どう書くんでしょうか?
13名無阿弥陀仏:2000/10/16(月) 22:05
>>8
標準出力を使って「そのCGI」に送られたデータなので
そのCGIのプロセス自体を終わらせれば破棄されてるはずです
じゃないと困る。

>>12
質問の意味がよくわからないのですが。
http://xxxx/yyyy/????/****.cgi みたいなことかね?
SSI を実行した場所 http://xxxx/yyyy の後に付ければいいはず。
14TDR:2000/10/16(月) 22:18
ちょっと判りにくかったでしょうか。
CGIでSSIの <!--#exec cgi="./????/****.cgi"-->機能を
使うという事です。
判る人だけレスください。
15名無しさん:2000/10/16(月) 22:46
>>14
つまり、 <!--#exec cgi="./????/****.cgi"-->部分に実行結果
を埋め込みたいってこと?
・ASPを使う。
・PHPを使う。
・PerlからHTML::Embperlを使う。
・PerlからHTMLファイルをopenで普通に開いて、埋め込みたい部分
 を置換する
・ネットで調べる
16名無しさん:2000/10/16(月) 23:41
フレームを使うはどうよ?
17名無阿弥陀仏:2000/10/17(火) 00:05
一応、言っておくと <!--#xxxx--> をCGI側で print してもSSIそのものは構造上使えないからね。
15はそれに近いことをやろうとしてるのだけど、
CGI で実行させるなら
`` といか exec とかいう「CGIが」プログラムを実行させる命令を別に書かないといけない。
18【質問】:2000/10/17(火) 02:46
アクセスカウンターで画像の表示が終わってから、
数字がスロットのようにぺロンって変わるcgi下さいな!
19名無しさん:2000/10/17(火) 02:52
あげません >>16

つーか、それは「質問」とは言わない。
20名無しさん:2000/10/17(火) 02:55
>1
お前、細かい構文にうるさすぎるんだよ!
ソースの流れから汲み取って判断できないのか?

500ばっかり出しやがって人間様をなめるな!!!
21名無しさん:2000/10/17(火) 03:54
>20
確かに、俺もそう思う。
22名無しさん:2000/10/17(火) 04:45
インタプリタからして壊れていると見た。
23名無しさん:2000/10/17(火) 19:31
>20
まったくその通り!
;が抜けたくらいでエラーにすんなっ
行間を読め!

それにな、エラーを出す時はきちんと
「何処何処がエラーです」って教えろよ。
たまにいい加減なことをいうから探すのが大変だろ?
24名無しさん:2000/10/17(火) 20:04
標準出力吐き出し系の掲示板作ってんだけど、
書きこんだあとに、そのページ表示してもブラウザのキャッシュ
がきいて書き込みが反映されてないような状態になります。
リロードすればもちろん見れるんだけど・・・

なんかヘッダとかで「キャッシュ使うなよゴルァ!!」みたくする方法はないですか?
できれば、javascriptとかみたいに環境に依存するような方法以外で・・・
I-MODEでも有効ならなお良しなんだけど
25適当君:2000/10/17(火) 20:59
<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=http://
26初心者:2000/10/17(火) 21:25
あのー、HTMLだけでホームページ作るときってファイル一杯作って
リンクでつなぎますよね? CGIの場合もそういう風に処理の単位で
別ファイルにしてリンクでつないでいった方がいいんでしょうか?
それとも変数の値で全然違う振舞いをするようにしておいて、
ソースファイルは一つにしておいたほうがいいのでしょうか?
後者の方が重いのは分りますが、ファイルが一杯になるのはちと
面倒くさいんで...
27名無しさん:2000/10/17(火) 21:48
>>24
串はずせ。
28>26:2000/10/17(火) 22:16
好みで作ってよし!
29名無阿弥陀仏:2000/10/17(火) 22:20
>>24
<META NAME="Cache-Control" CONTENT="nocache">
<META NAME="Pragma" CONTENT="nocache">

でいけると思う。CGIを直接参照しているなら

Cache-Control: nocache
Pragma: nocache

を Content-Type ヘッダに追加してもいい。
30厚着deミロード:2000/10/17(火) 23:13
>29 Pragmaって なんでしょうか?
31名無阿弥陀仏:2000/10/17(火) 23:25
タイムリーなハンドルだなおい(w
Pragma も Cache-Control もやってることは同じだから気にしなくていいよ。
とりあえず両方設定しとけばどっちかが有効になるっつうことで。
32FW:【紹介】:2000/10/17(火) 23:41
アクセスカウンターで画像の表示が終わってから、
数字がスロットのようにぺロンって変わる
フリーのcgi紹介して頂けませんでしょうかぁ
3324:2000/10/17(火) 23:46
>25
それは適当すぎます(^^;)
>27
串なんかつかってないです
>29,31
ありがとほ、早速試して見まふ。
PragmaはC言語の#pragmaと同じような感じかな?
CGI直接参照標準出力オラオラ型CGIなんで直接ヘッダを吐いてみます。
34名無しさん:2000/10/17(火) 23:58
>33
でもそのヘッダ吐くとオフラインで見れなかったと思うから
その辺、気に止めておいてくれ。
35名無阿弥陀仏:2000/10/18(水) 00:13
>>32
あっちじゃ誰も答えてなかったな。
アニメーションカウンタはCGIではなくGIFアニメでやってると思うぞ。
0から1とか、3から4とか、9から0などに変わる動画のアニメGIFとかがあるんだろう。
まあCGI内部でもカウントアップ時に変動する数値は動画を使って
変動してない数値は静止画を使うっていう工夫はいるだろうけど。
JAVAでやってる場合もあるだろうがそっちは知らん。
3626>28:2000/10/18(水) 00:22
うーん。好みですか。じゃ、一つのシステムは一つのファイル
で作っときます。
PWSだとファイルのパスが何故かcgi-binからの相対パスで
書かないといけないのでファイルを分けるとディレクトリの構造が
代わった時に面倒くさいときが多々ありそうなので。
3732@アメリカのビスは..:2000/10/18(水) 00:37
>>35さん ありがとうございます〜!!
  ソース見るとCGIポイんです<IMG SRC="http...>
  CGIでアニメGIF使えたんですね。
38日本強いね:2000/10/18(水) 00:49
Pragma: no-cache
HTTP/1.0で「キャッシュ使うな」指定するためのヘッダ
Cache-Control: no-cache
HTTP/1.1で「キャッシュ使うな」指定するためのヘッダ
* サーバ(及び中に介在させるプロクシ等)がすべてHTTP/1.1を理解できるならば、Pragmaはいらない。

Pragmaではno-cacheしか指定できないが、
Cache-Controlではキャッシュに関して色々な指定が出来る。
詳しくはRFC2616。
3920:2000/10/18(水) 01:02
で、CGIからの返答は無しか。

ちょっと都合が悪くなったからといってダミーの403返すなよな。
40CGI:2000/10/18(水) 02:20
401 Authorization Required
41名無阿弥陀仏:2000/10/18(水) 02:40
>39
いや、そもそも来る気も無いとみたぞ。
42名無しさん:2000/10/18(水) 04:55
やる気の無いヤツが立てたスレは盛り上がらない、という良い見本。
43名無阿弥:2000/10/18(水) 06:43
38>> あ、誤字ってたか。
そうそう no-cahe でした。さんくす。
24 の人そのように直してください。修正希望あげ。
44名無しさん:2000/10/18(水) 14:17
ファイルの中身を連想配列に入れたいんですが、なんかこう
もっとエレガントな方法ありませんか?perlに慣れてないんで
こんなヘボスクリプトしか書けませんでした。

 if (!open (FILE,$filename)) { &error(3); }
 foreach $tmp (<FILE>) {
  chop ($tmp);
  @a = split(/\t/,$tmp);
  $TBcategory{@a[0]}=@a[1];
 }
 close (FILE);
45名無しさん:2000/10/18(水) 14:32
>37
これじゃないの。クルクルカウンター。

http://www2.biglobe.ne.jp/~nir/npc/
46CGI:2000/10/18(水) 15:38
if (!open (FILE,$filename)) { &error(3); }
s/^([^\t]+)\t([^\n]*)/ $TBcategory{$1}=$2; /e while <FILE>;
close (FILE);
47名無しさん:2000/10/18(水) 15:55
>>29
ちょっと待て、誰も突っ込んでないが、name属性じゃなくてhttp-equiv属性だろ?!
もちろん、CGIならばhttp-equiv形式のmeta要素は一切必要ないが。
4844:2000/10/18(水) 16:45
( ̄□ ̄;)
すっ、すげぇ…

正規表現使うとここまで省略できるんですか。
まっことありがとうございましたっ!>>46さん
49japu:2000/10/18(水) 18:54
%TBcategory = map { chomp; split /\t/ } <FILE>;
の方が良いかもしれません。
タブが複数個入る場合を考えて、split /\t/, $_, 2 とするのは良い考えです。
50【多謝】:2000/10/18(水) 18:58
>>45様~
ぉ!!!ありがとうでした〜 早速、使ってみます。。。
51CGI:2000/10/18(水) 20:01
メモリの消費量を考えるとmapは使いたくない。
52名無しさん:2000/10/18(水) 21:01
キャッシュの...
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
                      ...これで、いいの?
53名無阿弥:2000/10/18(水) 22:06
>>47
う。多分それが正しいんだね。ありがとう。
違いがよくわかってないのでどう違うのか教えてください。
HTTPヘッダとして使われるものはこっちってことでいいのかな?

>>44
japuさんが言ってますが 46 なら\t が複数あっても改行まで2個めの\tも含めてすべて受け取れるけど
44 だと2個めの \t 以降は切り捨てられる違いがある。使い分けができます。
44 も同じ結果にするなら split/\t/, $tmp, 2) にすればいいのかな。

>>46
[^\n] はピリオドにしたほうが多分効率いいね。

>>52
で、いいと思います。あと Pragma も同様にね。
54CGI:2000/10/18(水) 22:14
>[^\n] はピリオドにしたほうが多分効率いいね。
それでchomp相当処理はどこでやるつもり?
55CGI:2000/10/18(水) 22:31
やり直し。
&error(3) unless (open (FILE,$filename));
undef %TBcategory;
while (<FILE>) { $TBcategory{$1}=$2 if /^([^\t]+)\t([^\n]*)/; }
close FILE;
56新入り:2000/10/18(水) 22:54
すみません、いきなり質問で申し訳ないのですが、
環境変数、HTTP_REFERER ってどんな場合に環境変数に
代入されるのですか?
代入される場合と、されない場合があるのですが。。。
57名無阿弥:2000/10/18(水) 23:24
>>54
ピリオドが「改行文字以外」にマッチなので [^\n] と同じ結果のはずです。
なので問題ないかと。
あと open(FILE, $filename) || error(3); なら見栄えもスッキリしますよ。

>>56
<A>タグなどでリンク(ここでは「最新レス100」など)を移動すると
その直前のURLが入っています。
URLを直接ブラウザに打ち込んで飛んだ場合は入らない(はず)。
たまに、ブラウザがバグって別ウィンドウのURLが入ってることもあるみたいです。
[unknown origin] が入ってることもあるけどこれは直打ちってことかな?
58japu:2000/10/18(水) 23:28
man perlre:
. Match any character (except newline)
&nbsp;&nbsp;&nbsp;&nbsp;:
To facilitate multi-line substitutions, the "." character
never matches a newline unless you use the /s modifier,

try this:
$_ = "sakura\tmoe\n";
@hoe = /^([^\t]+)\t([^\n]*)/;
print "[@hoe]\n;
59名無阿弥:2000/10/18(水) 23:29
あ、 & が抜けてた。さげ。
60japu:2000/10/18(水) 23:34
個人的には、
open FILE, $filename or error(3);
61名無阿弥:2000/10/18(水) 23:42
あ、なるほど。japuさんどうも。それと勘違い君で皆さん申し訳ない。
勉強になりました。
62適当君:2000/10/18(水) 23:52
>>56
 ブラウザの"戻る"がアクティブでない時が変数の中身はカラ。
 ...「新しいウィンドウでリンクを開く」とか
63名無阿弥:2000/10/18(水) 23:57
あれ?早とちりかな。
ピリオドでも [^\n] でも同じなのかな…。わからなくなってきた。

\s 使わなければ "." は \n にマッチしないということかな?
すいませんけど識者の方教えてくださいませ。
64ぺこちゃん:2000/10/18(水) 23:58
こんばんわ。
GETでサーバーに送れるデータは254文字までと
書いてある本と書いてない本が有るんです。
私がテスト(IIS4)してみたら、300文字でも送れた
んですが、どうしてでしょうか?UNIXだとだめなん
ですか?
65便乗さん:2000/10/19(木) 00:01
ココは「なし」ですよね?
66>64:2000/10/19(木) 00:26
その本が古いだけじゃない?
今は数千文字でも大丈夫。
67新入り:2000/10/19(木) 00:35
>>57さん >>62さん
いきなりの失礼な質問に答えて下さり有難う御座いました。
こちらで再現している状態と一緒なので、そういう仕組みに
なっているようですね。勉強になりました。本当に有難う御座いました。

68名無しさん:2000/10/19(木) 04:27
プロバイダとかレンタルのCGI鯖ってPERLのモジュールの
入り具合はどんな感じですか?
Perl本体だけとか?
69名無しさん:2000/10/19(木) 04:45
>Perl本体だけとか?
標準で入ってるモジュールはあるだろ(笑)
70clear:2000/10/19(木) 05:36
Niftyだとuse Strictさえエラーになる。
モジュール消すにしてもプラグマぐらい使えるようにしといて欲しい。
71名無しさん:2000/10/19(木) 06:12
use Strictって書いてエラーっていうのもおもろいな(藁
72名無しさん:2000/10/19(木) 06:19
まあね。他の奴の相場は?
73名無しさん:2000/10/19(木) 06:21
あら、しまったリロードしてなかった。
72 > 69 ね。
74名無しさん:2000/10/19(木) 18:46
cc gcc sh httpd
75等幅フォントって...:2000/10/19(木) 23:30
OS共通の等幅のスペルって、どないでしょうか?
<FONT FACE="等幅" COLOR="#AAAAAA">Copyright(C) 2000
XXX.All rights reserved.</FONT>
76名無しさん:2000/10/19(木) 23:55
77名無しさん:2000/10/20(金) 02:31
CGIの負荷って、どうやって測るのですか?
また移転先探さなきゃ・・
78名無しさん:2000/10/20(金) 02:40
ロードアベレージかな >>77
7944:2000/10/20(金) 18:31
先日はありがとう御座いました。
あれで作られた連想配列、key を与えればちゃんと取り出せるのですが
順番がぐじゃぐじゃになっているのはどういう事なんでしょうか?

順番に取り出したい場合はデータにuniqueなIDつけて、カウンタをkey
にして取り出すしか無いんでしょうか?

$flag = 0;
foreach $tmp (%TBmens_collar) {
 if ($flag == 1) {
  print "$tmp\n";
  $flag=0;
 } else {
  $flag++;
 }
}
80名無しさん:2000/10/20(金) 19:33
掲示板のメッセージ欄でURLをしてもリンクされません。
ハイパーリンクジャンプするには、どうすればよいのでしょうか?
初心者ですがよろしくお願いします。
81名無しさん:2000/10/20(金) 19:55
>>79
入門書でも読んでハッシュについて勉強しろ。
82 :2000/10/20(金) 21:00
# 自動リンク
$in{'msg'} =~ s/($http_URL_regex)/<a href="$1" target="_blank">$1<\/a>/ig;
8380:2000/10/20(金) 22:11
>82さま
ありがとうございました。早速コピー&ペーストしてみたのですが、
残念ながらうまく、表示されませんでした。
やはり私では難しいすぎたのかもしれません。
でもいずれ使える時のために82さんのレスをテキスト保存しました。
お気遣いすみませんでした。
84>83:2000/10/20(金) 22:21
$http_URL_regexってやつちゃんと設定してる??
8580:2000/10/20(金) 22:29
86名無しさん:2000/10/20(金) 22:36
CGIの中でsysytem文は使っちゃだめなんですか?

print "Content-type: text/html\n\n";
system "cat ./header.txt";
system "./sidebar.pl";
&mainroutine;

こんな感じで。
ちなみに sidebar.pl は SSI としては正常に動いています。
87名無しさん:2000/10/21(土) 00:09
>86
使用自体に問題はないけど、printの出力はバッファリングされてるので、
systemと混ぜると出力データの順序がばらばらになってしまいます。
最初に $|=1 を実行して、printのバッファリングを停止すれば、
オーケーでしょう(動作効率は多少落ちる)。
8880:2000/10/21(土) 12:55
>84様
すみません。やはりダメでした。
OTDの掲示板なので、無理があったのかもしれません。
ありがとうございました。
89>80:2000/10/21(土) 15:47
無理があるのはあなたの頭でございます。
わからないくせにCGIいじろうなんて考えるのやめとけ。
90>87:2000/10/21(土) 16:20
サーバーがApacheのバヤイ、$|=1;をやっとかないと
ロックアウトしてまうということを「CGIのための実践入門Perl」で
読んだ。system関数つかわなくてもApacheでは$|=1;でバッファフラッシュ
はデフォつーことで理解しとけばオゲーですか?
91名無しさん:2000/10/21(土) 18:11
>90
なにそれ聞いたことないよう。もうちょい詳しく引用きぼん。
9286:2000/10/21(土) 21:03
$|=1; というのを初めて聞きました。
結論から言うと上手くいきましたが何を意味するのかちょっと理解できていません。
結果オーライ的思考からいくとこれでいいのですがちょっと釈然としないものが・・
web出力の基本は標準出力であり、system文が絡むとなぜバッファリングの順が狂うのやら。
ともかく有難うございました。
9386:2000/10/21(土) 21:07
あ!今、理解できた気がします。
検索結果が膨大になるときでも、実行中に結果を順次表示しないのかが
これでわかりました。perlの中で出力を溜めちゃうんですね。
逆に$|=1; をトップに入れておけば途中経過がリアルタイムで
観察出来るって事でしょう。<ほぼ独り言

ついでになんですが、phpでバッファリングを止める方法ってありますか?
94(゚д゚ ):2000/10/21(土) 21:29
馬鹿ばっか。
95動かない///なんで?:2000/10/22(日) 00:10
print "Content-type: text/html\n\n";
print "<html><head><title>REMOTE_ADDR</title></head><BODY>\n">

while ( ($a,$b) = each %ENV) {
print "$a=$b<br><br>\n";
}
print "</body></html>\n";
96名無しさん:2000/10/22(日) 00:18
>95
二行目の最後を見れば幸せになれるぞ
9795@動きました:2000/10/22(日) 00:25
あっほんとだ!さんきゅ〜 ; ネ 
98名無しさん:2000/10/22(日) 01:31
海外サーバーにおいた掲示板とかの日時が現地時間になってしまうのを
日本時間に直すにはどのようなスクリプトを書き足せばいいのでしょうか..
99名無しさん:2000/10/22(日) 01:35
>98
$ENV{'TZ'}='JST-9';
これだけ追加。
10098:2000/10/22(日) 02:09
>>99さん

ありがとうございます!
できましたー!
101RiVer:2000/10/22(日) 13:29
だれかs///gを使って、標準語を関西弁に変換するようにしてください
102ほれ:2000/10/22(日) 16:14
s/こんにちは/こにゃにゃちわー/g
103名無しさん:2000/10/22(日) 20:29
s/バカ氏ね/アホちゃうかぁ/g
104名無しさん:2000/10/22(日) 22:40
s/マック/マクド/g
105教えて君:2000/10/22(日) 22:53
CGIで生成されるページに
&lt;!--#include virtual=""--&gt;
みたいな感じでSSIを組み込みたいのですが、
どうしたら良いのでしょうか?

板違いでしたらすみません
106名無しさん:2000/10/22(日) 23:04
CGI叩いた時点で制御がhttpdから離れてるから無理なのでは?
107コピぺ君:2000/10/22(日) 23:20
>105 >>15 >>17 辺りかな?
108なぜ?:2000/10/23(月) 04:03
いままで動いていたkentさんの掲示板を
あたらしいサーバーに移したら動かなくなりました
パーミッションや転送モードは間違えていません
telnetでエラーメッセージを見ると
jcode.plの途中の行でひっかかっているようなのですが
/\216([\241-\337])(\216([\336\337]))?/: unmatched () in regexp at ./jcode.pl lin
このようなエラーがでてしまいます
どうすればいいのでしょうか?
ちなみに新しいサーバーはperlでなくjperlが使われているみたいです

109なぜ?:2000/10/23(月) 04:04
↑エラーメッセージ最後の部分は line643 です
110名無しさん:2000/10/23(月) 04:14
移転先が英語版perlだったのと見た >>108
111<BR>:2000/10/23(月) 05:32
実行すると…<P></P>が入ってしまいます。
検索しても<P></P>見当たらないのですが…
112名無しさん:2000/10/23(月) 07:32
あんた誰? >>111
108の続き? もう訳わからん。
113111@<BR>:2000/10/23(月) 07:54
It's new です
114名無しさん:2000/10/23(月) 08:55
FORMで引数をとってそれをリンクの一部に組み込みたいんですが
どうやればいいでしょうか。それだけ出来ればいいのですが…。
115なぜ?:2000/10/23(月) 21:17
>>110
いえ たぶん移転先がjperlなんです、、、
どなたか>>108の原因わかりませんでしょうか?

あ 111は自分とは関係ないです
116名無しさん:2000/10/24(火) 01:08
>115=108
"-b"オプションが使えるjperlなら、先頭のパス指定で
#!/usr/bin/perl -b
と書くと英語版perlと互換モードになるから試してみよう
117なぜ?:2000/10/24(火) 01:33
>>116さん
できました! ありがとうございました
やはりjperlがいけなかったみたいです。。。
-bをつけたら掲示板が使えるようになりました
大感謝です。
118名無しさん:2000/10/24(火) 09:51
>114
($name,$link) = split(/=/,$org);

print <<"EOF";
<a href="$link">xxx</a>
EOF

適当。
119755?:2000/10/24(火) 20:12
【質問】
***.cgiファイルをダウンロードされない方法はないでしょうか?
  メhttp://www.xx.***.cgiを「名前を付けて保存」とかで...
120名無しさん:2000/10/24(火) 20:30
↑板違いだろ
1211:2000/10/28(土) 16:56
チャット入室お知らせメールの方法。
おしえて。
122121:2000/10/28(土) 17:16
さっさと教えろやこら。
123名無しさん:2000/10/28(土) 17:19
やっぱりあほだ
124名無しさん:2000/10/28(土) 17:36
ちょっと思いつきなんだけど、
sendmailのvacation.msgをCGIで書き換えるようにして、
アクティブな自動返答システムを作れないかなぁ?だめ?
125名無しさん:2000/10/28(土) 21:40
【質問】
ファイル名がindex.htmlでも実行できるでしょうか?
126名無しさん:2000/10/28(土) 23:07
>125
??
CGIスクリプトのファイル名がindex.htmlだとダメですよ。
ディレクトリリストの参照が気になるなら同じ階層にダミーのindex.htmlを置くかしましょう。
127125:2000/10/28(土) 23:19
>126 どーもです。ここは../index2.htmlですよね??
 どうやってるんでしょうか?
128名無しさん:2000/10/28(土) 23:59
125は掲示板のフォームも全て拡張子.cgiでないといけないと思っているドキュン。
129>>125=127:2000/10/29(日) 01:57
.htaccess 置いてCGIしか置けないディレクトリにしてしまえ

ここはCGIが吐き出したindex2.htmlを表示してるだけだ。
index.htmlはフレームになってるだろ?
130129:2000/10/29(日) 01:59
ちなみに、ここは
<FORM METHOD=POST ACTION="../test/bbs.cgi">
を見ればわかるとおり、cgiはindex2.htmlじゃないからね
131125=127:2000/10/29(日) 03:38
so-ka。
>128 125は掲示板のフォームも全て拡張子.cgiでないといけないと思っているドキュン
atari!
132名無しさん:2000/10/29(日) 11:33
掲示板で、二重投稿を防ぎたいのですが、
投稿された内容を別のファイルに記録して照合して…という方法しか思いつきません。
他にスマートな方法はありますか?
133名無しさん:2000/10/29(日) 12:17
>>132
ログファイル本体の内容を参照するのでは駄目なの?
134132:2000/10/29(日) 12:38
あ、一行だけ読み込めばいいのか。
鬱だ、逝ってきます…
135sa:2000/10/29(日) 17:20
掲示板の投稿後のページを変更したい。

どこを改造すればいいんですか?
136名無しさん:2000/10/29(日) 18:03
>>135
どういう掲示板なのか説明しないと伝わらないってばさ。
掲示板なんて山ほどあんだから…それを踏まえた上で改造板逝ってみればどうかね。
137若葉:2000/10/29(日) 20:06
>136 改造板ってドコ?
138136:2000/10/30(月) 03:53
CGI 改造工房ってスレッド。次から関係ありそうなスレッドは自分で探してね。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869&ls=50
139名無しageさん:2000/10/30(月) 20:21
一回のファイルオープンで入力と出力を行うことは可能でしょうか?
以下のようにしても入力処理だけしかされません。
3行目と4行目をコメントにした場合は、出力処理がちゃんとされます。

入力処理と出力処理の間に何らかの処理を挟めばできるのでしょうか?
それともこうゆうやり方は無理でしょうか?
C言語ではこうゆうやり方が出来たように思ったのですが。

1>$file="hoge.dat";
2>open(FILE,"+<$file") || &error("$!");
3>@dat=<FILE>;
4>print(@dat);
5>print FILE "OK?\n";
6>close(FILE);
140名無し:2000/10/30(月) 21:28
append mode になってない。
141名無し(140):2000/10/30(月) 21:56
いや。。。動くぞ。
fileの決に付けたすんだろ?
142名無しさん:2000/10/30(月) 23:19
seekもファイルポインタも知らんのにCがどうのとか言うなよ。
143名無しさん:2000/10/31(火) 03:32
ファイルの文字コードをCGIより変換する方法ありますか?
 文字列をエンコードするのは
&jcode::convert(\$line, "euc");
 とかですよね。
 んじゃなくって、ファイル丸ごと。
nantoka.txt
とかあったらこれを丸ごと、変換する方法です。
144名無しさん:2000/10/31(火) 03:49
open(FH,"nantoka.txt");
$line = <FH>;
close(FH);
&jcode::convert(\$line, "euc");
145名無しさん:2000/10/31(火) 03:58
$/ = undef;

が抜けてるぞ。
146135:2000/10/31(火) 04:55
>136 板じゃなくスレだろ!!氏ね
147名無しさん:2000/10/31(火) 05:10
nkf でフィルタかまして取得てのはどうだ
148名無しさん:2000/10/31(火) 14:14
SSIとCGIを利用して、
ファイルの作成日が例えば1週間以内ならば"NEW"、
最終更新日が2日以内なら"UPDATED"とか表示することは可能ですか?
メニュー画面 (index.shtmlなど)で。
149名無しさん:2000/10/31(火) 14:22
>148
時間で比較する。
150名無しさん:2000/10/31(火) 14:23
可能だがお前には教えてやらない
151名無しさん:2000/10/31(火) 15:20
>148
可能。
152名無しさん:2000/10/31(火) 17:27
可能 >148
153名無しさん:2000/10/31(火) 18:02
局ウ(榕

154名無しさん:2000/10/31(火) 19:17
↑なんだこいつ?
顔真っ赤にして連続書き込みか?
お前みたいなperlすらも分からん包茎野郎は
こなくていいんだよ。(諭すように)
155名無しさん:2000/10/31(火) 19:22
それじゃ諭せないでしょ。
156名無しさん:2000/10/31(火) 22:29
>154
まあ、落ち着け。スレッド違うぞ。
上げてるし。
157上がったンでついでに…:2000/10/31(火) 23:25
2000年の表示って↓これだけじゃダメあるね?
$year += 1900;
158名無しさん:2000/10/31(火) 23:44
OK。

つーか "19$year" なんてやっている奴がなぜいたのか謎だ…。
15978:2000/11/01(水) 00:12
19100年ってとこがあるの?
160157:2000/11/01(水) 00:29
>158ちゃん マジおせーて!
>159 $year入れると100年って表示しちゃう年!!
161japu:2000/11/01(水) 01:16
マニュアルも見ずにプログラム組んでいるじゃないの?
162japu:2000/11/01(水) 01:19
マニュアルに載ってます:
Also, $year is the
number of years since 1900, that is, $year is 123
in year 2023, and not simply the last two digits
of the year.
163143 :2000/11/01(水) 01:55
144さんありがとうございます。
でも何度やってもうまくいきません。
そこで作っているプログラムからはずしてこの部分だけで、
#!/usr/local/bin/perl

require 'jcode.pl';

open(FH,"nantoka.txt");
$line = <FH>;
close(FH);
&jcode::convert(\$line, "euc");

exit;

とやっても変換できません。。。なにがおかしんでしょうか?
164157:2000/11/01(水) 01:57
>japuさん どーもです、英語から勉強し直します
165名無しさん:2000/11/01(水) 01:59
::
166名無しさん:2000/11/01(水) 02:01
$line = <FH>;
じゃなくて
@line = <FH>;
じゃないのか?
167名無しさん:2000/11/01(水) 02:01
>163
145に144の訂正がありましたよ。openの前あたりに1行追加。
$/ = undef;


168167:2000/11/01(水) 02:08
あ、グローバルな$/を書き換えると他の部分に支障が
でるかもしれないので、ブロックに入れて保護するほうがいいか。
{ local($/) = undef;
open(FH,"nantoka.txt");
$line = <FH>;
close(FH);
}
169 :2000/11/01(水) 02:08
open(FH,"nantoka.txt") \n";
170143=163:2000/11/01(水) 07:11
 みなさんありがとうございます。
 いろいろ試してみたんですが、まだ出来ません・・・・。
 jcode.plは最新のものにしたし、ローカルでもサーバー上でも試しても
どちらとも出来ないし、、なにがおかしいんでしょうか?
 実行の仕方でしょうかね?ローカルでは、MS-DOSプロンプト、
サーバーではtelnet使ってやってるんですが、、、。
 なにかここが出来てないんじゃないの?とかいうアドバイスありましたら
お願いします。
 
171名無しさん:2000/11/01(水) 07:50
>170
163のスクリプトだけ見ると、読み込んで、convertして、
そのあとファイルに書き戻してないけど・・・。
172170:2000/11/01(水) 07:56
>>171
それではこのままでは変換した文字はどこに行ってしまうんですか?
173名無しさん:2000/11/01(水) 16:48
>>172
暗黒メモリ空間
てゆーかアナタ・・・・・・大丈夫?
174170:2000/11/01(水) 18:11
ちょっとやばいかも・・・汗。
ファイルに書き戻す方法教えてください。。
175名無しさん:2000/11/01(水) 19:28
>>174
ファイルを書き込みモードでopenして、変換した $line を
出力するだけでよいです。
方法がわからなければ、いい機会なのでちょっと勉強してみて。
(こういうのは答を書いちゃうほうがいいのかな・・・)
176ありがとう!:2000/11/01(水) 20:34
143=163=170=174です。
できました!みなさんありがとうございます!!
いちおうEUCに変換できるんですけど、
詳しい方から見ればおかしい所だらけだと思います。
直したほうがいいところがありましたらお願いします。

#!/usr/local/bin/perl

require 'jcode.pl';

$/ = undef;
open(FH,"nantoka.txt");
$line = <FH>;
close(FH);
open(CF, ">a.txt");
&jcode::convert(\$line, "euc");
print CF "$line";
close(CF);

exit;
177ありがとう!:2000/11/01(水) 20:36
すいません、下のが正しいです。
上のはファイル名一個間違えています。

#!/usr/local/bin/perl

require 'jcode.pl';

$/ = undef;
open(FH,"nantoka.txt");
$line = <FH>;
close(FH);
open(CF, ">nantoka.txt");
&jcode::convert(\$line, "euc");
print CF "$line";
close(CF);

exit;

178名無しさん:2000/11/01(水) 20:39
ぉ さすが ..メモメモ
179名無しさん:2000/11/02(木) 15:22
任意の日本語の文字列を縦表示させたいんですが、
どうすればいいでしょうか?

あぼーん

あ<BR>ぼ<BR>ー<BR>ん

このように変換したいのです。
180>179:2000/11/02(木) 16:01
ヒント:正規表現
181japu:2000/11/02(木) 20:18
#! /usr/local/bin/perl -w

$_ = "パンプルピンプルパムポップン";

s{\G([\x00-\x7f] | # ASCII or JIS X0201 Roman
\x8e[\xa0-\xdf] | # JIS X 0201 Katakana
\x8f[\xa1-\xfe]{2} | # JIS X 0212
[\xa1-\xfe]{2}) # JIS X 0208
}{$1<BR>}gx;
print "$_\n";

__END__
182ぎこるび:2000/11/02(木) 20:39
ちょっと対抗

#!/usr/bin/env ruby
require 'jcode'
$KCODE = 'SJIS'
str = "じゃすとあなざーるびーはっかー";
str.each_char{|w| print "#{w}<br>"}
183nanasii:2000/11/02(木) 22:46
ではふつつかながら(Unicodeはじめて)変歌。もとい返歌。

perl -MJcode -Mutf8 -npe '$_=Jcode->new($_)->utf8; s/(.)/$1<BR>\n/g;' doc/Printing-HOWTO.sjs |lv

jperl とか fold.plつかえばもうちょっとストレートフォワードかな。
\b はasciiと日本語キャラの境界にマッチするようだ。つかえるかも。
utf8 はちかいうちに必要なくなるらしい。

184名無しさん:2000/11/06(月) 15:57
splitで区切る文字に / を使いたい場合はどうしたらいいです?
185japu:2000/11/06(月) 17:00
@moe = split /\//, $hanyan;
@moe = split m[/], $hanyan;
186名無しさん:2000/11/06(月) 20:53
ところでPerlで大規模なプログラムとか組むとして
何行くらいから大規模と言うものなんでしょう?
187名無しさん:2000/11/06(月) 20:56
300行以上
188名無しさん:2000/11/06(月) 21:02
混乱しだしたら大規模。
189いちろう:2000/11/06(月) 21:42
つくるのに、一日以上かかったら、大規模。
190名無しさん:2000/11/06(月) 21:57
書き方にもよるけど、2000行以上ぐらいかな?
191与える男:2000/11/06(月) 22:24
"123.45" ^ "234.56" が、"317.13" になってくれません。

| や & は書いてある通り "020.44" と "337.57" になるんですけど…。
ラクダ本だとビット演算子のところでまとめて説明してあるんですが、
xorだけ挙動が違うんでしょうか?
192ロックしたい人:2000/11/06(月) 23:14
ここで質問してもいいんでしょうか。
今度新しくレンタルサーバー借りたんですけど、symlinkもopenも
使えないと、はっきりサポートメールで確認しました。
ロックというと
symlink>open>なし
だと漠然と思ってたんですけど、なしでも大丈夫なもんでしょうか。
193名無しさん:2000/11/06(月) 23:55
>>192
文字列に対するビット演算子は「桁ごとの数値」じゃなくて、
「桁ごとの文字コード」で演算するから"317.13"にはならない。
結果は "\x03\x01\x07\x00\x01\x03" になる。
194いちろう:2000/11/06(月) 23:56
頭を使えばね、>192
195名無しさん:2000/11/07(火) 00:05
rename
196193:2000/11/07(火) 00:43
うぎょ。193は、>>191の間違いっす。。。
197弐ch編くん:2000/11/07(火) 00:53
index.htmに☆☆☆.cgiをフレーム表示してるのですが、
win-Netscapeだと表示されない様なんですが…
何が足りないのでしょうか?
<HTML>
<TITLE>☆☆☆</TITLE>
<FRAMESET>
<FRAME SRC="./☆☆☆.cgi">
</FRAMESET>
</HTML>
198初心者:2000/11/07(火) 00:58
perl -cw ○○.cgi とやるとsyntax okとなるのですが
cgiが動きません。
もう、どこがまちがってるのか検討つきません…。
199名無しさん:2000/11/07(火) 01:04
>198
print "content-type: text/html\n\n";
とか入ってる?
200???:2000/11/07(火) 01:11
200?
201初心者:2000/11/07(火) 01:14
>199
はい!はいってます。
202199:2000/11/07(火) 01:20
>198=201
とりあえずこれで調べてみなよ。
使い方は。。。言わなくても大丈夫だよな。

#!/usr/bin/perl

print "Content-type: text/plain\n\n";
print "\n$@\n" if ( !eval { require "./2ch.cgi"; } );
exit;
203初心者:2000/11/07(火) 01:24
2ch.cgiとは何なのでしょうか?
少し不安なのですが…。
204199:2000/11/07(火) 01:32
その部分を自分のチェックしたいスクリプトの名前に変えろって事だよ。
たった3行のスクリプトで不安になるなよ。

このスクリプトを実行するとエラーが表示されるだけだよ。
折角親切に教えてんのに。
205名無しさん:2000/11/07(火) 01:34
どーせ、パーミッションが悪いかセミコロン削除したかだろうに。
202は親切さんだね、Perl板の鏡。
206名無しさん:2000/11/07(火) 01:37
>>203
配布元にサポートの掲示板とかあるだろ?
そこで聞いたら?
207初心者:2000/11/07(火) 01:42
>204
すいません。
よく意味を理解してなかったもので。
ありがとうございます。
ためしてみます。
208名無しさん:2000/11/07(火) 02:10
やったー!!
とりあえず、問題は解決しました。
どこがいけなかったのかは完全にはわかってないのですが。。
教えてくださった202さん、アドバイスをくれた205、206さん。
ありがとうございました。
209名無しさん:2000/11/07(火) 02:16
>208
よかったな。
みんな親切だから分からないことあったら聞きなよ。
210名無しさん:2000/11/07(火) 03:46
みんな親切だから"自分で調べてみたが"分からないことあったら聞きなよ。

が正解。
211名無しさん:2000/11/07(火) 03:51
CGIで出力したテキストファイル(ユーザーリストとか)を
暗号化したい場合はどうしたらいいですか?
212名無しさん:2000/11/07(火) 03:58
crypt()
たしか英数字8文字までだっけ?
213212:2000/11/07(火) 03:59
あぁ、ファイルそのものを暗号化って意味か・・
212は無視してくれ(;´Д`)
214名無しさん:2000/11/07(火) 05:03
せめてCPANくらい検索してくれ。
ここにいっぱいあるぞ。
http://search.cpan.org/search?mode=module&query=Crypt

他にもこんな方法もある。
コマンド使う方法だけどコマンド使わなくてもこれくらいは出来るだろ。
http://www.sfc.keio.ac.jp/mchtml/cns-guide/1999/11/1/5.html
215あげてみる:2000/11/09(木) 07:58
あげてみる
216名無しさん:2000/11/09(木) 19:07
POP3サーバからメールを取ってきたのですが、
ヘッダの中から確実に差出人メールアドレスを取り出す方法って
ありますか?
FROMヘッダはアドレスが必ずしも入っているとはかぎらないので。
OutlookはFROMヘッダにアドレスがはいっていなくてもどこかから
取ってきてFROMヘッダに入れているみたいです。

217japu:2000/11/09(木) 20:01
Sender:
218Return-Path: :2000/11/09(木) 23:13
メーラー(Outlook)のリソース見た方が早いのとちゃうん?
219関連付け君:2000/11/10(金) 00:13
220名無しさん:2000/11/10(金) 02:37
ん??? envelope from が取りたいんでしょ?
なら sendmail なら Received なんじゃない? 違ったっけ…。
221いや、、:2000/11/10(金) 04:02
From:
Sender:
Reply-To:

このあたりだな。
222221:2000/11/10(金) 04:54
しかし、ここに書いてない場合もあるな。。。
その場合、Received: とかから拾うしかないか。
223むぎ茶:2000/11/10(金) 07:49



あほ。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

224216:2000/11/10(金) 10:14
216です。いろいろご指摘ありがとうございました。
色々なサイトも巡ってみたのですが、221さんの意見が正しいかな
と思いました。
あるサイトの解説によると、
「相手がこのメールを返信する際に使われるアドレスは、
Reply-To:→Sender:→From:という優先順位である。」
だそうです。

でも、この3つの中にメールアドレスが入っていない場合が
あるのですが、その場合はどうすればいいんでしょうか?
実際にSocketを使って取ってきたメールには、この3つのヘッダ
の中にメールアドレスが入っていない場合が結構あります。
(Outlookで受信した場合同じメールでもちゃんとFromにメアド
が入っているのです。)
225名無しさん:2000/11/10(金) 10:28
Message-idとかから取得するのかな。
226名無しさん:2000/11/10(金) 13:32
それはない
227名無しさん:2000/11/11(土) 02:36
cgiの置ける無料サーバ無量ホームページでいいとこないですか?
228名無しさん:2000/11/11(土) 03:24
無量ホームページって何だ?
容量無制限ってことか?
そんな都合のいい場所があるわけ・・・。


ソウイエバソンナトコロモアッタナ・・・
229名無しさん:2000/11/11(土) 03:36
トクトク?
230名無しさん:2000/11/11(土) 03:37
そう言えばトクトクって箱庭とかあぷろだとか置けるのかな?
231名無しさん:2000/11/11(土) 09:49
無量ってのは多分容量が無いトコだろ。
232名無しさん:2000/11/11(土) 19:52
トクトクは箱庭は禁止だって。
233倉庫:2000/11/11(土) 22:40
 一回置けたけど、ターン回らなくなったわ。箱庭諸島
234初心者:2000/11/12(日) 01:01
cgiをつかってデータを送信したいのですが、
cgiは動くのですが、データのところが空欄になっていて
送信されません(csvファイルに)。
文字コードの問題なのでしょうか?
すいません。お願いします。
235初心者:2000/11/12(日) 01:03
<〜 name="○" value="1">
とかやってるのですが、文字が送信されないのです。
236初心者:2000/11/12(日) 01:24
解決しました。
お騒がせしました。
237名無しさん:2000/11/14(火) 01:16
∧ ∧
(´⊇`)  ・・・ガンバルノヒャ・・・
(   )
|||
(_)_)
238名無しさん:2000/11/14(火) 21:59
CGIってCGとは違いますか?
239名無しさん:2000/11/14(火) 22:11
>238

同じです
240Domain:2000/11/15(水) 02:06
自動リンクの全角対応はどう書かれてますでしょうか?
http://資生堂.com
241名無しさん:2000/11/15(水) 09:05
自分で作ったCGIや他人のCGIの動作チェックは
サーバーにアップする前にどこでやればいいのですか!
242>241:2000/11/15(水) 09:22
脳内環境
243名無しさん:2000/11/15(水) 10:09
>>241
過去ログ三鷹?
244名無しさん:2000/11/15(水) 18:05
>>243
このスレの中野?
245名無しさん:2000/11/16(木) 01:02
>>244
どのスレだっけな?よくわ神田い。
Perl初心者スレ2の上野ほうにリンクあるから、そっから飛んで。
246名無しさん:2000/11/16(木) 01:25
2ちゃんねるみたいに、名前を覚えさせるためにクッキーを使いたいのですが、具体的にどのように書けばよいですか?
また、
>
とつけることで、表示色が変わると(たとえば青色)になるとうれしいのですが、これも教えてください。
247むぎ茶:2000/11/16(木) 02:34



障害者は早く寝なさい。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

248[email protected]:2000/11/16(木) 03:47
http://www.netscape.com/newsref/std/cookie_spec.html を見て理解する。
s/// を使う。
249>247:2000/11/16(木) 17:21
<HTML>
<HEAD>
<TITLE>mugi</TITLE>
<META name="Keywords" content="mugi">
<META name="Description" content="mugi">
<LINK REL="SHORTCUT ICON" HREF="http://images.v3.com/ico/v3logo.ico">
<SCRIPT language="JavaScript">
window.open('/pop.asp?ID=1004198623&AD=%3CA+target%3D%22%5Fblank%22+HREF%3D%22http%3A%2F%2Fad%2Edoubleclick%2Enet%2Fjump%2Fcometo%2E468%2Fmember%2Fpopup%2Fcometo%3Bs1%3Dm%3Bs2%3Dpopu%3Bs3%3Dcome%3Bpos%3D1%3Btag%3Di%3Bsz%3D468x60%3Btile%3D1%3Bord%3D957655452%3F%22%3E%3CIMG+SRC%3Dhttp%3A%2F%2Fad%2Edoubleclick%2Enet%2Fad%2Fcometo%2E468%2Fmember%2Fpopup%2Fcometo%3Bs1%3Dm%3Bs2%3Dpopu%3Bs3%3Dcome%3Bpos%3D1%3Btag%3Di%3Bsz%3D468x60%3Btile%3D1%3Bord%3D957655452%3F+height%3D60+width%3D468+border%3D0%3E%3C%2FA%3E&d=all.at','_blank','location=0,menubar=0,toolbar=0,personalbar=0,status=0,scrollbars=0,width=468,height=130')
</SCRIPT>
</HEAD>
<FRAMESET rows="100%,*" border=0 frameborder=0 framespacing=0 framecolor="#000000">
<FRAME src="http://www.freeml.com/join_ml.php?ml=bitvalley" name="thepage">
<FRAME>
<NOFRAMES>
<BODY bgcolor="#FFFFFF">
<CENTER>
<H2>mugi</H2>
mugi
<BR>
<BR>
<A href="http://www.freeml.com/join_ml.php?ml=bitvalley">Click here to continue</A>
</CENTER>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
250----こぴぺ改造君----:2000/11/17(金) 00:46
クレジットって、やっぱり入れないとダメあるか?
251名無しさん:2000/11/17(金) 11:23
本屋行って初心者本でも買ってろボケ >246
質問するなら取りあえずテメェで作ったモノ晒して採点して貰う形にしろ。
252名無しさん@ミドリ電気:2000/11/17(金) 18:42
Perlで2進数触りたいんですが・・・
どっかにルーチンないッスか〜?
253ばけ:2000/11/17(金) 20:03
\って / " だけ?
254名無しさん:2000/11/17(金) 20:18
>>253
@も。
255ばけ:2000/11/17(金) 20:25
むむ。。。大感謝!!!☆゜。..
256むぎ茶:2000/11/17(金) 20:52

252のような人を厨房といいます(ワラ

257252:2000/11/17(金) 21:02
>むぎ茶
ココの"書き込む"みたいなボタンをクリックしたらメーラーが立ち上がって
なおかつ、メアドとタイトルが記入されるようにするには、
どのように書けばいいでしょうか?暇でしたら、教えて下さいませ。
258名無しさん:2000/11/17(金) 21:47
>>252@ミドリ電気
sub bin2dec { unpack("N", pack("B*", substr("0" x 31 . $_[0], -32))); }
sub dec2bin { unpack("B*", pack("N", $_[0])); }
使用例:
$bin = &dec2bin(123456);
$dec = &bin2dec("000100110111");

今度からこういうのは「Perl初心者」スレに書いてね。253もな。
"CGI"と"Perl"が区別できてないと、むぎ茶トラップ踏むぞ。
259[email protected]:2000/11/17(金) 22:34
Perl 5.6なら、
$sakura = 0b11001100;
printf "%X\n", $sakura;

ある文字列に入っている2進数を数字に直したいときは、
$sakura = oct "0b11001100";
printf "%X\n", $sakura;
とか。(octは2/8/16進数を理解します。)

あと、
$creamy = pack "B*", "01001101011000010110110101101001";
print "$creamy\n";
なんてこともできます。(これは5.6じゃなくてもOK。)

どんな使い方したのかよくわからんのでとりあえずこの辺で。
260名無しさん:2000/11/19(日) 04:04
renameを使う時,自動的にflockされると聞いたのですが
flock使えない所だと,ロックされないで
なんか同時書きこみでファイルがリセットされる時みたいに,
ファイル名がおかしくなったりするのでしょうか??
教えてください.
261[email protected]:2000/11/19(日) 04:30
嘘です。
262名無しさん:2000/11/19(日) 05:37
rename()はアトミックなんで同時に処理が行われる事はありません。
flock()なんて全然関係ないよ。(笑)
263名無しさん:2000/11/19(日) 06:08
IIS5で、Cで作ったCGIを実行するとエラーが出て「指定されたCGIアプリケーションは、HTTPヘッダを一部しか返していません、
返されたヘッダは:」という表示が出るが、何故に?

環境は2000Serverです
264名無しさん:2000/11/19(日) 06:29
日本語読める?
HTTPヘッダを一部しか返していないからって言ってるじゃん。
265名無しさん:2000/11/19(日) 16:12
>>262
NFS越しの場合は、rename(2)のアトミック性は期待できないようだぞ。
つーか誰か実地で検証きぼんぬ。
266ネットスケープで:2000/11/19(日) 23:16
フレーム表示した、CGIって表示されませんですか?
<FRAMESET>
<FRAME SRC="./???.cgi">
</FRAMESET>
267名無しさん:2000/11/20(月) 00:15
>>266
ネスケは<FRAMESET COLS="100%,*">とか指定しないと
表示してくれないよ。あとはWEB制作板で聞いて。
268ネットスケープで:2000/11/20(月) 01:19
>267 逝きました。Thanks
269名無しさん:2000/11/20(月) 04:48
270名無し135:2000/11/20(月) 05:21
CGIの質問でいいのかどうか分かりませんが、
multipart/form-data の書式に関して
詳しくかかれたサイトを知りませんか。

自作でUP板作ったら変なコードが入るので、、。
271[email protected]:2000/11/20(月) 06:00
RFC 2388: Returning Values from Forms: multipart/form-data
RFC 1867: Form-based File Upload in HTML
RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
この辺じゃないの?
272名無し135:2000/11/20(月) 06:44
>>271
どもです。
やはりRFC解読(というほどのものではないが)
しなきゃいけないのか、、
273むぎ茶:2000/11/20(月) 06:49


RFC信者は不要。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

274名無しさん:2000/11/20(月) 10:15
RFCも読めない人は障害者です じゃないんだ?>むぎ
275"管理人"にパス付けたいんだけど…:2000/11/20(月) 22:00
どう書いてるか想像できませんが、パスって結構たいへんなのでしょうか?
276名無しさん:2000/11/20(月) 22:57
>>275
具体的に何がしたいのか不明ですが、まあなんにせよ
特に難しくはないでしょう。がんばってください。
277EPSOM:2000/11/21(火) 01:49
>275
>>276
掲示板か何かで管理人っていう名前の使用を制限してーんじゃねぇの?
278EPSOM:2000/11/21(火) 02:37
>>275
277だったら
フォームでパスワードを入力する項目を追加して
$nameかなんかに"管理人"が代入されたらパスチェック、
その他だったら何も無しにすれば良いでしょう。

if $name eq 管理人
 if $pass eq パスワード
   なんもなし
 else パスワード違うぞ
なんもなし
$name =~ s/弐ch編者/登校拒否児(人生の負け犬)/;
$name =~ s/むぎ茶/2ちゃんねる最大の馬鹿/;
下2行を忘れると正常に動作しません。
良くあるミスです。注意して下さい。
このまま、記述したら厨房確定。
モノによってはこれだけでは動作しない場合があります。

"厨房管理人"っていうのも制限したければ
if $name eq 管理人 の部分で正規表現も使用する。
尚、\8,000で代行します。
つーか>>>>>CGI改造工房<<<<<へ逝けよ。
279名無しさん:2000/11/21(火) 05:17
>275
取り合えずこの板は、
$FORM{'FROM'} =~s/管理人/"管理人"/g;
$FORM{'FROM'} =~s/password/管理人/g;
280=270=272:2000/11/21(火) 05:58
ていうか常駐ソフトのせいだった(;´Д`)
(AngryChair BBS参照)
そりゃいくらCGIいじってもなおらねーよ(;´Д`)
バイナリ解読CGIとか本気で作ってみたり
281名無しさん:2000/11/21(火) 16:13
ActivePerlをダウンロードしようとする時
現在ではMicrosoft Installerを先に
ダウンロード&インストールしなければいけない
と聞いたのですが、本当なのでしょうか?
もしそうだとしたら
どこでMicrosoft Installerをダウンロード出来るのかも教えて欲しいです。
282名無しさん:2000/11/21(火) 16:27
>281
聞く前にActivePerlをDLしようとしてみれ。
283名無しさん:2000/11/21(火) 18:06
http://dennou.gaia.h.kyoto-u.ac.jp/arch/cc-env/activeperl/install.htm
ここでも見れ。
俺も最近入れたが、gooで検索かけたらすぐひっかかったぞ?
284283:2000/11/21(火) 18:11
あ、ひょっとして見当違いかもしれん。
だったらスマソ。
だがMicrosoftって書いてあんだからもしDLすんならそこに決まってるだろう。
確か俺も入れた。
285275 :2000/11/21(火) 18:59
>276,278,278,279,さん ありがとうございます。。
>>>>>CGI改造工房<<<<<も見てみます<\200位なら...
286275:2000/11/21(火) 20:20
できましたー!!! (^o^)
$name ='"管理人" ' if $name eq '管理人';
$name ='管理人 ' if $name eq 'password';
287EPSOM:2000/11/21(火) 20:58
>275
あ、そういう意味ね
288275:2000/11/21(火) 21:11
>287どうもでした。
いま自分が書いたの見たけど。。。
何書いてあるんだか、わかんないですね(笑
289↓これって必要なの?:2000/11/21(火) 21:14
print "Content-type: text/html\n\n";
290名無しさん:2000/11/21(火) 23:09
>>289
HTTPについて勉強してください。
291281:2000/11/22(水) 04:40
>282
小心者の私にはそんな大胆なことはできません。

>283
紹介してくれたページは全く参考になりませんでした。

ちゃんと教えてくれる人はいないのかな?
292名無しさん:2000/11/22(水) 06:19
>291>ちゃんと教えてくれる人はいないのかな?
ちゃんと学ぶ気の無い人間は
誰に教えてもらってもできるようにならない
あきらめれ(ワラ
293名無しさん:2000/11/22(水) 08:23
GIFアイコンをブラウザ上で上下左右に動かすCGIきぼ
294名無しさん:2000/11/22(水) 09:24
281はどうでもいいと思ったが、それ以外の人のために書いておくよ。
ご本家ActiveStateのサイトから、ActivePerl 5.6.0.620リリースノート。
http://www.activestate.com/Products/ActivePerl/docs/RELEASE.html#windows (x86)

ActivePerlの最新情報はたいてい
「Perl初心者の部屋」 http://www.att.or.jp/perl/
で紹介されてるから、初心者の人はここから見始めるといいかもね。
295294:2000/11/22(水) 09:30
自動リンクがこけた↑。正しいURLは最後の" (x86)"まで含む。
あるいはページ先頭の目次から"Installing Activeperl"の
"Windows(x86)"をクリックするのも可。
296>>270:2000/11/22(水) 10:08
www.hk.airnet.ne.jp/~ahero/cgi/cgiex11.html
これみてわからんのなら諦めた方がいいかも。
普通に検索すりゃ出てくるページなのに…
297293:2000/11/22(水) 10:31
すれ間違いだった
298名無しさん:2000/11/22(水) 13:26
CGI初心者ですけど。
ちょっと質問させてもらいます。
CGIからHTMLに出力するときに不思議な現象が起こりました。
例ですけど、
#!/usr/local/bin/perl
print "Content-type: text/html; charset=Shift_JIS\n";
print "<html>\n";
print "<head>\n";
print "<title>-------------------</title>\n";
print "</head>\n";
print "<body bgcolor=\"#FFFFFF\">\n";
print "代表(爆)\n";
   ↑↑↑↑↑↑↑↑↑
print "</body>\n";
print "</html>\n";
とした場合、実行すると

代表(爆)

となるはずですが、
なぜかこのように↓

代・爆)

と文字化けしてしまいます。
NGワードなのですか?
どういう問題があるのか、検討すきません。
299298:2000/11/22(水) 13:28
ローカル環境の問題なのか、
それとも、だれでも起こる問題でしょうか?
それだけわかれば、いいです。
一応、niftyで確かめたところ、こういう風になりました。
jcode.plのバグですか?
300名無しさん:2000/11/22(水) 13:45
>NGワードなのですか?
>jcode.plのバグですか?
ワラタ

Shift-JISでは文字化けします。
EUCをお勧めするが、何のことかわからないだろうから、
「代表\(爆)」のようにエスケープコードを入れなさい。
301名無しさん:2000/11/22(水) 14:13
>>NGワードなのですか?
>>jcode.plのバグですか?
>ワラタ
俺も仕事中に見て爆笑した・・・・。
302298:2000/11/22(水) 15:25
すみません。(^_^;)
厨房的な質問でしたか・・・・。
シフトjisとEUCはあまりわかってないです。
勉強して出直してきます。
303名無しさん:2000/11/22(水) 16:02
>298=302
HTMLとして出力するときは、
Shift-JISだろうがEUCだろうが、
自分の好きなコードでいい。
CGIスクリプト内で日本語を処理するときは、
298のように文字化けしたりするので、
EUCを使ったほうがいいぞってこと。

ただ、これじゃ意味わからんだろうから
今のスクリプト内でNGワードになってしてしまう
文字の前後に「\」を入れてみれってこと。
これでカイケツするから。
304275(再び参上):2000/11/22(水) 23:33
掲示板で管理人っていう名前の使用を制限したくて
$name ='"管理人" ' if $name eq '管理人';
$name ='管理人' if $name eq 'password';
を教えて頂き入れましたが、「passwordxxx」とかpasswordの前後に
文字を入れると、「管理人xxx」ではなく、そのまま「passwordxxx」と
表示してしまうのですが…  (υ ・_・)
文字内に「password」が入ってたら「管理人」と表示させる方法は
ありますでしょうか?_長文失礼
305名無しさん:2000/11/23(木) 00:16
$name ='管理人' if $name eq 'password';

$name =~s/password/管理人/g;
306名無しさん:2000/11/23(木) 00:32
$name =~ s/管理人/"管理人"/g;
直前にこれもいるだろ?
307305:2000/11/23(木) 00:37
そういやそうだな。
$name ='"管理人" ' if $name eq '管理人';
の方は満足そうだったからすっかり抜けてたよ。

今日も良い天気だ、鬱だが生きよう。
308275:2000/11/23(木) 00:42
できました!捗りますですY(^_^)Yヴィ!!
309名無しさん:2000/11/23(木) 00:45
~s  g  eq ってナン?
310名無しさん:2000/11/23(木) 00:49
問題外
311eero:2000/11/24(金) 03:23
ファイルをダウンロードさせたいのだけれど、URL は隠したい。
そこで、
  リンク先を CGI にして、
  クリックするとファイルがダウンロードできて
  なおかつページには「ありがとうござんした」と表示させたい。
これって CGI だけで可能?
それとも、JavaScript と組み合わせないと駄目かな?
マジレス熱烈希望ッス
312ええと:2000/11/24(金) 03:24
ファイルをダウンロードさせたいのだけれど、URL は隠したい。
そこで、
  リンク先を CGI にして、
  クリックするとファイルがダウンロードできて
  なおかつページには「ありがとうござんした」と表示させたい。
これって CGI だけで可能?
それとも、JavaScript と組み合わせないと駄目かな?
マジレス熱烈希望ッス
313名無しさん:2000/11/24(金) 03:36
>>312
URL隠しの役に立つかどうかわからないけど、
ダウンロード+ページ表示は、たしかにできると便利だね。
multipart/xxxなレスポンスを返したりするとできないのだろうか。
ちょっとRFC見てきます。
明日までにレスがなかったら、星になって消えたと思ってください。
314名無しさん:2000/11/24(金) 03:38
どうしてもJSを使いたくないんだったら
<FRAME>を使うとか。
315EPSOM:2000/11/24(金) 06:06
/usr/home/アカウント/public_html/file.cgi
/usr/home/アカウント/file/0123.zip

ファイルをドキュメントルート以下以外に置いて
$file='../file/0123.zip';
open FILE,<$file;
print "Content-type: application/zip\n\n";
print <FILE>;
exit;

>なおかつページには「ありがとうござんした」と表示させたい。

これは書く程の物でもないので適当に記述してください。

複数ファイルに対応したい場合は
$file='../file/0123.zip';

$file2 = $FORM{'file2'};
$file="../file/$file2";
に変えて
file.cgi?file2=0123.zip
file.cgi?file2=4567.zip
とかやればいいでしょう。

ただデカイファイルだとやたらサーバーに負荷を掛けるのが難点か。
316EPSOM:2000/11/24(金) 06:07
315は312のレスです。念の為。
317EPSOM:2000/11/24(金) 06:11
>>315 自己レス
$file2 = $FORM{'file2'};
$file="../file/$file2";

別に2行にする意味ねぇな
318名無しさん:2000/11/24(金) 07:31
>なおかつページには「ありがとうござんした」と表示させたい。
これを表示させないんだったらすぐ出来るので、
ここはあえてJavaScript無しで
これ表示させる方法を考えましょうよ。
319ええと:2000/11/24(金) 11:10
>>313-318、ありがとさんです。多謝。
ちと補足。「URLは隠したい」を詳細に書くと、
 1) ユーザーにダウンロードさせるファイル名は固定。決まった名前
  (foo.exe、bar.sit.hqx など) でダウンロードさせとかないと、
  後の説明が面倒。(ワガママな初心者が多いのさ)
 2) その「ファイルの」 URL 直指定でのダウンロードはさせたくない
  認証やダウンロード数制限は行うので、cgi 自体の URL は
  バレても OK
となると如何?

>>315 では 1) の部分がうまくいかんのではないか?……(未確認ッス)
JS が使えないのはそーゆー事情があるという環境なので
# 駄目なら使うけれど
320名無しさん:2000/11/24(金) 13:43
http://www.appleple.com/cgi/diary/
ここで配布されている a-Nikki という日記のCGIを使いたいと思っているのですが
ダウンロードしてすぐに行き詰まってしまいました。

a-Nikki100.zip をダウンロードして解凍するところまでは上手くいきました。
だけど解凍したものをよく見れば、ファイルの数が足りないんです。
dataフォルダというのがありません。

ダウンロードの失敗かと思い何度もダウンロードし直したのですが
何度やっても結果は同じです。
一体どうすれば良いのでしょうか?

やっとの思いで見つけたCGIなので、簡単には諦めきれません。
321>320:2000/11/24(金) 14:27
フォルダを自分で作れ。
名前をdataにすればいいだろ。
ボォケ(ゴラァ
322EPSOM:2000/11/24(金) 14:47
>>319
1)は単純に .htaccess に
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .exe
AddType application/x-httpd-cgi .hqh

とかやってfile.cgi を game.exe とかやればいいだけだと思う。
あ〜、サーバー側で既その拡張子が設定されていたら
ダメかもしれん。未確認。

>後の説明が面倒
こちらは一つのファイルに一つのCGIを用意せにゃならんのでやっぱ面倒

2)cgi 自体の URL は バレても OK

/usr/home/アカウント/public_html/file.cgi
ドキュメントルート以下に置いているので351でOKでは?
323320:2000/11/24(金) 15:25
>321
>フォルダを自分で作れ。
>名前をdataにすればいいだろ。

え?それだけで良いんですか?
本来のdataフォルダの中には何かが入っていたりするのではないんですか?
別に321さんのことを疑っている訳じゃないんですけど…。
念の為に他の人の意見も聞かせていただきたいです。
すみません。よろしくお願いします。
324名無しさん:2000/11/24(金) 15:38
data directory には何が入るべきだか考えたことあるかボケ。
書いた日記はどこに保存するつもりか考えたことあるかボケ。
一度でもそのスクリプトを実行させたのかボケ。
自分でモノ考えない教えてチャンは氏ね。
325320:2000/11/24(金) 17:00
>data directory には何が入るべきだか考えたことあるかボケ。

日記のデータが保存される用のディレクトリファイルです。
この中に年のディレクトリ、その中に月のディレクトリ、その中に日付.htmlという感じにデータが保存されます。
と書いてありましたが全く理解出来ませんボケ。

>書いた日記はどこに保存するつもりか考えたことあるかボケ。

勝手に保存されるんだろうと思っているので
深く考えたことはありませんでしたボケ。

>一度でもそのスクリプトを実行させたのかボケ。

必要だと書いてあるものが無いのに動くはずが無い
例え動いたとしても後々不具合が出てくると思ったので
一度も試してはいませんボケ。

>自分でモノ考えない教えてチャンは氏ね。

知識が無いので考えても分かるはずがありません氏ね。
それでも一応自分で調べて解決しようと努力はしたのですが
分かったのはこのCGIの作者が17才の学生さんだということだけで
肝心なことは分かりませんでした死ね。
326320:2000/11/24(金) 17:19
ゴメン。。。
327名無しさん:2000/11/24(金) 18:24
いずれにしろ設置の質問はweb制作板ででもやってくれ。
328名無しさん:2000/11/24(金) 19:08
>>320
空のdataディレクトリはちゃんと配布ファイルに入ってるよ。
解凍ツールが空ディレクトリを作らない設定になってるんじゃないの。
よくある話です。
このままでは君と同じ症状になって泣く初心者が続出するので、
dataディレクトリにダミーのファイルを入れた配布セットを
作るよう、作者に要望のメールを出しなさい。いますぐ出しなさい。
329EPSOM:2000/11/24(金) 19:19
>>319
すみません今、自分の書き込み(315)を見たところ
全く間違っていました。
徹夜で極限の状態だったので変なこと書いてました。
正しくは$file="../file/$FORM{'file2'}";
open (FILE,"$file");
print "Content-type: application/download\n";
#これでいろんな種類に対応できる
print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n";
#これで保存するファイル名のデフォルトを file.cgiではなくて 0123.zipに出来る
#これで複数ファイル対応にしても大丈夫でしょう。
print <FILE>;
close(FILE);
exit;
330EPSOM:2000/11/24(金) 20:33
ありがとうのメッセージですが
ダウンロード終了後に表示させるのは無理だと思いますので
JavaScript やフレーム以外だと
<html><META HTTP-EQUIV="refresh" CONTENT="0;URL=file.cgi?file2=0123.zip"><body>ありがとうございました。</body></html>
でダウンロードさせるとかかな。
331通行人:2000/11/24(金) 20:41
>どれをDLしてもファイル名 0123.zip(固定)に出来るですか?
332EPSOM:2000/11/24(金) 20:59
>331
print "Content-disposition: filename=\"0123.zip\"\n\n";
にすれば0123.zipを固定にできます。

といいますか、普通これ位考えなくても分かりますよね。
つーか、聞く前に自分で試せ。

print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n";
だと file.cgi?file2=4567.zip
で指定したダウンロードするファイル名が入ります。
333名無しさん:2000/11/26(日) 03:15
>cgi 最後に付ける \n"; の n ってなんだ?
334名無しさん:2000/11/26(日) 03:20
改行。
そう決まってる記号だから理由は分からないけど・・・
そういえば、\tはタブのtだけどnはなんだろか?
335名無しさん:2000/11/26(日) 03:26
newline
336名無しさん:2000/11/26(日) 20:16
知らなかった あげ
337既出?:2000/11/27(月) 01:53
掲示板の時間が微妙に10分くらいずれてるのですが…
直るモノなのでしょうか?
338EPSOM:2000/11/27(月) 02:27
管理者にサーバーの時間を直してもらうか
($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy,$dmy) = localtime(time);
で取得してる場合は $minをずれている分 +か-しときなさい。

本が出版されているどこかのやつは
@DATE = localtime(time);
$DATE = "$DATE[5]/$DATE[4]/$DATE[3] $DATE[2]:$DATE[1]";
とかやってるので $DATE[1]をずれている分 +か-しときなさい。

>直るモノなのでしょうか?

使用しているのは Perl ですかそれともRuby? C? その他?
つーか、こんな厨房にCのCGIなんて設置されたら
サーバー管理者が可哀相だな
それ以前に使用する資格無し
おとなしく、teacupのレベル1でも借りとけ
339337@厨房:2000/11/27(月) 02:55
パールでし。これで逝けますですか?
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime(time - 10);
340EPSOM:2000/11/27(月) 02:59
逝けません。
ですから、$minを-10しなさいってば
341337@厨房:2000/11/27(月) 03:04
>340 これで逝ちゃいました Thanks
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime(time -10*60);
342EPSOM:2000/11/27(月) 03:13
>>339=341

おまえ、337とは別人だろ
厨房がこの方法を知っているはずがない(藁
せっかく、分かりやすい様に教えてやってるっていうのに
343337=339=341 :2000/11/27(月) 03:16
つーか今3人しか居ないみたい。
344名無しさん:2000/11/27(月) 03:18
EPSOMが厨房と見た!!
自分がやり方知らなかっただけだろ(w
345ネオEPSOM:2000/11/27(月) 03:42
>>343-344
EPSOMはもう寝ただろう
この時間からは俺がEPSOMだ。

>>344
ん?おまえは
[1r.netの運営者って誰?]で発言してるやつか
346EPSOM:2000/11/27(月) 03:49
343 344 345氏ね
   /)  /)
  /  ⌒  ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | ●_ ●  | < >>343 344 345俺が人間になれるように根回ししてやろうか?
 (〇 〜  〇 |  \_________
 /       |
 |     |_/ |
347343:2000/11/27(月) 04:07
>346 そんなキャラなの? (笑
348名無しさん:2000/11/27(月) 08:48
>346
偽EPSOM?
じゃなきゃEPSOMはただの馬鹿だな
349名無しさん:2000/11/27(月) 10:55
笑った >>345-347
350ええと:2000/11/27(月) 19:08
>>329-330
多謝多謝。
> print "Content-type: application/download\n";
> print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n";
のところが肝ね。
351名無しさん:2000/11/27(月) 21:58
print "うんこしたい";
352名無しさん:2000/11/28(火) 00:49
>>329
Content-type: application/download
ってのがよく使われるの? いや、単なるバイナリのMIMEタイプは
Content-type: application/octet-stream
が正式っぽいかなと思ってたら、ブラウザによっては
octet-streamは妙なぐあいに解釈されるもんで。
353EPSOM3:2000/11/28(火) 04:32
>>352

>Content-type: application/download ってのがよく使われるの?

使われるというかapplication/octet-streamとかやっても
IEはContent-Typeを無視するからねぇ
NNその他はapplication/octet-stream
IEはapplication/x-msdownloadとかやっとけばいいんじゃない
354名無しさん:2000/11/28(火) 14:22
HTML出力で、フレームではなくて、
別々の2つのウィンドウに出力させたいときは、
どうすれば、いいのでしょうか。
スレの趣旨にあうかどうかわかりませんが、
ご教示ください。
355354:2000/11/28(火) 14:26
いわば target="puri"出力1 target="maru"出力2 みたいな
処理ができるといいなあ、ということなんですけれども。
356名無しさん:2000/11/28(火) 14:37
>>354
可能かどうか知らないが、できるとすればJavaScriptでしょう。
WEB制作板へ逝ってらっしゃい!
357354:2000/11/28(火) 16:03
>可能かどうか知らないが
そこが知りたいので、分かる方おりましたら、
教えていただきたいのですが。
358356:2000/11/28(火) 17:30
>>357
これは失礼。CGI等のサーバサイドの処理だけでは不可能です。
JavaScriptなら、可能なような気もするけれど、そのへんは
よく知らないので確たることは言えません。つーわけで。
359名無しさん:2000/11/28(火) 18:19
ローカルマシンでCGIの動作テストをするにはどうすればよいですか?
何かアプリケーションあります?
360名無しさん:2000/11/28(火) 18:24
NN6だと
Content-disposition: filename= ・・・
が効かなイんですが他の人もそうですか?
361名無しさん:2000/11/28(火) 18:35
>359
httpdでも使ってローカルをWebサーバにする。
362名無しさん:2000/11/28(火) 18:37
>359
ActivePerlとhttpdをお使いになってくだされ。
わからなければ検索かけてね。
363354:2000/11/28(火) 18:59
>358
どうもありがとうございました。
364EPSOM3:2000/11/28(火) 20:25
>>360
俺はNN3と4しか使わんから分からん。

Content-Disposition: attachment; filename
はどうよ?
365名無しさん:2000/11/29(水) 00:08
telnetでpwdどうやんだ?
366名無しさん:2000/11/29(水) 00:22
PUTメソッドってどうやって使うの?
367tonton:2000/11/29(水) 01:12
cgiでチャット設置しようと思っているのですが
トップページ(チャットにリンクさせているページ)で
参加者人数の表示をさせたいのですが、どのように
すればよいのでしょうか?
教えてください
368むぎ茶:2000/11/29(水) 01:15



ばかです。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit


369EPSOM:2000/11/29(水) 01:52
>>365
Shellにログインしてpwdと打て。

>>366
検索しろ

>>367
SSIでも使え
その程度の知識ならCGIを設置しようなどと思わないこと。

>>368
同感
370名無しさん:2000/11/29(水) 02:22
>367
なんかこの質問しょっちゅう出るなあ。
過去2回程答えたけど、もう面倒なので過去ログでも
漁ってください。すぐ見つかると思います。
371名無しさん:2000/11/29(水) 03:04
リンクページに自答登録式のCGIを使っているんですけど、
Mac版IE4.1だとそのアドレスに行こうとすると
ダウンロードが始まってしまうそうです。
自分のMac版IE4.5と5では問題なく動くのですが…。
対処方法はありますか?
372360:2000/11/29(水) 10:20
>>364
だめーん。
そうすると何事もなかったかのようになにもDLしない・・なぜ?
IE4/5/5.5でもNN3/4.75でもうまくいクのにィー
373EPSOM:2000/11/29(水) 11:52
>>372
バグか仕様か、
問い合わせてみれば?
374360:2000/11/29(水) 13:07
うう、とりあえず他の人はどうなのか聞きたいです。
自分のCGIか環境のせいかも知らんし。
375名無しさん:2000/11/29(水) 13:23
CGIでよく
バナーなどにつかわれている
<img src="hogehoge.cgi">
という形でgif画像などをランダムで表示したいのですが
うまくいきません

print "Content-type: image/gif\n\n";
open(GIF,"./freeoekaki/png/$hogehoge.gif");
while(<GIF>){print;}
close(GIF);

としているのですが、、、
$hogehoge.gifがきちんとあることはチェック済みです
このCGIを単独で動かすときちんと表示もされます
でもimgタグだとうまくいかないんです
376>375:2000/11/29(水) 15:04
サーバの環境は?
377375:2000/11/29(水) 16:10
自己レス
binmode(GIF);
を付け加えることによってできました
378376:2000/11/29(水) 17:13
やっぱWindows系か。
レスも返さず失礼な奴だ。
379名無しさん:2000/11/30(木) 00:51
>376 Windows抜きで、逝ってんの?(W
380名無しさん:2000/11/30(木) 11:34
http://www.din.or.jp/~heine/java/counter.html
↑このカウンターを使いたいと思い
ローカルでの動作確認をしているところなんですが、上手く動いてくれません。

一応カウンターは表示されます。だけど数字がゼロのままなんです。
何回リロードしてもゼロから動きません。
これを改善するにはどうすれば良いと思われますか?

ご指導よろしくお願いします。
381 (敷?欲)ノ 亀亀?J?J?J-:2000/11/30(木) 12:19
(ノ゚ο゚)ノ オオオオォォォォォォ-
って、なんで化けないの?
382381:2000/11/30(木) 12:20
名前欄は化けるけど・・・
383名無しさん:2000/11/30(木) 18:27
sendmail に関連する質問なんだけど、
質問1 Subject を MIME encode するお手軽なコードありませんか?
jcode.pl には無いし、CPANの使える環境じゃないもので。
質問2 沢山の人(100人超)に送りたいのでプロセスをチャイルドに
流したい(http connectionが切れても最後まで続行させたい)んだけど
何かいい方法無いですか?単に '&' 付けて実行するだけじゃだめみたいです。
384japu:2000/11/30(木) 18:51
1. http://search.cpan.org/ WWWは見られるよね?
2. CGI使ってやるのは多くの場合不適切
385関係ないけど:2000/11/30(木) 21:17
掲示板で、、、土人と男を書き込めないようにする方法はありませんでしょうか?
386[email protected]:2000/11/30(木) 22:49
die if($msg =~ /土人/ or $msg =~ /男/);
387名無しさん:2000/11/30(木) 23:30
土人が書き込みに来る385の掲示板、ぜひ見てみたい。
388名無しさん:2000/12/01(金) 02:05
385さんが言いたいのは土人と男性が書き込めないように
させたいって言うことでしょ。
そうなると掲示板に書き込む前に会員制にしてIDを発行する必要があるね。
でも環境変数はアクセスして来た人の性別や人種は吐き出さないから、
一人一人パスポートのコピーをFAXして貰ってIDを発行するようにするしか
方法は無いと思うよ。

個人的には人種差別や男女差別は感心できないな。
389名無しさん:2000/12/01(金) 03:16
>>381,382
jcode.plを使用する場合、各項目を別々にjcode::convertしないで
まず各項目のコードをjcode::getcodeかなんかで調べてから、
いちばん多かったやつを入力コードとみなすといいぞ。
名前だけ化けるとか、本文だけ化けるってことはなくなる。
(もちろん全滅することはあるけど…)
jcode::getcodeは、判定不能ならundefを返すことにも注意。
390名無しさん:2000/12/01(金) 04:30
新スレたてれば初心者スレッドで書け。

初心者スレッドで書けば、初心者板いけ
しまいにはマルチ扱いかよ。
最悪だなここは
391380:2000/12/01(金) 14:51
380です。
まだ上手くいかないのでもう一度書かせていただきます。すみません。

http://www.din.or.jp/~heine/java/counter.html
この↑カウンターを設置することが出来ません。
カウンター自体は表示されるんですけど、数字がゼロのまま動かないんです。
こういった場合は何がいけないと思われますか?
まだローカルで動作確認をしている段階です。

必要ないかもしれませんが
こちら↓に展開されたファイルを全てアップしておきました。
http://www.geocities.co.jp/SiliconValley-Oakland/7903/test.html

よろしくお願いします
392名無しさん:2000/12/01(金) 15:10
パーミッションは合ってますか?
393380:2000/12/01(金) 16:33
パソコンをサーバ化させて動作確認をする時にも
パーミッションの変更をしないといけないんですか?
こんなことすら知らないんです。
それにローカルでパーミッションを変更させる方法も分からないです。

こんな情報は必要ないかもしれませんが、私は AN HTTPD を使っています。
ちゃんとPerlもDL済みです。
394名無しさん:2000/12/01(金) 17:14
>>403
AN HTTPDならパーミッションの設定はいらないっすね。
別の理由でCGIが動作してないのかな。
counter.cgiを直接アクセスしたとき"OK"って表示されてる?
395名無しさん:2000/12/01(金) 17:29
>>
counter.datに適当な数字(123456とか)を書き込めばテストとしてはOKじゃないの?
396380:2000/12/01(金) 17:39
counter.cgiに直接アクセスしてみました。
すると以下のようなエラーが出ました。

Error 500
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
flock() unimplemented on this platform at C:\***\*********\counter.cgi line 8.

エラーは出てしまいましたが、解決の為のとっかかりができたようで嬉しいです。
403さん、ありがとうございました。
早速このError 500について今から調べてみようと思います。
397380:2000/12/01(金) 17:40
counter.cgiに直接アクセスしてみました。
すると以下のようなエラーが出ました。

Error 500
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
flock() unimplemented on this platform at C:\***\*********\counter.cgi line 8.

エラーは出てしまいましたが、解決の為のとっかかりができたようで嬉しいです。
404さん、ありがとうございました。
早速このError 500について今から調べてみようと思います。
398380:2000/12/01(金) 17:42
二重投稿すみません。。。

>>405さん
その方法も試してみます。
399名無しさん:2000/12/01(金) 18:04
500について勉強もなにも、flock()はこの環境では使えないって言ってるやん。
eval{ flock( .. ) };
などとするよろし。
400402:2000/12/01(金) 18:13
ローカル鯖じゃなかったか…
401402:2000/12/01(金) 18:16
間違えた。
>ローカル鯖
LANにUnix鯖
402380:2000/12/01(金) 19:47
409さんのおっしゃった通りやってみました。
そうしたらちゃんとカウントされるようになりました!
すごく嬉しいです。ありがとうございました。

ただ、もう一つ問題があるんです。
その問題というのはCGIをアップする場所。
サーバの説明によれば、CGIはcgi-binの中に入れないと動かないらしいんです。
今までローカルで確認している時には
全てのファイルを、index.html(カウンターの設置場所)と
同じフォルダに入れていて、その状況ではお陰で動くようになったのですが
CGIをcgi-binに移動させたら、また動かなくなってしまいました。

counter.cgiだけをcgi-binに入れてみたり
展開された全てのファイルをcgi-binに入れたりして
訳も分からないままに色々やってみたのですが、やっぱりダメです。
一体どうすれば良いのでしょうか?
403名無しさん:2000/12/01(金) 23:25
注)freecom(http://www.freecom.ne.jp/)は、CGI可能なスペースは"1mb"!!!
404380:2000/12/02(土) 06:10
CGIのファイルをcgi-binへ移動させ
index.htmlに埋め込むタグの1行目を
<APPLET CODEBASE="." CODE="counter.class" WIDTH="96" HEIGHT="16"> から
<APPLET CODEBASE="C:/***/***/cgi-bin" CODE="co…
に変更しましたが動きませんでした。
405名無しさん:2000/12/02(土) 08:18
げいしつだと思うんですが、jcodeを使わず、ここのように半角カナでも
文字化けしない方法を教えて下さい。
406[email protected]:2000/12/02(土) 08:25
407415:2000/12/02(土) 08:45
>416
どもです。
408名無しさん:2000/12/02(土) 13:11
稿日:2000/12/01(金) 17:42

二重投稿すみません。。。

>>405さん
その方法も試してみます。

409 名前:名無しさん 投稿日:2000/12/01(金) 18:04

500について勉強もなにも、flock()はこの環境では使えないって言ってるやん。
eval{ flock( .. ) };
などとするよろし。


410 名前:402 投稿日:2000/12/01(金) 18:13

ローカル鯖じゃなかったか…

411 名前:402 投稿日:2000/12/01(金) 18:16

間違えた。
>ローカル鯖
LANにUnix鯖

412 名前:380 投稿日:2000/12/01(金) 19:47

409さんのおっしゃった通りやってみました。
そうしたらちゃんとカウントされるようになりました!
すごく嬉しいです。ありがとうございました。
409名無しさん:2000/12/02(土) 13:40
>>414
このカウンタはJavaアプレットからCGIを呼び出してるから、
ファイルの配置がよけい面倒みたいですね。
やはりここは作者の人に質問したほうがいいのでは・・・。
410380:2000/12/02(土) 20:50
>>419
やっぱり作者に聞いた方が良いですよね。

ここにいらっしゃる人なら何でも分かるんじゃないかと思ってましたが
作者にしか分からないことだってありますよね。
配布元のページには作者のメールアドレスとか掲載されていないから
連絡を取るのは難しいかもしれませんが、出来る限り頑張ってみます。
411ジャンケンぴょん:2000/12/03(日) 23:39
cgi不可のHPスペースに、、、
他サイトの"アップローダ型掲示板"から、ファイルをアップロードする
ことは可能でしょうか?
412名無しさん:2000/12/04(月) 02:11
>>421
よそのCGIからftpで送信する方法なら可能だろうよ
413ネタです:2000/12/04(月) 02:17
他サイトのアップローダからソケット通して
その、CGI不可のWebスペースで
ソケットを受け取るサーバを用意する(笑)
414名無しさん:2000/12/04(月) 03:36
「WEBマネージャ」とかいう名前でアップロードツールが
用意されてるとこなら、そのツールを別サーバのCGIを通して
呼び出してみると、なにげにアップロードできたりする。
つーか、今やってみたら、できたんで驚いたっす・・・。
415名無しさん:2000/12/04(月) 04:23
>>414
そこって認証とかどーしてんの?
416名無しさん:2000/12/04(月) 04:28
フォームに入力された内容を
RACE変換(?)したいのですが、
どうすればいいでしょうか?
多言語ドメインに対応させたいのですが……。
Perlがちょっと分かるくらいなので、お手柔らかに。。。
417むぎ茶:2000/12/04(月) 06:59


raceで検索して自分で勉強しろ。ぼけ。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

418419:2000/12/04(月) 07:37
>>417
Google等で検索したのですが、よく分かりませんでした。
419416:2000/12/04(月) 07:38
すみません、名前間違えました。
逝ってきます……。
420名無しさん:2000/12/04(月) 08:26
>>416
「Perlがちょと分かるくらい」じゃ無理。
誰かが作って公開してくれるまで待ちましょう。
421名無しさん:2000/12/04(月) 09:26
。。。。。あるじゃん。
422名無しさん:2000/12/04(月) 16:26
変数に1000000と言う値が入っていた場合
1,000,000の様に下から3桁毎に,をつけたいのですが
どのようにしたら良いのでしょうか?
423名無しさん:2000/12/04(月) 16:57
Web上で入力されたメアドを受け取って、そのアドレスにメールを
送信し、その取得した情報をDBに保存しておくというシステムは、
CGIで可能なのでしょうか?
また、CGIでなければどういう開発環境で作れるのでしょうか?

関連書籍をちょっと調べてみたんですが見当たりませんでした。
知っている方がいましたら教えてください。よろしくお願いします。
424名無しさん:2000/12/04(月) 17:41
漏れが昔書いたソース、見ると逝きたくなるほど情けない…>>422
誰かチューンして。(涙)

$len = length ($Result);
$divnum = 10 ** ($len-1) ; # 割る数
$Buff = "";
while ($len > 1) {
if ( ($len % 3) == 0 || ($len % 3) == 2 ) {
$Bufnum = int ($Result/$divnum );
$Buff .= $Bufnum;
$Result = $Result - ($divnum * $Bufnum);
$len = $len -1;
$divnum = $divnum /10;
} elsif ( ($len % 3) == 1 ) {
$Bufnum = int ($Result/$divnum );
$Buff .= $Bufnum;
$Buff .= ",";
$Result = $Result - ($divnum * $Bufnum);
$len = $len -1;
$divnum = $divnum /10;
}
}
$Buff .= $Result;
$ResultA = $Buff; # 結果
425名無しさん:2000/12/04(月) 17:48
あーspace潰れてるし。(恥
Webから情報受け取ってそこにメールする、ここまではhttp上で
出来るからCGIだろうけど、返信されたメールはhttpじゃなくな
っているから別の事考えなきゃだめでは? >>423

CGIつーかperlでやりたいなら .forward に "| /home/abo-n/giko.cgi "
とでも書いて stdin から受け取って分析するのはどうよ?
426名無しさん:2000/12/04(月) 18:16
>>422,424
数字の3桁区切りはFAQだよん。
http://www.din.or.jp/~ohzaki/perl.htm#NumberWithComma
つうか、おれもこの板で「Perlメモ」↑のことを教わったのだが。
427名無しさん:2000/12/04(月) 18:39
>>423
"procmail" and "DB" で検索すると事例とか出てくるかも。
428422:2000/12/05(火) 00:55
>>424、426
無事動きました
ありがとうございました
429くだん:2000/12/05(火) 17:19
>>424

$s='\0123456789';
do{
$s=~s/(\d)(\d\d\d)(\D|$)/$1,$2$3/;
print "$1/$2/$3\n";$x=$2;
}while($x ne '');
print "$s";


下の記述っぽいのが有効ならいいんだけど有効じゃない
$s=~s/(\d\d\d)+(\D|$)/$1,$2$3/;
430名無しさん:2000/12/06(水) 10:45
perldoc -q commaぢゃダメ?
431初心者@ie5.5:2000/12/06(水) 18:19
CGIがいつのまにか、NSで表示がおかしくなってしまったのですが
2つのファイル(テキスト形式)のどこが違うのかを比較する
アプリケーターってありますでしょうか???
432[email protected]:2000/12/06(水) 18:23
/usr/bin/diff
433むぎ茶:2000/12/06(水) 18:33
それはアプリケーターじゃないだろう
434初心者@ie5.5:2000/12/06(水) 18:39
>>432 ?
>>433 アプリケーションでしたか(^.^;
435japu:2000/12/06(水) 22:12
シェルで、
diff sakura.txt tomoyo.txt
とかやると違いが表示される。
-c つければ、context diff, -u は unified diff

わからなければ、man diff しよう。
436初心者@ie5.5:2000/12/06(水) 23:14
>435 シェルで…  ん。。 レスありがとうです。。。
初心者なんで、シェルの分かりやすく解説してる
サイト御存じありませんか?
437名無しさん:2000/12/06(水) 23:40
438名無しさん:2000/12/07(木) 00:56
今簡単な掲示板をperlで作成中なんですが、
ある処理がよく分からなくて困ってます。

よく指定したWEBページ全体を大阪弁にしたりするサイト
ってありますよね?
それの応用で、掲示板に書きこんだ文章について、
例えば末尾が「〜です。」ってのを「〜っす。」
みたいに変換して表示したいんですけど、こういうのって
どうやるんでしょうか?
要は文末が特定の文字だったらそこだけ変換、みたいな
事やりたいんだけど・・・。
(いきなり横ヤリすいません)

書きこんだ文字を配列に入れて、そこで文字列操作して
やるのかな?う〜ん、良く分からん。
439初心者@ie5.5:2000/12/07(木) 01:02
$body =~s/です。/"っす。"/g; かな?
440初心者@ie5.5:2000/12/07(木) 01:04
""は要らなかった。
441438:2000/12/07(木) 01:12
>439さん
ありがとー!なんだ、こんなシンプルに出来るのね。
早速試してみよっと。
442むぎ茶:2000/12/07(木) 06:16



そのくらい自分で調べろよ。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

443ええと:2000/12/07(木) 10:55
その昔、>>319 などを質問したのだが、
結局、Windows には
--------
Content-type: application/octet-stream
Content-disposition: attachment; filename=hoge.exe
--------
で、IE5 でも NC4.7 でも正常動作。
Macintosh はなかなか言うことを聞かないので、sit と hqx を用意して
--------
Content-type: application/x-stuffit
Content-disposition: attachment; filename=hoge.sit
--------
または
--------
Content-type: application/mac-binhex40
Content-disposition: attachment; filename=hoge.hqx
--------
を返すことで対応した。という顛末。
just FYI
444名無しさん:2000/12/07(木) 11:20
CGI関係無いかもしれないけど
アップロードできるファイルサイズに制限ってあるのでしょか?
HTTP的に。
誰か限界知ってる方います??
445360:2000/12/07(木) 13:05
>>443
あ、なんか軽く流されたんであきらめてたけど便乗質問。

>Content-disposition: attachment; filename=hoge.exe
このfilename= ってNN6だとうまくいく?
なんかどーやってもCGI名になっちゃうんだけど・・
446名無しさん:2000/12/07(木) 14:59
半角カナが化けないように掲示板を改造するのは難しいですか?
447名無しさん:2000/12/07(木) 15:52
>>445
ネスケはまだ入れてないんだけど、
Mozilla M16(やや古し。最新はM18?)でも同じ症状に。
448名無しさん:2000/12/07(木) 16:20
multipart/form-data を使うなら無いと思っていい。
ファイルシステムの限界値と同等でいいのでは。>>444
449名無しさん:2000/12/08(金) 02:04
ハリケーンエレクトリックってなに?
h ttp://www.he.net/~jdoe/cgi.demo/demo.html
450名無しさん:2000/12/08(金) 17:17
use Socket使って簡易ポートスキャンしようとしたんですが、
(connectできたポートを表示)とても遅いです。
自分自身のポート1〜100をチェックするのに2〜3分かかります。
こんなもんでしょうか?
451>450 これでやってみろ:2000/12/08(金) 19:26
#!/usr/local/bin/perl -w

use strict;
use sigtrap;
use Socket;

my ($remote, $port, $iaddr, $paddr, $proto);

$remote = $ARGV[0] || "127.0.0.1";
$port = $ARGV[1] || 0;

print "REMOTE : $remote\n";
print "PORT : $port\n";

$iaddr = inet_aton($remote) or die "Unknown host : $remote";
$proto = getprotobyname('tcp');

socket (SOCK, AF_INET, SOCK_STREAM, $proto) or die "socket : $!";

while ($port < 101) {
$paddr = sockaddr_in($port, $iaddr) or die "$!";
if (connect(SOCK, $paddr)) {
print "PORT : $port OPEN\n";
socket (SOCK, AF_INET, SOCK_STREAM, $proto) or die "socket: $!";
} else {
# print "PORT : $port CLOSE\n";
}
$port++;
}
452450:2000/12/08(金) 20:16
>>451さん
わざわざありがとうございます。
でもやっぱり2分ぐらいかかります。

というか、僕が書いたのもほぼ同じでした。
whileのあたりが、socket > for > close という違いぐらいで。

外のサーバーに設置して、自分の家に対してスキャンしたかったんですが
あきらめて外のマシンからやることにします。
453450:2000/12/08(金) 21:31
度々申し訳ありません〜
違うサーバーに置いたら、すんなりいけました。
ごめんなさい。>>451さん。
454ええと:2000/12/09(土) 20:14
>>445
NN6 あ。そーいえば試してない...
# 実のところ、どの程度ユーザーがいるんだかなー
試してみるけど、返事がなかったら消えたものと思って卓袱台
455名無しさん:2000/12/10(日) 00:35
ネスケ6は、誰もが「表示確認」のためだけにDLしてます。
対応する意味は今のところなし。
456名無しさん:2000/12/10(日) 00:42
>>455
実際に使ってる俺って、、、
457名無しさん:2000/12/10(日) 12:44
>456 終わってるってこと。
458陽介:2000/12/10(日) 15:01
ファイルからhtmlのソースを読み込んで表示させるのと同じように
プレーンテキストを表示させたいのですが、ダウンロードの画面になってしまいます。
htmlの場合は
print "Content-type: text/html\n\n";
なので、テキストは
print "Content-type: text/plain\n\n";
でやってみました。htmlと記述すると、タブと改行を表示してくれません。
テキストの中身そのまま表示させるにはどうすればいいんでしょうか?
459(;´д`):2000/12/10(日) 15:44
print <<END;
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html lang="ja">
<head><title>$file</title></head>
<body><pre>
END

print while <OUT>;

print <<END;
</pre></body>
</html>
END
460名無しさん:2000/12/10(日) 20:20
>>458
おれの環境(Windows2000,IE5.0/ネスケ4.06)だと、
text/plainを吐けば問題なくテキスト表示されるんだけどなあ。
OSとブラウザは何つかってんですか?
461>458、460:2000/12/10(日) 22:49
text/plainは置くサーバ次第みたい。
うちで借りてる片方のサーバはテキスト表示出来るけど
もう片方はダウンロードになるよ。
どうしてもテキスト表示にしたけりゃ459さんみたいにやったほうが
良いんじゃない?
462名無しさん:2000/12/10(日) 23:23
結論馬鹿458にはできません。
463460:2000/12/11(月) 00:20
めでたく結論が出たようだけど、それはそれとして。

>>461
後学のため知っておきたいんで教えてちょー。
その2つのサーバは、どんなヘッダを返してきてるですか?
この程度↓の簡単なテストでいいから、調べてみてくれない?
#!/usr/bin/perl
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$req = HTTP::Request->new('GET'=>'http://hoge.net/hoge.txt');
print $ua->request($req)->headers_as_string;
464名無しさん:2000/12/11(月) 01:54
<plaintext>
でどうよ?
465461:2000/12/11(月) 19:44
>>460
以下、落ちてくる方のサーバのね。

Connection: close
Date: Mon, 11 Dec 2000 10:36:15 GMT
Accept-Ranges: bytes
Server: Apache/1.3.0 (Unix) mod_perl/1.12
Content-Length: 0
Content-Type: text/plain
ETag: "3dfd5-0-3a34ae12"
Last-Modified: Mon, 11 Dec 2000 10:36:02 GMT
Client-Date: Mon, 11 Dec 2000 10:36:15 GMT
Client-Peer: 210.158.194.116:80
X-Pad: avoid browser bug

ちゃんとテキスト表示されるほうのサーバでは動かんかったです。
466465:2000/12/11(月) 19:45
sage忘れた…ごめん。
467陽介:2000/12/11(月) 21:27
回答ありがとうございました。
サーバーによって違うなら、確実な459さんのやり方にさせていただきます。

>>460さん
OSはWin98SEでIE5.01使ってます。
ローカルでhttpdのver1.28dでテストしたんですが、DLになってしまいました。
プロバイダのサーバーにおいても同様でした。NNで確認はしていません。
468名無しさん:2000/12/12(火) 00:39
ダウンロードするウインドウが出るかどうかって、ブラウザの設定次第じゃないの?
Content-Type によって動作は変わるかもしれないけど、同じ Content-Type で
サーバによって…ってのは考え難いなぁ。
469:2000/12/12(火) 01:09
.htaccessの書き方知ってる?>>468
470468:2000/12/12(火) 19:35
>469 不親切な書き方だな。。。文句あんのか? (ゴルァ
471名無しさん:2000/12/12(火) 19:59
> 同じ Content-Type で サーバによって…
拡張子によって変わる時がある(…ような気がする)
CGIの拡張子をtxtにしてみれ。
472初心者です:2000/12/12(火) 22:16
CGIのテストをしているのですが、変数$inに値が帰ってきません
ソースは
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "$in{'name'} likes $in{'hobby'}\n";
です。
HTMLのソースは
<html>
<head>
<title>test.html</title>
  </head>
<body>
<form action="/cgi-bin/youcgi" method="get">
名前: <input type="text" name="name"><br>
趣味: <input type="text" name="hobby"<br>
<input type="submit" value="送信">
</form>
</boby>
</html>
です。
わかる方、教えてください。
473名無しさん:2000/12/12(火) 22:31
QUERY_STRING使わなくても、渡せる方法あるの?
そんな便利なものあったら知りたいです。
474初心者です:2000/12/12(火) 22:37
QUERY_STRINGについて本を読んでみたのですが、
省略表現されていて、全ソースがわかりません。
どのように組めばいいのですか?教えてください。
475468:2000/12/12(火) 23:47
>>471
ブラウザ側でも、拡張子見てるんでしょうかね。
でも cgi なのに Content-Type: text/html でHTML扱いだし…。
なんか良くわかりません。

>>469
あんまり知りませんが。 AddType?
どういう意味なのか詳しく教えてくれると嬉しいです。
470は偽者。
476名無しさん:2000/12/13(水) 02:15
>>474

print $ENV{'QUERY_STRING'};

をやってみるが吉
477初心者です:2000/12/13(水) 07:36
#!//usr/bin/perl
print "Content-type: text/html\n\n";
print $ENV{'QUERY_STRING'};
でしょうか?
478g:2000/12/13(水) 09:19
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
こんな感じで受けとって、
@pairs = split(/&/,$buffer);
とかやって仕分けして、@pairsに、NEMEとVALUEを入れちゃう。
あとは、更に仕分けしたり。
479g:2000/12/13(水) 09:20
英語もわからないおこちゃまです。NEME>NAME
480h"3:2000/12/13(水) 11:53
>初心者です

#!/usr/bin/perl

print<<EOM;
Content-type: text/html

<html><body>
$ENV{'QUERY_STRING'}
</body></html>
EOM

とりあえず こんな感じかな??
一応このプログラムで
GETした環境変数 $ENV{'QUERY_STRING'}
の 中身が わかると思います

後それと $ENV{'QUERY_STRING'}の加工
(自分はこんな感じで使ってます)
 %in=&env_decode($ENV{'QUERY_STRING'});

注:sub env_decodeは自作してね(w

上記のように %inに格納しないと
$in{'name'}、$in{'hobby'} 使えないと思います。
とりあえず自力でがんばってみてください^^

別スレの482さんが書いてるとおり
『無駄を繰り返せ!』
です^^

あ、そこまで気合入れてプログラムの勉強したくなかったら
jcode.pl 使う手もありかも^^
<ってか実は使ったこと無いから わかりませんけど(ぉ
481通行人@たたき出し:2000/12/13(水) 22:34
while ( ($a,$b) = each %ENV) {
print "$a=$b<br>\n";
}
482超初心者:2000/12/14(木) 18:41
(Javaなしで)
10秒程度のカウントダウンを表示させたいのですが。。。
483名無しさん:2000/12/14(木) 19:04
↑sleepで止めて回すのって、よくない?
試してないが。
484超初心者:2000/12/14(木) 19:51
>483 sleep(10)?????
すいません。文例でお願いできますでしょうか?
485japu:2000/12/14(木) 20:27
>>482
javaScript使えば出来ます。
アニメーションGIFでもOKかもしれない。
486超初心者:2000/12/14(木) 20:57
Javaって、
print "Content-type: text/plain\n\n"; #↓以下に入れるの?
<script language="javascript">
&lt;!--
>>485さん ぜひ教えて下さい!!!
487japu:2000/12/14(木) 22:11
>>486
http://www.google.com/ で "JavaScript カウントダウン" と入力。
自分で調べることは大切です。

# Java ≠ JavaScript
488超初心者:2000/12/14(木) 22:35
>>487 早速、逝ってみます〜。。。
ちなみにmsn(http://www.msn.co.jp/home.htm)の
2000年カウントダウン コピペで去年HPに貼ってました。
489超初心者:2000/12/15(金) 20:12
↑と言ったものの。。降参です
やさしい諸先生方!Javaで10秒程度のカウントダウンおせぇて。。。
490名無しさん:2000/12/15(金) 20:19
Java ≠ JavaScript

お前ホントに探したか?japu さんの言うとおり検索してれば
すぐ見つかるぞ。
491名無しさん:2000/12/15(金) 20:40
10秒カウントダウンして別のページに飛ばすスクリプト
http://www.chibaken.net/java/3210.htm

細かいことだがJavaScriptはJavaScriptだ。
Javaと略すとJAVAと勘違いして混乱のもとになるかんね。
492名無しさん:2000/12/15(金) 21:43
つかJavaScriptはWeb製作板でやれ
493超初心者:2000/12/15(金) 22:32
>491さん ありがとうございました!心より感謝いたします。
Java ≠ JavaScript SUNがJAVAのライセンスが…ってScriptでないほう?
494:2000/12/16(土) 00:28
C++はいけるがPerlはまだ見えねえっす。
Perl初めて3日なものの
書式がすげえ異質に見える。
495名無しさん:2000/12/16(土) 00:38
>並 操を捧げて半年の大学生も、男がそう(異質)見えるって言ってた。
496名無しさん:2000/12/16(土) 15:31
http://securit.etl.go.jp/SecurIT/advisory/webmail-1/notice-1.html
↑ここに書いてある、Webメールのセキュリティーホールを突く方法ですけど、
技術的にどうなんでしょう?
CGIのプロの人なら簡単にできるようなことなんですか?
497名無しさん:2000/12/16(土) 16:24
ふむ。忠告するのは良いが、まだ対策とってないトコもあるみたいなのに、
こんなもんウェブ上に公開したら厨房が実行に移すだけじゃん。

結局自分達がセキュリティを、より危うくしてるって事に気づいてない
自己顕示欲の強いただの馬鹿どもだな。SecurITって集団は。。。
498japu:2000/12/16(土) 16:46
1ヶ月もたって、まだ対策してない方がよほど問題。
499名無しさん:2000/12/16(土) 16:58
>>496
そんだけ丁寧に書いてあったら、プロでなくて、ちょっとかじった程度でも
実行できるよ。
500名無しさん:2000/12/16(土) 17:07
>>498
もちろんそうだが、態々危険度を増やすモンを公開してたら
本末転倒。
こんな簡単な事にも気づかず公開してたなら、ただの馬鹿。
気づいて公開してたら、対策してない会社と同類。

はてさてどっちかな(笑
501名無しさん:2000/12/16(土) 18:31
>>500
気づいてるんじゃない?ちゃんと読めよ。

これが実際にどのような脅威をもたらすのかを、あまり明確にして
議論してしまいますと、皆様のウェブメールシステムにこの欠陥が存在してい
ることに読者が気付いてしまい、悪用する者も現れかねないという危惧があり
ますから、これまでこの問題について深く議論することを避けてきました。

しかし、このまま永遠にこの議論を避け続けるわけにはまいりません。「IT革
命」やら「電子政府」といった、来るべき社会の将来像が示されておりますが、
開発技術者の認識がこのレベルのままであっては、脆弱なシステムが社会の至
る所に蔓延してしまい、いわゆる「サイバーテロ」の危惧が現実のものとなっ
てしまいかねません。それを回避するには、開発技術者が同じ過ちを繰り返さ
ないよう、各々がそれぞれの欠陥事例を知識として持つ他ないように思います。
502名無しさん:2000/12/16(土) 18:32
勝手に人んとこのシステム検証するのは良いのにscanはなぜいかんのか。
503名無しさん:2000/12/17(日) 00:48
質問です。
IE5以上でHPのお気に入り追加をすると、favicon.icoのリクエストが
サーバーに送られると聞いたことがあるのですが、CGIでこれを拾うことは
可能でしょうか?
504名無しさん:2000/12/17(日) 01:02
>>503
ルートを探します。
WWW サーバ君と協力して下さい。
505503:2000/12/17(日) 01:08
ルートは探すのは知ってたけど、
>WWW サーバ君と協力して下さい。
難しそう。。。
506名無しさん:2000/12/17(日) 02:16
>>503
(案1) WWWサーバのログをスキャンする
(案2) /favicon.icoそのものをCGI化する
(案3) mod_faviconなるものを自作してApacheに組み込む
507名無しさん:2000/12/17(日) 02:23
>>503=505
506氏の(案2)がオススメ。
でも、Content-type が何になるのか分からない。
508507:2000/12/17(日) 02:32
image/x-icon かな?
509507:2000/12/17(日) 02:37
image/bmp のような気がして来た。。。
適当にやってね。
510名無しさん:2000/12/17(日) 04:04
>501
結局、そのサービスのユーザの事まで考えの及ばない馬鹿集団ってことだな。
今回の件ではユーザのプライバシーが危ないのに。

そんなサービス使ってるのが悪いとか言うんかね(苦笑
511名無しさん:2000/12/17(日) 04:21
>>510
JMAILの関係者?(W
512名無しさん:2000/12/17(日) 05:15
>>507
Content-typeはなんでもいいだろう。
404 Not Foundを返すのもよいかも。
513名無しさん:2000/12/17(日) 05:44
>511
苦笑。馬鹿ですか?
514名無しさん@初心者:2000/12/17(日) 22:06
今日からMacからWinに乗り換えました。
1.FTPのファイル転送アプリ
2.<HTML>手書きに適したエディター。。等々
                 教えてください。
515名無しさん:2000/12/17(日) 22:39
1. ftp.exe
2. メモ帳
516名無しさん:2000/12/17(日) 23:00
1. FFFTP
2. メモ帳
517名無しさん@初心者:2000/12/17(日) 23:21
ありがとうございました。落としてみます。。
メモ帳って字がデカイですね!
518名無しさん@初心者:2000/12/17(日) 23:52
1.FFFTPってFetchよりいいです。。
2.エディター フォント指定表示&行番号表示できるのないっすかね?
519名無しさん:2000/12/18(月) 00:17
>>514
EmEditor Free
http://www.vector.co.jp/soft/win95/writing/se047993.html

K2Editor
http://www.vector.co.jp/soft/win95/writing/se126077.html

無料のソフトならこのへんが有名かな?
K2は正規表現によるキーワードのカラー表示できるよ。
レジストリいじらんから一度試してみては?

という私はEmEditorのVer2(ワラ
520名無しさん@初心者:2000/12/18(月) 00:35
>519 落としてみましたです。
ワードパット.wriと併用して使ってみます。。。Thanks!
521名無しさん:2000/12/18(月) 08:12
>>511

結局、510は最近パソコンをはじめた50代のおっさん。

口ぐせは、IT。(ぷ
522名無しさん:2000/12/18(月) 09:10
お前のことか(ぷ
523名無しさん:2000/12/18(月) 09:28
>522

どうやら図星だったようだな。(うぷぷのぷ。

524名無しさん:2000/12/18(月) 09:34
>>523
変態だ。。。
525名無しさん:2000/12/18(月) 14:39
初心者です。
検索システムを作る場合、
一般的にどの位の期間が必要なんですか?
お願いします。
526名無しさん:2000/12/18(月) 14:54
あげます
527名無しさん:2000/12/18(月) 15:05
>>525
namazuでも使っとき。
http://www.namazu.org/
528名無しさん:2000/12/18(月) 15:19
>>525

どんな検索システムだよ。
一から勉強だと「知力」「気力」「運」で期間は大幅に変わるよ。
君の場合、2ちゃんなんかでこんな質問してる時点で「運」はたかが
知れてるし、何も調べてなさそうな質問の仕方を見る限り、「気力」
もたかが知れてるね。
頼みの綱の「知力」も、必要な情報を織り込まない漠然とした質問
内容から考えるに、低レベルだね。

けどね、諦めちゃダメだよ。書き続けてれば何時かは終わるから。
あ、その「気力」も無いんだっけ。
529525:2000/12/18(月) 15:39
>527
ありがとうございます。一応、検索システムができればいいので、
namazuで頑張ってみようと思います。

>528
じゃあ、例えばhttp://www.naec.go.jp/hp_search/index.htmのような
チェック式(どう言われてるのかわかりませんが)と、
キーワード式の検索システムは作るのにどの位の期間が必要なんですか?
530名無しさん:2000/12/18(月) 15:59
>>529
>じゃあ、例えばhttp://www.naec.go.jp/hp_search/index.htmのような
「じゃあ」って言ってるけど、それ以降の文章が528とまったくつながってない。
ふだん、周囲の人と会話は出来てますか?
531名無しさん:2000/12/18(月) 16:23
ささやかな抵抗なのよ、、、
532バッカーです:2000/12/18(月) 16:30
>525
SQL勉強すれ
一発で理解できるから

>キーワード式の検索システムは作るのにどの位の期間が必要なんですか?

データが正規化されていると仮定したら5分
533バッカーです:2000/12/18(月) 16:33
いやウソだ
いくらなんでも全文検索で5分はムリだ
ナマズで30分
534名無しさん:2000/12/18(月) 17:35
時間つっても人によるからね。技量とか関係するから。。。
533の方は30分で出来るらしいけど、525のあんたじゃ、一生無理かもね。

理由は528に書いた通り。

自分の場合、529で挙がったURLから行える事くらいならPerl/PHP + MySQL/PostgreSQL
の組み合わせなら、数十分(スクリプト書く時間のみ)掛かるかな。

ゴメンね。偉そうに言うほど早くないかもね。
あとCとかJAVAはサッパリ分からんから言語も特定されちゃうんよ。

けど結局、あんたみたいなヤツは何も成し得んのよ。
535525:2000/12/18(月) 17:43
>532
ありがとうございます。
SQLとやらを勉強してみます。
何かお勧めの書籍とかはありますか?
あれば教えてください。

いつの日か検索システムが出来る日を信じて頑張ってみます。
536うごうご@初心者だった:2000/12/18(月) 18:01
大変申し訳ありません。質問させてくださいませ。私は初心者と言うか
馬鹿なので、いろいろ調べてみましたがわかりませんでした。
 http://www.terryg.com/board/tunnels.cgi
こういう掲示板の過去ログをすべて見るにはどうすればいいのかわかりません。
過去ログ200件くらいまでは普通にみれるのですが、上記のアドレスにどんな
ワードを付加すればよいのでしょうか?ご教示くださいませ。
537名無しさん:2000/12/18(月) 18:11
>>536
マルチうざい。
538名無しさん:2000/12/18(月) 18:17
>>536
ログのMax保存件数(上記URLの掲示板だと300件)に達していると
新しい記事が投稿されるたびに一番古い記事がログファイルから
削除されていく仕組みになってるので、どのようのキーワードを
いれようとも見れないです。

ところで上のURLの掲示板、次のページめくるたびにカウント増える(ワラ
539名無しさん:2000/12/18(月) 18:20
>>538
ああ言う尋ね方して、ページめくらせて置いて、
カウンターを増やすという罠。

見事に引っ掛かりましたね(w
540うごうご@初心者だった:2000/12/18(月) 18:26
>>538
ご教示ありがとうございました。べつにとんねるずなどどうでもいいのですが
私のみたい掲示板はべつな所で…たまたまCGIを使ってたからと言うだけです
本当にありがとうございました。
541うごうご@初心者だった:2000/12/18(月) 19:13
何度もすみません。過去ログみたいのはこれです。
   http://www.orsen.co.jp/cgi/read.cgi
前のページで100件にしても2回までしかさかのぼれません。
そこで1000件とか10000件まで遡ってみたいのです。
なんか適当にアドレスに付加してたら6月くらいまで読めたのです。
今は9月までしか読めません。どうか助けてくださいませ。
542名無しさん:2000/12/18(月) 20:54
>>541
これで駄目ならあきらめろ。
http://www.orsen.co.jp/cgi/read.cgi?LINES=1000
543うごうご@初心者だった:2000/12/18(月) 21:09
>542
うおおおおおおおおおっありがとうございます。スゴい!スゴすぎる!
夢がかないました。本当にありがとうございます。私ももっともっと
勉強して、困っている人を助けてあげたいと思います。
本当にありがとうございました。
544便乗君:2000/12/18(月) 21:35
掲示板でキーワード検索を加えたいのですが…
教えてください。
↓こんなフォームで
<FORM ACTION="bbs.cgi" METHOD="post">
<INPUT TYPE="hidden" NAME="act" VALUE="src">
<INPUT TYPE="text" NAME="key">
<INPUT TYPE="submit" VALUE="キーワード検索">
</FORM>
545名無しさん:2000/12/18(月) 21:43
>>544
ワード検索のついてる掲示板に変えたほうが手っ取り早いと思う。
http://www.kent-web.com/bbs/aska.html
546便乗君:2000/12/18(月) 21:47
今、暖めてるのにつけたいんス。
むずかしぃですかね?
547名無しさん:2000/12/18(月) 21:52
>>496
>CGIのプロの人なら簡単にできるようなことなんですか?

ちゅーか、サルでもできるさ。
windowsのハッキングマニュアル2000にも載っちょる。p192.
548名無しさん:2000/12/19(火) 00:44
>547
今頃ウエブで話題になってんだね
もう散々楽しませてもらったからいいけど(笑)
549名無しさん:2000/12/19(火) 14:37
(-_-) (-_-) (-_-) (-_-) (-_-) (-_-)
(∩∩) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩)
550名無しさん:2000/12/19(火) 14:41
(-_-) (-_-) (-_-) (-_-) (-_-) (-_-)
(∩∩) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩)
551名無しさん:2000/12/20(水) 19:27
あげてみる
552焦る:2000/12/20(水) 23:52
今度の仕事はヘヴィーだ。武者震いするぜ、アホ。
553名無しさん:2000/12/21(木) 07:48
おもいのはいやずら。
554名無しさん:2000/12/21(木) 14:26
すいません、DTIのBBSシステムとCGIver3
と互換のPerlスクリプトは
どこで手に入れたらよいのでしょうか?
555名無しさん:2000/12/21(木) 14:27
ttp://www.remus.dti.ne.jp/~konkon/cgi/index.html
DTIのシステムはここのようなものです。
556名無しさん:2000/12/21(木) 15:32
<form method="post" action="post.cgi?hoge">

とやってGETとPOSTを併用するのをたまに見かけるんですが、
これってどこでも上手く行くと考えていいんでしょうか?
557名無しさん@post:2000/12/22(金) 00:05
いい
558名無しさん:2000/12/22(金) 21:15
556に便乗
配布されるCGIに、よくメソッドの選択で
「postでエラーが出たらgetにしてください。」
ってあるけど、postできないような設定のサーバってあるの?
559名無しさん:2000/12/22(金) 23:55
yyy_Perl_Labo(http://yyy-cgi.virtualave.net/)のyyy Counterで
解像度とビットカラーのログも取りたいのですがどうすればいいのでしょうか?
560名無しさん:2000/12/23(土) 04:30
>>558
POSTだとサーバによってLocationヘッダを合せないとならなかったり。
Location 302
で検索してみし。
561名無しさん:2000/12/23(土) 19:43
>>558
極端に古いHTTPデーモンはエラーを返すな。一応。
見たことないけど。0.9
562558:2000/12/24(日) 07:44
>>560
なるほど。ありがとうございました。
検索してみます。
>>561
0.9ってhttpのバージョンですか?
だとすると、僕も見たことないです。
最近のなら大体大丈夫みたいですね。

>>556
便乗してすまぬ。
ちなみにその例の場合は「@ARGV」とかいう配列に「hoge」が入ってる。
噂によればそれも使えないサーバーがあるとかないとか・・・(謎)
563名無しさんです:2000/12/24(日) 11:30
正しい排他処理を教えてください。
掲示板作成で悩んでます。
564名無しさん:2000/12/24(日) 15:51
UNIX家に持ってないもので良くわからないのですが…。
suEXEC(?)っていうので動くCGIの場合、一般的に、
パーミッション700のファイルがあったら
-r, -w, -x, -o は真、-R, -W, -X, -O は偽、
ということで合ってますでしょうか?
565564:2000/12/24(日) 15:53
言葉が足りませんでした。 -r とか -R はPerlの演算子です。
566japu:2000/12/24(日) 17:42
>>562
そんなサーバはCGIに準拠していないので、捨ててしまえ。B-)

>>546
いいえ。全て真です。
567名無しさん:2000/12/24(日) 19:08
アクセス制限をつけたいんだけど
kentとrescueどっちのアクセス制限がいいか迷ってます。
軽いことが前提条件なんだけどどうですか?
やっぱり作る人によって軽さとか処理の早さの部分も変わって
くるんですか?
568名無しさん:2000/12/25(月) 00:32
>>566
>そんなサーバはCGIに準拠していないので、捨ててしまえ。B-)
ところで、CGI 関連の RFC ってあります?

>>561
> 極端に古いHTTPデーモンはエラーを返すな。一応。
> 見たことないけど。0.9
0.9 って古いというか、簡易版でそ。0.9 only の
http サーバなんて存在するかい?
569japu:2000/12/25(月) 01:14
>>567
.htaccess による制限の方が良いと思うけど。
"使う" ならどちらでも良いんじゃないかな。
"読む" だと、rescueのプログラム全般は決しておすすめ出来ない。
アクセス制限の軽さに関しては、不明なのでノーコメント。

>>568
RFCにはなっていないが、
http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
# I-Dは出たことあるが、期限切れ。

HTTP/0.9は1.0よりも前の規格です。簡易版といわけではありません。
てなわけで、昔のサーバは0.9だけを喋っていました。
今時のサーバで0.9だけってのは無いと思うけど。
570もうだめ…2:2000/12/25(月) 01:19
パスワードとIDを使ってアクセス制限をかけようと
朝からフリーのCGIをもらってきたりパーミッション
とは……? とか色々勉強していたのですが、
どうしても分らないことが…
もらったCGIをエディタを使って書き換えるまでは
分るのですが、これ、どうやって使うんですか?
どこにどのように設置したら「パスワードとIDを
いれてね。」の画面が起動するんですか?
それを教えてくれるサイトでもいいので
どなたかすいませんが教えて下さい。

フリーのCGIはCOSMO GATEさんから
頂きました。詳しい説明をして下さってるんですが
それもエディタで書き換えたりパーミッションの
方法とかまでのところでそのCGIをどこに埋め
込めばいいのか、とかがよく分かりません。
多分ちゃんと書いてあるけど私が理解できてないだ
けなのかもしれなです。恥ずかしい。
571564:2000/12/25(月) 01:30
>>566
全部真なんですか…。

実uid = 実行する人の本来の(nobody)
実効uid = 実際動かすときの(suEXECだと所有者?)

とか字面だけ見て思ったんですが…。
そもそも実uidと実効uidってどう違うんでしょうか…。
なんか検索してもPerlのリファレンスばっか出てきて。
572567:2000/12/25(月) 01:32
>569
htaccessによるアクセス制限ですか?
私は設置やちょっとした改造とかは出来るのですがhtaccessで
アクセス制限できるとは知りませんでした。
htaccessでアクセス制限する原理というのがいまいち分かりません。
htaccessとはもともと何をする物なのですか?
ときおりCGIとかがうまく設置できなかったり機能しなかったりしたときは
htaccessを設置するとうまくいくという事があるとは聞きましたが…
573568:2000/12/25(月) 01:46
>>569
>http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
まだ状況は変わらずか…。作業に参加してるわけじゃないので
アレですが、早く RFC なりなんなり出してほしい。

> てなわけで、昔のサーバは0.9だけを喋っていました。
ほーそれは知らなかったです。失礼。

>>571
> 実uidと実効uid
普通 uid=euid。suid されたプログラムを実行すると
uid!=euid。これと suExec は本質的には関係ない
(と思った方がいいと思う)。
574名無しさん:2000/12/25(月) 02:11
>>572
> htaccessとはもともと何をする物なのですか?

Apache の機能を特定のディレクトリで
有効または無効にするものかな……。
パス制限するなら、.htpasswdが要るかもね。
575SSIの記述よう分からん:2000/12/28(木) 08:18
エクステンションを.shtmlに変更してパーミションを755に設定して下さい。
&lt;!--#include virtual="./123/**.cgi"--&gt;
&lt;!--#exec cmd="./123/**.cgi"--&gt;
576ほういち:2000/12/28(木) 13:28
初歩的でしかもCGIとあんまり関係ない質問で申し訳ないのですが、
携帯電話のブラウザについて教えてください。
1.cookieは受け取ってくれるのでしょうか?現状では多分無理だと
思いますが近い将来食ってくれるようになるのでしょうか?
2.basic認証が必要なディレクトリにアクセスしたらどうなるのでしょうか?
ちゃんとダイアログが出るのでしょうか?
正月休みにi-mode用のスクリプト製作を友人に頼まれたのですが、
なにしろi-modeなんて文明の利器を持ってないので全然わからない
のです。よろしくお願いいたします。
577名無しさん:2000/12/28(木) 14:27
>>576
どうせ、それだけの質問では済みそうにないから、
http://www.pixo.co.jp で試してみればぁ。
578SSIの記述よう分からん:2000/12/28(木) 21:37
◆ カウンタ機能付きログアナライザ(アクセスデータ解析)
analyze
579japu:2000/12/28(木) 22:49
>>576
1. no
2. yes (機種によってはIDとパスワードを保存しないので、毎回聞かれる)
580名無しさん:2000/12/28(木) 23:07
日記書いて……。
581ほういち:2000/12/29(金) 09:08
>577さん
ありがとうございます!!!すばらしい!!!こんなんが
あったんですね。大感謝です!!
>japuさん
いつも的確な回答ありがとうございます。

匿名メーラーというか私書箱というかそういうの作るんですが、
どうやって認証するかが問題で困ってました。
デザイン面は友人がやると言ってるのですが・・・どうも怪しいので
577さんのサイトは非常に役立ちます。ありがとうございました。
5821000:2000/12/29(金) 23:04
Perlでプロキシを制限する構文の例を教えてもらえませんか?
関数でお願いします。
583名無しさん:2000/12/29(金) 23:07
584_htaccess:2000/12/30(土) 01:02
<limit get>
order allow,deny
deny from 123.456.789
allow from all
</limit>
585名無しさん:2000/12/30(土) 08:21
CGIでhoge_hogeのディレクトリの中にある
画像にリンクを貼りたいのですが どうすれば良いですか?

hoge_hoge の位置はこんな感じです
drwx-----x hoge hoge_hoge
drwx-----x hoge public_html

宜しくお願いします
586名無しさん:2000/12/30(土) 08:29
>>585
あなたは何か勘違いを……。
587名無しさん:2000/12/30(土) 08:33
>585
リンクを張るのは無理なのれす。
表示させるだけなら可能なのれす。
588585:2000/12/30(土) 08:41
>587さん
そうでいたか・・
表示させるのはどうやるんですか?
スミマセン
こうやってみたんですが 量が多くて・・
ero.cgi?ero
sub ero{
$| = 1;
print "Content-type: image/gif\n";
#system("/bin/cat img.gif");
system("/bin/cat ../hogehoge/ero.jpg");
exit;
_END_
}#ero END
589585:2000/12/30(土) 20:02
↑こんな感じを下のようにして
system("/bin/cat ../hogehoge/$er");
?a001で ?a100まで振り分けてみました
後はero画像一枚増やす度に、2行づつ増えていく訳ですが
こんな事していたらプロバイダーに負荷がかかるのでしょうか?
他に方法はありませんでしょうか?
590名無しさん:2001/01/11(木) 02:14
>>42
どこがだよ?
591名無しさん:2001/01/11(木) 11:34
ここの掲示板そっくりのcgi書いた人いる?
592名無しさん:2001/01/12(金) 22:48
某サイトに
$addr = "202.xxx.xxx.201";
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
のようにするとIPをホスト名に変換できると書いてあったのですが、まったく無意味でした。他に、変換する方法はありませんか?
593名無しさん:2001/01/12(金) 23:00
>>592
どこのサーバでの結果ですか?
制限してることありますよ。
594名無しさん:2001/01/12(金) 23:29
>593 ピーマンか?  IPをホスト名に変換だろ
595japu([email protected]):2001/01/12(金) 23:43
単に、そのIPアドレス (not "IP") の逆引きが設定されていないだけでは?

192.168.1.8 なら、
% nslookup 192.168.1.8
または
% nslookup -type=PTR 8.1.168.192.inaddr.arpa
としてみたらどうなる?

あと、某サイトとか書かずにキチンと書こう。
596初心:2001/01/12(金) 23:56
 ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (゚Д゚)ノ <  192.168.1.8 とかの数字でなくプロバ名を表示したいのですが。。
  | ⊃|    \________
  |   |                   $ENV{'REMOTE_ADDR'}\n";
 ⊂ノ〜
  ∪
597 なな:2001/01/13(土) 10:47
The server encountered an internal error or misconfiguration and was unable to complete your request.
598くりきんとん:2001/01/13(土) 11:00
すまんのでごわんす。教えてほしいっす。
/cgi-binにcgiを。
/public_htmlと同じ高さに/passwdを作ってそこにpass.txtを生成。
.htaccessではそのpass.txtを指定。
これってサーバーに良くないわけ?
/public_htmlの下にpassを入れるフォルダ作らなきゃ駄目?
599さらだバー:2001/01/13(土) 11:28
なぜ2ちゃんねるは半角カタカナが文字化けしないのですか?
600名無しさん:2001/01/13(土) 11:32
ライブラリ弄ってるんじゃないのかな
601名無しさん:2001/01/13(土) 14:20
>>595
すみません、もうすこし詳しく教えていただけますか?
602名無しさん:2001/01/13(土) 16:51
>>598

別にだけど?
603japu([email protected]):2001/01/13(土) 19:39
604名無しさん:2001/01/13(土) 23:16
>>603 あんたやるね!もちろん俺のが知識はあるけどな。
605名無しさん:2001/01/14(日) 05:18
あるファイルがあって、それが確実にDLされたかどうかを判定する
事って可能でしょうか?
imode端末が対象なのでCGIのみで実現させたいです。
DLされたかどうか、というのは自分がDL出来たかどうかという意味ではなく、
DLして貰えたかどうか、という意味です。

無理でしょうか?
DLした時点で何か返してくれれば出来るとは思うんですが、
そんな事はしてくれないので、他に妙案があれば宜しくお願いします。
606名無しさん:2001/01/14(日) 05:40
>>605
> 確実にDLされたかどうか

途中で接続を切った場合を含まないということ?
607japu([email protected]):2001/01/14(日) 12:54
>>605
できません。
608"七資産":2001/01/14(日) 13:16
下らない質問です
Jcode.pmの使用例を教えてください
609名無しさん:2001/01/14(日) 13:18
>>608
use Jcode;
610japu([email protected]):2001/01/14(日) 13:34
perldoc Jcode
611ななし:2001/01/14(日) 14:40
SSIでCGI実行の記述は↓以外にありますか?
&lt;!--#exec cmd=".hoge.cgi"--&gt;
&lt;!--#include virtual=".hoge.cgi"--&gt;
&lt;!--#exec cgi=".hoge.cgi"--&gt;
612名無しさん :2001/01/14(日) 16:12
print "<HTML>\n";〜
って、いちいち書かないで、
<HTML>〜って書く方法ないの?
613サゲ茶漬け:2001/01/14(日) 16:17
print while <HTML>;
違うかなぁ?
614名無しさん:2001/01/14(日) 16:23
>>612
ヒアドキュメント
615名無しさん@612:2001/01/14(日) 16:33
print<<HTML_END;
<HTML>〜
HTML_END
}
なんての見たことあるけど、動かないのですが、、、、
616g:2001/01/14(日) 20:03
>615 ”}”がいらない。
617g:2001/01/14(日) 20:08
activeperl入れてローカルでチェックしましょう。
http://www.activestate.com/
618名無しさん@615:2001/01/14(日) 22:26
print<<HTML_END;
<HTML>〜
HTML_END
>>616 ↑頭と終わりに入れればいいだけでしょうか?
619カニピラフ:2001/01/15(月) 01:01
今、50人位の任意の数の中から
ランダムに10人を選ぶようにしてますが

$ninzulog = @NINZU;
srand;
for ($i=1;$i<=10;$i++) {
 ($no,$hito) = split(/<>/,$NINZU[rand(@NINZU)]);
 print "$i番目$hitoさん";
}

これだと同じ人がダブって出てしまうことがあります。
同じ人がだぶって出ないようにする方法はありませんか?
620名無しさん:2001/01/15(月) 01:04
>>619
連装配列ですでに選ばれた数を保持すればどうですか?
621620:2001/01/15(月) 01:17
不親切だったかな。
こうすれば楽ですね。

$ninzulog = @NINZU;
srand;
undef %conflict;
for ($i=1;$i<=10;$i++) {
 ($no,$hito) = split(/<>/,$NINZU[rand(@NINZU)]);
redo if $conflict{$no}++ > 1;
 print "$i番目$hitoさん";
}

622japu([email protected]):2001/01/15(月) 02:21
(別解) ハッシュ (連想配列) を使用しない方法。ただし、元の配列を破壊します。

#! /usr/bin/perl -w
@array = ("00".."19");
@ayu = ();
for (0..9) {
push @ayu, splice @array, (int rand @array), 1;
}
print "@ayu\n@array\n";
__END__
623htmlをlynxでdumpしたものからリンクを取りたいのですが:2001/01/15(月) 02:50
----l_link.pl
#!/usr/bin/perl
if(($a=index($_, 'Reference')) >=0){
$b= substr ($_,$a);
print "$b\n":
}
exit;
---------とゆうので
lynx -dump ~/index.html |l_link.pl
トやるとbroken pipeになってしまいます
間違っているとこを教えてください
あと出きればリンクを配列に入れたいと考えているので
そのためのスマートなやりかたでもあればお願いします
lynxのオプションでもリンクのみ表示みたいなのは無さそうでした
624カニピラフ:2001/01/15(月) 02:53
620さん、japu([email protected]) さんreありがとうございます。

620さんの方法を試してみましたが、まだ重複するようです。何故でしょう?

japu([email protected]) さんの方法は、うまく応用出来ないです(T_T)
625japu([email protected]):2001/01/15(月) 03:31
>>623
根本的に間違っています。もう少しperl勉強してからの方が良いです。
リンク一覧を得たいなら、LWP::UserAgent + HTML::Parser あたりで何とかした方が良さげ。

>>624
頭を働かせましょう。
for ($i=1;$i<=10;$i++) {
($no,$hito) = split(/<>/,splice @NINZU, (int rand @NINZU), 1;
print "$i番目$hitoさん";
}

621さんの方法を使うなら、
redo if $conflict{$no}++;
または
redo if ++$conflict{$no} > 1;
では?
# 自動インクリメント演算子は前置と後置で評価されるタイミングが違うので注意。
626Just Another Perl Hooker:2001/01/15(月) 03:52
>>623
lynxのdumpが何をするのか知らんけど、スクリプトがデータをどこからも取ってません。

while( <> ){
  if( .. )
}
627623:2001/01/15(月) 05:48
>>626
アドバイス感謝です、また一つここで勉強させてもらいました
>スクリプトがデータをどこからも取ってません。
ホントその通りでした。取り敢えず、前に
@c = <>;
$_=join("",@c);
とつけて、$b= substr ($_,$a+12);として、後ろに
@d = split(/\n/,$b);
foreach $e (@d){
push ( @g , $f );
}
とつけてなんとか出来ました。感謝!
628626@間違い:2001/01/15(月) 05:52
@d = split(/\n/,$b);
foreach $e (@d){
$f= substr ($e,6);
push ( @g , $f );
}
でした
629623@間違い:2001/01/15(月) 05:53
@d = split(/\n/,$b);
foreach $e (@d){
$f= substr ($e,6);
push ( @g , $f );
}
でした
630名無しさん:2001/01/15(月) 22:03
お絵描き掲示板設置したいんですけど
解説してるサイトとかありませんか
631名無しさん:2001/01/15(月) 23:11
レンタル掲示板にもアクセスログをつけたいのですが
どうすればいいのでしょうか・・・。
632適当クン:2001/01/15(月) 23:17
>>631 書き込んだ人はムリかな?来た人はフレーム使えばできるかも
633631:2001/01/15(月) 23:32
フレームですか。
レンタル掲示板のタイトルに使うGIFからも取れるんですか?
どっちのほうが簡単でしょうか?
634カニピラフ:2001/01/16(火) 01:53
>>625
redo if $conflict{$no}++;
redo if ++$conflict{$no} > 1;
どちらでも出来ました。

>自動インクリメント演算子は前置と後置で評価されるタイミングが違うので注意。

どっちを使うべきかこれから調べます^^;

620,621さん、japu([email protected]) さん有難うございました。
635620:2001/01/16(火) 02:55
はう。寝ぼけてたよ。
japuさん、カニピラフさん、すんません。
636名無しさん:2001/01/16(火) 05:01
>>633
フレームは無理だと思う……。
どこのレンタル掲示板か分からないから答え難いけど、
imgタグで別に設置したCGIを呼び出すか、
どこかの無料サービスを利用するべし。
637名無しさん:2001/01/16(火) 10:46
>> $str = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr;

をどこかから拾ってきて、使ったのですが、、
数字のまま変換されないのですけど、、何が原因なんでしょうか?
638名無しさん:2001/01/16(火) 10:53
コンパイルサービスってありますか?
自分のLINUXのcでcgiを作ったものを、自分が
契約しているプロバイダに置きたいので。
プロバイダは某biglobeです。
639名無しさん:2001/01/16(火) 11:16
>>637
逆引きが制限されている、に300カノッサ。
640名無しさん:2001/01/16(火) 12:11
>>637
$str = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;
でどうだ?
たぶん、MiniBBSあたりから拾ったんだと思うが、それだと$hostが空だと動作しない。

>>638
telnet.cgiで検索してみるべし。
# 未だに配布しているかどうかは知らん

641640:2001/01/16(火) 12:12
なんか日本語が変だ・・・。
642637:2001/01/16(火) 12:42
>>640
bingo!!
ありがとう。そのとーりでした。
643名無しさん:2001/01/16(火) 17:14
プログラム組んでるとやたらと眠くなるんですが、
どうすればよいでしょう。
644名無しさん:2001/01/16(火) 17:22
コーラ、たばこ、モカ等で目を覚ましましょう。
645今日でたぴょん? :2001/01/17(水) 22:08
今日でたぴょん?
646時間の取得について:2001/01/18(木) 05:30
$ENV{'TZ'}="JST-9";で時間を取得するとの事ですが、
これが米国の場合にはどうなるのでしょうか?
東海岸在住ですがサーバーは3時間時差の有るネバダ州
にあります。

それとどうして日本は"JST-9"なのでしょうか、グリニッジ
標準時プラス9時間だと思っておりました。
647japu(AyuMoe):2001/01/18(木) 06:01
どこでも、$ENV{TZ}="JST-9"; $lt = localtime; すればよろしい。
# localtime(time + ...) という変なコーディングも良く見掛けるけど。

"JST-9" については、man tzset, man tzfile かな。
Offset部 (-9) ではUTC (GMT) との差分を表しますが、本初子午線よりも東にある場合には負になります。
そういうものだと思って下さい。
648時間の取得について:2001/01/18(木) 07:54
>647さんありがとうございます。
>どこでも、$ENV{TZ}="JST-9"; $lt = localtime; すればよろしい。
$ENV{TZ}="JST-9"; のあとに$lt = localtime; を書き込めば
ニューヨークでの時間がとれると解釈をしてよろしいのでしょうか?

JST-9の疑問をありがとうございました。
649japu(AyuMoe):2001/01/18(木) 08:08
>>648
違います。"JST-9" なのでどこでも、日本標準時を得ることができます。
NYの時刻を得たい場合は、"EST+5" かな。(もしかして、これを聞きたかったの?)
650時間の取得について:2001/01/18(木) 15:05
>>649さん
そうなんですが...."EST+5"でも駄目みたいです。
"UTC+5"も試したのですが。
651?¢?B1/2:2001/01/18(木) 15:11
氏んだ〜〜〜〜〜
なんじゃこりゃ〜〜〜〜
えらいバグに遭遇 (笑)
652名無しさん:2001/01/18(木) 19:00
IP表示のBBSスプリクトのことなんですが、管理人のIPだけを
無記入にすることって出来ますでしょうか?
コレってやっぱりマズイかな。。。
もし解る方がいらっしゃいましたらよろしくお願いします。
653ブチ:2001/01/18(木) 19:09
>>652
パスとかで管理者だけを識別してIP見せないように改造するしかないんじゃないかな?
既存のものでそういう機能があるものは知らないし、
管理者だけというのはいい印象をもたれないだろうから配布物ではそもそも無いのだと思う。

見られたくないなら全員非表示にすればいいのじゃないかな?
あれは管理者以外が見れても利点があまりないだろうし。
654名無しさん:2001/01/18(木) 19:16
>>652
if ($name eq '管理人') {
$addr = '';
} else {
$addr = $ENV{'REMOTE_ADDR'};
}

な感じでいい?
6557誌:2001/01/18(木) 19:27
>>652
管理人の偽者が来たらやばいでしょ・・。
$addr = $ENV{'REMOTE_ADDR'};
$addr="管理人" if($addr =~ /管理人普段のIP/)||($name eq '管理人');
こんな感じじゃ駄目なん??
まあ、管理人と同じプロバイダの人は・・・汗
656名無しさん:2001/01/18(木) 20:10
つーか、自分だけ隠すな。
地域がバレるのなら、遠くのAPに接続しろ。
657名無しさん:2001/01/18(木) 20:44
652です。
アドバイスありがとうございました。
皆さんさすがですね!
やっぱり自分だけ隠すのはよくないですよね。。。
ちょっと警戒しすぎてしまいました。
どうもスミマセン。
658有志の方を募っております。:2001/01/18(木) 22:05
http://yasai.2ch.net/test/read.cgi?bbs=company&key=979739014
匿名メーラー組める方は大歓迎です。詳しくはリンク先をご覧ください。
659むぎ茶:2001/01/18(木) 23:42



ひとりでやってろ。

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit
660名無しさん:2001/01/18(木) 23:47
おいおい。ちく裏から荒らしきたらどーすんだよ。>むぎ

だれか、どっかにfreeCGIの設置に協力してあげたら?
あて先も限定できるみたいだからspam利用も
回避できるでしょ。

だけど、どうして匿名メールにする必要があるんだろう。
661名無しさん:2001/01/19(金) 01:00
CGIに使える言語って今現在どんなものがありますか?

Perl
C
Rudy
PHP
662名無しさん:2001/01/19(金) 01:37
>>661
何だって使える。prologで推論するCGIも作れる(ワラ

違う意味での「使える」なら、あとC++,Java,Pythonくらいかな?
663名無しさん:2001/01/19(金) 01:45
標準入出力があれば何でも使えるだろ・・。
で質問。VBで作れると思う?
アレって標準入出力ってあったっけ??
それ以前に、フォーム無しでプログラムできたかな・・?汗
664名無しさん:2001/01/19(金) 01:53
WSHはできますか?
665名無しさん:2001/01/19(金) 08:51
javaは単体じゃファイル操作が
666名無しさん:2001/01/19(金) 14:20
>>665
Servletって知ってる??
俺知らない(笑)
667むぎ茶:2001/01/19(金) 16:06
単体でもファイル操作できるけど?
668名無しさん:2001/01/19(金) 21:03
Chat-kingを,デフォルトのファイル配置で使うとアクセスログ
(chatking3.txt)がユーザにだだ漏れになってしまうのですが…。

Chat-kingの一般的なカスタマイズで回避可能なのでしょうか?
669名無しさん:2001/01/19(金) 21:49
>>668
そのスクリプトの配布場所ぐらい書いておけ。
670668:2001/01/19(金) 22:06
>>669
あ,すみません。ここです↓
http://www2a.biglobe.ne.jp/~yama/cgi.html
気になっているのは「Chat_King CGI」です。

…問題のログファイル「chatking3.txt」はパーミッション666に設定
するように指示されているのですが,…それだけではユーザが直接参照
するのを防ぐことは出来ないのでしょうか?

問題のファイルを参照一切禁止なパスに移動して,CGIが同ファイルを
呼び出す時のパスを書きなおして行く…という対処が要るのかなぁ…
とか。…単に設置方法を間違えているだけなのか分からなくて,途方
に暮れてしまいました。どうかよろしくお願いします。
671669:2001/01/19(金) 22:22
public_html より上位のディレクトリ(参照一切禁止なパス)
にファイルを置けばいいんじゃないの?
パス書き直すぐらい難しくないでしょ。
672668:2001/01/19(金) 22:36
ども。>>669さん
基本的にはやっぱりそうなるんですか。

…ということは,フリーなCGIをデフォのまま使うのは,
セキュリティ上問題がある…ということになるんですね…。
どうもありがとうございました。
673名無しさん:2001/01/20(土) 16:04
CGIをローカルで動かそうとしたのですが500Errorとか言う物が
発生し実行する事が出来ません。
htmlなどは表示出来るのですがCGIだけ無理みたいです…
ファイルが足りないと言う事は無いと思います。
一応書籍を買って調べてみたのですがそれらしい記述は無いし…
貰い物なのでCGIの内容も間違っている事は無いと思います。
こんな感じの初心者が陥りがちなミスは無いでしょうか?

使用ブラウザIE5 Win98 AnHTTPdとか言う物を使ってます。
674名無しさん:2001/01/20(土) 16:16
>>673
Perlが入っていない、に300ガブス。
675673:2001/01/20(土) 18:16
>>674
perlソフトはインストールして有ります…
676名も無き冒険者:2001/01/20(土) 18:19
フォームから送信されてきた情報(予め入力しなければならない物・IP・送信されてきた時間)を特定のファイルに記述するのってどうするんですか?
CGIをHPに設置したいんですけどなかなか上手くいかなくて困ってます・・・。
677名無しさん:2001/01/20(土) 18:37
>>673
サーバにアップして実行したらどうなる?
それから、シンプルなスクリプトで試してもエラー出る?
678名無しさん:2001/01/20(土) 18:39
>>676
そんな基本中の基本を漠然と聞かれても・・・
初心者向けの解説サイトにいやと言うほど書いてると思うが・・
679673:2001/01/20(土) 18:44
>>677
KENTさんと言う方のページに置いてあったテスト用のCGIで、
試しているんですけど、どうも駄目みたいです…
CGIの最初に書くPerlソフトの場所も合っていると思います・・
サーバにUPですか…やってみますが未だ良く解りません。。。
680名も無き冒険者:2001/01/20(土) 19:25
書かれてるんですけど上手くいかないんです・・・。
jperlに通したけど記述ミスは無し、パーミッション設定も間違ってないのに。
681678:2001/01/20(土) 19:40
>冒険者
もしかして自作じゃなくて配布スクリプト?
682名無しさん:2001/01/20(土) 20:51
>>679
perl.exe にパスが通っていない,に100ペリカ.

683  :2001/01/20(土) 20:54
>>673
パールのパスは通ってるかい?SET PATH=うんたらかんたらっての。
あと、インストール場所とスクリプトに書いてあるパス。
684  :2001/01/20(土) 20:55
あら、らりってるうちに先客さまが。。。
685厨房ですんません:2001/01/22(月) 12:34
ブラウザからCGIのソース見る方法があると聞いたんですが、
ウソなんでしょうか?
686名無しさん:2001/01/22(月) 12:39
>>685
嘘です。忘れて下さい。
687名無しさん:2001/01/22(月) 15:12
今フォームのデータをメールで送るプログラムを制作しているのですが
下のソースだとメールが送信されないのですが何故でしょうか。
-t -f はサーバの指定です。
$libr = '/usr/lib/sendmail';
$adress = Eメール'アドレス';

$M_00="title";
$massage = <<END_OF_MESSAGE;
subject: $M_0
$A_0,$A_1,$A_2,$A_3,$A_4,$A_5,$A_6,
END_OF_MESSAGE
open(MAIL, "|$liby -t -f$adress") or die ("送信に失敗しました");
print MAIL $massage;
close(MAIL);
688むぎ茶:2001/01/22(月) 16:53
$message が $massage (マッサージ) になってるから。 − 完 −

じゃなくて、メールヘッダと本文の間には空行が必要。
Subject: $M_0 の行の下に空行を入れてみてね。
689むぎ茶:2001/01/22(月) 17:54
お にせむぎ茶発見
っていうか おいらもだけど
690687:2001/01/22(月) 18:15
>>688
誤字どうもです、直しました。

空行を入れても動きませんでした。
文法エラーもなく実装してもメール以外の不具合はないのですが
なぜかメールだけが動かないのです。
691名無しさん:2001/01/22(月) 19:27
$libr と $liby
692名無しさん :2001/01/22(月) 23:30
open(MAIL, "|$libr -t -f$adress") || die "失敗しました";
693名無しさん:2001/01/22(月) 23:37
VB、WSHでCGIが作れるのでしょうか?


694むぎ茶:2001/01/23(火) 10:24
CGI が作れるってのが意味不明。

ただしく結果を返すんなら別に Perl でも C でも VB でも WSH でも
いいんじゃないの。
695693:2001/01/23(火) 12:49
>>694
だから・・値を返す方法があるのかな?って事
環境変数は、取得できる気がするけど
フォームとか使わずに、標準入出力のみ使ったプログラムって
WSH、VBでもできるのかな?ってことです。
696名無しさん:2001/01/23(火) 16:18
「だから」と言われても、、、
帰ったほうがいいよ >>695
697名無しさん:2001/01/23(火) 17:44
WSHは知らんが、VBなら可能。
AllocConsoleでコンソールを生成しろ。
698名無しさん:2001/01/23(火) 23:27
FFアドベンチャーって負荷が高いのでしょうか。
設置してみたいのですが知っている方お願いします。
その場合は箱庭とこちらとどちらが負荷が高いですか。
スレ違いかもしれないのでsageさせていただきます。
699名無しさん:2001/01/24(水) 07:33
#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<html><head><title>移動中</title><meta http-equiv=\"refresh\" content=\"0\; url\=http://〜〜〜.html\"></head>\n";
print "$body\n";
print "<font color=\"\#ee0077\" size=5><b><a hreh=\"http://〜〜〜〜〜〜.html\">ページが変わらないときは ここを押す</a></b></font>\n";
print "<hr width=40\%><br>\n";

print "</body></html>\n";


何がおかしいのでしょうか。
サーバーエラーが帰ってきます。
700名無しさん:2001/01/24(水) 07:39
エラーメッセージも書かないで、人に聞こうとするその態度。
701むぎ茶:2001/01/24(水) 08:18
Internal Server Error か?
だったらスクリプトの文法以前に実行されてない。
改行コードとか、 Perl のパスとかをチェック。
あと、 $body はどこで定義されてんの?
702名無しさん:2001/01/24(水) 09:53
content=\"0\;
なんかおかしいしいだろ・・。

ってかこんなもん聞くな、氏ね。
703名無しさん:2001/01/24(水) 11:34
っていうかなんでLocationしないんだろうね
704むぎ茶:2001/01/24(水) 11:47
>>702
そのあとの \= も妙だ。
ていうかヒアドキュメント使えばいいのに
705名無しさん:2001/01/24(水) 14:46
http://www.cgiboy.com/

ここのレンタルチャットみたいなCGIどこかにありませんか?
あと、このチャット、ROMってると閲覧者として表示されるんですが
それは、どうしたら、そんな表示が出せるんでしょうか?
表示させる方法・させない方法を教えて下さい。
宜しくお願いします。
706名無しさん:2001/01/24(水) 15:36
>>699
<a hreh=\"http://
ここもおかしい。
まずきちんと確認しろよ。
707697:2001/01/24(水) 16:50
訂正。
CreateFileでCONをオープンしてReadFile、WriteFileでアクセスだ。

鬱(略
708むぎ茶:2001/01/24(水) 18:21
VB素人ですが、CONデバイスをオープンすれば標準出力になるの?
Windowsって不思議ー
709女欲しい:2001/01/24(水) 22:07
出会い系サイトで登録者それぞれに匿名メール送れるシステムが
あるけど、あれって一人一人にフォームメールのプログラム作っ
てるの?
それとももっと便利なプログラムあるの?
厨房な質問ですまんが、詳しい方レスお願い。
710名無しさん:2001/01/24(水) 22:49
>>698
凄い負荷高いみたいよ。
結構設置禁止サーバが増えてきたみたい。
Csideは禁止だし。
711名無しさん:2001/01/24(水) 23:25
そうか!CreateFile使えばVBでも
標準出力が可能なんだ♪
環境変数取得は、VB関数で用意されてるんかな??
anhttpd使ってVBCGIなんて楽しそう(笑)
いくらVBでもコンパイルしてる分Perlより早いでしょ。
712名無しさん:2001/01/24(水) 23:35
Perlコンパイルすりゃいい。
713ダボが:2001/01/25(木) 00:26
NTダボやろゴルァ!!
ボケが何が哀しゅーて半日カウンターの設置に費やすんじゃダボ!!
714名無しさん:2001/01/25(木) 00:51
>713
それはあなたが。。。。。
715あつこ:2001/01/25(木) 02:24
Phoenix Website Laboratory
というサイトをしりませんか?この
http://ami.wcn.to/cgi/idsp/xboard.cgi?bno=11
cgiをどうしても使いたいんです。
ご存知の方、どうか教えてください。m(_ _)m
716ちか:2001/01/25(木) 03:26
配列のサイズって簡単に取得できますか?
配列がなんこあるかとか。
初心者でごめんなさい。
717名無しさん:2001/01/25(木) 03:27
すみません。
簡単なことかもしれませんが個人名を入力させて、
http://www.xxxx.co.jp/個人名/index.html
にそれぞれ飛ぶようにしたいのですが、
どのようにしたらいいでしょうか。
FORMでPOSTメソッドを使って、locationで飛ばそうと思ったんですが、
locationで指定するURLの中に変数が入ってるとうまくいきません。
よろしくお願いします。
718717:2001/01/25(木) 03:51
ヘッダはどうしたらいいのでしょうか。
ヘッダにlocationをかくと
http://www.xxxx.co.jp//index.html
に行ってしまいます。
719ほういち:2001/01/25(木) 03:51
>709
>>あれって一人一人にフォームメールのプログラム作ってるの?
そんな訳ないでしょ・・・
>716
配列のサイズというか要素数ですか?
もしそれなら、スカラーのコンテキストで配列を評価すると
配列の要素数がわかります。 または$#配列名で配列の最後の
要素の添え字がわかります。
@arry = ( "hi" , "ki" , "ko" , "mo" , "ri" );
$len = @arry ;
print "要素数:$len \n";
print "最後の添え字:$#arry \n";
実行結果
要素数:5
最後の添え字:4
ご存知とは思いますが配列の添え字は0から始まりますので
$#arryは要素の数より1つ少なくなります。
720ほういち:2001/01/25(木) 03:59
>715
あれそのものは配布されてるものじゃない気がするけど、
あれだけの機能でよければそこらにあるスクリプトを
ちょっと改造すればできると思います。
単にメールアドレスが公開されない掲示板ってだけでいいんですよね?
それだったら例えばレスキューの掲示板なんかだと簡単に改造できるかと。
721名無しさん:2001/01/25(木) 18:30
>>717
その変数に値は入ってるのかなぁ?
722名無しさん:2001/01/25(木) 19:55
初歩的質問ごめんなさい。
よくCGIのログが消えてしまうんですが
あれを防ぐ方法はあるんでしょうか?
やはり細めなログ取りが一番?
723名無しさん:2001/01/25(木) 23:26
データベースを扱うCGIを作ろうと思うんですが
Perlじゃ重いですかね?
他に何かお勧めのものありますか?
724名無しさん:2001/01/25(木) 23:42
>>722
まずスクリプトを見直すべし。
よっぽどなアクセスがなければ壊れる事は滅多にない。
ファイルロックを使っても壊れるならスクリプト見直す方がいい。

ファイルに書き込むはずのデータが空になっているという凡ミスは
ありがち過ぎる。
725名無しさん:2001/01/25(木) 23:43
>>722
まずスクリプトを見直すべし。
よっぽどなアクセスがなければ壊れる事は滅多にない。
ファイルロックを使っても壊れるならスクリプト見直す方がいい。

ファイルに書き込むはずのデータが空になっているという凡ミスは
ありがち過ぎる。
726名無しさん:2001/01/25(木) 23:44
鯖が重くて二重投稿になった。
すまない。
727名無しさん:2001/01/26(金) 00:13
>>723
PHP+MySQLなんてどう?
728723:2001/01/26(金) 00:25
>>727
オーソドックス過ぎますけど
逆に言えば一番信頼性があるってことですかね?
729727:2001/01/26(金) 00:33
>>728
PHP+MySQLを勧めた理由は、双方の相性がよく、日本語を扱いやすく、
コストを抑えつつ手軽に導入でき、速い検索が望めるから。
多くの機能が必要なら、MySQLは向いてない気がする。
730723:2001/01/26(金) 00:38
>>729
なるほど。
的確なレスどうもありがとうです。
731717:2001/01/26(金) 04:44
>721
入ってます。変数をprintすると正常に表示されます。
ヘッダがplain/htmlじゃlocationが効かないみたいなんで、
printでHTMLを書き出してrefreshで飛ばすのがいいのでしょうか?
ご教授お願いします。
732名無しさん:2001/01/26(金) 11:24
>>731
なんでだろね?
print "Location: http://www.xxxx.co.jp/$uname/index.html\n\n";
な感じで行けないの?
無理ならソース見ないとなんとも言えない。

ちなみに、plain/htmlなんてないよね?
text/htmlかtext/plainの間違いだよね?
733717:2001/01/26(金) 21:57
732さん、みなさんどうもありがとうございました。
できました。
原因はヘッダだからと考えて、一番頭の変数に値を読み込む前に書いていたのと
locationの前に変数の値を確認するために余計なprint文があったからです。
ちなみにplain/htmlは酔っ払って書き間違いました。
本当にありがとうございました。
734名無しさん:2001/01/29(月) 18:32
米鳥なんですけど、502エラーがでてしまって表示されません・・・。
BBSもカウンターも。
更新とか押したらたまにひょうじされます。
原因は・・・?
735名無しさん:2001/01/29(月) 19:37
502 Bad Gateway
736初心者:2001/02/01(木) 12:31
ネット上で配布されてる簡単なゲームを、自分のhpに貼り付けたいのですが、(CGIとかプログラムとかの知識が
Oです。Hpは、ビルダーでマウス操作だけで作りました。)どうすればいいのか、簡単な流れを教えてください。
737名無しさん:2001/02/01(木) 14:20
彼ら初心者は学習する事を知りません。
「教えて下さい、お願いします」等の単語しか書けないので、
教える側は怒りを覚えます。

殆どの問題は検索エンジンや書物などを使えば解決します。
perl講座や関連書物が沢山あるはずです。
キーワードはperl 初心者 解説です。
(検索機を知らないと思うので) →http://www.yahoo.co.jp/
ここのTOPにもありましたよね?

インターネット人口が増えると、こういう人が増えて困ります。

あと、「初心者」という言葉を使って質問をするのは
かなり悪質です。初心者=誰もが教えてくれる、ではありませんよ。
教えてもらえる情報を、赤の他人から只で手に入ると勘違いしていませんか?

初心者だから解からないでは無く、初心者だから解からない事を調べると
いう考えを持つべきです。徹底的に調べましょう。シラミ潰しに。他力本願は駄目です。
熱くなりましたが、以前悪質な初心者がいましたので。
過去ログを見ない、検索しない初心者は回線を切断してもう一度
出直してください。宜しくお願い致します。
738名無しさん:2001/02/01(木) 17:49
自分で調べられないから初心者なんじゃん。わけわかんね。
739名無しさん:2001/02/01(木) 20:59
738の言ってることの方が的を得ているように思う
740名無しさん:2001/02/01(木) 21:32
調べること自体不可能なんて奴は居ないでしょ。2chに書き込みが出来るくらいなら。

せめて調べたけどわからない、調べたけどうまく見つからない、と書け。
741名無しさん:2001/02/02(金) 00:23
>736
1.CGIが可能か確認。
2.DLしたファイル(***.cgi)をワードパッドで開く。
3.Perlパス(例:#!/usr/local/bin/perl)を直す。
4.文中のコメントに沿って直す(パス,URLに注意)。
5.FTPでアップロード。
6.パーミションをReadme.txtに沿って変更(755,666等)
7.実行。
742名無しさん:2001/02/02(金) 01:24
パソコン買う金あんだから、本買え!本!

教えたい君は尾奈ってろ
743名無し~3.CCD From Win:2001/02/02(金) 02:42
前後に空白以外の文字がないリンク部分を*一つずつ*切り出す
スクリプトを書いています。Perlメモを参考に、マッチの部分を
/(?<=>)[\s\t\n]*<A(?:[^\"\'>]|\"[^\"]*\"|\'[^\']*\')*>(.*?)(<\/A>)
[\s\t\n]*(?=<)/
のように書いたのですが、複数のリンクが続けて並んでいるとき
(<A href=...>...</A><A href=...>...</A>など)一度にマッチしてしまいます。
一つずつマッチさせる方法はあるでしょうか?
正規表現の詳しい本がなくて…スミマセン本買イニ逝ッテキマス
744名無しさん:2001/02/02(金) 15:36
age
745名無しさん:2001/02/02(金) 23:31
>>743
そのページの'URI(URL) の正規表現'を参照
746名無しさん:2001/02/03(土) 02:32
>>736
煽り、叩きは完全無視しましょう。
sageでもレスはやめて、まったり逝きませう。

CGIが動くまで、ここで質問すれば良し。
747初歩的な質問かもしれませんが:2001/02/03(土) 05:18
tripod.comで、cookieをsetしているのにgetできません。
ブラウザを確認するとちゃんと保存されています。
しかし環境変数を取ったところ、HTTP_COOKIEが空でした。
これはcookieが使えないということなのでしょうか?
それとも海外のサーバの場合は何か設定が必要なのでしょうか?

# 同じスクリプトでfreewebではcookieが反映されています。
748>747:2001/02/03(土) 05:42
CGIでヘッダが出せればサーバは関係ないよ
PATHは合ってる?
749名無しさん:2001/02/03(土) 07:38
expiresは?
750747:2001/02/03(土) 07:41
>>748
pathもdomainも色々試したのですが、うまくいきませんでした。
他のスクリプトで試したらpath、domainを指定しなくてもcookieを
取得できていたので、スクリプトに問題があるのかもしれません。

もう一度見直してみます。ありがとうございました。
751747:2001/02/03(土) 07:47
>>749
expiresは有効期限ですよね?
今ブラウザに保存されているcookieを確認したら有効期限は
有効期限: 2001年4月3日(火) 10:11 PM GMT
となっていました。
752名無しさん:2001/02/03(土) 07:55
んと、
http://wakusei.cplaza.ne.jp/twn/cgi-bin/wwwcook.txt
COOKIEに関してはとほほさんで十分なのでこれを見てみると良し。
753名無しさん:2001/02/03(土) 23:20
いいスレあげ
754名無しさん:2001/02/03(土) 23:55
C言語の構造体みたいな機能は、Perlでは
どんな感じで実現すればいいんですか?
リファレンス使えばできそうなんだけど
いまいちしっくりこなくて・・。
755名無しさん:2001/02/04(日) 00:13
UG系によくある、ディレクトリを掘ったり適当なファイル名入れて
アクセスしようとすると「そんなファイルないよ」つって
時間とか機種名とか表示してくれるCGIの元スクリプトってどこにあるんでしょうか?
あちこち探したけど見つかりません。名称も分からないし・・・
どなたかご存じの方教えてください。
756halC:2001/02/04(日) 00:37
それは.htaccessのErrorDocumentじゃないかい?
UG系に限らないのだが…
時間とか機種名とかは、JavaScriptかSSIかな。CGIでもできるけど。
757名無し~3.CCD:2001/02/04(日) 01:40
>>754
Perlに構造体はありません。(ほんとです) ですが、おっしゃるように
リファレンス(無名ハッシュへの)を使えばそれらしいものはできます。

$nanika={};
print '名前を入力してください'."\n";
$_=<>;
chop;
$nanika->{'name'}=$_;
$nanika->{'age'}=0xb;
&show($nanika);

sub show
{
print "私の名前は$_[0]->{'name'}です。年は$_[0]->{'age'}歳です。\n";
}

のようにします。
もっとも構造体の型宣言も型チェックもないので、使うときに注意は必要ですが。
758名無しさん:2001/02/04(日) 03:44
こんなこともできる。

$person = struct( 'name', 'age', 'sex' );
$name = struct( 'first', 'last' );

$p1 = $person->( $name->( 'taro', 'yamada' ), 10, 'male' );
$p2 = $person->( $name->( 'hanako', 'yamada' ),, 10, 'female' );

sub struct{
my @member = @_;

return sub{
my %str;
foreach( @member ){ $str{$_} = shift }
\%str;
}
}
759名無しさん:2001/02/04(日) 09:29
箱庭諸島のような、「ある時間になったら処理をする」仕組みが知りたいです。
760JAPU(AyuMoe):2001/02/04(日) 09:41
cron

man 8 cron
man 1 crontab
man 5 crontab
761名無し~3.CCD:2001/02/04(日) 14:02
>>758
うわ、負けた。なるほどね。
>>745 Perlメモをよく読んだけどまだよくわからない…頭悪いの?<自分
>>759 そこスクリプト公開してるじゃん。2だけど。
イベント駆動じゃないんだから、基本的に時間を監視するしかないよ。
762名無しさん:2001/02/04(日) 14:49
えー、Windows2000 SP1のIIS5にActivePerlの環境なんですが、
MiniBBSやLight Boardなどの掲示板CGIで書きこみをするとき、
Netscape Communicatorに限って、
異様に時間がかかります(20秒とか30秒とか)。
IE5.5やMozillaだとすぐにレスポンス帰ってくるんですけど。

どなたか原因に心当たりないでしょうか?
763名無しさん:2001/02/04(日) 18:26
>>762
単にレイアウトが確定できないHTMLを吐いてるだけのような気もする。
(なぜなら、Netscape<6.0未満>は確定するまで表示しないから)
764762:2001/02/04(日) 19:39
>>763
どうもです。でも、どうやらそういうことではないみたいです。

んで、サーバをApacheに変えてみたんですが変化ありませんでした。
しかも、Communicatorのステータスバーに
Connect: Host localhost connected. Waiting for reply...
と出て止まっているときに他のウィンドウをアクティブにすると
なぜかすぐにページが更新されます。

うみゅう、なじぇええええ〜
765名無しさん:2001/02/04(日) 20:12
ディレクトリ内にあるファイルの数取得する時どうするのが一番効率的ですか?
自分が思いついたのは、

opendir(DIR,"/path/to/");
@files = readdir(DIR);
closedir(DIR);
$no = @files;
$nannko = $no - 2;
766名無しさん:2001/02/04(日) 20:53
>ファイルの数
-2 だけじゃ足りない場合も、、、あるかもネ
767JAPU(AyuMoe):2001/02/04(日) 21:32
>>766
とりあえず、grep { -f } して regular file だけ取り出すとか。
768名無しさん:2001/02/04(日) 22:16

掲示板とかで名前とかの空欄の書き込みを拒否したいのですが

769JAPU(AyuMoe):2001/02/04(日) 22:22
$cgi = new CGI;
&nbsp;&nbsp;:
die if($cgi->param("name") eq "");
770名無しさん:2001/02/04(日) 23:16
掲示板とかで書き込み内容をアルファベット(a-z)のみ受け付けるようにしたいです。
お願いします。
771名無しさん:2001/02/04(日) 23:17
\w
772AyuMoe(JAPU):2001/02/04(日) 23:45
$moe =~ tr/a-z//dc;
-or-
die if($moe =~ /[^a-z]/);
-or-
die if($moe =~ /[\W_]/);
773名無しさん:2001/02/04(日) 23:50
CGIのカウンターについてお伺いします。
1つのスプリクトで複数設置できるのがありますが、
多ページ・多サーバーで使ったら重くなりますか?
あまり乱用したらサーバーダウンしてしまうのでしょうか?
それと画像タイプよりテキストタイプの方が表示が早いですか?
すみませんが、ご存知の方よろしくお願いします。
774名無しさん:2001/02/05(月) 00:18
sendmail使えるところってないですねえ。
セキュリティ上かなり問題あるからかなあ
別に悪意のあるCGI動かすわけじゃないけど
775名無しさん768:2001/02/05(月) 00:18
japuさん、ありがとうございます。
コピペしましたが、実行されてしまいます。
いまいちど、解説お願いします。。。。
776AyuMoe(JAPU):2001/02/05(月) 01:13
>>773
素のperlで動かしていたら、かなり負荷がかかるだろうね。
たとえば、Cで書かれた
http://www.muquit.com/muquit/software/Count/Count.html
ならよほどのことが無い限り大丈夫だろ思う。

>>774
うちはさくらのパーソナルサーバだけど使えるよ。:-)

>>775
直接的な答えを書いたわけではないので、コピー&ペーストではうまく行かないことも多いだろうなぁ。
というか、それだけの情報ではこれ以上のアドバイスは「Perlの文法を勉強してね」くらいしか胃炎。
とりあえず、本屋に行って「プログラミングPerl 改訂版」か "Programming Perl 3rd Ed." 買ってこよう。
http://www.perl.com/pub/v/documentation あたりでも良いけど。
777名無しさん:2001/02/05(月) 03:16
778名無しさん:2001/02/05(月) 04:46
>774
海外鯖探せ。使えるとこ、たくさんあるだろ!ドアホ
そんなこともできないドキュソ君がCGIなんて動かさないでね(´∀`)ゲラゲラ
779名無しさん:2001/02/05(月) 06:33
Perlのリファレンスで分かりやすく良い所は何処ですか?
とほほのperl入門のような形式だと分かりやすいですが
いまいちセキュリティーの事とかかかれていないし
未完成な部分の所もあるので不安です。
780名無しさん:2001/02/05(月) 06:36
781779 :2001/02/05(月) 07:20
>780
英語ですか、、、日本語のサイトでありませんか?
782名無しさん:2001/02/05(月) 10:36
あとはperldocやね.
あ,日本語じゃないとダメなんだっけ

青ラクダでも買っとけう゛ぁ
783782:2001/02/05(月) 10:51
といいつつブックマーク漁ったら
http://www.kt.rim.or.jp/%7ekbk/perl5.005/
出てきた

英語読めた方が後々いいと思うけど
784wowwow:2001/02/05(月) 12:38
Perl初心者の質問です。。
掲示板などで、書き込んだ内容を例えばdata.datなどのファイルに
格納しますが、今まで普通の文字で格納できたのに
どこかいじってしまったせいか、新しく書き込むと文字が&#12345;などの表記になってしまいます。
こういう場合疑うべき所ってどこなんでしょうか。。

ちなみに<option>タグのvalueの値が&#12345;に変わってるっぽいです。
785wowwow:2001/02/05(月) 12:40
うが。。表示されない。。
&#12345;→&#12345;に置き換えてください。。
786コピペ@未記入はエラーにしたいぴょん:2001/02/05(月) 23:12
#どこがイタイのでしょうか?

open(OUT,"|$mailer $address") || die "送信できませんでした\n";

$cgi = new CGI;
:
die if($cgi->param("realname") eq "");

$Etitle = $form{'titlename'};
$Ename = $form{'realname'};
$emale = $form{'mailaddr'};
$comment = $form{'comm'};

print OUT "Mail From Web\n";
print OUT "$Etitle\n";
print OUT "氏 名:$Ename\n";
print OUT "E-Mail:$emale\n";
print OUT "コメント:$comment\n";
print OUT "IPアドレス:$ENV{'REMOTE_ADDR'}\n";

close(OUT);

print "Content-type: text/html\n\n";

print "<HTML><HEAD><TITLE>index.htm</TITLE></HEAD>\n";
print "<BODY>\n";
print "<CENTER>\n";
print "<H3>メールは送られました。</H3>\n";
print "</CENTER>\n";
print "</BODY></HTML>\n";
787名無しさん:2001/02/06(火) 00:26
DLしたBBSの設定の説明に
#!/usr/local/bin/perl
(プロバイダで定められたPerlへのパスを指定します)
とあるのですが、Perlへのパスてなんですか???
URLのことかな???
CGIのプロの御方々どうか教えて下さいm(_ _)m
788名無しさん:2001/02/06(火) 00:30
>>787 サバによって違うから、鯖の管理者に聞くんだぴょん。
789名無しさん:2001/02/06(火) 00:34
>>787
サーバ上の絶対パスです。
サーバの管理者に聞くかプロバのサイトで探して下さい。
790787:2001/02/06(火) 00:40
@NIFTYのHPに登録したのですが。
そのときにもらったhpcgi2.nifty.com/*****/
とは違うのですか??
それだけでもおしえてくださいませ<(__)>
791名無しさん:2001/02/06(火) 00:45
@NIFTYのパスは
#!/usr/local/bin/perl
792787:2001/02/06(火) 00:52
>>791(親切君さん)
ありがとうです!
絶対パスって鯖に共通のとゆう意味だったんですね。
ためしてみますです、はい!!!
他の方もどーもです。
793名無しさん:2001/02/06(火) 00:55
次はパーミッションか?(W
794795:2001/02/06(火) 01:14
パーミッションの設定はFTPでかんたんですよね(ワラ
ではでは。
795名無しさん:2001/02/06(火) 01:40
>>794 で。動いたのか?
796名無しさん:2001/02/06(火) 01:42
バイナリでアップ
797779:2001/02/06(火) 07:36
>783
遅くなりましたが有難うございます。

英語、読めないこと無いですけど
Perlはまだ殆ど分かってないんで英語じゃつらいです。
専門用語みたいの出てくると訳せないですし。
C++のリファレンスなら英語でも大丈夫なんですが。
798名無しさん:2001/02/06(火) 09:56
CGIなのかなんなのかわかりませんが、
24/7ってなんですか?
サーバー云々の話で出てくるような気がするのですが・・・・・
799ほういち:2001/02/06(火) 11:25
>798
サーバー云々で出てくるなら、24hours7daysの事でしょ。
800名無しさん:2001/02/06(火) 11:28
>>798
24hours/7days
801800:2001/02/06(火) 11:30
厭だ、かぶってもた
802798:2001/02/06(火) 11:43
ああ、そういうことだったんですか、
799さん、800さん、ありがとうございました!
803名無しさん:2001/02/06(火) 13:11
わかる方いればお願いします。
if文で「$○○ = 1」の場合で、しかも「$○○ > 100」だったら{ ;}で
エラーを出す、とういう式はどう書けばいいのでしょうか?
804名無しさん:2001/02/06(火) 13:27
1で、しかも100より大きい?
むむ・・・・・
文字列として比較してるの?
ぜんぜんちがったらごめんなさい。
805803:2001/02/06(火) 13:44
説明が間違っていました。すいません。
if文で「$○○ = 1」の場合で、しかも「$△△ > 100」です。
$○○と$△△は違う文字なんです。
806初心者の人:2001/02/06(火) 13:51
>803
$○○ == 1 && $○○ > 100 && &error('えっ、こんな事あるの?');
とか、
if ($○○ == 1 && $○○ > 100) { &error('えっ、こんな事あるの?'); }
でしょうか?
って、初心者が答えてますけども。
807あうっ806:2001/02/06(火) 13:54
if ($○○ == 1 && $△△ > 100) { &error('これでどう?'); }
808803:2001/02/06(火) 14:14
ありがとうございます。
試してみたのですが、if ($○○ == 1 && $△△ > 100) の場合
「$○○ == 1で$△△ > 100」のどちらかが当てはまれば{ ;}ですよね?
片方の条件を変えてみてもエラーがでたので。
「$○○ == 1で$△△ > 100」の条件が両方とも合わさって初めてエラーがでるようにしたいのですが。
私のやりかたが間違っているのかな(^^ゞ
809803:2001/02/06(火) 14:33
初歩的なミスをしていたようです。
おかげさまで成功しました。
810名無しさん:2001/02/06(火) 14:39
if ($○○ = 1){
 if($△△ > 100){
エラーだよ〜〜ん;
}
}

僕も初心者ですが、これじゃダメ?
ダメだったら許して〜〜〜
811名無しさん:2001/02/06(火) 14:40
うわ、成功したのですか?
ヒソーリ生きよう・・・・・
812名無しさん:2001/02/07(水) 00:28
&&
813AyuMoe:2001/02/07(水) 01:08
>>810
= は代入。比較は ==
よって、
if($moe == 1 and $nae > 100){ die "氏ね" }
814名無しさん:2001/02/07(水) 09:49
CGIではないんですが、windows上のperlで外部コマンドを実行していますが、
その結果を取得するにはどうすればよろしいでしょうか。現在は、コマンドの実行結果を
一時ファイルにリダイレクトして一時ファイルを読んでいます。
リダイレクト先をうまくすれば取り込めそうな気もするのですが、どうすればいいでしょうか。
よろしくお願いします。
815814:2001/02/07(水) 10:18
あ、よく見たらスレ違い。鬱だ死のう・・・。
でも、わかる人いらっしゃったらお願いします。
816初物:2001/02/07(水) 10:56
CGIでHTMLを作るとき
print "<font size=5>時刻表</font>";
ってやると<font size=5>時刻・/font>ってばけてしまうんですが
どのようにやれば、治るのか教えてください。
817名無しさん:2001/02/07(水) 10:59
>>816
文字コードあってる?
818名無しさん:2001/02/07(水) 11:49
>>816
print "<font size=\"5\">時刻\\表</font>";
819818:2001/02/07(水) 11:49
間違えた…
print "<font size=\"5\">時刻\表</font>";
820初物:2001/02/07(水) 12:54
>818さん
できた〜ありがとうございます。。
821名無しさん:2001/02/07(水) 13:58
>>816->>819
print "<font size=5>時刻表\</font>";
じゃない?

変数がないなら
print '<font size=5>時刻表</font>';
の方がラクだけど。
822!WU?:2001/02/07(水) 16:37
perlの勉強を始めてもうすぐで1ヶ月になるのだけど、
CGIからのメ−ルの送り方がよくわからんっす。
CGIでメ−ルとることもできるの?
823名無しさん:2001/02/07(水) 18:12
ソケットさえ使えれば、ほとんどどんなこともできます。
824CGI厨房:2001/02/07(水) 23:37
フリーのフォームメールのスクリプトをDLして
使ってるんですがメールの「送信者名」がanonymous@サーバ名
になってしまいます。任意の名前にしたくて自分で色々やってみ
たんですがうまくいきません。下のURLにスクリプト置いてあ
るんで、どう改造すればいいのかどなたか教えて頂けませんでし
ょうか。お願いします。
http://users.goo.ne.jp/hiro-1977/mailcgi.htm
825名無しさん:2001/02/07(水) 23:54
/sendmail -f
826名無しさん:2001/02/08(木) 00:26
好みのナンバー画像を使いたいがために、アクセスカウンタに
フリーのCGIを使っていますが、CGIファイルの読み込みが遅い
ためか、アクセスログに比べて数が少なくなっています。

最後の桁についてのCGIを読み出す前に、別のリンク先に飛んで
しまうためだと思います。

フレームにしてメニュー枠にカウンタを張りつけようかとも
思ったんですけど、何かお勧めの軽いCGIがありましたら
教えて下さい。
827名無しさん:2001/02/08(木) 01:13
#!/usr/local/bin/perl

$cnt_file = 'cnt.dat';

open(fp,"$cnt_file");
$cnt = <fp>;
close(fp);
++$cnt;
$len = length $cnt;
if ($len < $n) {
$imgfile = "0";
} else {
$imgfile = substr($cnt, $len-$n, 1);
}
open(IN,"img/$imgfile.gif");
@lines = <IN>;
close(IN);
print "Content-type: image/gif\n\n";
print @lines;
if ($n == 1) {
open(fp,">$cnt_file.tmp");
print fp $cnt;
close(fp);
rename("$cnt_file.tmp", $cnt_file);
}
sub frmdec
{
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
local($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$form{$name} = $value;
}
}
828名無しさん:2001/02/08(木) 01:57
これってカウンタのCGIですか?だとしたらありがとうごxざいます。
カウンタを置く表紙側には何と記述すれば言いのでしょうか。
829名無しさん:2001/02/08(木) 10:30
>>826
別にこれにしろって訳じゃないけど、
アクセスログとカウンタを付けるなら、
アクセスログを弄って訪問者数を別ファイルに書き出す用に
変更し、カウンタの方はカウントアップせずに、アクセスログが
書き出したカウントファイルを表示させるようにすれば
良いと思いますけど、どうでしょうか。
830MMQ:2001/02/08(木) 16:43
どなたかフリーCGIのオークションプログラムを
配ってるサイト知りませんか?前にヤフーと同じものを
みかけたのですが、どこで見たのかわからなくなってしまいました。
できるだけ高性能でデザインのよいもの探してます。
831名無しさん:2001/02/08(木) 17:47
どの程度のものが必要なのか知らんが、
ちょっとしたもので良いのなら 自分で作った方がいいと思うぞ。
好きなだけいじれるし。
自分も某ネットワークゲームのアイテム販売に自分で作って使ってる。
832MMQ:2001/02/08(木) 18:03
つくれないから探しているのでしゅ
833名無しさん:2001/02/09(金) 13:33
相対パスの質問なんですけれども。色々検索して読んでみたんですが
どうにも失敗してしまいます。

cgi-bin ― bbs ― bbs.cgi

home ― image ― *.gif

上のようなディレクトリ構造で、bbs.cgiから*.gifを
呼び出すのにはどのように記述すれば良いのでしょうか。
834MMQ:2001/02/09(金) 13:44
../home/*.gif
835名無しさん:2001/02/09(金) 13:51
../../image/*.gif
836上のようなディレクトリ構造:2001/02/09(金) 15:11
既製の掲示板にランダムでその人の運勢を出すような欄を
作りたいんですが、randなどの使いかたがわかりません。
ジャバスクリプトのランダムでだした関数をデータとして
送る方法も試したのですがだめでした。だれか教えて下さい。
使った掲示板はhttp://www.web-kyoto.com/web/board/です
837名無しさん:2001/02/09(金) 15:17
>>833です。
ありがとうございました^-^。やってみます。
838ほういち:2001/02/09(金) 20:40
>836
どのへんでつまずいてるのかわかりませんが・・・
適当な乱数で表示するだけなら

@unsei = ('大既知','中既知','既知','既知外','小基地','狂') ;
$no = int( rand() * @unsei ) ;
print "@unsei[$no]\n";

こんな感じです。
rand( n )は0からnまでの乱数を発生します。
nを省略すると1となります。
つまり上に書いた rand() * @unsei はrand( @unsei )と
等価です。
perl4の場合はrandを使うまえにsrandで初期化する必要があります。
839ほういち:2001/02/09(金) 20:45
初歩的なミスをやってしまいました。
3行目の
print "@unsei[$no]\n"; は
print "$unsei[$no]\n"; です。

840サゲ茶漬け:2001/02/09(金) 21:08
>>833
../../home/image/*.gif
841名無しさん:2001/02/09(金) 21:17
>>833
の便乗質問なんですが。
私の使っているサーバはhomeディレクトリにあるファイルにアクセス
する時は
www.xxx.ne.jp/gazou/*.gif
(homeディレクトリ内のgazouディレクトリ内の*.gifを呼び出す場合)
と書くのですが、その場合の相対パスもhomeって入れないとだめでしょ
うか。何度やっても旨く行かないんですが。
842名無しさん:2001/02/09(金) 23:40
public_html=homeなのかな?
843841:2001/02/10(土) 13:38
>>842さん
そうです。ftpソフトで覗くとhomeっていうディレクトリがあるんですが、
実際アクセスするときにURLにhomeとは書かないんです。
絶対パスで行けるcgiなら平気なんですが、相対パスじゃないとだめなやつ
だとだめなんですよ。
844名無しさん:2001/02/11(日) 02:50
「相対パスじゃないとダメ」っていうスクリプトはないと思うんだけど…
違ったら許してね
とりあえず絶対パスで書いてみるのに一票

でもpublic_htmlだってURLには出てこないよね

たぶん、その辺。
845名無しさん:2001/02/11(日) 03:10
>>843
基本的にはFTPソフトで表示されるパスで出来ると思うんだが。
相対の../../は階層ランクあってる?
846自信がない下げ:2001/02/15(木) 02:03
.gifってことはhtmlで出力するだけですか?
だとしたら表向きのツリー構造にしたがうだけかと。

>>833の場合,apacheのhttp.confで
DocumentRoot "/usr/local/apache/home"
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
のようになっていると,外からはhomeの下にcgi-binが見えることになる。
以上のような混乱をしたことがあります。Web鯖をはじめていじったときに。
847悩みっ子:2001/02/15(木) 17:29
このスレなら解決できるかなーって思ってきました。
cgiで掲示板を使っていますが、最近いたずらが多くて困っています。
そこで登録制にしようと思うのです。
ID/Passを発行してログインできるのですが、問題は掲示板です。
希望としては見るのは誰でも出来る。
でも書き込みしようとすると認証要求が出るか、ログインしてないと
いけない・・・っていう風にしたいんです。
一つのプログラムですけど投稿するときだけ制限するってできますか?
どうか宜しくお願いします。
848名無しさん:2001/02/15(木) 19:04
>>847
投稿時にパス入れさせる。
849二重投稿問題再び:2001/02/16(金) 00:35
>>掲示板で、二重投稿を防ぎたいのですが、
>ログファイル本体の内容を参照するのでは駄目なの?

と上の方にあり参考になりました。
一つのHTTPアドレスを複数のサーバで処理するような大規模システムでは、
どうやって対処してるのでしょうか?宜しくお願いします。
850名無しさん:2001/02/17(土) 15:35
CGIを使ってHTMLのソースを見れなくする方法があると聞いたんですが
どうやるんでしょうか?
ご存知の方レスお願いします。
851名無しさん:2001/02/17(土) 16:31
>>850

ありません。見えなくなったらブラウザも描画できないじゃないですか。
852名無しさん:2001/02/17(土) 17:02
JAVAスクリプトで右クリック禁止にしてソースを見れなくする方法が
あるらしい。
しかし「表示」→「ソース」にするとどうなるんだろう?
853名無しさん:2001/02/17(土) 18:09
右クリック禁止はリアル厨房くらいには効果的。でも、他はあんまり意味無いよ。
Shift+F10でもいいし、ブラウザ以外で見りゃいい。
HTML Encoder(だっけ?)というのもあるが、パス入力が必要なので客は逃げるだろう。

Flashしかないね。
854名無しさん:2001/02/17(土) 22:59
>>850
無理だよ。
だって自分のブラウザで見えてる時点でソースを
料理してんだからさ
公開しないのが一番の方法
855名無しさん:2001/02/17(土) 23:04
SSIを使えるのですが
気をつける点はなんでしょうか?
下手するとやばいと聞いたので。
お願いします。
856名無しさん:2001/02/18(日) 00:01
だんだんネタになって来てねえか?
857水もみ:2001/02/22(木) 11:02
すみません。質問させてください。
GETで取得すると$ENV{'QUERY_STRING'}に「=」と「&」でくぐられて
データを取得できるじゃないですか?それでPOSTの場合どんなデータ構造して
受け渡されるのか教えてください。
どうやってPOSTを使ってCGIの方でデータを取得していいかわかりません。
たとえば
<input type="text" name="mailadd">って場合にCGIの方で入力したデータ
を$mailaddに入れたいときどうしたらいいのかな?って思ってます。
あとメールアドレス取得するときに@が入ってるんですがこれはなにか処理
をしなくちゃいけないんでしょうか?教えてください。
858名無しさん:2001/02/22(木) 15:07
read(STDIN,$query,$ENV{'CONTENT_LENGTH'});
@data = split(/&/,$query);
foreach (@data){
($key,$value) = split(/=/,$_);
if($key == 'mailadd'){
$mailadd = $value;
}
}
859名無しさん:2001/02/22(木) 15:13
if( uc($ENV{REQUEST_METHOD}) eq 'POST' ){
&nbsp;&nbsp;&nbsp;&nbsp;read STDIN, $query, $ENV{CONTENT_LENGTH};
}
else{
&nbsp;&nbsp;&nbsp;&nbsp;$query = $ENV{QUERY_STRING};
}

データの構造はGETでもPOSTでも同じです。
処理は、@でも何でも、とにかく

foreach( split /&/, $query ){
&nbsp;&nbsp;&nbsp;&nbsp;( $name, $value ) = split /=/;
&nbsp;&nbsp;&nbsp;&nbsp;$value =~ tr/+/ /; # (1)
&nbsp;&nbsp;&nbsp;&nbsp;$value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2',$1)/eg; # (2)
&nbsp;&nbsp;&nbsp;&nbsp;$form{$name} = $value;
}

さえやってりゃOKです。
あとは場合によっては jcode::convert を使ったり、
場合によっては $name の方も(1),(2)を行なう必要があったり、
場合によっては $value =~ s/[^-.@\w]//g; で汚染チェックを行なったりします。

(何を言ってるのか解らないうちは、作ったCGIは自分だけで使おう)
860水もみ:2001/02/22(木) 15:17
>858さん
ありがとう!!
ってことはほとんどGETと一緒で標準入力からもってきてる(?)って感じ
でいいのかな?
861名無しさん:2001/02/22(木) 15:25
read STDIN, $query, $ENV{CONTENT_LENGTH};

なんとなく解説・・。
$queryへSTDIN(標準入力)から$ENV{CONTENT_LENGTH}(データの量)分read(読み込む)
862水もみ:2001/02/22(木) 16:05
>861さんすぐレスありがとございまうす。
簡単に理解できました。シンプリイヅベストっすねぇ〜
なっとく〜
863名無しさん:2001/02/22(木) 23:25
すばらしぃ。
864ぶくぶく:2001/02/24(土) 00:16
おしえてください。
掲示板に、レンタルのアクセスカウンタをつけるには、
どうしたらいいのですか
865名無しさん:2001/02/24(土) 03:52
つけ方の書いてないレンタルアクセスカウンタなんて
存在するのか?
それともマニュアルに2chで聞けって書いてあったか?
866名無しさん:2001/03/01(木) 11:12
リクエストフォームで送信した文字列が勝手に
コード化されてしまう場合が、100回に1回くらいあるようです。
これってIE5.0で起きてるのですが、これってバグですか?
867名無しさん:2001/03/01(木) 13:05
らくだ本ってなんですか?
868名無しさん:2001/03/01(木) 15:03
869名無しさん:2001/03/01(木) 20:53
らくだの生態に付いて詳しく書かれている有名な本だ。
知らんのか?
870名無しさん:2001/03/01(木) 21:49
↓『らくだ』と『Perl』で検索すれ!
http://japan.infoseek.com/Titles?qt=Perl&lk=noframes&qp=0&nh=10&svx=101640&col=JW%2Ccat_RES&oq=%A4%E9%A4%AF%A4%C0
この板1番の らくだ博士 になれるかも...
871名無しさん:2001/03/01(木) 21:53
先づりも書きましたが、
送信したログデーターを別の鯖のファイルに出力することは、化膿でしょうか?
872AyuMoe(JAPU):2001/03/01(木) 22:04
>>871
日本語で質問してください。
873名無しさん:2001/03/01(木) 22:19
>>872 なんでそんなに不細工なのでしょうか?
874名無しさん:2001/03/01(木) 22:26
>>873 日本語読めるようになってから書いてください
875867:2001/03/01(木) 23:57
検索という選択肢をすっかり失念していました。(汗)

これから勉強していこうと思います。
ありがとうございました。
876初心者:2001/03/02(金) 00:50
正規表現でテキストからメールアドレスを取得しようとしているのですが
メールアドレスに使用できる文字がわかりません。
メールアドレスに使用できる文字が書かれているのはRFCのいくつなのか教えてください。
またはRFCの全文検索のできるサイトがあれば教えてください。
877AyuMoe(JAPU):2001/03/02(金) 02:01
RFC 822 + RFC 1123, RFC 1138, RFC 1148, RFC 1327, RFC 2156
かな。
正規表現で書くのは非常に面倒なので、素直に Mail::Address モジュールを使おう。わざわざ車輪の再発明するのは多くの場合無意味です。

use Mail::Address;
$addrs = << 'EOF';
Just Another Perl User <[email protected]>
Webmaster <webmaster@JAPU(Ayumoe).org>,
[email protected] (Just Another Perl User)
EOF
@addrs = map { $_->address } Mail::Address->parse($addrs);
print "@addrs\n";

ここからゲット。http://search.cpan.org/

RFCの検索はここ。
http://www.rfc-editor.org/rfcsearch.html
http://rfc.asuka.net/
878876:2001/03/02(金) 05:16
>>877
ありがとうございます。

>わざわざ車輪の再発明するのは多くの場合無意味です。
あえて自分でやってみたいんです。
879超初心者:2001/03/02(金) 14:00
文字列比較演算子で質問なんですが
比較対象を変数にするってのは無理なんでしょうか?

if ($a =~ /$b/) { ; } else { next; }

こんな感じで比較したいんですけど、なぜかできなくて。。。
//の中は変数じゃダメなんでしょうか。

それともう一つ。
またまた文字列比較なんですが、年齢を比較したくて
$cに20、$dに20〜25 という文字が入っていたとして
$cが$dの間に入っていればtureを返す構文の書き方を
教えてください。

先生方、よろしくお願いします
880T女の竹田:2001/03/02(金) 19:59
>>879
一番目
$b=~s/\+|\\|\(|\[|\{|\^|\$|\*|\?|\./\\$&/g;
を前に入れると(・∀・)イイ!!
ようするにメタ文字が入っていたらそれの前に\を
つけるってこと。
881T女の竹田:2001/03/02(金) 20:05
>>879
後半
if ($c >= (split(/〜/,$d,2))[0] && $c<= (split(/〜/,$d,2))[1]) {hoge;}
でどうかな。
882教えて下さい:2001/03/02(金) 20:14
実は、会社の大嫌いな人間に、自分のプライベートHPの
アドレスを知られてしまいました。アクセス解析を取っているのですが、
明らかに会社からアクセスした形跡があるんです。(時間的に、
自分が帰ってからだし、その時間まで残っている人間は一人)

特定のIPをはじく方法はありますか?
真面目な話、ストーキングされそうでとても怖いんです。
お願いします。
883AyuMoe(JAPU):2001/03/02(金) 20:22
>>879
if($a =~ /\Q$b/) { ... } とするか、
$b = quotemeta $b; if($a =~ /\Q$b/){ ... } とするか、
if((index $a, $b) > -1) { ... } とすればよいです。
884882:2001/03/02(金) 21:05
いたずらじゃありません。
すみません、教えて下さい。
自分で調べたら、掲示板のいたずら書きこみを
やめさせる方法とかはありました。
reuire './_icode.pl';
っていう後にipを書くやり方。でも、これだとcgiのページしか
出来ませんよね?自分のHPのTOPページで弾きたいんです。
お願いします。
.htaccessっていうファイルを作る方法も調べました。
<limit get post>
っていう方法。でも、私perl初心者で分からないけど、postって
掲示板とかの投稿を防ぐやり方じゃないんですか?
本当に困っています。どなたか、教えて下さい。お願いします。
885T女の竹田:2001/03/02(金) 21:29
>>883
\Qって知らなかった…ハズカシ
\Eとセットなのね
φ(.. )メモメモ
886名無しさん:2001/03/02(金) 21:31
>>882
<Limit GET POST>
order allow,deny
allow from all
deny from 会社のIPとかHOST
</Limit>
じゃだめ?
887882:2001/03/02(金) 21:51
>886さん
レスありがとうございます。
書いていただいたのをそのままエディタで書いて
.htaccess保存して置けばいいんですか?
postって書いてあるから、掲示板とかの書きこみ撃退だと
思っていました。やってみます。
888とび対策:2001/03/02(金) 23:53
カウンタでヌルなら書き込まないってヤッテルンダガどう思う?
889名無しさん:2001/03/03(土) 01:39
>>886
<Limit GET POST>と</Limit>があったら意味ないって。
そんなものつけてたら全部弾けない。
882=887の方がわかってる。
890名無しさん:2001/03/03(土) 01:47
889=bakamarudashi
891名無しさん :2001/03/03(土) 02:04
892名無しさん:2001/03/03(土) 02:15
うわ、ホンマモンの馬鹿だ
893名無しさん:2001/03/03(土) 02:59
試してみたらどっちでも制限できたけど・・・
limitあるのとないのではどう違うのかjapuさん教えて
894AyuMoe(JAPU):2001/03/03(土) 03:03
>>893
http://httpd.apache.org/docs/mod/core.html#limit
あたりを見てください。

>>891 のURLでもよいけどさ。
895亀詰:2001/03/03(土) 03:14
質問していいっすか?

CGIのパーミッションなんですけど
普通755〜700で動きますよね?
なんか最近借りたところ動かなくて困ってます
ここなんですけど
http://www.mixedmedia.net/
だれか使ってる方いたら教えてください
サポート問い合わせても応答ないし。゜(T^T)゜。


896名無しさん:2001/03/03(土) 03:48
japuさんありがとう
In the general case, access control directives should not be placed within a <limit> section.
つまりlimitないほうが良いかもってこと???

あと、limitの中で指定するmethodは
GET, POST以外にもたくさんあるけど
特定のIPからすべてのアクセスを拒否する場合
結局どれを指定すればいいのですか?
googleで検索してみたけど
なんだか盲目的に<Limit GET POST>ばかりで・・・
中には<Limit GET>でだめな場合は
<Limit POST>でとかあって・・・
さらに<Limit GET POST PUT>とか・・・

methodについての肝心の説明がなかなか見つかりません
897名無しさん:2001/03/03(土) 04:14
MacPerlでSSLeay.pmを利用する方法がいまいちわからないのですが、
だれか教えてもらえないでしょうか・・
DLしてきたNet_SSLeay.pm-1.03.tar.gzの中に入っていた、.pmファイルを
MacPerlのlib/Netの中に突っ込んでみただけで動くもんだと思ってたのですが、
どうやらそう甘いもんでもないようで、エラーが返ってきてしまいます。
898名無しさん:2001/03/03(土) 04:30
>>895 755でも動かないの?ならperlのパスとか,基本的なチェックが先なのでは?
which perlとか。

>>896
HTTPのmethodのうち,制限をかけるものとかけないものを分けるときに使うものと
解釈しております。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

それより
<IfModule mod_access.c>
Order allow,deny
allow from all
deny from 2xx.xxx.xxx. ←会社のIP(クラスC)
</IfModule>
じゃダメなんかい?別のネットワークから見られる可能性があるけど。
.htaccessの偉い人擦れも参考に。
899名無しさん:2001/03/03(土) 08:07
無料のWebスペースで、ポップアップ広告が出なくなる
ヒントを教えてください
900AyuMoe(JAPU):2001/03/03(土) 08:21
好きなの選んで下さい。

1. JavaScript を無効にします。または非対応のUAを使用します。
2. Mozilla 0.8であれば、prefs.js に以下の行を追加します:
user_pref("capability.policy.default.windowinternal.open","noAccess");
user_pref("browser.target_new_blocked", true);
3. adzapper などの広告カットプロクシサーバを利用します。
901giko6@†:2001/03/03(土) 08:45
>>895
そこの利用者でCGIも組んだり使ったりしてるけど、
今まで動かなかったことない。まさかCGIの書きミスして
500エラーってこたないよね…
902896:2001/03/03(土) 12:20
898さん、ありがとうございます
私はlimitあるのとないのではどう違うのかが
知りたいだけなので、リンク先で勉強してきます

>.htaccessの偉い人擦れも参考に。
こちらでもlimitないほうがいいみたいな事書かれてますね
あると有害とまで書かれてるし・・・
でもアクセス制限の解説ページには、ほぼ100%limitがある
ふぅ・・・
903名無しさん:2001/03/03(土) 14:08
>でもアクセス制限の解説ページには、ほぼ100%limitがある
同じ理由で、俺も最初<Limit>は必須だと思ってましたね。大笑い。
ああいう解説ページはみんなどっかの情報の丸写しなんじゃないすか。
904名無しさん:2001/03/03(土) 15:03
>>897
他のパッケージはどうやってインストールしてます?
Mac使いではないので詳細は不明ですが、
同様にインストールすればいいと想います...

# MacShell(?) とか使うのかな???
905897:2001/03/03(土) 15:41
>>904
お恥ずかしいことにモジュールのインストール自体初めてで、
試行錯誤でいろいろ試してはみてるのですが、ひたすらエラーの連続です。
906899:2001/03/03(土) 18:04
>>900さん ありがとうございました。
907名無し:2001/03/03(土) 23:28
掲示板のCGIを改造してSSIのフォームからデータを送ったら

Method Not Allowed

というエラーが出るんですけど、どうしたらいいですか?
908名無しさん:2001/03/03(土) 23:33
>>907
それはサーバ側のメッセージですか?
それともそのスクリプト側のメッセージですか?
909名無しさん:2001/03/04(日) 11:23
PerlのCGIの中で use Html などとして共通ルーチンを
モジュール化するという方法はサーバー上では
正常に動かないものなのでしょうか?

自分で試しているのですがスクリプトエラーが
起こっているようなのです
910名無しさん:2001/03/04(日) 21:18
データファイルを読み込んで@LINESという配列に入れたとします。
配列の中身は

'23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9'
だったとして、$xxという変数にa〜dのいずれかの文字が入ります。

例えば$xxにcが入ったらcという要素を含む3要素目の'14<>c<>3'
の3を1増減、4にして

'23<>a<>0','26<>b<>5','14<>c<>4','30<>d<>9'
になった配列をデータファイルに上書き保存したいのですが
どのように組めばよいのでしょうか?


open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
@LINES = <IN>;
close (IN);

$i = "0";
foreach (@LINES){
($t1,$t2,$t3)=split(/<>/,$_);
if ($xx =~ /\Q$t2/) { last; }
$i++;
}
$t3++;
$all = $t1;
$all .= '<>';
$all .= $t2;
$all .= '<>';
$all .= $t3;
$all .= '\n';

$LINES[$i] = $all;

open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
print OUT (@LINES);
close (OUT);

こんな感じで組んだんですが、全然ダメで。。。
どなたか教えてください。
911T女の竹田:2001/03/04(日) 22:57
>>910
'\n'→"\n"(シングルクォーテーションでは改行に変換されない)
なお長いので
$all = join('<>',$t1,$t2,$t3)."\n";
としたほうがいいかも。
それと、$xxの中身を含む要素の値を変えたいんだよね?
それなら if ($xx=~/\Q$t2/) の所は if($t2=~/\Q$xx/)だと思う。
912_gunzip:2001/03/04(日) 23:14
>>910
-----
#!/usr/bin/perl -w

@array = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9');

@array = map{
&nbsp;&nbsp;&nbsp;&nbsp;@t = split(/<>/,$_);
&nbsp;&nbsp;&nbsp;&nbsp;if($t[1] eq "c"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t[2]++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_ = join("<>",@t);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;$_;
} @array;

print join(",",@array);
-----
とか。
913名無しさん:2001/03/04(日) 23:40
らくだ本を読んでるのですが、実効uidと実uidは
どう違うのでしょう?

UNIXから入らないとだめですか?
914/bin/名無しさん:2001/03/05(月) 01:27
>>910

my($xx) = 'c';
my(@LINES) = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9');
my($i) = 0;
foreach (@LINES) {
split(/<>/);
$_[1] eq $xx ? last : $i++;
}
$LINES[$i] = join('<>', $_[0], $_[1], ++$_[2]);

なお、上をそのまま組みむだけでは動かない(と思う)。
また、ファイルの読み書きも確実に間違ってるので、

print "[$LINES[0]]";

とか

print @LINES;
print "---\n";
print join("\n",@LINES), "\n";

とかを試して自分で考えてみること。
915/bin/名無しさん:2001/03/05(月) 01:45
これでも可。

my($xx) = 'c';
my(@LINES) = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9');
foreach (@LINES) {
split(/<>/);
if($_[1] eq $xx) {
$_ = join('<>', $_[0], $_[1], ++$_[2]);
last;
}
}
916名無しさん:2001/03/05(月) 13:08
sendmailで送れるメアドと送れないメアドがあるんですけど
書き方間違ってるのかなぁ??
open MAIL , "|$nkfpath -j | $sendmail -t " or die "メール送信処理失敗\n";
print MAIL "From: $m_mail\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $m_sub\n";
print MAIL "Return-Path: $Errmail\n";
print MAIL "Errors-To: $mail\n";
print MAIL "Mime-Version: 1.0\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n\n";
print MAIL "$m_com\n";
close(MAIL);

これだけじゃ足りない??
917AyuMoe(JAPU):2001/03/05(月) 13:16
一部の村でしか通用しない、わけわからん略語を使うのはやめよう。

で、Return-Path:, Errors-To: を付けるのは明らかに間違っています。前者はユーザレベルで付けるものではなく、後者は標準的なものではありません。エラーメールの送信先を変更したければ、-f [email protected] のようにしましょう。
918916:2001/03/05(月) 14:16
レスありがとうございます!
>一部の村でしか通用しない、わけわからん略語を使うのはやめよう。
すいません メールアドレスですね(^^;

それで
print MAIL "Return-Path: $Errmail\n";
print MAIL "Errors-To: $mail\n";
の2行を消してみたんですけど、やっぱり届かない。。
ちなみに届かないメールアドレスのサービス会社は
http://www.24h.co.jp/です
ほかは届くのに何故なんでしょ。。
919AyuMoe(JAPU):2001/03/05(月) 15:00
ORBSとかMAPSに登録されている可能性があるな。
(24h.co.jp ではSPAMのブラックリストを利用していて、
その送信元のサーバがそのリストに登録されていれば受け取り拒否されます。)

http://www.orbs.org/
http://www.maps.vix.com/
920916:2001/03/05(月) 15:15
ありゃりゃ、そうなんですか〜。。
諦めるしかなさそうですね(^^;
AyuMoe(JAPU) さんありがとうございました<(__)>
921むぎ茶:2001/03/05(月) 16:10


>一部の村でしか通用しない、わけわからん略語を使うのはやめよう。


わからない奴のほうが一部の村だろ。(m

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley

922/bin/名無しさん:2001/03/05(月) 23:28
cgi直リンク対策って何したらいいのかなぁ。
てか、ブラクラしこみたいんだよね。厨房がウザいから。(笑)
923/bin/名無しさん:2001/03/05(月) 23:54
REFERER参照して、自分とこ以外から来た奴を弾けばいいんだろ?
やりかた知らないけど。(笑)
924名無しさん:2001/03/06(火) 00:38
>992 cgi直リンク対策

は難しいですよ
2chですらあなたの書込みを制限出来てないもん

925ヒロヒト(顔面神経痛):2001/03/06(火) 00:45
あっそう。
926一回のアクセスで:2001/03/06(火) 23:39
飛んできたURLが特定してるなら、ディズニーランドに飛べるかも。。
927名無しさん:2001/03/08(木) 04:22
サイトの全コンテンツにPICSラベルを貼りたいのですが、どうするのが
いちばん簡単でしょうか?
928927:2001/03/08(木) 17:58
やっぱし人がいないのか…。鬱山車脳
929困ってマス:2001/03/08(木) 23:23
_____________________
| フレーム1 |
|___________________|
| フレーム2 |
|___________________|
| フレーム3 |
|___________________|

こんなフレームの構成で、
フレーム1、2には複数のオブジェクトが
あって、フレーム3にsubmitボタンがあります。

で、フレーム3のボタンを押したら、1、2の
オブジェクトの内容を取得して、フレーム2のみ
再読込したいんですけど、そういう事は可能ですか?

930929:2001/03/08(木) 23:24
ぁぁずれまくり(鬱々
右がヘコんだフレームじゃありません
931名無しさん:2001/03/09(金) 01:40
ファイル操作について教えてください。
掲示板の発言を保持するのにファイルを使っているのですが
発言の修正を行うのに今は配列に全部入れて修正して戻す
という手順でやっています。
でもこれだとファイルサイズが大きくなってくると
負荷が大きくなってしまうと思うんです。
なんとかもっと軽快に動作するようにはできないでしょうか?
932名無しさん:2001/03/09(金) 02:21
>>927
PICSラベルのことよく知らないんだけど、HTTPヘッダに

PICS-Label:
(PICS-1.1 ...
ratings ...)

とか入れればよいの?
だったらApacheのHeaderディレクティブでどう?
PICSラベルについて識者の説明を請いたいところなり。
933名無しさん:2001/03/09(金) 02:33
>>929
フレーム3のsubmitボタンでフレーム2を読み込ませるには
フレーム3のフォームでtargetを指定してCGIを実行すればよい。
あ、JavaScriptのほうが簡単かな?
まあどっちにせよ、フレーム1,2の内容を取得するのに
結局JavaScriptは使う必要があるね。
934名無しさん:2001/03/10(土) 17:49
アップローダ付画像アルバムを作っているのですが、ファイルがアップロードされたときに
同時に縮小されたサムネイル画像を作るのってどうすれば実現できますか?
935パクレ:2001/03/10(土) 18:15
936名無しさん:2001/03/10(土) 18:23
>>935
これってただUPLOADされた画像をHTMLで縮小表示しているだけですよね?
これだとページの読み込み時間が無駄に長くなってしまうので
サムネイル用のサイズの小さいファイルを同時に作成してしまうのが望ましいのですが
937927:2001/03/11(日) 04:52
>>932
共用鯖なんでmod_headersを組み込めないんです。
938名無しさん:2001/03/11(日) 04:55
flood.cgiをvirtualAvenueに設置しようとしてるんですけど、何度やってもIP
入れて「実験」ボタン押しても

Flood Start...
send error: Permission denied

ってでるんですよ・・・。
何故なのでしょう?
パーミッションは755に設定してるのに・・・。
一応スクリプトをtxt形式でアップしておきます。
http://monar.virtualave.net/flood.txt
939938:2001/03/11(日) 05:00
上のtxtで、<xmp>と</xmp>は無視してください。
940名無しさん:2001/03/11(日) 05:13
"Flood Start... " が出てる時点でCGIは実行できてるだろ
おそらく、ソケット使えないんじゃないか?
941938:2001/03/11(日) 05:26
それでは、どこを改良すればいいですかねぇ???
すいません質問ばかり・・・。
942manami:2001/03/11(日) 12:42
http://www.inside.ne.jp/cgi/lachat/line/chat_cgi.txt

このチャットに発言欄のオートリンク付けたいんですけど
やり方を解説してるサイト等をご存知でしたら教えていただけませんか?

あ、あと単語変換も付けたいです・・
例えば、”はーと”と発言したら”<font face=symbol color=red>ゥ</font>”とか

宜しくお願いします。
943名無しさん:2001/03/12(月) 01:05
>>942
 CGIとはぜんぜん関係ないけどそれではMacIE5やN6でハートマークに
ならないよ。
 &hearts;だとNC4でハートマークにならないけど。
944943:2001/03/12(月) 01:06
&amp;hearts;って書こうとしたら参照されてしまった。
945名無しさん:2001/03/12(月) 01:12
ApacheのCGIでa.cgiを要求したとき、a.cgiが
Location: /download/a.lzh
のようなヘッダを出力すると、302ではなくa.lzhの中身が直接返されますが、
このときa.cgi経由でのみa.lzhが取得可能で/download/a.lzhを直接要求
しても拒否するように設定できないでしょうか?
946名無しさん:2001/03/12(月) 01:46
a.cgiへRedirectさせちゃえばいいんでないかい?
947名無しさん:2001/03/12(月) 02:00
試してみたらダメだったよ。あぼぼん。
948名無しさん:2001/03/12(月) 04:07
飛ばすより a.cgi が Content-Disposition と中身直接吐き出せば?
949945:2001/03/12(月) 10:51
巨大なファイルをDL中ずっとCGIが起動しているのは負荷の面でどうか
と思ったのでどうにかならないかと思ったのですが…。
他に方法がないなら直接吐き出すようにするつもりです。
950927:2001/03/12(月) 10:55
>>932
mod_headersの使えるサーバが調達できたので試してみましたが、
PICSラベルは値にURLを含んでいるので、静的な値しか出力できない
Headersだと難しそうです。それともHeadersで環境変数の値を使う方法
があるでしょうか?
951927:2001/03/12(月) 10:57
950踏んだので新スレ立てます。
952927:2001/03/12(月) 11:01
立てました。以後のレスはこちらで。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984362301
953名無しさん:2001/03/12(月) 18:13
立てました。以後のレスはこちらで。

http://tako.2ch.net/test/read.cgi?bbs=perl&key=984388283
954名無しさん:2001/07/14(土) 19:39
既出かもしれないんだけど、トップページでCGI使う場合(検索エンジンとかで)
トップページのアドレスが長くするのを防ぎたいのです
フレームを使う以外の方法ありませんかね?板違いだったらスマソ
955名無しさん:2001/07/14(土) 21:59
その通り、板違いです。


----------終了----------
956名無しさん:2001/07/14(土) 22:55
板違い厨は永遠に氏ねや
957名無しさん:2001/07/19(木) 16:32
酷い言い様だね・・・
958名無しさん:2001/07/19(木) 22:59
>>957
おまえの実生活の腐れっぷりよりはマシ。
959 ◆R0eWkIpk :01/10/08 17:40
test
960960:01/10/12 03:18
参考になる本・サイトはありますか?
また、CGIを設置できるサーバーはどこですか?
961960:01/10/12 03:20
ちなみに、画像up掲示板を設置したいんです。
962sage:01/10/26 00:08
java>>>>>>>>>C>>>>>>>〜中略〜>>>>>>>parl(初心者言語)
963名無しさん@お腹いっぱい。:01/11/23 02:42
CGIを1から習得して仕事で使えるレベルにまでなりたいのですが
どれくらいの期間がかかるものですか?
(例えば、特殊なチャットや、2CHなど特殊な掲示板を
構築・管理できるレベル)

プロのプログラマーなので、基盤はできているつもりです。
(C,C++(MFCなど))
ただ、ネット関係は弱いですが。

個人差はあるかと思いますが、みなさんのご意見をきかせてください
>>954
えっちてーあくせす
随分古いスレだな
966名無しさん@お腹いっぱい。:01/11/23 07:32
質問です。トクトクでCGIが動きません。
「〜.cgi」のパーミッションは700、
それを置いてあるディレクトリは701と説明されているので
きちんとそうしてます。
パスも言われたとおり#!/usr/bin/perlにしてます。
でも動きません。ローカルホストでは動くのですが・・・・
分かる方、教えてもらえないでしょうか?
>>966
あきらめればそれで解決?・
968名無しさん@おなかいぱーい。:01/11/23 13:21
>>963
3週間もあればマスターできるのでは?
漏れはHTMLからCGIに入ったけど さして難しくもなかったっす
最近のPerlはオブジェクト指向だし

HTTPの理屈を知っておくのがポイントかと
業務でやるんだったらポスグレとかやってみる?
969教えて君♪:01/11/23 13:41
今だ!969番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゜Д゜⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
そんじゃあ967番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
間違いだ!971ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
>>962
parlってなんだ?
perlじゃないのか?
973名無しさん@お腹いっぱい。:01/11/23 20:04
>>962

(省略)>>>>perl(初心者言語)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>parl(>>962言語)(プ

晒しあげ
974決めはこれろ?:01/11/23 20:11
0
__END__
976名無しさん@お腹いっぱい。:01/11/23 20:19
_再開_
977名無しさん@お腹いっぱい。:01/11/23 20:31
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML lang="ja">
<!--
ソースを見ないで下さい
-->
978名無しさん@お腹いっぱい。:02/01/20 16:43
くずはのRev.0.1 Preview 9と、あぷろだなんですが、直アド入力で飛べません。
何度やってもアドレス欄にへんなDLLのエラーが起きるか、空白か、画面が変わりません。
どうしてなんでしょうか?
鯖のTOPには行けるのですが、、、CGI直アド入力だとダメです。
鯖はハイパーなのですが、それがいけないのでしょうか?
ちなみにおみとろん経由だとどちらも問題無く表示できます。

理由がわかる方、教えてください
979名無しさん@お腹いっぱい。:02/01/20 18:22
>>978
くずはのほうはあきらめました。
ずるぼんあぷろだも同じ目にあっています
どなたかいじり方教えてください
9801000:02/02/03 03:26
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    ) 
  ∧_∧
 ( ・∀・) ニヤニヤ
 ( 1000 )
 | | |
 (__)_)