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

このエントリーをはてなブックマークに追加
1nobodyさん
CGIの運用に関する質問スレッドです。

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

※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
  ↓
  Perl 初心者コーナー Part16
  http://pc.2ch.net/test/read.cgi/php/1032070299/l50

過去ログ・関連スレッドは >>2
2nobodyさん:02/09/22 23:16 ID:???
3nobodyさん:02/09/22 23:33 ID:???
Part3、HTML 化されてます。

http://pc.2ch.net/php/kako/988/988727833.html
4#:02/09/23 06:09 ID:???
$ip = "602.198.31.55";   #つまり$ipはIPアドレスです。
としたとき、$ipは数値なのでしょうか?あるいは文字列なのでしょうか?
5nobodyさん:02/09/23 07:53 ID:???
>>4
評価の文脈でどっちにでもなる。
数値演算してみれば、数値。
たとえば、文字置換してみれば、文字。
6nobodyさん:02/09/23 07:57 ID:???
Perl の話題は別スレッド
7nobodyさん:02/09/23 10:23 ID:???
>>6
あのよ、Perlだめ、phpだめ、Cだめ、rubyだめ・・・
ってなると具体的な質問が書けないんじゃあないか?
8nobodyさん:02/09/23 11:34 ID:???
>>7
"CGIの運用"に関する質問スレッドです。
>>1
9nobodyさん:02/09/23 11:43 ID:???
>>8
婿った。
10#:02/09/23 13:26 ID:???
ありがとう。1読んでなかった。
11nobodyさん:02/09/23 14:00 ID:???
>>10
ついでに>>5に礼くらい言ったらどうなんだ。
12nobodyさん:02/09/23 14:52 ID:???
どなたか質問にお答え頂けますでしょうか、、、
アクセス解析用CGIについてです。
サイトの引越しに伴い元のサーバにあったhtml、画像等のデータを削除しました。
しかしCGI用ディレクトリに関して削除をし忘れており
しばらく経ってその事に気付き何気なくこの解析CGIを表示してみたところ、
設置していたhtmlファイルを既に削除しているにもかかわらず
数件のアクセスが記録されていました。
リンク元は全ておなじサイトからでした。
その他「ブラウザ情報」「OS情報」「ホスト情報」等全ておなじで
同一人物のアクセスと思われます。
なぜ無い筈のページに対するアクセスが記録され続けているのか
とても気になります。

・リンク元のページは個人サイトのリンクページでした(知人ではない)。
・数ヶ月経った今でもアクセスが記録され続けています。
・ホスト情報とリンク元ページのURLを見る限り、アクセスしているのは
 そのサイトの管理者と思われます。

とても不気味なのですが、どういった原因が考えられますでしょうか?
素人のバカな質問かもしれませんが、お教え頂けると幸いです。
13nobodyさん:02/09/23 17:11 ID:???
>>12
削除したはずのhtmlファイルにアクセスしているログが残るって事?
1) ないhtmlファイルに対するアクセスのerrorファイルが記録されている。
(てことは、そのアクセス解析CGIがタコだったってこと。)
2) CGIファイルに直接アクセスした結果、htmlファイルが生成され
それにアクセスしている。(それに気づかないなら設置者がアフォということ。)
いずれにせよ、その人はあなたのページがとてもお気に入りだったのでしょう。
14nobodyさん:02/09/23 18:05 ID:???
>12
削除されたページがぐーぐるの検索に引っかかる可能性とかもあるかも?
15#:02/09/23 23:26 ID:???
5さんありがとう!
16nobodyさん:02/09/23 23:53 ID:???
ん?
Part7は無し?

安定板だから偶数なのかな?
17nobodyさん:02/09/24 00:20 ID:???
>>12
キャッシュ(Googleのキャッシュなど)やミラーファイルが
アクセス解析CGIを呼び出しているだけさ。
つまり、どこかに誰かがファイルを保存しているのだろう。
18nobodyさん:02/09/24 02:56 ID:QU/xJRxV
CGI超初心者です。 質問なんですが、
たとえばHTMLなら
<A href="./index.html/" target="_self">TOP
の記述をCGIで書くにはどうすればいいのでしょうか?
ちょっとDLしたCGIを改造したいんだけど、この
ターゲット属性の指定方法がわかんないんです。
アンダーバーがダメだとすると・・
つまらないことで申し訳ありませんが、誰かヨロシク教えて下され。
おねがいします。
19nobodyさん:02/09/24 03:00 ID:???
print '<a href=\".\/index.html\/\" target=\"_self\">TOP<\/a>';
20nobodyさん:02/09/24 03:04 ID:QU/xJRxV
>>19
ありがとうございます!!試してきます。
21nobodyさん:02/09/24 03:45 ID:???
>>19
お金が好きなんだね…
22nobodyさん:02/09/24 05:16 ID:???
ここは、面白いCommon Gateway Interfaceですね!
23 ◆JAPH9PWA :02/09/24 08:01 ID:???
>>16
Pert8っての見て思い出したけど
前スレは実はPert7相当だったんだよ
>>2参照
24nobodyさん:02/09/24 08:41 ID:MwRTDDAb
データベースCGIで書き込み先をCSVファイルにしているんですが
どれぐらいの容量のデータまでなら問題ありませんか?
1MBあたりでも問題ありませんか?
25nobodyさん:02/09/24 10:14 ID:???
>>18
index.htmlって名前のフォルダなのか?
2612:02/09/24 11:14 ID:???
>>13
レスありがとうございます。
そうなんです。削除したはずのTop pageへのアクセスが何ヶ月経っても
記録され続けているんです。
CGIがタコ、、、たぶんそれはないとおもうんですが、
かといってCGIファイルに直接アクセスの可能性もないようにおもえます。
リンク元のソースを調べた所ふつうにweb page(解析を設置していたpage)
へのリンクが貼られていましたし。
アドレス欄にCGIへのアドレスを入力して直接アクセスしたとすれば
リンク元情報は無しになりますよね、、、ふぅ、ワケが分かりませんわ。

>>14
レスありがとうございます。
それも考えてグーグルのキャッシュを調べたんですが
該当ページは既に最新のもの(引越しのお知らせ)がキャッシュされていました。
ここで予想がはずれて悩みはじめてしまったのです、、、
2712:02/09/24 11:22 ID:???
>>17
レスありがとうございます。
14さんへのお返事に書いた様にとりあえずグーグルは違うようでしたが、
やはりどこかに該当pegeが保存されていると考えるのがふつうですよね。
ただその場合引っ掛かるのがリンク元情報です。
リンク元のpegeからはふつうにわたしのサイトのtopへのリンクが
貼られているだけなので、、、
私の知識ではもう予想がつきません。
ああ、、、キモチワルイです〜。
28nobodyさん:02/09/24 11:30 ID:???
リファラは偽装できることをお忘れなく。
2912:02/09/24 12:56 ID:???
>>28
ん、、、?わたしあてのレスですよね?ありがとうございます。
リファラの偽装、、、それも考えましたが初めの説明に書いた通り
ホスト情報とリンク元情報を見る限りアクセスしているのは
そのサイトの管理者の方だと思われます。
そしてホスト情報は某大学で、リンク元pageもURLを見る限り
その大学のサーバにあるようです。
このようにホスト、リンク元ともに実在の大学を騙った偽装も可能なのでしょうか?
さすがにそれは無いだろうとおもったのですが、、、。
わたしの知識不足なのかしら?
30nobodyさん:02/09/24 13:57 ID:???
リファラなんてブラウザが送ってる情報なんだからいくらでも偽装できます。
31nobodyさん:02/09/24 14:26 ID:???
>リンク元ともに実在の大学を騙った偽装も可能なのでしょうか?
充分可能。
大学は公開プロクシ持ってるとこもあるからその串通せばその大学の
ホスト名になる。
散々既出だがリンク元=リファラーは誰でも自由に設定出来る。
3212:02/09/24 17:47 ID:???
>>31
レスありがとうございます。
なるほど、公開プロクシなるものがあるのですかぁ。
偽装、、、うちのようなマイナーなサイト相手に
(そこまでする価値は無いでしょう????)というかんじで
現実的には考えにくい行動ですが、偽装だとすれば
私には想像つかない目的などがあるのでしょうね。
とにもかくにも色々なご意見を下さった皆さんに感謝します。
不気味だけれど気にせずにいこうと思います。
もし今後アクセスをはじいてしまったとしても、
偽装でなければ恐らくわたしのサイトが大好きであろう(W
その方に申しわけないですものね、、、。

レスしてくださった皆さんどうもありがとうございました。
33教えて君:02/09/24 22:46 ID:j2/oZ1T9
Postメソッドで、アマゾンの本を検索させるために、
lwp-requestへzshのヒアドキュメントからstdinを入力し
てコマンドラインからの利用を図っていますが、うまくいきません。
どなたか助けてあげてください。


%lwp-request -o text -m POST http://www.amazon.co.jp/exec/obidos/search-handle-form |nkf -e <<END
pipe heredoc> index=books-jp\&search-type=quick-search\&field-keywords=perl+cgi
pipe heredoc> END

何でこれで駄目なのかな〜。
34nobodyさん:02/09/25 02:33 ID:???
このスレでPart8になるのか・・・

誰か過去レスの有用なものやよくある質問とかまとめてるヤシはいるのか?
35 :02/09/26 01:07 ID:???
すいません。他の板で板違いとのことでこちらに来ました。

内輪の掲示板なのでgoogle等検索にかからないようにしたいのですが、
cgiなどのファイルの場合、どうすればよいのでしょうか?
htmlならば、中に<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
ですよね?cgiの入れる場所が分かりません。

どうかよろしくおねがいします。
36nobodyさん:02/09/26 01:44 ID:???
>>35
CGIが出力するHTMLの先頭にそれいれたら?
37nobodyさん:02/09/26 06:56 ID:???
>>35
googleは「***.cgi」で終わるリンクは拾いません。
…多分。検索しても出てこないはず。
ただし「***.cgi?mona」と"?"以降文字列が続いてる場合は拾っちゃう。
…多分。
3835:02/09/27 00:32 ID:???
ありがとです!!
個人情報とかは載せて無いけど内輪ネタけっこうあるので・・・
39nobodyさん:02/09/27 01:24 ID:4WGpXppZ
お願いします。長くなります、すんません。
以前に作った掲示板CGIなんですが、アクセスすると単なるブラウザ
出力するところで、ダウンロードのダイアログが出てしまい、
表示を得られませんでした(DLするとソースを保存)。
家にあるマックでは表示されており、ウィンドウズMEで問題発生で、
WINの環境の問題かと思いOSからインストールしなおしたんですが、
解決せず、長い間放っていました。
先日、やっぱりPerlコードの問題かと思い、一行ずつ確認作業
していたところ、
print "Content-type: text/html; charset=euc-jp\n\n<!-- \xfd\xfe -->\n";
の直後でexitすると白紙が表示され、exitを削除(もとの状態に)したら
あっさり正常動作をはじめました。
結局、何が原因だったのかわかりません。
ご想像つく方いらっしゃいませんか。
40nobodyさん:02/09/27 01:34 ID:???
おおかたContent-typeが間違っていたんだろう
41nobodyさん:02/09/27 01:40 ID:???
>39
>直後でexitすると白紙が表示され

てあやしくないか?
content-type吐かずに終了したら普通エラーになるのでは?
42hmk:02/09/27 01:43 ID:???
>>39
元のコードおよび環境が再現できませんので、回答ができません。
今動いているのだから、あきらめて、ティムポでもしごいて、今日は寝なさい。
43nobodyさん:02/09/27 01:55 ID:???
>>40,>>42
コードは元のままのはずなんですが、あれ自身なくなってきたなあ。
どちらにしてもFAQでなとすれば僕に落ち度があったかも、です。
あきらめてティムポしごいて寝ます。

>>41
あれ?content-type吐いて終了したら白紙で正解ではないですか??
44hmk:02/09/27 02:02 ID:???
白紙で正解だろ。
45nobodyさん:02/09/27 02:02 ID:???
CGIってぼく知ってるよ。きみたちは知らないの?
46nobodyさん:02/09/27 02:12 ID:???
>>45
( ´,_ゝ`)フーン
47nobodyさん:02/09/27 03:07 ID:0EcR4zaK
今本で勉強してて、かなり初歩的な質問なんだけど、
文字列の一部を他の文字列に’置換’するには~s/ /
文字列の一部を他の文字列に’変換’するには~tr/ /
って書いてあるんだけど、置換と変換の違いがわからない…
48nobodyさん:02/09/27 03:11 ID:???
>>47
初歩を勉強中だからかもしれないけど、それって実はCGIとは関係ないんだよね
49nobodyさん:02/09/27 03:38 ID:???
>>47
perl専用スレが正解。


まぁしょうがないので、決定的な違いを説明してやろう。
aとbが無造作に並んでて入れ替えたいとする。

$aa = 'ababaaaabbbab';

$aa =~ s/a/b/;
$aa =~ s/b/a/;

が、こんなんじゃダメだ。全部aになっちまう。
そこで使え。tr。
以下略
50nobodyさん:02/09/27 03:41 ID:???
↑gの修飾子書くの忘れた。
突っ込まれる前に自分で言っておく。
51nobodyさん:02/09/27 04:01 ID:???
>>49
$aa =~ s/([ab])/($1 eq a) ? b : a/eg;
こうすりゃ行ける(w

まぁ、普通はtr使うが。
$aa =~ tr/ab/ba/;
52nobodyさん:02/09/27 04:43 ID:???
>>49 >>51
何回か読んでみてわかってきました。
(最初な、なんか禅問答みたい〜と思った私は
馬鹿でしょうか…)

スレチガイにもかかわらずどうもです。
53nobodyさん:02/09/27 10:55 ID:rF8ax8VN
gzip転送の構文ってContent-type書かないとダメなんですか?
54nobodyさん:02/09/27 12:17 ID:???
>>53
もち
55nobodyさん:02/09/27 12:44 ID:???
gzip転送の意味がよくわからないんですけど。
詳しく説明したページとかありませんかね。
サーバー側とクライアント側【ブラウザ】でどういうコードを書けばいいのかわかりません。
56nobodyさん:02/09/27 13:53 ID:???
>>55
ブラウザも自作するんですか。
57nobodyさん:02/09/27 14:28 ID:rF8ax8VN
>>55
これをPerlスクリプト内に追加

if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){
 print "Content-type: text/html\n";
 print "Content-encoding: gzip\n\n";
 open (STDOUT, "| /bin/gzip -1 -c");
 }else{
 print "Content-type: text/html\n\n";
 }
58nobodyさん:02/09/27 15:18 ID:???
掲示板のcgiを設置して、気に入らなかったので削除しようとしたら、
cgiが生成したフォルダとファイルが削除できなくなりました。
パーミッションを変えようとしても、Operation not permitted と出てしまいす。
なんとか削除できないでしょうか。。。
59nobodyさん:02/09/27 17:00 ID:???
>>58
目的のファイルを削除するCGIプログラムを作って実行。
60nobodyさん:02/09/27 17:06 ID:???
>>59
 Σ(; ・∀・)
61nobodyさん:02/09/27 17:37 ID:rF8ax8VN
>>58
CGIファイルの中にchmodでファイルのパーミッションを
777に変換すればいいんでないの?
62nobodyさん:02/09/27 17:42 ID:???
>>58
CGIファイルの中にchownでファイルのオーナーを
キミに変えればいいんでないの?
63nobodyさん:02/09/27 18:07 ID:???
>>61>>62
Σ(; ・∀・)
64nobodyさん:02/09/27 23:31 ID:???
>>58
#! /usr/local/bin/perl
print "Content-type: text/plain;\n\n";
opendir(DIR,'.');@f_list = readdir(DIR);closedir(DIR);
foreach(@f_list){unlink;print"$_\n";}
print'以上のファイルを削除しますた';

同じフォルダにある全てのファイルを消して自分も消える(w
65nobodyさん:02/09/28 06:19 ID:A4AmrehS
こんにちは、今ショッピングカートでのクレジット決済をかんがえているのですが
皆さんはどういう風にクレジット決済を行っているのでしょう?
なるべく代行みたいなものは使いたくないんです。
そういった場合はオーソリとかはリアルタイムにはできないですよね?
よろしくお願いします。
66nobodyさん:02/09/28 16:45 ID:???
素朴な疑問。

複雑なプログラムを作ってる時、
1時間も2時間もずっと作りかけのスクリプトを眺めてるんだけど、
これって普通?

それとも、あまりに俺が馬鹿なので即座に思い描いた物を作れないだけ?
だったら悲しい現実。

みなさんはどんなに複雑プログラムでも、こう処理をしていこう?
とかスグ頭に浮かびますか?

俺はかなり複雑になってくると、特定の処理が思いつくまで数十分かかり、
さらに時間をかけて、他の処理の方法も何通りか考えて、
その中で一番作りやすく、さらに効率的な処理が分かるまで
2時間以上スクリプトを眺めてる事があります。

そんな俺は変ですか?
67nobodyさん:02/09/28 16:48 ID:???
>66
人それぞれ。
68nobodyさん:02/09/28 18:33 ID:9nQPxW7p
abcdefg

a b c d e f g
みたいにするのってパールでできますか。
行の操作じゃないからなんか難しそう。
6967:02/09/28 18:34 ID:9nQPxW7p
できますか?ではなくて、多分できると思うんだけど、
短い書き方ができるのか?
という意味れす。
70nobodyさん:02/09/28 18:46 ID:???
71質問させてください。:02/09/28 18:59 ID:/yAvwXCm
Web製作板で質問したのですが、こちらで聞いたほうが
よいとのことでしたので、質問させてください。

ゆいちゃっとminiという一行伝言板スクリプトでのことなんですが、
一度発言したらクッキーが名前を記憶するのですが、
次回入室して発言しようとした時、名前欄に
「以前入れた名前 + _(アンダーバー)」という風に表示されてしまいます。
再度入室しなおすとアンダーバーがもう一つ増えていて、
あとはこの繰り返しで入室するたびにアンダバーが伸びていきます。

以前はこんなことはなかったのですが、気が付いたら
このようなことが起こるようになっていました。

スクリプトを少しいじくったせいかと思い、
バックアップしてあったものを上げて見たのですが、
同じ結果でした。
それ以外に変わったことといえば、ブラウザがIE6に変わった
事ぐらいだと思うのですが、原因がさっぱりわかりません。
どなたかお分かりの方がいらっしゃいましたら、
アドバイスお願いします。
長くなってすいませんでした。
72nobodyさん:02/09/28 20:24 ID:???
>>71
それだけで分かったら神。

切り傷見せて、
これはカッターで切ったんですか?
ナイフですか?
包丁ですか?

って聞いてるようなもん。

スクリプトを解析せねばならんのだが、はたしてそんなめんどい事やる人いるかな?
73nobodyさん:02/09/28 20:46 ID:???
やってもいいよ。
原因究明してレス返すかどうかはともかくとして、好奇心で。
74nobodyさん:02/09/28 20:47 ID:???
>71
マジレス。
製作者に聞け。
これが一番確実。
75nobodyさん:02/09/28 20:47 ID:???
76教えて、君ですっ!:02/09/29 01:03 ID:???
GETメソッドのCGIをコマンドラインからテストする方法ってありますか?

例えば、
% perl -cw /var/www/cgi-bin/test.dir/search-text.cgi
/var/www/cgi-bin/test.dir/search-text.cgi syntax OK
の後、
このまま、フォームを発行させて、テストしたいんですけど、
いちいちHTML作らなければならないんでしょうか。
77nobodyさん:02/09/29 01:42 ID:???
% perl /var/www/cgi-bin/test.dir/search-text.cgi > tmp.html
78nobodyさん:02/09/29 04:31 ID:???
>>76
フォームを発行???

% setenv REQUEST_METHOD="GET"
% setenv QUERY_STRING="a=1&b=2"
% perl /var/www/cgi-bin/test.dir/search-text.cgi
7971:02/09/29 08:48 ID:???
みなさんありがとうございました。>>75さんのおかげで、とりあえず解決しました。
やはりIE6のクッキー機能が問題だったようです。
このサイトに出ている修正を施したら、問題は解決しました。
ttp://www2.inforyoma.or.jp/~mkk/yui-chat/IE60.htm
しかし、生成したクッキーファイルを修正前のスクリプトで読み込むと、今度は
「以前入れた名前 + %9」と表示されてしまいます。

今後、修正前のスクリプトを使うことはないのでよいのですが、
IE6以外のブラウザを使用した場合のことが気になります。
この場合も問題は発生しないものなのでしょうか・・・。

あつかましいようですが、一応修正前のスクリプトをアップしてみました。
全部で175行ほどのスクリプトです。
ttp://ura.plala.jp/upldr/data/7221.lzh
(書庫にはしてませんので、拡張子をcgiに変えるだけでけっこうでうす。)

>>72さん
すいませんでした。
既に同じような問題が発生済みで、どなたかご存知の方が
いらっしゃらないものかと思いましてカキコした次第です。

>>73さん
上記のとおりですので、もしよろしければ。

>>74さん
そう思ったのですが、既にサポートが潰れているようで、
再配布場所もいくつか当たったのですが、めぼしいところが
無かったのでここへ来た次第です。

>>75
ありがとうございました。おかげで何とかなりました。
8079=71:02/09/29 08:50 ID:???
訂正・・・。
>「以前入れた名前 + %9」と表示されてしまいます。

 「以前入れた名前 + %09」と表示されてしまいます。

でした。
81nobodyさん:02/09/29 11:30 ID:1nC5j6FV
KENT WEBのChatRobo(http://www.kent-web.com/chat/robo.html)にDOCTYPE宣言をつけたいのですが、FramesetとTransitionalを分けるにはどうしたらいいのでしょうか?
82nobodyさん:02/09/29 12:02 ID:???
>>79
クッキーに書き込む時にエンコードしてるから%数字になってる。
クッキーを読み込む時にデコードしてるから元に戻ってる。
この処理にブラウザは関係無い。

修正前のスクリプトでは読み込む時にデコードしてないから
元に戻らないだけ。

>>81
それぞれのHTMLのとこに入れれば?
8381:02/09/29 12:11 ID:1nC5j6FV
>>82
sub frame {
# クッキーを取得
&get_cookie;

# クッキーにリロード時間/行数のない場合は初期値を代入
if ($ck{'retime'} eq "") { $ck{'retime'} = $re_sec; }
if ($ck{'line'} eq "") { $ck{'line'} = $line[1]; }

&header;
print <<"EOM";

</head>
<frameset rows="147,*" title="MARU's Chat 2">
<frame name="form" id="form" title="フォーム" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}" />
<frame name="log" id="log" title="ログ" src="$script?retime=$ck{'retime'}&line=$ck{'line'}" />
<noframes>
<body>
フレーム非対応のブラウザの方は利用できません
</body>
</noframes>
</frameset>
</html>
EOM
exit;
}

これを、どう書き換えればいいのかよくわからないのです。
すみませんが、どのように書き換えるのかを教えてください。
8481 ◆V3marusw :02/09/29 12:11 ID:1nC5j6FV
トリップ
8582:02/09/29 13:03 ID:???
>>83
スレ違いなのでこっちに書いといた
http://pc.2ch.net/test/read.cgi/php/1028193595/187
8681:02/09/29 13:37 ID:???
スレ違い失礼しました。今度から気をつけます。
どうも、ありがとうございました。
8779=71:02/09/30 11:09 ID:???
>>82
ありがとうございます。
納得しました。
88nobodyさん:02/09/30 21:50 ID:???
ホント糞な質問させてもらいます。すみません。

CGIでブラウザに出力する時、ヘッダーの中に送信するファイルタイプ書きますよね?
それの一覧表みたいな物が書いてあるサイトってないでしょうか?
midとか、jpegとか、出力する時どーやって書いたら良いのか分からないもので…

ホント厨房ですみません
89nobodyさん:02/09/30 22:02 ID:???
>88
それらの単語を組み合わせて検索サイトにかけたらいっぱい出てきたぞ。
試してみ。
90nobodyさん:02/09/30 22:03 ID:???
>>88
サーバの /etc/mime.type 辺りにない?
91nobodyさん:02/09/30 22:28 ID:???
>>89
ごめんなさひ。
自分もそれらしきサイトを見つけました。

>>90
サーバに入ってるんですか?
ヘッダーって受け取る側に対するためのプロトコルですよね?(違うのカナ?)
と言うか、俺が借りてるサーバ内のディレクトリ自由に見れないっす。
環境変数かなんかで取得出来るなら是非教えていただきたいです。
92nobodyさん:02/09/30 23:18 ID:???
>>91
クライアントがunixなら、>>90
windowsなら、explorer->表示->フォルダーオプション->ファイルタイプ。
93nobodyさん:02/09/30 23:40 ID:K+IqKEJl
>>92
なっとく。
ありがとです。
94nobodyさん:02/10/01 15:25 ID:???
<!--#include virtual="hogehoge.html"-->
等のssiってcgiから呼べませんか?

print '<!--#include virtual="hogehoge.html"-->';
だとそのまま出力されてしまうので。

呼び出すファイルがcgiだったら require とかで呼べばいいんですが、htmlの場合って
どうすればいいんでしょ。
95nobodyさん:02/10/01 18:36 ID:???
CGIからSSI使える訳ないじゃん。
つーか使える必要もないし。

普通に開いて読み取るとかイロイロあるしょ?
96( ´D`) lo:02/10/01 19:33 ID:fiT0f6FN
niftyで携帯とPCで振り分けた掲示板を使おうと思ってるんですけど
どうしてもエラーでます。
まさかとは思いますがniftyではuser_agentが使えないんですか?
97nobodyさん:02/10/01 19:38 ID:???
>96
そういう事はniftyサポートに聞け。
98( ´D`) lo:02/10/01 20:25 ID:???
一応メール送ったんだけどこっちで聞いたら知ってる人がすぐに答えてくれることもあるかと思ったので…
99nobodyさん:02/10/01 20:29 ID:???
>98
じゃあ、こっちなりの答え。
どんなエラーが出るかわからないし、CGIの言語もわからない。
それではエラーの原因は特定できない。
user_agentが原因だと思うなら、それを吐き出すだけのスクリプトを作ってみるとか
診断君でも設置して確認してみるとかすればいんじゃないか?

しかし、niftyに聞くのが一番確実。
このスレでniftyの設定を聞かれても板違い。
100nobodyさん:02/10/01 20:29 ID:???
>>96
プププ
エラーの原因をUSER_AGENTのせいにしてるよ。
101nobodyさん:02/10/02 00:36 ID:???
今「」人のビジターがこのHPを見てる

↑ってのをHP上に表示するCGIを探しているんですが、ご存知の方いますか?
102nobodyさん:02/10/02 00:59 ID:???
>>101
CGIではリアルタイムでビジターを管理することはできません。
擬似的にやるとしても退室の際に必ず決まった方法で退室してもらわないと無理
103101:02/10/02 01:06 ID:???
>>102

CGIでなくても構いませんので、何か無いですかねー。
104102じゃないけど:02/10/02 03:29 ID:???
>>103
無理無理。
入退室制にすればまだ可能。
だけどそんな所にアクセスしたくない。
105nobodyさん:02/10/02 07:45 ID:???
>103
ブラウザを使わずに専用のクライアントをプログラムして、そのクライアントでしか閲覧できないようにする。
106nobodyさん:02/10/02 08:57 ID:???
>>95
Apache2.0では使えたりします。
意味無いとは思いますが。
107101:02/10/02 12:03 ID:???
>>104
わかりました。ありがとうございました。
10895:02/10/02 16:25 ID:???
>>106
mod_perlを使ってもperlでSSIを書ける。
意味はないけど。
109nobodyさん:02/10/02 23:43 ID:mzLIaqrg
街の灯
http://www.matino-akari.com/linksyu/
みたいなスクリプトのある場所を教えて頂けないでしょうか。
探したのだけどシンプルなものがどうしても見つからない・・・。
110109:02/10/02 23:44 ID:mzLIaqrg
スレ間違えました、すいません。。。
111nobodyさん:02/10/03 22:47 ID:???
次スレ早すぎ
112nobodyさん:02/10/04 00:41 ID:???
>>103
・htmlページにcount.cgiを埋め込む
count.cgiはIPをキーにexpireを設定(DBMが楽)
透過gifを返す

・view.cgiで人数を画像で表示
画像はon-fly,GD.pm等で作成

昔やったことあるが、簡単に作れます。
http自体がリアルタイムでセッション管理しているわけじゃないし、
適当だけどね。
タイムアウトの処理は、count.cgiが呼ばれる度にチェックするか、
crontabで

ipは当然重複する場合があるから、クッキー食わせるとか、
IP+agent+...とかで工夫する
113nobodyさん:02/10/05 20:42 ID:apJJAmbi
フォームメールに添付ファイルを送信する機能をつけたいのですけど、
どう書けば出きるでしょうか?
114nobodyさん:02/10/05 20:45 ID:???
今いるディレクトリ名を取得して、出力したいのですが
(「index of $dir」などで)

どう書けばいいでしょうか?
115nobodyさん:02/10/05 21:14 ID:???
>>114
$dir = `pwd`;
116nobodyさん:02/10/05 21:23 ID:???
>>115
それだと、今いるディレクトリだけではなく
フルパスが表示されるんですが…
117 ◆hMJAPH9PWA :02/10/05 23:52 ID:???
>>116
フルパスを得られたんだから加工すればいいじゃん…。少しは自分の頭を使いましょう。
まぁマジレスすると、普通はCwdモジュールを使います。

#!perl -w
use Cwd qw(getcwd);
use File::Basename qw(basename);

my $curdirname = basename getcwd();

print $curdirname, "\n";
__END__
118ほっとぞなー:02/10/06 00:11 ID:b+S20Ecq
CGIで、
メールだけを使って対戦ゲーム(例えばオセロ)をする仕組み
を作ることは可能でしょうか?
具体的には、自分の指し手をホストにメールで送って
ホストはその手を反映させた盤の情報をプレイヤー達に
メールで送りつける、というようにします。

このような仕組みをつくる手がかり、ヒントを下されば幸いです。
119nobodyさん:02/10/06 00:40 ID:???
>>118
練鯖でやると仮定して。
できる。
http://member.nifty.ne.jp/hippo2000/perltips/rcvmail.htm
これを読めば、メールを受け取る仕組みはわかるだろう。
後は、すぐに反応をさせたい場合は、cronを調べるべし。crontabとかで検索せよ。
120nobodyさん:02/10/06 01:18 ID:???
>>118
CGIでやる意味はないな。Webプログラミングってわけもないので板違い。
メール受け取ったSMTPがプログラムに投げて、
そのプログラムが結果をメール送信するだけでしょ。

.forward あたりを調べて、わからなかったら
プログラム自体の質問はプログラム板へ、
メールをプログラムに投げる方法ならUNIX板へどうぞ。
121ほっとぞなー:02/10/06 01:24 ID:b+S20Ecq
>>119,>>120
ご丁寧なアドバイスどうもありがとうございました。
とても参考になりました。
あとは自分でがんばってみます。ありがとうございました。
122CGI@リファラーでいいですか?さん:02/10/06 03:19 ID:tpCDZSk3
CGIスレで聞くべきことかわからんのですが。。。

掲示板で
”指定したフォーム以外からの書き込みを無効にする”場合
リファラーを参照して、照合すればよいでしょうか?

心配なのが、リファラーを返さないブラウザがあったらどうしようってことなんですが、
そんなブラウザってあるんでしょうか?

あと、他にいい方法とかありましたら、どうぞご教授お願いします。
123nobodyさん:02/10/06 04:38 ID:???
>>122
知ってるブラウザでリファラを返さないブラウザは知らないが・・・

けどリファラを偽造するくらいなら簡単に出来る
124nobodyさん:02/10/06 04:44 ID:???
>>122
単純にはREFERERのみで良いと思われ。儂もそうする。
手のこんだことをするなら、動的に変わる隠し変数みたいなので不正アクセスをはじくとか。。。

i-modeかなんかでREFERER返さないものってなかったっけ。
逆にあやしいブラウザだと、REFERERを偽れるので、そっちの方が心配だと思われ。
125nobodyさん:02/10/06 04:53 ID:???
Norton IE 入れてると、デフォルトで吐かないよ。
126nobodyさん:02/10/06 10:05 ID:???
ネスケ/モジラもちょっと弄ればリファ出さないし。
127nobodyさん:02/10/06 12:28 ID:???
>>122
「Referer リクエストヘッダの除去」といページがある。
http://www.st.ryukoku.ac.jp/~kjm/security/memo/referer.html

フォームの生成も動的にできるなら、
>>124 さんの方法がイイかも。
128どっげぇマーチン:02/10/06 17:24 ID:6RfgQjkt
2chでのURLは
http://news2.2ch.net/test/read.cgi/newsplus/数字/
とかでスレとかを指定してますが、read.cgiにこの数字はどうやって渡しているんでしょうか
普通なら
http://news2.2ch.net/test/read.cgi?cate=newsplus&thread=1033647903
ってこんなふうにすると思うんですが。
mod_rewriteを使えば可能なのかなと思うんですが、それ以外でできる方法ってなんでしょう?
129nobodyさん:02/10/06 18:35 ID:???
>>128
環境変数 PATH_INFO
130どっげぇマーチン:02/10/06 18:43 ID:6RfgQjkt
---%DocumentRoot%test.php----
<? phpinfo() ?>
---

http://サーバ/test.php/aaa/bbb
ってやったらphpinfoの内容が表示されて
PATH_INFOが/aaa/bbb/になってました。
これをCGIで解析、表示するわけですね。
さんすくこ
131太郎:02/10/07 00:39 ID:+FxSSxSS
無料サイト総合案内室わつくりますた。
情報量は知り合いの友達よりも結構多いです。
あと無料ソフト集もあるのでねダウソしてみては 。
あと、このサイトの正式タイトルを考案中ですので応募してみては。
あとアンケートにも答えてみては。

http://www31.tok2.com/home/sanche/
132nobodyさん:02/10/07 00:55 ID:???

おい、太郎よぉ。

ここはCGI質問スレだぜ、、、みてはスレとちゃうぜ!
133nobodyさん:02/10/07 13:32 ID:???
perlのLWPモジュールでいくつかのHPを取得するとこまで
できたんですが、ファイルに保存しないで、ストリーム
っていうのかな、流れてきた文字列に検索かけて、必要な
行だけ取り出すようなことできますか?
パイプとか・・ヒントをいただきたく。
134nobodyさん:02/10/07 13:34 ID:???
ごめんなさい。こりゃCGIじゃないから初心者スレに行った方が
いいですか?すぐ向こうにも書くとマルチさらし上げとかされ
るから、もうちょっとまちます。はい。

135133==134:02/10/07 13:44 ID:???
だれか〜、早くスレ違いって書いてくれよ〜
136nobodyさん:02/10/07 13:45 ID:???
>>133
漏れはできるぞ
137133==134:02/10/07 13:47 ID:???
>>136
じらさないでおせえれ。
教えてくださいませ。
138nobodyさん:02/10/07 14:15 ID:???
検索条件の例は?
139133==134:02/10/07 14:47 ID:???
>>138
あっ、すません。日本語(euc-jpあたり)で1語ていいっす。
140133==134:02/10/07 14:53 ID:???
そいで、その単語の入っている文を抜く。「。」から「。」まで。
141133==134:02/10/07 16:25 ID:???
>>133につきましては、解決いたしました。(初心者スレで)
貴重なスレスペースを汚しまして、失礼いたしました。
142nobodyさん:02/10/07 23:19 ID:jF69Rk9S
cgi初心者です。
ttp://www.*******.com
にアクセスすると、OS別に(index.html)や(/i/index.html)に自動でジャンプするcgi等はありますか?
情報キボーン
143nobodyさん:02/10/07 23:31 ID:???
>>142
キミなんかカコワルイね
144nobodyさん:02/10/07 23:45 ID:jF69Rk9S
age
145nobodyさん:02/10/07 23:48 ID:???
>>142=>>144 きみまだいるのか・・・

UAで振り分ければ?
146nobodyさん:02/10/08 11:33 ID:???
>>142,144
mod_rewrite。これ最強。
しかしこれを頼むと次から店員にマークされるという危険も伴う、諸刃の剣。
cgi初心者にはお薦め出来ない。
まあお前、ドcgi初心者は、HTTP_USER_AGENTでも食ってなさいってこった。
147nobodyさん:02/10/08 15:17 ID:???
>>146 センスが全く感じられないのは俺だけじゃないはず。
148nobodyさん:02/10/09 13:12 ID:???
「CGIの運用に関する質問スレッドです。」と書かれているのでスレ違いかもしれませんが・・・・

今はCGIといえばPerlですよね。
CGIが開発された当初はどのような言語がよく使われていたんですか?
C言語ですか?
149146:02/10/09 13:34 ID:???
>>147
コテハン晒さないでよかったぽ。

>>148
sh かね。
150nobodyさん:02/10/09 14:15 ID:???
>>148
CGI を実装したのって NCSA httpd 1.0 が最初でいいんだっけ?
ttp://hoohoo.ncsa.uiuc.edu/docs/Upgrade.html

リリースされた正確な年月日が分からんが、
ttp://www.webhistory.org/www.lists/www-talk.1993q4/0811.html
1993年末って事でいいんだろうか。

その時既に Perl は 4 から 5 への移行期だ。
ttp://www.perldoc.com/perl5.6/pod/perlhist.html

なら最初から Perl 使ってた人も多いんじゃない?
151151:02/10/09 17:33 ID:c2qNWBgI
今でもC言語使ってますが、マズイすか?
152nobodyさん:02/10/09 19:06 ID:uuWUlWUQ
>>142
初心者ならCGIからJavascriptの道へ転進したらいい
153Perl初心者スレ845:02/10/09 19:13 ID:1+Y7R6lC
Perlスレで質問したら、こちらのスレに行くように
勧められたんでこちらに書き直します。
CGI.pm を使ってCGIを書いているのですが、

my $query = new CGI;
my $value = $query->param("text");

print
  $query->header
  (
    -type=>'text/html; charset=euc-jp'
  ),
  $query->start_html
  (
    -title=>"値の表示",
    -lang=>'ja'
  ),
  $query->h1($value . "の値"),
  $query->end_html;

として$valueを取得して表示する場合、
文字コードの扱いはどうなるんでしょう?

自分は、クライアント環境のコードがそのまま
飛んでくるだろうと考えていたのですが、
UNIX上のブラウザから試してもWindows上のブラウザから
試しても化けずに表示されました。

もしかして、CGI.pm は適切に文字コードを変換するところまで
やってくれているのですか?

154nobodyさん:02/10/09 19:30 ID:???
>>153
OSに関係なく多くのブラウザが、ページがShift_JISならShift_JISで、EUC-JPならEUC-JPで送信すると思うけど・・・
155nobodyさん:02/10/09 19:49 ID:???
アクセスしてきたアドレスが「....test.cgi?name=mona&msg=age」
となっているとき、monaやageは、どうやって取得したらよいの
でしょうか?
156154:02/10/09 19:53 ID:???
>>153
とりあえずNetscape7.0(Linux)では>>154で言ったとおりだった。

>>155
getenv()などで環境変数QUERY_STRINGを参照。
157nobodyさん:02/10/09 20:03 ID:???
>>156
ヒントありがとうございました。
助かりました。
158nobodyさん:02/10/09 20:04 ID:???
>>153
Use the source, Luke!
159nobodyさん:02/10/09 20:05 ID:???
>>155に似た質問なんですが、ブラウザに直接「....test.cgi?name=mona&msg=age」
を入力してきたユーザと、正式にフォームのボタンをクリックしたユーザを
見分けて処理することはできるのでしょうか?
160nobodyさん:02/10/09 20:19 ID:???
>>159
環境変数HTTP_REFERERを見れば判別できるかもしれないが、それはクライアントが送るものだから信用できないといえば信用できない。
161nobodyさん:02/10/09 20:22 ID:???
>>160
なるほど!とりあえずいろいろやってみます。
162153:02/10/09 21:16 ID:???
>>154
なるほど。この場合は
  $query->header
  (
    -type=>'text/html; charset=euc-jp'
  ),
とやって、Content-Type ヘッダが

Content-Type: text/html; charset=euc-jp

となるようにしているためにEUC-JPでかえってきている
っつーことですか。
ありがとうございます。
163nobodyさん:02/10/09 21:26 ID:???
>>155
すぐ上(>>153)にやり方が上がってるがソレじゃ嫌なのか?
164155:02/10/09 21:59 ID:???
>>163
Perlじゃないんです。
165163:02/10/09 22:34 ID:???
>>164
申し訳無い。
>※CGIは特定の言語に依存するものではありません。
の言葉を噛みしめて逝ってきます。


166nobodyさん:02/10/10 00:34 ID:???
若干スレ違い(板違い?)かも知れませんがよろしくお願いします。
CGIからあるアドレスにメールを送信したところ
User unknownとなり送信されませんでした。
普通にメーラーからテスト送信すると送信元によって挙動が異なり
送信されたり、User unknownとなったりします。
これはメールサーバのどのような設定が関係していると思われますでしょうか。
よろしくお願いします。
167名無しさん:02/10/10 03:07 ID:M5uzoLnQ
今、KENTさんのpostmailを使ってみてるんですが、
フォームに記入したあと「この内容で送信する」を
押すと、Write Error : ./*****.tmp
というエラーが表示されます。(*****の部分は毎回違う数字)

これはどこがいけないんでしょうか?
初心者なんでよろしくお願いします。
168nobodyさん:02/10/10 06:13 ID:???
perlのcgi.pmってなんでHTMLタグを出力する命令まであるんでしょう?
絶対直接printで書いたたほうが早いのにどうしてメモリの無駄遣いするかな。
169ぼるじょあ ◆yBEncckFOU :02/10/10 09:00 ID:???
■■■■■■■■■■■■■■ 終了 ■■■■■■■■■■■■■■■■■
170nobodyさん:02/10/10 09:22 ID:???
>>167
cgiを置いているディレクトリのパーミッションにその他ユーザに対する書きこみ許可が無いため
cgi(=その他ユーザ)が作る新しい***.tmpファイルを書き込むことが出来ない。
対策
その他に書きこみ許可を与える。



つまりパーミッションを777にしろ。
171nobodyさん:02/10/10 10:05 ID:lLciuzr5
cgiプログラムを見る方法って無いですか?
名前に点数をつけますってので自分の名前が
2点だったので少しむかついて。どんなアルゴリズムか知りたいので。

http://www.cc.rim.or.jp/~ksa/cgiland/namae.html
172nobodyさん:02/10/10 10:11 ID:???
>>165
君が逝く必要は無いじゃないか。
使用言語を書いていない>>155が悪いのだから。
173nobodyさん:02/10/10 10:12 ID:???
>>171
作者に聞きなさい。
174nobodyさん:02/10/10 10:14 ID:hlW8Speq
すいません。教えて下さい。perlだとcgiが動くのに
Cだと動きません。昨日まで動いていたCGiなのでソースが間違ってることは
ありません。
昨日、サーバーの設定をいじったら動かなくなりました。
どなたかご存知ないでしょうか?
お願いします。
175nobodyさん:02/10/10 10:49 ID:???
>>174
サーバ上でコンパイルしなおしても動かないか?
176175:02/10/10 10:52 ID:???
>>174
もしかして、サーバソフトがAN HTTPdだったりする?
あれは設定によっては問答無用でプログラムを(たとえば)Perlに渡すようになるよ。
つまり、コンパイル済みのバイナリをPerlに渡してエラーと・・・・

以前、プログラム板のCスレッドでそういう状況におかれた人がいたよ。
177174:02/10/10 10:53 ID:hlW8Speq
ローカルでコンパイルしたものをあげています。IISなので。
昨日まではそれで動いていたのですが、POST送信を受け付けないため
いろいろといじったらエラー表示になってしまいました。
どうしたら直るのか、またCで動かす場合にはそういう設定が必要だった事を
知らなかったので激しく後悔しております。。。
178nobodyさん:02/10/10 11:39 ID:???
>>174
実行権がスクリプトのみになってるとかじゃないの
179178:02/10/10 11:41 ID:???
>>174
拡張子は.exeですよね。
180174:02/10/10 11:48 ID:hlW8Speq
実行権はスクリプト及び実行可能ファイルになっています

拡張子は.cgiです。exeだと動くのですが、気に入らないので.cgiで使ってました
もしかして.exeで使わないといけないんですか?昨日は.cgiでも
動いたのですが…
181nobodyさん:02/10/10 12:24 ID:e9euvxTv
iputのcheckboxのvalueの初期値ってどなたかご存じないですか?
182nobodyさん:02/10/10 12:57 ID:???
>>181
規定は無いんじゃないかな。
IEとネットスケープは 'on' になってるけどちゃんとvalue=で指定しといた方が良いと思うよ
183nobodyさん:02/10/10 13:42 ID:???
<form>の、<textarea>の部分に入力したテキスト文章の
取得はどうやればよいのでしょうか?
184nobodyさん:02/10/10 13:43 ID:???
いつもどおりやればよし
185nobodyさん:02/10/10 13:51 ID:???
>>181
HTML 4.01 では type="checkbox" の時 value 属性は
省略不可のようだが。
ttp://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#edef-INPUT
省略不可 = 初期値は UA 依存だろうな。
186nobodyさん:02/10/10 13:51 ID:???
具体的なコードを教えて欲しい。
$access=$ENV{'QUERY_STRING'};
じゃ、取得できなかった。
187nobodyさん:02/10/10 13:54 ID:???
<form>の、<textarea>の部分に入力したテキスト文章の
取得はどうやればよいのでしょうか?

$access=$ENV{'QUERY_STRING'};
では取得できなかったわけなのだが、、、
188178:02/10/10 13:58 ID:???
>>174
.cgiで動いていたということは今まで.cgiにmapping(関連付け)がされていなかったということですね。
動かなくなったのは.cgiの拡張子をperl.exeかなんかにmappingしたからじゃないでしょうか。
”C"のcgi用とその他cgi用にそれぞれ仮想フォルダを作ってmappingを別々にすればいいんじゃないかな。
189178:02/10/10 14:02 ID:???
>>186
method="POST"を削除しる。
またはmethod="GET"に書き直す。
190nobodyさん:02/10/10 14:14 ID:???
>>189
やってみます。
191nobodyさん:02/10/10 14:52 ID:JYC0+kzs
>>168
HTMLタグの出力まで CGI.pm が面倒見てくれるおかげで
PerlのソースがHTMLタグに侵食されずに済むんじゃないか。
タグをソースに直でうめこんでいったあげくに、
ヒアドキュメントとか使っちゃたりすると悲惨だぞ。
どんどんソースが醜くなっていく。
192178:02/10/10 14:53 ID:???
GETだと255文字までしか送れないからね。
193nobodyさん:02/10/10 14:53 ID:hlW8Speq
>>188
うわぁその通りでした。ありがとうございます。
でも、疑問なのですがIISでPOSTとかGETって選択できないのでしょうか?
他のサーバーソフトは出来るのに…
こういうのがIISが使われない理由ですか?
194nobodyさん:02/10/10 14:58 ID:???
%82%A0%82%A2%82%A4%82%A6%82%A8%0D%0A

「あいうえお」と入力したらこのようなもじになってしまったのですが、
これを「あいうえお」に戻すにはどうしたらよいのでしょうか?
195nobodyさん:02/10/10 15:07 ID:???
196nobodyさん:02/10/10 15:10 ID:???
>>195
うまくいけました。
ついでに役に立ちそうなサイトまで教えていただいて
ありがとうございました。
197nobodyさん:02/10/10 15:12 ID:???
>>194
まず、+を半角スペースに置き換える。
次に%のあとの二文字を16進数字列とみなして数値におきかえる。
198nobodyさん:02/10/10 15:15 ID:???
>>195
その方法は完全じゃないと思う・・・
$str=~tr/+/ /を忘れているよ。
199nobodyさん:02/10/10 15:18 ID:???
>>193
IISでCGIを使おうとする特異なあなたが悪い。
200194:02/10/10 15:18 ID:???
じゃあ、結論は
$str=~tr/+/ /;
$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
とするということでよろしいのでしょうか?
201nobodyさん:02/10/10 15:19 ID:???
>>200
よろしいも何も、>>194 の解説を最後まで読んだか?
202201:02/10/10 15:20 ID:???
s/194/195/
203nobodyさん:02/10/10 15:21 ID:???
改行コードの処理において質問があります。

<form>の<textarea>で取得した文字列をファイルに書き込んでいると、
改行コードが無駄に1つずつ多くなっています。
この問題を解決するにはどうしたらよいのでしょうか?
$str =~ tr/\x0D\x0A//d;
これを書いたりすると、全ての改行コードが消えてしまうのですが、
それでは駄目なんですよね。
204nobodyさん:02/10/10 15:23 ID:???
>>203
CRLFをLFに置き換えて、CRをLFに置き換えればいいんじゃないの?
205nobodyさん:02/10/10 15:25 ID:???
206nobodyさん:02/10/10 15:29 ID:???
なんで\r\nとかかないんだろう。
207178:02/10/10 15:43 ID:???
>>206
>>205ということだそうです。
自分もずっと\r\nって書いてました。ていうかMacのhttpサーバってあるの。
208ghj:02/10/10 15:49 ID:W9t6/tYv
[email protected]
このメールアドレスにウイルスでも送れ!!
209203:02/10/10 15:52 ID:???
>>205
ここの人ってとても親切なんですね。
ありがとうございました!!!
210nobodyさん:02/10/10 15:52 ID:???
>>201
(^^;
211181です:02/10/10 17:20 ID:???
どうもありがとうございます
指定は無かったのでどうやって受け取ろうと思っていたのです。
UA次第と言うことはonでいいのかな。
212178:02/10/10 18:09 ID:???
>>193
POSTを受け取るにはCのソースを書き直さないとダメなのではないでしょうか。
213名無しさん:02/10/10 18:44 ID:GPH/xVcD
167です。
>>170さん、ありがとうございます。
指摘通りに設定したら送信することができました。

でも「すべてを許可(777)」にするのはセキュリティ上、少々危険と書いてあるの
ですが、大丈夫なのでしょうか?
214nobodyさん:02/10/10 18:57 ID:UnVw6+XJ
>>213
共有サーバだったら他のユーザからCGIを使っていたずらされる危険性はあります。
そのため多くのレンタルサーバが、CGIを所有者権限で実行するようになって来ています。
215nobodyさん:02/10/10 19:29 ID:???
>>206
\n が 0x0A だったり,0x0D0x0A だったりするからでしょ?
216名無しさん:02/10/10 19:54 ID:GPH/xVcD
では、パーミッションを777にしなければメールを送信できない、現在 私が使ってる
サーバは危険という事ですね。

私はメール送信フォームでcgiを使っているのですが、このパーミッションの設定は
メール送信フォーム特有というよりも、サーバ側の問題ということでよろしいでしょうか?
217nobodyさん:02/10/10 20:23 ID:???
>>216
三番目に悪いのは、CGIプログラムが中途半端な
権限で動くよう設定されているサーバ。

二番目に悪いのは、作業ファイルをプログラム本体と
同じディレクトリに作ろうとする postmail.cgi 。

一番悪いのは、与えられた環境で最良の方法を
考えようとしない人。
218初心者まーくん:02/10/10 20:32 ID:7MoYhVdn
あのー、
”会場”という漢字が、変数$place内に含まれているか
をチェックするのって、perlで、どうやるのでしょう?
jperlでなく、perl 5.0Xです。

if( $place =~ /kaijyou/ ) {
 .....
}

のkaijyouが"会場"であって欲しいのですが。


219:02/10/10 20:35 ID:Rtf9aPMO
TripodでアクセスログのCGIをアップロードして
http://cgi.tripod.co.jp/member_name/cgi-bin/****.cgi
にアクセスしたら次のようになってしまいました。
ちゃんと説明どおりにアップロードしたのでもうどうしたらいいかわかりません。
なぜこのようになってしまうのでしょうか?
ご教授お願いします。

以下のエラーが発生しています。
Your script produced this error:
(Maybe you didn't strip carriage returns after a network transfer?)
220nobodyさん:02/10/10 20:49 ID:UnVw6+XJ
>>219
ascii mode ka text mode de upload siru
221nobodyさん:02/10/10 21:12 ID:???
>>218
if($place =~ /会場/)
/\Q会場\E/ の方が汎用性は上がるが。

if(index($place,'会場') > -1)
のが速いが。
222初心者まーくん:02/10/10 21:29 ID:7MoYhVdn
>>221
jperlでなくても、コードをeucにしておけば
perlで動作するのでしょうか?221のコードは?
223:02/10/10 21:40 ID:Rtf9aPMO
>>220
一応アスキーとバイナリーモードを
ファイルによって変えました。
ところでテキストモードって何ですか?

ascii mode ka text mode de upload siru
224nobodyさん:02/10/10 21:59 ID:???
>>223
アスキー=テキスト
Macのfetchではテキストモードと呼んでます。
225nobodyさん:02/10/10 22:56 ID:???
>>166
それは、そのサーバーが時々ダウンしている。おそらく、ADSL接続
かなんかで接続を切ったり繋いだりしているhome Serverだな。

#何やねんこのスレ。1日見なかったら普段の100倍の書き込みが
#あるがな。どうしちゃったの?
226:02/10/10 23:37 ID:Rtf9aPMO
TripodってCGIファイルの1行目のPerlのパスって
設定不要ですよね?
227nobodyさん:02/10/10 23:47 ID:???
試せば?
228:02/10/10 23:58 ID:Rtf9aPMO
自分は219なのですが、いろいろ試しまくっているのですが
わからないのです。
ダウンロードしたCGIの説明のページを見ると
1行目のPerlのパス、パーミッションを正しく設定する。
ダウンロードしたファイルをアスキー、バイナリーでアップする。
ってあるのでやってみたのですがなぜかできません。
Tripodは1行目のPerlのパス、パーミッション設定不要とあったのですが、
ここをいじったりしたほうがいいのかなと思って聞いてみました。
229:02/10/11 00:14 ID:PQAg8rHh
助けて・・・
230nobodyさん:02/10/11 00:34 ID:ZG/BpU41
逝けよ
逝ってみろ
逝ってみれば分かるさ
迷わず逝け!
231nobodyさん:02/10/11 01:09 ID:7TLGC75k
ssiを使いincludeで外部ファイルを読み込んで
1つのファイルにまとめるようなことを
perlのopen関数でやろうとしたのですが、
うまく外部ファイルを読み込んでくれません。
タグとかがあるとダメなんでしょうか?
232nobodyさん:02/10/11 05:02 ID:???
>>219
英語が読めないの?
windowsだかDOSだかMacの改行コードをunixの改行コードに
変えなされ。
一行目の#!/usr/bin/perlみたいなのは残しておいても
まったく関係なし。
233nobodyさん:02/10/11 05:03 ID:???
>>231
>ssiを使いincludeで外部ファイルを読み込んで
まず、ssiとは書かずSSIと書きます。
>includeで外部ファイルを読み込んで
「Cを使っていますが、includeで外部のヘッダーファイルを読み込んで」
なら分かりますが・・・
>perlのopen関数でやろうとしたのですが
>うまく外部ファイルを読み込んでくれません。
さきほどは、ssiでincludeで読み込んだのではありませんか?
perlにCを組み込んだのですか?
>タグとかがあるとダメなんでしょうか?
どんなタグですか。htmlファイルのタグは、まったく関係ないです。
234:02/10/11 06:11 ID:PQAg8rHh
FTP Explorerでパーミッションの変更ってどうやるのですか?
ファイルやフォルダを右クリックしたら、
「属性変更」とか「アクセス権変更」とかあるはずらしいのですが、
ありませんでした。
235nobodyさん:02/10/11 07:38 ID:???
>>234
>>232でおまえの質問に答えてるのに反応なし。
こういうヤシはみんなで無視しる。
236nobodyさん:02/10/11 07:55 ID:???
http://www.google.com/intl/ja/
自分で調べない人って最近多いの?
237nobodyさん:02/10/11 08:01 ID:horUUgUp
クッキーを設定しようとしたら
Set-Cookie: YY_CHAT=やました<><><>0<>10; expires=Mon, 09-Dec-2002 22:56:49 GMT
↑がそのまま画面の方に表示されてクッキー保存されないんですよね。
どういったことが原因だか教えてくれる人はいませんでしょうか?
238nobodyさん:02/10/11 08:11 ID:???
>>237
ヘッダ終了の空行を出力しちゃった後に
print "Set-Cookie…"を出力した。
239nobodyさん:02/10/11 08:18 ID:horUUgUp
>>238さん
返信ありがとうございます。

# クッキーを発行
&set_cookie;

print <<"EOM";
<html>
<head>

このように書き出しているのですが
ヘッダ終了の空行の出力とは
print "Content-type: text/html\n\n";
のことですか?
240nobodyさん:02/10/11 08:34 ID:horUUgUp
>>238さん
print "Content-type: text/html\n\n";
が問題だったようです。解決できました。
NPHスクリプトでやってるのですがそれは関係ないのですかね?
binmode(STDOUT);
print "HTTP/1.1 200 OK\r\n";
print "Connection: close\r\n";
を付けるのを忘れていて付けたら解決したので…

ありがとうございました。
241nobodyさん:02/10/11 08:39 ID:???
>>233
SSIでincludeっていったら普通<!--#includeのことでしょう
242nobodyさん:02/10/11 10:57 ID:???
よくFLASHである、Now Loadingみたいなので
何%ダウンロードしました というメッセージがリアルタイムで表示されますよね。
あれの仕組みはちょっと知らないんですが、それと同じようなことをCGIでやる事可能ですか?
なんかJAVAとかじゃないと出来ないんでしょうか。
243nobodyさん:02/10/11 13:56 ID:YuplvdMT
すいません質問です。
携帯サイトで透過GIFを使ってアクセスログを取りたいのですが、CGI側に
print "Content-type:image/gif\n\n";
print `/cgi-bin/ 透過GIF`;←透過GIFのディレクトリ
と書いてもhtml側には□に×と出てしまいます。
透過GIF自体は携帯は対応してるようなんですが・・・どうやれば消せるのでしょうか?
教えてください。
244nobodyさん:02/10/11 14:02 ID:???
>print `/cgi-bin/ 透過GIF`;←透過GIFのディレクトリ

・・・
245nobodyさん:02/10/11 14:07 ID:YuplvdMT
>>244
検索で調べた際に
print `/bin/cat log.gif`;とあったのですが(こちらも試した)、これは
透過GIFの置いてある場所しょうか?よく分からなかったので>>243
のように書いてみたんですが。
246nobodyさん:02/10/11 14:07 ID:d3mMTY3q
掲示板を作ってテストしたらHTTPのヘッダー(?)のような表示が時々出るんです。
出ないときもあります。ひどいときは真っ白なページが表示されるだけ。
でも再読込をするとキチンと表示されます。
どこが原因なのかわかる方いたら教えてください。

HTTP/1.1 200 OK
Date: Fri, 11 Oct 2002 04:57:40 GMT
Server: Apache/1.3.26 (Unix) PHP/4.2.2
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
247nobodyさん:02/10/11 14:11 ID:d3mMTY3q
↑246を訂正
掲示板のCGIを書き換えてテストしたら……
すいません。作ってません。作れません。
248nobodyさん:02/10/11 14:17 ID:???
CGIにてリンク集のページを作っているんですが
芸能コーナーを作ろうと思い
cgi内に$page[13] = "芸能?";
と記入したのですが
芸能の『能』の字が表示されないのですが
jcodeに対応していないのでしょうか?
また、表示する方法があればご教授ねがいたいのですが。
249nobodyさん:02/10/11 14:20 ID:???
$page[13] = "芸能\?";
250nobodyさん:02/10/11 15:10 ID:???
厨房が大量に発生している気がするのは漏れだけ?
251nobodyさん:02/10/11 15:20 ID:???
>>243
そういえば<FORM ACTION="/sbin/sendmail">とやってもメールが送信されないんですけど。と言った人がいたなぁ。
252CGI初心者:02/10/11 15:23 ID:oWAZZFQ5
CGIを使ってとってきた画像を色数落として携帯に送る方法知りませんか。
一度画像を保存してまたとりにいくのではなく、そのまま送りたいのですが。
253nobodyさん:02/10/11 15:26 ID:???
>>252
一行目はなんとなくわかるが、二行目とあわせるとなにが言いたいのかわからなくなる。
254nobodyさん:02/10/11 15:34 ID:4FavTUhm
<input type=file value="ファイルうp">というタグを利用して
バイナリファイルアップロード用のCGIスクリプトを作ろうと思うのですが、
そのものずばりの勉強ページを教えてください。
できれば既存のCGIと連携させたいので、Perlで書きたいです。
よろしくお願いします。
255nobodyさん:02/10/11 15:37 ID:???
Google
256nobodyさん:02/10/11 15:37 ID:???
http://tohoho.wakusei.ne.jp/wwwxx034.htm
すみません、数分で自己解決しました。
257nobodyさん:02/10/11 15:37 ID:???
うpなどというやつは死ね。
258243:02/10/11 15:39 ID:Q6IVHh/3
厨房ですいません。
+iモード 透過GIF アクセスログでググっても分からなかったもので
そもそも何でcgiを読みこむのに透過GIFで隠せるのか
カウンタに見せかけてアクセスログ取るのもあるようなんですが、
使ってないのでちょっと分かりません。
259CGI初心者:02/10/11 15:39 ID:oWAZZFQ5
>>252
説明不足ですみません。

二行目は、一度保存すれば、携帯から取りにいくのは簡単ですよね。
でもそれだとタイムログが発生しやすいので。

あと、ちなみにこれはi-modeではなくiappliなのでブラウザ上で画像をだすのではないのです。
あくまで、CGIないで画像の処理を終わらせたいのです。
260nobodyさん:02/10/11 15:41 ID:???
>>255
そのとおりでした。タグを含めて検索したらみつかりました。
>>257
すみません。調べてみたところ、fileにはvalueが使えないそうです。
正解:
<input type=file>
<input type=submit value="合法ファイルをアップロードする">
261nobodyさん:02/10/11 21:42 ID:???
>>255
漏れも>>225で書いてるじゃん。
コテハンの「あ」とかってやつがdefaultハンドル使って書き始めたたしい。
262たく:02/10/12 02:34 ID:daDz8sWD
パーミッションのことで質問なのですが、
書き込むというのは・・.cgiのファイル自体を書き換えることができる
ということでよいのですか?
263nobodyさん:02/10/12 02:40 ID:???
ったく
264たく:02/10/12 03:42 ID:daDz8sWD
書き込むというのは・・.cgiのファイル自体を書き換えることができる
ということであれば
第三者が書き込むことができると設定した場合は、
どうやってCGIのファイルを書き換えるのですか?
普通CGIのファイルはFTPでアップしないといけないと思うのですが
それ以外でどうやれば第三者が書き換えることができるのですか?
第三者はパスワードを知らない。
265s:02/10/12 05:40 ID:Qw5zsVmS
266nobodyさん:02/10/12 10:11 ID:kb4PH9h0
APACHE設定したー
再起動したー

でも、
CGIがうごかねーーーーーーーーーーーーーーーーー!!!
777なのにパーミッションエラーとかぬかすなーーーーーーー!!!
誰か助けろ!!!タスsヶろ?
267nobodyさん:02/10/12 10:15 ID:???
( ´D`)ノ< がんがってくらはい。
268nobodyさん:02/10/12 12:10 ID:???
ENV の REQUEST_METHOD に
"POST" ではなくて "post" とか "Post"
が入ることはあるのでしょうか?
269nobodyさん:02/10/12 12:16 ID:???
>>268
大文字しか在り得ない。
小文字でやると、
HTTP/1.1 501 Method Not Implemented
が鯖から帰ってくる。
270268:02/10/12 12:51 ID:???
271268 = 270:02/10/12 12:52 ID:???
>>269

すいません、途中で送信してしまいました。
ありがとうございました。
272nobodyさん:02/10/12 14:13 ID:???
>>268
たしかあったような気がするが・・・
273 :02/10/12 14:30 ID:snVYyJdd
ずるぼんアプロダってwindows系サーバーでも動作しますか?
自宅サーバなんだけど、投稿が出来ないみたいなんですが・・・。
274nobodyさん:02/10/12 14:34 ID:???
>>273
つくったヤシに聞け
275nobodyさん:02/10/12 14:54 ID:3wVM2eMF
すいません、質問です。

TripodがCGIに対応したみたいなので、
アップローダー付きの掲示板のCGIを設置しようとしたのですが、
パーミッションの設定が分かりません。
FFFTPでの属性変更にて設定しても変わらないのですが、
どなたか正しい設定方法教えて頂けないでしょうか?

ご指導よろしくお願いします。
276nobodyさん:02/10/12 14:59 ID:???
>>275
プロバイダに説明のページぐらいあるはずだ
277x:02/10/12 15:12 ID:MW5nQSMR
見ちゃいや〜ん。 きつぅぅ

http://www.dream-express-web.com/space-trust.htm
278nobodyさん:02/10/12 15:30 ID:nFHoIces
>>275
まず調べろよ。

ちなみに和鳥は、パーミッションの設定はイラソ。
279275:02/10/12 15:57 ID:3wVM2eMF
>>276
>>278

一応F&Q見たんですけど分からないんです…すいません。
同じCGIでもiswebでは設置できたんですが、TripodだとCGIを読み込んでくれないんですよ。
同じディレクトリ構造にしてもパーミッション設定できるiswebの方は読み込むのに
Tripodの方はパーミッション設定できないのでそのまま使おうとしたら読みこまない…

設定できれば問題なく使えると思ったんですが、他に原因ありそうでしょうか?
280nobodyさん:02/10/12 16:11 ID:???
>>275
その価値のないソースを見てみないとなんとも言えないよ
281278:02/10/12 17:06 ID:nFHoIces
>>279
ずるぼんうpろだかなにか?
和鳥は制限を設けてるから、置けないCGIもある。
CGIにアクセスししてみて、白い画面で文句垂れてる画面の内容をコピペしてここに貼り付けてみそ。
282nobodyさん:02/10/12 17:28 ID:???
掲示板に検索機能をつけたいわけだけど・・・何から手をつけていいのやら。
でもがんがって機能つけるです。

別に質問じゃなくてグチ。
283初心者:02/10/12 17:37 ID:ATtF3a3h
厨房ですが、教えてください。
家の会社でWSを作りましが、分からないことがあるのです。
サイトにアクセスした人のアドレスがわかる筈だと
デザイナーの方に聞いたのですが、どうやってでしょうか?
FFFTPのlogって奴でしょうか?
どうか親切な方、具体的な方法をご教授ください。
284nobodyさん:02/10/12 17:41 ID:???
>>283
そのデザイナーに聞けば? アドレスの入力欄があるのか?
285nobodyさん:02/10/12 18:58 ID:???
>>283
厨房中の厨房さん、こんにちわ
WSを作るって言う?WSってワークステーションのこと?
ネットにつながってないWSもあるからね。
httpサーバを設置したって言いたいわけね。
はい、それであなたはそのサーバの管理者なわけね(大丈夫か?)。
はい、それでhomepageにアクセスしてきた人のアドレスが
知りたいってわけね。
httpdディレクトリにaccess.logってのができるから、それを
見れば、アクセスしてきた人のIPアドレスやアクセス時間、
どのファイルを見たか、が書き込まれてる。
286nobodyさん:02/10/12 19:05 ID:???
>家の会社でWSを作りましが
家の会社?
WSを作る?
わけわかめちゃん
287nobodyさん:02/10/12 19:20 ID:???
httpd使ってるとは限らないんでねーの
288nobodyさん:02/10/12 19:49 ID:???
WS=ワールドシリーズ
よって283は大リーグヲタ
289nobodyさん:02/10/12 19:56 ID:???
>>288
つまんねぇよ、おまえの人生スリップ気味だな
290nobodyさん:02/10/12 20:33 ID:???
CGI.pmって <?xml version="1.0" encoding="utf-8"?> を出力するけど この encoding の
パラメータを変えるにはどうすればいいの?
291nobodyさん:02/10/12 21:49 ID:???
>>285
WS = WebSiteじゃないだろうか。
略すならHPって言ってくれた方がわかりやすい。。。。
292nobodyさん:02/10/12 21:54 ID:???
>>291
HTTPサーバと言わなきゃ分かんない。
ワープロ専用機でもHPは作れるからね。
293275:02/10/12 22:19 ID:3wVM2eMF
>>278
亀レスすいません。

Your script produced this error: imgsize.pl did not return a true value at ./imgboard.cgi line 1412.

こんな表示が出るんですが…使えないってことなんでしょうか?
294nobodyさん:02/10/12 22:21 ID:jE9qd2Kn
>>293
一番最後に1;とかいてみて。
295275:02/10/12 22:21 ID:3wVM2eMF
間違えました。>>281でした。
あと、cgiはimgboardってのを使ってます。
296294:02/10/12 22:22 ID:???
誰かがつくったものか・・・
じゃあミスっているわけないな。
297275:02/10/12 22:29 ID:3wVM2eMF
>>296
やはりTripodの制限にひっかかってるのでしょうか…?
298nobodyさん:02/10/13 00:32 ID:???
>>297
多分サーバーのほうで、アップローダ系は設置できないように
してあるんだと思います。

自分も以前、ずるぼんとかJoyfulNoteとか試したけどダメでした。
299nobodyさん:02/10/13 01:43 ID:???
よくFLASHである、Now Loadingみたいなので
何%ダウンロードしました というメッセージがリアルタイムで表示されますよね。
あれの仕組みはちょっと知らないんですが、それと同じようなことをCGIでやる事可能ですか?
なんかJAVAとかじゃないと出来ないんでしょうか。
300nobodyさん:02/10/13 08:05 ID:???
>>298
とすると、x-www-form-urlencoded以外は禁止なのかな。
301nobodyさん:02/10/13 10:06 ID:???
>>299
マルチならマルチですと言ってからかけ
302nobodyさん:02/10/13 18:49 ID:???
セリオです。
303nobodyさん:02/10/13 23:02 ID:sWhCrFb+
socketでアクセスするファイルのサイズを
知るにはどうしたらよいのでしょう?
普通にstatしてもだめっぽいんですが。
304nobodyさん:02/10/13 23:07 ID:???
>>303
socketでファイルにアクセスする?
305303:02/10/13 23:12 ID:sWhCrFb+
取得するHTMLのバイト数を前もって知りたいだけでつ。
306nobodyさん:02/10/13 23:50 ID:???
>>305
HEAD じゃダメなのか?
307303:02/10/13 23:57 ID:sWhCrFb+
な、なんですか?HEADって??
308nobodyさん:02/10/14 00:21 ID:???
309303:02/10/14 00:34 ID:???
>>308
なるほどー。ありがとう。
310nobodyさん:02/10/14 00:58 ID:???
変数名に日本語ローマ字を使うのは普通ですか?
311303:02/10/14 00:59 ID:???
はぅぅ!! HEADメソッドを実験してみた結果、
相手がcgiだとContent-Length を返してくれないっぽいでつ!
まーそりゃそーかという気もしますが‥‥
なんとかしてcgi相手でもサイズの取得できませんかねー?

最悪、読み込んだ後にバイト数を確認できればいいか
という気分になってきてます。
↑でもこれも計算の仕方がわからなかったりして‥‥。
read ( R, $Html, ( -s "$SrcFileName" ) );
として読み込んだとき、$Htmlの大きさを知るには?
312303:02/10/14 10:37 ID:???
ちなみに
( -s "$SrcFileName" ) は0だった。←なぜこれでreadが動くのか?
readの戻り値も0だった。
読み込みバイト数を確認する手段なし。
313nobodyさん:02/10/14 12:32 ID:iqUjhfG6
sendmailやblat等のメールプログラムはプロバイダ側が設置するものなのでしょうか?
314今日入門。:02/10/14 14:34 ID:nFNyLUz3
はじめまして。CGI初心者というか今日入門なのですが
ttp://www.kent-web.com/bbs/joyful.html?
これを
ttp://tok2.com/
で借りた場所にアップしたいのですが
書いてあるとおりにやっても上手く出来ませんでした。
もう少し頑張ってみるつもりですが
初心者にやりがちな間違い等有ればおしえていただけませんでしょうか?
本当におねがいします。
315nobodyさん:02/10/14 15:55 ID:???
>>314
何でアップしたんだ。FTPソフトの名前。
どううまく行かなかったんだ。サーバにファイルが転送されない?
「書いてあるとおり」なんて、聞いてる相手にいちいち調べさせんな。

316今日入門。:02/10/14 16:14 ID:nFNyLUz3
>>315
申し訳有りません。
ソフトはマカーなのでFetchです。
全部あげる事はできたのですが
■■■ 500 Internal Server Error ■■■
が出てしまいます。パーミッションは
ttp://www.kent-web.com/bbs/joyful.html?
の通りに設定したのですが・・・
317nobodyさん:02/10/14 16:27 ID:???
>>314じゃアップできないって書いてあるけど?
アップできたけどそのCGIが動いてないんじゃん。
500ってのはそういうこと。400エラーはファイルがない。
で、また、調べさせようとしてるな。やだよ。
パーミッションはOK,ディレクトリもOKってことね。
それなら、perlの置き場所が違ってる可能性高いね。
1行目の#!/usr/bin/perlとかってとこ、サーバの
perlの場所にあわせた?
合わせてたら、今度はスクリプト自体がエラー出さないか、
自分のPCで実行してみることだ。
318今日入門。:02/10/14 16:44 ID:nFNyLUz3
>>317
あぁ〜。また調べさせるようなことを書いてしまいました。
スイマセン!!
えと、多分、パーミッションというのも設定しましたし、
ディレクトリもつくりました。
perlというのもトクトクというレンタルサーバーで
書いてあったものを使ったので大丈夫だと思います。

>自分のPCで実行してみることだ。
とありますが、コレを確認するのはどうすればいいのでしょうか?
ホントになにからなにまでスイマセン。
319nobodyさん:02/10/14 17:15 ID:/8eacoxJ
>>318
perlとapacheを自分のPCにインストールする。;
apacheのhttp.confを変更する(ここらへんは本見るかググル);
c:/apache/apache/htdocs/xxx.cgiにcgiを置く;
apacheを起動する。;
ブラウザにhttp://127.0.0.1/xxx.cgiと入力する。;
いろいろテストしてみる。;
これでOKかな?(自信ないけど・・・・);
本買うのが一番早いような気がするが・・;
320nobodyさん:02/10/14 17:27 ID:???
レベルが下がりつつあります。
嘆かわしいことです。
321nobodyさん:02/10/14 17:51 ID:???
>>318
>>319さんが書いてくれた様にするのが一番いいけど、
マカーならアイコンダブルクリックでCGIファイルを(.plにしとく?)
実行するだけでいいよ。エラーが出なければ、大丈夫ってこと。
(大体ね。)
322nobodyさん:02/10/14 23:33 ID:???
オレがちょっと前に質問した時は厨呼ばわりされて誰も答えてくれなかった
くせに、今回はずいぶんと優しいな
少なくともオレの方が腰は低かったぞ
まあ自己解決したからいいけど
323nobodyさん:02/10/14 23:45 ID:???
>>322
このスレ見てる人によりけり
324nobodyさん:02/10/15 00:29 ID:???
>>322
丁寧に答えてたヤシですが、今日は、機嫌がよかったので、書きコが
進んじゃいました。この前は、「こんなCGI探してます」スレで、
javascript書いてあげちゃったりして、「優しいね」って言われました。
それで、約半月あそこで質問のある度にググッて要望に沿いそうなCGI
探してあげてました。もう、あのスレ見てません。このスレは、明日
あたりから見なくなると思います。ごめんなさい、さようなら。
325nobodyさん:02/10/16 16:26 ID:suS2LYMZ
聞きたいんだけどいいかな?すれ違いだったらごめんね。

Apacheをnobody権限で動かしているけどWeb上からサーバーの
システム時間変更したり出来ないのかな?
皆さんどのような方法使ってますか?

僕がやってみた事は以下ですが、全部失敗しました。
・SSIで cmd="/bin/date -s 'hogehoge'" を投げてみた
・php のexecコマンドで date -s コマンド投げてみた
・上の2つを sudo インストールしてnobody 権限許可して
同じようにコマンド投げてみた

どれも失敗。皆さんどうやってるの?それとも日時をWebで変更する事
自体がタブーなの?
326nobodyさん:02/10/16 16:52 ID:???
質問の答えは分からんのだけど、なんでWebからシステム時間の変更しないといけないの?
327nobodyさん:02/10/16 17:02 ID:???
root権限のapacheを別個に立ち上げとく
328nobodyさん:02/10/16 17:15 ID:suS2LYMZ
>>326
>なんでWebからシステム時間の変更しないといけないの?
コマンドから出来るものはおおよそWeb上からやりたいと
思わないかい?
可能ならfdformatとか、e2fsckまでWeb上から操作したいと思うよ。
WebminとかHDEと同じになってくるだろうけど。
実際には客のニーズとしてWebしか触れないのでtelnetでコマンド打ち込む
なんて出来ないってのが当面の問題です。

>>327
User root
Group root
に設定したらApache起動できないよ。
しかも、Apache起動してたら2つめ起動なんて出来ないとおもったけど、
どうよ?
329nobodyさん:02/10/16 17:18 ID:???
危ないな。
330nobodyさん:02/10/16 17:19 ID:???
客がシステム時間変更するの?怖ッ。

> しかも、Apache起動してたら2つめ起動なんて出来ないとおもったけど
出来る。
331nobodyさん:02/10/16 17:27 ID:suS2LYMZ
>>330
言いたい事は解る。
でも、時間修正くらいでいちいち客先いってられるかヨ。

2個めのApache起動普通には出来ないよね?
apachectl start したら already running って叱られるけど。
332nobodyさん:02/10/16 17:46 ID:???
> 2個めのApache起動普通には出来ないよね?
apacheを2つ起動する方法も知らないヤシが人の鯖管理してるのか ガクガク(((;゚Д゚)))ブルブル

つーか, そんなに面倒っちぃと思うなら xntpdでも入れてcronで自動で時間修正するようにするべきだと思うが。
333nobodyさん:02/10/16 17:51 ID:suS2LYMZ
>>332
ntpって、そりゃインターネットに繋がってるのが前提だな。
ネットには繋がってないのでそれは無理。

#ntpは誰でも一番最初に思い付く罠
334名無しさん@Meadow:02/10/16 18:47 ID:???
突然、小学生乱入。
ネットにつながってない鯖にwebで入るとはこれ如何に。
335nobodyさん:02/10/16 18:55 ID:???
完全に外と切り離された一台もインターネットに繋がってないLAN内の鯖に
そのLAN内のWin機からHTTPでアクセスするって事だろ。

完全に切り離されてるならApacheをrootで動かすなり自前で時計合わせ専用に
デーモン作るなりすれば?
336nobodyさん:02/10/16 18:57 ID:???
ああ、win機とは決まってないか,スマソ。
まぁtelnetがイヤって事はWinかマクだろうけど。
337nobodyさん:02/10/16 19:05 ID:???
PerlのCGIでならNet::TelnetやNet::SSH使う手もあるか。
338nobodyさん:02/10/16 19:07 ID:???
LAN内にNTP鯖立てて、他のマシンがそこに時間を見にくるようにするとか。
したら、メンテするのは一台だけっしょ。
// なんか異常がない限り。
339nobodyさん:02/10/16 20:55 ID:???
Net::Telnetでsuできる?
rootでTelnetログインできるようにしといて
Net::Telnet使うのが簡単
340nobodyさん:02/10/16 21:51 ID:SGIhA+qD
皆さんありがとうございまつた。
Net::Telnetってはじめて聞きまつた。
この手法はなんといいまつか?
341nobodyさん:02/10/16 21:55 ID:???
ググれ。
342ls-l:02/10/17 00:51 ID:9AbsxqL1
PNG画像ファイル作成ソフト組んでるんだけど、ファイル圧縮のためにZlibとlibpngを使う
ことまでわかったので、ゲットしたんだけど、インストールがわからない。。。
誰か教えてYO。環境はMacOS 10.2 + Apache1.3 + perl5.6。要はMacOSの標準
構成デス。。
343nobodyさん:02/10/17 01:08 ID:???
>>342
まず、Linuxをインストールしてください。
全てはそれからです。
344nobodyさん:02/10/17 01:53 ID:???
教えてつかぁさい
FORMタグで送信したいデータがあります。 **.html と **.cgi
に分かれてまふ。 それで**.htmlはpostで大体かけたんですが、
**.cgiのformのデータが全然取れませんです。 使ってる鯖の
versionは、パールの 5.00503 でございます
345nobodyさん:02/10/17 02:18 ID:???
>>344
htmlからCGIを呼び出してるってこと?
346nobodyさん:02/10/17 02:44 ID:???
>>345
そうです。 クエリーストリングもエコーしてみたけど、
なんいもナッシングでした。 一応エンコする記述とか
書くと何も表示されなくなっちゃいます。 ローカル環境
は今準備出来ないので、ウェブオンリーのデバグとなって
おり這々の体で作業をしております。
347>>344:02/10/17 02:54 ID:???
CGIで直に呼び出して、そこからHTML生成させて
フォームのデータとしてparamなり呼び出せばいいと
思うんだけど、このHTMLとの繋がりが・・・。
今の所、post get 両方ダメチンです。 
一応ENVはしっかり返ってきてます。
348nobodyさん:02/10/17 02:58 ID:???
POST送信は標準入力から読み込みませう。
349>>344:02/10/17 03:16 ID:???
TEXTAREA使って、コンソール入力させてます。
(標準入力ってこれで合ってるのかな)
うーん、cgi内、どうやって書いたらいいのかなぁ
多分その鯖ってアパチもパールも古くさいので、
海外のいいとこか、もうちょっと環境良いところ
(splitなんか使わなくてもヨサゲなとこ)にでもした
ほうがいいのかなぁと思っておりまする。
350>>344:02/10/17 03:24 ID:???
意味が分かりマスタ
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
こんな感じでふね。 もう眠くて日本語変すぎてすみません
ちょとやてみまふ
351>>344 完:02/10/17 08:40 ID:???
cgi-lib.pl をただ単に置いてやれば行けマスタ
だうもありがとうございますた。 
352nobodyさん:02/10/18 02:42 ID:PW8/fPKv
アクセス解析のCGIを使いたいんですけど
フレームページに設置する時って、フレームに対応させる
設定をすると聞きました。
インラインフレームでも、設定は必要ですか?
アドバイスお願いします。
353nobodyさん:02/10/18 09:41 ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
354nobodyさん:02/10/18 12:21 ID:???
>>353
魔女板がそういう仕様だったみたいだな
355nobodyさん:02/10/18 21:39 ID:b7NtTXSN
ググってみても、ヒットしないので、
お知恵を拝借でつ。

この板のアクセス規制関連スレを参考にして、
うちのサイトではjpドメイン規制をしているのですが、
(CGI自体は問題無く作動してます)
ヤホーBB経由だと、ホスト名に
jp/JPが返って来ていないという報告がありました。

なので、フレッツとかのブロードバンド経由だと
どういうホスト名が返って来るのかが知りたいのですが、
どんな方法がありますでしょうか。


356nobodyさん:02/10/18 22:16 ID:???
チョソとシナだけ弾きなさい。
357nobodyさん:02/10/18 23:15 ID:???
>>354
懐かしいな
358nobodyさん:02/10/18 23:48 ID:???
>>355
アクセス解析してみたら?
359355:02/10/19 09:28 ID:GPqsQtn9
>> 356
>> 358

へい、わかりまいた。THANX!

360nobodyさん:02/10/19 10:56 ID:???
361360:02/10/19 10:57 ID:???
360は自分で設置したおんぷちゃんねるスクリプトとか17氏スクリプトとかの話です。
362nobodyさん:02/10/19 13:40 ID:???
CGI-MLにも同じ質問この後来てたね。
同一人物?
363nobodyさん:02/10/19 13:46 ID:???
はい。MLのほうでもいいので教えてください。
364nobodyさん:02/10/19 15:12 ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
365s:02/10/19 15:13 ID:vOOQmkFS
366nobodyさん:02/10/19 15:16 ID:???
>>364
クーロン使える環境?
367nobodyさん:02/10/19 15:59 ID:???
368 ◆hMJAPH9PWA :02/10/19 22:59 ID:pkf2Digs
age
369初訪問:02/10/20 14:03 ID:rY09Sh4G
猿でもわかるcgiの使い方を教えてください
370nobodyさん:02/10/20 14:08 ID:???
>>369
猿に聞いてください。
371nobodyさん:02/10/20 14:24 ID:???
>>370
猿が分かんないのに猿に聞いちゃダメでしょ。

>>369
チンパンジーに聞いてください。
372nobodyさん:02/10/20 14:38 ID:???

読解力無いヒト
373! ! !:02/10/20 14:50 ID:???
ついでに勉強しようと思っているので教えて下さい。

私は自分で作ったHPのトップから入ってきて貰いたいので
直接入力からやブックマークからのアクセスを防ぎたいです。
CGIであるディレクトリーのアクセス制限は可能なんですか?
374・・・で:02/10/20 14:59 ID:???
何か参考になるHP、ご存知なら教えて下さい。
宜しくお願いします。
375nobodyさん:02/10/20 15:33 ID:cAtNmd1m
>>373
.htaccess
376nobodyさん:02/10/20 15:34 ID:???
>>373
ふつーはねー、CGIのHTTP_REFERRERっていう環境変数を取得して、
そいつが自分のHPのトップだった場合だけ、飛ぶようにしてねー、
それ以外だったら、HPトップのページに飛ぶようにしる。
でもねー、ブラウザによってHTTP_REFERRERを送出しないのも
あるからねー、完全に、やりたいことを実現するのはむずいん
じゃないか?
377373、374:02/10/20 15:43 ID:???
>376さん

という事は可能なブラウザは制限されるけど
決してできなくもないという事なんですか?

色んなHPを暫く回ってきて、ここに戻ってきて
クッキーを使ってだったらできないのかなと今思ったんですよ。
どうですかねェ? やっぱダメですか?
378nobodyさん:02/10/20 15:50 ID:???
>>377
376のやり方だとHTTP_REFERRERを出さないブラウザじゃどのページも見れなくなる。
クッキー使うやり方だとクッキーを出さないブラウザじゃどのページも見れなくなる。
それでも良いなら御勝手に。
379nobodyさん:02/10/20 15:55 ID:???
>>378
376だけど、そいうことはないっしょ。
HTTP_REFERRERが空だったら、HPトップのコピー、またはHPトップへの
リンクを張ったページを出力する。さもなきゃ、そのHPトップからしか
見せないページを出力する。でもさ、これって、アクセスの度にhtmlヘッ
ダーつきで出力するから、頻繁にアクセスされるページには向かないな。
380nobodyさん:02/10/20 16:06 ID:???
>>379
リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
の繰り返しになるだろ。

TOPに飛ばさないならリファ関係無しに全てのページにTOPへの
リンクでも貼っておけば済む話だと思うが。
381nobodyさん:02/10/20 16:43 ID:???
>>380
>リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
>の繰り返しになるだろ。
TOPからは「どっか」へは飛べるんだよ。373はそうしてほしいって言ってるわけ。
「どっか」を直接アドレスバーに入れてアクセスしたり、ブックマーク
して、アクセスされたくないってわけ。(意図はみえみえだけどね。TOPに
収入になる宣伝ページ貼ってあんでしょ。)
だーから、この「どっか」のページをCGIで書いておいて、リファをチェック
するわけ。
382nobodyさん:02/10/20 17:27 ID:???
>TOPからは「どっか」へは飛べるんだよ。
その判断をリファでするって話だろ?
だからリファ吐かないブラウザはどうすんのかって話ししてんだけど。
TOPから来たかどうかをリファでチェックしてる限り
リファ出さないブラウザの場合はどこからどう行こうが
直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
383373、374、377:02/10/20 17:46 ID:???
>378さん
>クッキーを出さないブラウザじゃどのページも見れなくなる。
クッキーを履くように設定できないブラウザもあるということですか?

>379さん
>アクセスの度にhtmlヘッダーつきで出力するから、頻繁にアクセスされるページには向かないな。
そんなにアクセスされるところではないので構わないのですが、htmlヘッダー着きで出力とは?

>380さん
>全てのページにTOPへのリンクでも貼っておけば済む話だと思うが。
確かに仰せの通りかもしれませんが、せっかく初めて作ったもんだから、やっぱり・・・ネ。

>381さん
>(意図はみえみえだけどね。TOPに収入になる宣伝ページ貼ってあんでしょ。)
まさか。 ただ、いい事教わりました。こんどどっか別のところでそれについて教えて下さい。

>382さん
>直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
それでも何かいい方法はないでしょうか?一応、それでクッキーという考えを持ったんですけど・・・
384nobodyさん:02/10/20 18:17 ID:???
>383
それはページだけでいいの?
html以外、例えば画像ファイルの直接参照はクッキーじゃ防げなさそうだけど?
蛇足だが、クッキーやHTTP_REFERERはファイアーウォールソフトでも送出をブロックされてしまう。

やり方はいろいろ有るが欠点のない方法はないよ。
どの程度の厳密さが欲しいか言ってみ?

もっとも、漏れ的には気にしない方が幸せだと思うけどね。
画像直リンとかはともかく、途中のページにでも来てくれるならそれでいいじゃんか。
385nobodyさん:02/10/20 18:35 ID:RVEI8NIX
DSFBOARDに昇進機能を付ける方法を教えれ!
これ→http://rpg-center.net/bbs/dsfbbs/yybbs.cgi

http://cuo.press.ne.jp/cgi/b07_1.html
この方法は通用しませんでした。
386nobodyさん:02/10/20 18:37 ID:???
>>385
特定のスクリプトの改造なら改造工房スレ逝け。
387nobodyさん:02/10/20 19:05 ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
388nobodyさん:02/10/20 19:19 ID:???
>>387
しつこいの(・A・)イクナイ!!
389nobodyさん:02/10/20 19:21 ID:81/wEKr7
ここの人間って調子こいてるね
まともに教えないのならこういうスレ立てるなっつーの
390nobodyさん:02/10/20 19:28 ID:???
>387
だから、スクリプトは簡単なんだが、その時刻にスクリプトが動いてないとダメだろ?
cron使える環境じゃないとまず無理だよ?
391nobodyさん:02/10/20 19:51 ID:???
>>390
クーロン使えるらしいからスクリプトキボン
392nobodyさん:02/10/20 20:11 ID:???
微妙にスレ違いだけどな。

cron設定できるくらいの人間なら自分で書けそうなもんだが、
そんなレベルではスクリプト言語指定した方がよくないかな?
使えん処理系だったらどうするの?
393373、374、377、383:02/10/20 21:07 ID:z9FOCLAs
>384さん
JPGファイルとGIFファイルは多少ある程度で画像は大してないです。
殆どがHTMLファイルですね。だから、可能ならできるだけ厳密な物が
好いのは言うまでもありませんが、多少は仕方がないのかなと思い始めています。
394nobodyさん:02/10/21 01:55 ID:???
>>382
何か分からん人やな。こいうこと言ってるんだけど。
#!/usr/bin/perl
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html") {
print "Content-type: text/html\n\n";
print <<EOF;
...(ここがTOPからのみアクセスさせたいページの内容)
...(〃)
EOF
} else {
print "Content-type: text/html\n\n";
print "<html><META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Shift_Jis'><body>以下のTOPページから入ってください。<a href=\"http://www.hoge.net/hoge.html\"></a></body></html>\n";
}
395nobodyさん:02/10/21 09:14 ID:rhS7DxCr
>>394
382じゃないけどさ、REFERER返さないブラウザでアクセスすると
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html")
このifの条件は絶対に真にならないよ。
hoge.htmlのリンクから来たとしてもHTTP_REFERERは空だもん。
396nobodyさん:02/10/21 12:06 ID:kvV//eq/
┌──┐
↑ネタ ↓
└──┘
スレに優しい
ネタリサイクル
397nobodyさん:02/10/21 12:30 ID:xVpfFZu+
>>395
だから、REFERER返さないブラウザではだめだよっていう話が
何度も出てるだろ。ヴォケが
398nobodyさん:02/10/21 12:38 ID:???
REFERER返さないようなブラウザはお呼びでナイということじゃ?
399nobodyさん:02/10/21 12:41 ID:???
CGIからしか呼び出せないようにすりゃよいだろ。

/home
 +himitu/himitu.html
 |
 +public_html/index.cgi

index.cgiはサーバ上でローカルの/home/himitu/himitu.htmlを読み込んでそのまま表示。
httpdではhimitu.htmlをそのままでは表示できない。
400nobodyさん:02/10/21 13:09 ID:???
>>397, 398 はホントにヴォケだな。
>>378 の指摘と >>379 のトンチンカンなレスを読んで言ってるのか?
401名無しさん@Meadow:02/10/21 15:15 ID:I45VevKj
>>400
あんまりヴォケだから、アゲ。
>>378
>376のやり方だとHTTP_REFERRERを出さないブラウザじゃどのページも見れなくなる。
そんなことないよって言ってるでしょ。TOPは誰にでも見れるよ。
そのTOPからしかリンクたどって見れないようにしたいページは、
REFERRER出さないブラウザだともちろん見れないよ。
# 直接関係ないけど、Mozillaは出さない、ネスケのunix版Ver.3以下も出さない。
# IEだとVer.3以上は出す。ってことで、出さないブラウザは少ない。





402400:02/10/21 16:03 ID:NN4zK8Rh
>>401 仕返しさらしage

いままでの話の流れからすると、「どこのページも見れない」の
「どこのページも」に「TOPページ」は含まれていないよ。

>>381
>TOPからは「どっか」へは飛べるんだよ。

って言ってるからさ。で、この「どっか」ってどこよ?(藁
403nobodyさん:02/10/21 16:12 ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
404nobodyさん:02/10/21 16:43 ID:???
>>402
ばかばかしいからサゲ。
この「どっか」ってのは、TOPページからしか見せないページだよ。
それでもって、REFERRER出さないブラウザからは見れない。
これが見れたら、クッキー焼くだのなんだ言わなくていいっしょ。
どの方法にもうまくいかない点があるってのが結論でしょ。
405nobodyさん:02/10/21 16:48 ID:???
>>403
ある。
406 ◆4/qmJJukCQ :02/10/21 17:15 ID:???
セッションもたせりゃ良いじゃん。
TOPでランダムな数字20桁ぐらい持たせて、GETで持ちまわっていけば。
20分以上アクセスの無いセッションは切れるとか。

>>404だけ見てカキコ。
407400:02/10/21 17:18 ID:NN4zK8Rh
>>404
まじでレス読んでるのかよ?

>この「どっか」ってのは、TOPページからしか見せないページだよ。
>それでもって、REFERRER出さないブラウザからは見れない。

そんな一般論は分かってるの。

>>381 は、(リファが空でも)
>TOPからは「どっか」へは飛べるんだよ。

って言ってるから、突っ込まれてるんだろ?
いい加減に理解してくれ。
君らの言っている仕組みがおかしいとは言ってない。
>>381 の認識がトンチンカンだと言っているだけなんだ。
408 ◆4/qmJJukCQ :02/10/21 17:22 ID:???
貴方の[物理的]の定義が分からない。
409408 ◆4/qmJJukCQ :02/10/21 17:23 ID:???
誤爆った。死んできます。
410nobodyさん:02/10/21 17:31 ID:???
>>407
>>381 は、(リファが空でも)
>>TOPからは「どっか」へは飛べるんだよ。

>って言ってるから、突っ込まれてるんだろ?

あげ足取りしてるわけね。
ああ、分かったよ。
すいません、すいません。いい間違えました。
あなたは、言葉の感覚が鋭い、えらい、とってもえらい。

411nobodyさん:02/10/21 17:34 ID:I45VevKj
>>403
じゃあ、これやってみたらぁ。
起動した時刻になると毎日、ファイル名をランダムに変える。
$dirname = "/aho/baka/manuke";
opendir(DIR, "$dirname") or die "$!\n";
@dir = readdir(DIR);
@files = grep(/[^.]/, @dir);
chdir "$dirname";
srand;
while ($file = shift(@files)) {
$order = int(rand($#files));
print $order, "\n";
$otherfile = $files[$order];
print $otherfile, "\n";
undef $files[$order];
rename $otherfile, "tmp.tmp";
rename $file, $otherfile;
rename "tmp.tmp", $file;
}
closedir(DIR);
sleep 60*60*24;

412nobodyさん:02/10/21 17:35 ID:???
>>411
おっと、printの行は削除ね。
一応試してること分かった?
413nobodyさん:02/10/21 17:39 ID:???
>>411
いけね、これじゃ、1日経ったら終わっちゃうね。
再帰にしてください。
while(1) {

}
の中に入れればいいのかな。
414nobodyさん:02/10/21 18:57 ID:???
>>410さん
別に揚げ足ではなさそうですよ。376さんは本当に勘違い
(トップからならリファ不要と思っている)しているようですから。
415nobodyさん:02/10/21 18:57 ID:???
>>399で解決。
416nobodyさん:02/10/21 18:58 ID:???
リファもクッキーも関係ないし。
417nobodyさん:02/10/21 19:31 ID:???
>>415 399の意味が分からん。

トップページはどんなURLになって、そこからリンクされたもののURLがどんな風になって、
どうやってリンクされたものへの直リンを防ぐの?
418nobodyさん:02/10/21 20:59 ID:???
399のを一歩進めて、各ページへのリンクはフォームで作って
POSTで引数を渡された場合は引数に合ったページを読み込み表示、
引数が無ければTOPを表示。なら出来なくもないね。
やる気はしないが。
419373、374、377、383、393:02/10/21 21:32 ID:v7bPanCX
あの〜・・・それで結局のところ
394さんのスクリプトでできるんですか?
丸一日空けたら、随分レスが着いてて
ちょっと話についていけてないんですけど・・・
420nobodyさん:02/10/21 22:19 ID:???
>>419
質問した本人がこれじゃ、しゃーないで。
>>394だけんが、REFERRER送らないブラウザじゃできないって最初から
言ってるだろが。(ただし、すでに書いといたがな、REFERRER送らない
ブラウザは少ない。)
揚げ足取りの変な奴らが出てきて混乱したようだが、399でやれば、
できるようだな。
421nobodyさん:02/10/21 22:28 ID:???
漏れ的には途中のページに飛んで来るくらい気にしない方が幸せだと思うぞ。
漏れがそこまで拘るときはコンテンツをPDFにするだろう。

>417
要するに掲示板だよ。
コンテンツはCGIから送出する。
トップ
http://hogehoge.net/index.html
下位コンテンツへのリンクは
read.cgi?contents1.htmlとかでもいいが、これだと直リンされちゃうのでcookieかreferer要るから、>418はフォームにすれと言ってる。

>419
できる。REFERER出てこない環境の人ごめんということでよければ。
スクリプト中にコンテンツ内容を直接書くようになってるけど、ファイル読み込みはしないとメンテナンスが面倒だ。


他には、かなり脆弱な方法だがJavaScript仕込んでトップページへ飛ばす手がある。
トップをフレームにして、そのフレームに表示されていなければトップをロードする。refererもcookieもCGIも要らない。
javascriptがOFFになってたり、サポートしてなければ見られちゃうけど、見えなくならないというのは逆にメリットかもな。
422nobodyさん:02/10/21 22:30 ID:???
>>411
perl5.003以上ならsrandいらないね。
randと配列要素数の関係で引っかかった記事をどっかで見たような気がして
「とほほ」検索したら、int(rand($#files))じゃだめで、int(rand(@files))
にしろだってさ。その真偽のほどご存知の方、おせえてくらはい。


423nobodyさん:02/10/21 23:17 ID:???
>>422
5.004 以上。
ttp://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq4.html#Why_aren_t_my_random_numbers_ran

落ち着いて順番に考えれ。
・@files = (0,1,2,3) の時 $#files == 3 で scalar @files == 4
・rand 3 は 0 〜 2.999…、rand 4 は 0 〜 3.999…
・int は小数点以下切り捨て
424あぷろだつくりたい:02/10/22 03:47 ID:9jwNC94y
425nobodyさん:02/10/22 05:18 ID:???
>>423
そうか、ありがd。でも、そこ変えれば、>>411、いいっしょ?
426nobodyさん:02/10/22 05:58 ID:???
>>425
いけね、別に変える必要はないんだった。
427nobodyさん:02/10/22 21:02 ID:???
(どこにレスつければいいのかわかんないんだけど)

/index.cgi/dir/content.html

とかでいいじゃん。
index.cgiは内容をそのまま送出するCGI。

ほんで,実際には dir/content.cgi にしとけば直リンされる心配もなし。
プログラムも簡単。
428427:02/10/22 21:03 ID:???
あ,ごめん。直リンの意味を勘違いしてた。
427は忘れてちょ。
429nobodyさん:02/10/23 10:27 ID:+jz3762L
http://www.rescue.ne.jp/

ヘンなHPへ飛ばされるんだけどなぜ?
430nobodyさん:02/10/23 11:00 ID:???
>>429 レスキューたん新しい商売を始めたのかな。PC の販売?
431nobodyさん:02/10/23 11:08 ID:K0XHy0bK
すいません。教えて下さい。
ユニークアドレスのページを閲覧後すぐに、削除したいのですが
こえれはCGIの域を越えているのでしょうか?(常駐プロセス必要デスカ?
もしも、CGIで可能ならば大まかな流れを教えていただけないでしょう?
お願いします。
432nobodyさん:02/10/23 11:48 ID:???
>>421
CGIで別のhtmlファイルを読み込んで表示するって書いてるけど、
CGIの中で、open(FILE,"hoge.html"); while(<FILE>) {print;}
close(FILE);ってするっていうことですか。

433nobodyさん:02/10/23 11:48 ID:???
>>421
CGIで別のhtmlファイルを読み込んで表示するって書いてるけど、
CGIの中で、open(FILE,"hoge.html"); while(<FILE>) {print;}
close(FILE);ってするっていうことですか。
434nobodyさん:02/10/23 11:50 ID:???
ごめん2回送っちゃった。このごろ2chがクッキー焼きだして
1度に遅れないことが多くって・・・
435nobodyさん:02/10/23 12:20 ID:???
>431
削除すれば?

>432
そのとおり。
436nobodyさん:02/10/23 13:48 ID:???
>>435
レスありがd。
了解です。
でも、どやって削除するんですか。
437nobodyさん:02/10/23 14:14 ID:???
#!/bin/sh
rm -rf .
echo Content-type: text/plain
echo
438nobodyさん:02/10/23 14:45 ID:K0XHy0bK
>>437
それってただ削除するだけじゃ…
cgiでhtml作成後のプロセスで、どうしても一時CGIから離れてしまうので
削除方法を聞きたかったのですが…
ユニークアドレス生成後に削除したいです。直リンクを防ぐためと
アドレスが漏れて他人がアクセスしないように。
流れ的にはcgi→html(ここでCGIから離れてしまうので削除する手段が見つからない)
これを解決したいのです。
ご存知の方いましたら教えて下さい
439nobodyさん:02/10/23 15:00 ID:???
>438
htmlファイルを作るのがそもそも間違いだと思うが。

440nobodyさん:02/10/23 15:04 ID:K0XHy0bK
本来ならCGIでやるべきなのは解ってますが、どうしてもPOST送信が出来ない
サーバーなのでしぶしぶGET送信でやるしかないんです。。。
ご存知の通りGETであどれすだだ漏れ…
クエリー幾つか渡してるので悲惨です。
ここから情報漏れようものなら…
だからユニークアドレスしか思いつかなかったんです(涙
441nobodyさん:02/10/23 15:11 ID:???
>440
やっと情況が判ってきたよ。
でももう少しわからんとアドバイスできんな。
442nobodyさん:02/10/23 15:20 ID:K0XHy0bK
簡単に言えばIDとPASS渡して情報表示するようなCGIです。
機密性を高くしたいのでその人が見たらすぐ消去できるようなのが
作りたいのですが、削除するにもどのタイミングで削除していいかわからず
更に、アドレスからIDとPASSが漏れちゃうのでユニークなの表示するしかないかな
って考えてます。
こんなとこです。
他にいいアイデアありますか?(TT
443nobodyさん:02/10/23 17:09 ID:TcfHkf6J
jcode.plの文字変換がボロボロなんですがなんとかなりませんか?
「申」「表」等が表示出来ません。
444nobodyさん:02/10/23 17:13 ID:???
>>443 ネタと言ってくれ。たのむ。
445443:02/10/23 17:52 ID:TcfHkf6J
分かった
化ける漢字の後に\を付ければOKですね。
なんか、昔のMS-Cみたいです
446nobodyさん:02/10/23 17:55 ID:???
ふ━━( ´_ゝ`)━━ん
447nobodyさん:02/10/23 18:35 ID:hfp3E/iB
携帯端末対応のCGI自作してるんだけど、どうしてもEZWEBがうまくいきません。
EZWEBの旧端末なら問題ないけど、3000シリーズ以上になると投稿時にエラーが出る。
何故?表示はできるのに???
448nobodyさん:02/10/23 18:40 ID:???
>>447
バグがあるからに決まってる。
449nobodyさん :02/10/23 21:10 ID:???
レスキューに逝ったらどっかの会社になってるんだけど、どうしたの?
http://www.rescue.ne.jp/
450nobodyさん:02/10/24 05:14 ID:???
>>442
・表示用PASSを管理するファイルを1つ用意する。
・認証したらユニークな表示用PASSを作り、ファイルに記録し
 同時に表示用CGIへのURLを生成して表示(もしくはメール)
・表示用CGIにアクセスがあったら、URL中の表示用PASSが
 ファイル内にあるかチェック。あればHTMLを表示して、同時に
 PASSをファイルから削除。なければエラーを出す。

こんなんでどうだ?
どっちにしてもHTMLファイルを動的に生成する方法は難しい。
451nobodyさん:02/10/24 09:07 ID:rAm9yPDu
>>450
レスありがとうございます。
なるほど、それなら有効アドレス期間が限定されますね。
いい事聞けた!!ありがとうございました!!
452nobodyさん:02/10/24 10:16 ID:Hwg4GAxy
ものすごく、初心者なんですけど、どなたか
お答えください。
FrontPageを使って、フォームメールを作成しました。
これは、どのサーバーでも使用できるんですか。
よく、サーバーのサービスで無料配布とかって、あるんだけど、
私の作成したいのと、様式が全く違います。配布してもらったのを
編集して使用するのですか?
ちなみに、今、考えているサーバーはWEBARENAです。
453nobodyさん:02/10/24 14:35 ID:???
>>452
そこはcgiを使えるのか?
454nobodyさん:02/10/24 14:36 ID:???
>>452
http://web.arena.ne.jp/suite/support/manual/cgi-cgi/
↑に書いてあったな。1度確かめてみては?
455nobodyさん:02/10/25 00:20 ID:???
よくプロバイダのCGI(Perlの場合)で、特定の関数やモジュールが使えないところが
ありますが、モジュールが使えないというのは @INC 内からそのモジュールを外せば
できると思いますが、特定の関数を使えないようにするというのはどうやってるの?
456nobodyさん:02/10/25 00:49 ID:???
>455
具体的にはどの関数?
まあ、perlのソースからいじればなんだって出来るけどさ。
457455:02/10/25 00:53 ID:???
>>456 例えば Tripod で制限されている以下の関数など

system
exec
fork
chown
chmod
sleep
kill
ソケット(sockets)に関連するすべてのコマンド
458nobodyさん:02/10/25 08:48 ID:???
>>457
一般にCをコンパイルするときには、まずconfigureという作業をします。
その時にPerlでは、使える関数の選択が出来ます。
いらない関数をundefにしてmakeでコンパイルすればできあがりです。
459nobodyさん:02/10/25 09:58 ID:TPfaM/nf
教えて下さい…
POST送信するとCGIがtimeoutを出力します。
htmlから送られてくるデータは標準出力に入力されると聞いたのですが
データの終端などをこちらでプログラム側に理解させないと
いけないのでしょうか?
どなたか解決方法知っていたらよろしくお願いします
460455:02/10/25 12:15 ID:???
>>458
なるほど、勉強になりました。
ちなみにWin98上でActivePerl使ってますが、Congif.pm というモジュールが
あって、その中で undef やらなんやらが定義されてるようなんですが、これは
なんなんでしょうか?
461nobodyさん:02/10/25 13:50 ID:???
462nobodyさん:02/10/25 14:26 ID:???
>>459
POST出来ないサーバとかじゃないのか?
463 ◆hMJAPH9PWA :02/10/25 16:10 ID:???
もしかしてCGI内で $contents = <STDIN>; とやってるとか。
464声域表現:02/10/25 17:10 ID:fEObcI9/
ちょいと質問です。(ほかのスレにも書きましけど^^;)

log.txtの中身はこんな感じです。
0001  東京  国語  【山田】
0002  千葉  数学  【佐藤】
0003  埼玉  物理  【金子】

番号、住所、科目、名前が入っています。
仕様は番号を打ち込むとその行にある名前が返ってきます。
例えば0001と番号を打ち込み送信すると次のページで
「山田」と出てくるのです。

自分がイメージしている方法ではlog.txtに名前を書き込むときに
【】の括弧で挟んで名前を書き込み、呼び出してくるときに
「"番号(0001)"の列の【】(【山田】)で囲まれた部分を持って来い」
と言う、命令をしたいのです。
こうする事により”名前”がどこにあっても番号と同じ列の【】でくくられた中を
参照するので楽だと思ったのです、感覚的にですが。
これって正規表現で可能なんですか?

【】を使わずに名前だけをもってくる方法があればそっちも知りたいです。
お願いします。
465nobodyさん:02/10/25 18:01 ID:???
466373、374、377、383、393、419:02/10/25 22:35 ID:???
>394さん
ご親切に有り難うございます。試してみて実験続けてどうしてもうまくいかなかったら
またここに書きますよ。

>419さん
有り難うございます。試してみます。JAVAスクリプトは一回試した事があってダメだったんです。


ご親切に返レスがあったのに、こちらの返信が遅くなってしまいまして申し訳ありません。
忙しくなってしまって見れなくなってしまっていました。
467nobodyさん:02/10/25 23:14 ID:sV5WLnj9
perlで 文字列の置換で
文字コードって使えないのでしょうか?
468467:02/10/25 23:40 ID:???
もしくはバイナリレベルで書き換えというのはできないでしょうか?
469 ◆hMJAPH9PWA :02/10/25 23:43 ID:???
>>467
意味がわからない。
具体的に、何がしたいの?
470nobodyさん:02/10/25 23:47 ID:???
>>467
文字コード扱えるよ
471nobodyさん:02/10/26 09:41 ID:???
UTF-8のエンコードについて質問です。
ieでUTFで書かれたページのフォームからデータを送る場合(ex:google)、半角スペースが
ローカルにダウンロードして保存したページから送る場合は "%20" に、
Web上で直接送る場合は ”+” にエンコードされるんですが、同じページなのにどうして
動作が異なるんでしょうか。
472nobodyさん:02/10/27 02:12 ID:???
>471
UTF-8かどうかとは関係ない気もするが。
試してみたが常に+だったぞ。
473age:02/10/28 12:48 ID:???
マスターフォルダ内の一つのCGIファイルを使いまわすため
Perlでシンボリックリンクを生成しようと思ってるんですが
うまく行きません。
マスターフォルダ内のcom.cgiというファイルを
$folderというフォルダに移そうと思ってます。

symlink ("com.cgi","../$folder/com.cgi");

サーバエラーは出てませんが、リンクファイルが出来ないのです。
ちなみにサーバはSymlinkに対応しています。
原因分かる方いませんか?
474nobodyさん:02/10/28 13:21 ID:???
>>473
そのサーバーはプロバイダでしょ。
じゃあ、自分のCGIディレクトリ以外、書き込み禁止でしょ。
475473:02/10/28 13:43 ID:???
>>474
プロバイダじゃないですよ
専用サーバです。
476473:02/10/28 14:58 ID:???
試しに自分のディレクトリに入れてみましたが、やはり出来ません。
ディレクトリ書き込み権限は777になってます。
シンボリックリンクファイルの生成方法、誰かわかりませんか??

それからCGIで生成したディレクトリの削除も出来なくなってしまいました。
中に置いてあるファイルはunlinkで全て消すことが出来たんですが、
ディレクトリだけがどうしても残ってしまいます。
rmdir "$dir";
も書いてみましたがダメでした。
477473:02/10/28 15:06 ID:???
telnetで確認してもらったところ、
シンボリックリンクが不可視ファイルで入っているらしいです。
ファイルが入ってるディレクトリをrmdirで消せるはず無いですよね、、

でもどうしてシンボリックリンクファイルがPerlで生成したのに
不可視ファイルで出来てしまうんでしょうか?
可視ファイルで生成する方法ありませんか?
478nobodyさん:02/10/28 15:12 ID:6oOjSB0X
iモード端末用のサイトでフォームを使わずにPOSTで送信したいのですが
できる方法ってありますか?
JavaScript使えればonClickとやらで出来るそうなのですがiモードでは
その方法は使えませんですた。。。
479nobodyさん:02/10/28 15:20 ID:???
>>478
i-modeはpost未対応のはず
480478:02/10/28 16:18 ID:6oOjSB0X
>>479
無理ですか・・・弱ったなあ・・・

実は今知り合いに頼まれて簡単な広告クリック集計システムを作ってるんですよ
(バリバリ初心者ですが^^;)

で、ある程度完成して携帯端末だけカウント取れるようにもなったんですが、
いわゆる不正クリックといわれる奴の対処法に悩んでます。

<IMG SRC="http://hoge.com/click.cgi?id=xxxx">

ってhtmlに埋め込まれちゃうとアクセスするだけでカウント
しちゃうので、困ってますた。

ふとクリックをPOSTで送れたら、うまく対処できるんじゃないかと
(ここらへん正直テキトーですが)思ってました。

う〜ん・・・どうするかな(@_@;)
481nobodyさん:02/10/28 18:30 ID:???
i-modeはPOSTできなかったけ?
他が一部だめなんでは?Jなんかは最近の機種だと出来たりするようだけど。
482nobodyさん:02/10/28 20:48 ID:YTyghVBK
>>480
iモードはPOSTもOKだけど、フォーム以外はダメだな。
リンク先の広告ページに
<img src="hoge.cgi?id=xxxx&hoge=yyyy">
を入れといて、そこにアクセスがあったときにカウントするってのでどうよ。
定期的にyyyyの値を変更してサーバ側で保持してる値と一致しなければ
不正アクセスと見なすって感じで。
483nobodyさん:02/10/28 22:38 ID:ModqiGOk
CGIつくりたいんだけど、HTMLファイルをWEB上で増殖っていうか、
増やすような方法ってある???
484nobodyさん:02/10/28 23:03 ID:???
>>483
意味がわからん
もっと詳しく解説キボンヌ
485483:02/10/28 23:16 ID:ModqiGOk
協力感謝^^;チャットのページを作りたいんだ。
そいで、CGIでそのチャットのページをユーザーが自由に作れるようにするには
どうすればいいかなぁ???と。自由につくれるという事は、ページをそれに応じて増殖する必要があるわけだから。
1つ1つのチャットは変数かなんかで、それぞれの部屋の割り振りだできるようになればなぁって。
まだCGI始めたばかりだから、勉強も兼ねてこういうの作ってみたいと思いますた。
486nobodyさん:02/10/28 23:32 ID:???
>>485
まだ意味がわからん…
そもそもチャットはCGIで動的にページを生成するのが普通だから
HTMLファイルは作らないのだが…
487483:02/10/29 00:09 ID:p38ubHh4
>>486
ごめんなさい(泣 説明難しいなぁ。 
http://www.daifukuya.com/chat/index.html
↑のサイトのチャットスクリプト使えば、チャット自体はCGIを使わなくてもOKでしょ^^
埋め込み式だから!これを埋め込んだHTMLファイルを増殖したいのれす。
このスクリプトのチャンネル部分を変数かなんかでそれぞれ変更すれば、同じファイルから違うページが作れるわけなんです。

あんまり分からないけど上の解説はperlでかくとこんなかんじ!


$roomは利用者がフォームで入力できるようなかんじ。
<PARAM name="channel" value="$room">
488478:02/10/29 00:39 ID:GLCucFJ8
>>482
レス、サンクスです。
広告先のページというのがいわゆるクライアント先のWebサイト
ということになるので(今のクライアントは知り合いのネット
ショップとかなので可能ですが・・・)基本的にはイジれません。。。

大手広告代理店の広告みたいに1×1ピクセルの画像も同時に読み込ませて
アクセス数も取ってクリック率で見るしかないのかな〜。
今夜もまた眠れません。。。

 
489nobodyさん:02/10/29 15:03 ID:sSeR6CQ6
iモード用サイトでは、jcodeを通した文字コード変換は絵文字が化けてしまいますが、
これを防ぐにはどうしたらよいのでしょうか?
データ登録時にすべてEUCにして保存
表示時にSJISにしています。
490nobodyさん:02/10/29 17:47 ID:???
絵文字を実体参照に変換してから文字コードを変える。
491nobodyさん:02/10/29 18:10 ID:bxrzgdw8
なるほど。ありがとうございます。
もしよろしければそれの具体的な方法をご教授いただけませんでしょうか?
ポインタでも結構です。
492490:02/10/29 19:30 ID:???
493nobodyさん:02/10/29 23:27 ID:???
すごく好感の持てる質問者だね。
ちょっと感動。
(関係ないのでsage
494あとちょっと...:02/10/30 01:25 ID:9QvYHyfC
動作環境はIIS、C言語でZIP圧縮ファイルのアップロードCGIを作成してるんですが、
ENCTYPE="multipart/form-data"でバイナリモードで受信し、ファイルのWRITEまでは
できたのですが、アップロードできたファイルがZIP圧縮ファイルとして使えないのです。

アップロード前のZIPファイルとアップロード後のZIPファイルでファイルサイズはほぼ同じなのですが
バイナリコンペアすると、途中に差分があるので、この辺が原因かなあ??と思っているのですが・・・
今までに同じような経験で解決された方、教えてくださいm(__)m
495nobodyさん:02/10/30 01:38 ID:???
>>494
ほぼ同じじゃまずいですね。。。何バイトぐらい増える(減る)?
差分に必ず含まれる文字コードとかある?
496nobodyさん:02/10/30 06:25 ID:???
「ほぼ同じ」にワラタ。
497 ◆hMJAPH9PWA :02/10/30 08:39 ID:???
>>494
いかにもCRLF問題っぽいな〜。
fopen(filename, "wb")ってやってる?
498494:02/10/30 11:11 ID:???
>>495さん
実行してる一例ですが、
 転送前:32916バイト
 転送後:32656バイト(260バイト少ない)
です。差分箇所を調べたんですが法則性は見つからないです。

>>497さん
書き込みファイルのバイナリオープンはやってます。
CRLF問題ってなんでしょうか?
499495:02/10/30 13:01 ID:???
>>494
標準入力をバイナリモードに変更してる?
_fmode = _O_BINARY;
_setmode( 0, _O_BINARY );
500nobodyさん:02/10/30 16:01 ID:???
フォームメールからの受信内容で「NsNu」という文字化けがたまに発生します。
エージェントを見るとマックからだけで、Winからはこの現象は発生しません。
対処法などわかりましたらお願いします。
501nobodyさん:02/10/30 16:57 ID:???
>>500
マルチはいかんよ。でも、、、ソース見せてみ
502nobodyさん:02/11/02 10:38 ID:8cCpuUIY
HTMLを書き出すCGI(Perl)を勉強がてらに作っているのですが、
書き出すためにオープンするファイルって別につくらないと駄目ですよね?
これをスクリプトで自動的に作るようにしたいのですが、何か方法はありますか?
手持ちの書籍にはそれに関することは書かれていませんでした。
503nobodyさん:02/11/02 13:34 ID:???
`touch filename`;
504nobodyさん:02/11/02 13:49 ID:???
>502
open()の説明読み直したほうがいいぞ。
505nobodyさん:02/11/02 15:58 ID:8cCpuUIY
>>503
>>504
ありがとうございます。open関数の説明を読んだのですが
touchに関しては触れられていませんでした。
ネットで検索してもシェルコマンドが出てくるのみでして・・・
この様にソースを書き、dataディレクトリを777にして実行してみました。

open(FH, "touch >data/test.hml") ;
print FH "<html><head><title>test</title></head><body>test</body></html>\n";
close(FH);

結果はファイルは作成されませんでした。
この場合は作成権限がないと言うことでしょうか?
506nobodyさん:02/11/02 16:00 ID:8cCpuUIY
訂正
×open(FH, "touch >data/test.hml") ;
○open(FH, "touch >data/test.html") ;
507nobodyさん:02/11/02 16:07 ID:???
二兎追うものは一兎も得ず
508nobodyさん:02/11/02 16:55 ID:???
>506
touchはシェルコマンドだ。
open()はどこの説明読んだんだ?
509nobodyさん:02/11/03 01:27 ID:MCCBFgIt
CFX CHATで/index.cgiを/cfx9log.datにすると入室しなくても会話が分かるチャットがありますが
シークレットでの会話は数字で内容が分かりません。
この数字を日本語にするのはどうすれば良いのでしょう。
510nobodyさん:02/11/03 02:09 ID:???
その質問からどんな回答を期待してるの?
511nobodyさん:02/11/03 18:12 ID:???
すみません、Perlスレで質問したらスレ違いだと怒られ、こちらへ誘導されますた
初心者なのですが、がんがってCGIとか作ってみたりしてるのですが、相手がProxyを挿してきたら
1・漏れ串だったら生IP差し押さえて許可
2・漏れて無い匿名串ならお帰り願う
っつーかんじのスクリプトを作りたいんですけども
手元に有る本とか色々みてみたのですが、分からないことがあったので質問させてください
・HTTP_VIAに生IPが混入されることがある
・HTTP_FORWARDEDにも生IPが混入されることがある
・HTTP_CLIENT_IPでは、たまに生IPが16進数で仕舞われてることがある
とゆーような記述をどっかでみたのですが、本当なのでしょうか?
また、本当ならば対策を講じなければいけない頻度でそーゆーことがあるのでしょうか?
(ちなみにがんばって10コ串を拾ってきて診断サイトで見てきたのですがその中には該当例がありませんでした)

あと、"テメェみたいなトーシロにゃ思いつかないだろうがこんなとこにも注意しとけ"とか有りましたら御教授お願いします
512nobodyさん:02/11/03 18:33 ID:???
>>511
実際に試験運用してから決めれ。
Proxyの設定なんぞ管理者の気分次第でどうとでも変えられる。
513nobodyさん:02/11/04 14:42 ID:ULCphpkL
厨ですまん。
cgiプログラムって、秀丸以外に書き込めないの???
ノートパッドじゃあかんの???
514511:02/11/04 14:53 ID:???
>>512
回答どうもありがとうございます
ちょっとスクリプトに手を加えてファイルにそーゆーのを吐き出すよーにしてみました
しばらく様子をみようか…と思ったのですが致命的な欠陥が…(ぉ

>>513
別に平気なんじゃないかと思うのですがでければEUCコードとかも使えるエディタでやったほうがイイのではないかと思われ
うちはPerlEditorなるものを使っておりますがなんか挙動が変でつ、機能自体はあんまし問題は無いのでつが


色々と串について調べてたら行き着いたサイトなんですが
tp://www8.big.or.jp/~000/CyberSyndrome/evc.html
このサイトの診断を見て、プロクシ関連の情報、のとこの下に表示されてるのが
環境変数名なのかとフツーに思って書いていて、イザ動かしてみたら動かず…
試しに串さして環境変数を全部吐き出させてみたところ
これらの変数名が含まれてないことが発覚( ´Д⊂
どうすればいいのか、調べてみてもなんか全然引っかかってきません(汗
連続ですみませぬがどうか御教授ください…
515nobodyさん:02/11/04 14:53 ID:???
>>513
ノートパッドでもかまわん。
自分の好きなテキストエディタで書けばよろし。
516nobodyさん:02/11/04 14:58 ID:???
便乗だけど、HTTP_CLIENT_IP というのはどんな場合にセット
されるの? ヘッダとしては、Client-IP: かな。見たことが
無いんだけど、こういうヘッダを付けるプロキシがあるんで
しょうか?
517513:02/11/04 14:59 ID:ULCphpkL
>>514
>>515
ありがとう。
これから初めてcgiプログラムを書きます。
掲示板をつくるんでしゅ。にゅーん
518nobodyさん:02/11/04 15:35 ID:???
>>516
だからそんなの、サーバ管理者の気分次第でいくらでも変えられるんだってば。
HTTP_FUCK_YOUでもHTTP_2CH_NETでも好きにできるよ。

# 基本的にHTTPなんたらっていう環境変数は当てにならん。
519うえの:02/11/04 22:11 ID:tA0Z4q/O
perlを最近はじめたうえのと申します。(プログラムは今回が初めてです。)

「10日でおぼえるPerl/CGI入門教室」という本で勉強しています。その本にはCDロムが
付録でついていて、その本に紹介されているプログラムが収録されています。私は本の
とうりプログラムを入力してプログラムを実行してみて、うまく行かなかった場合、付
録のCDロムのプログラムを1行ずつコピーして、自分で入力したプログラムにペースト
して実行してみて、入力ミスを探しています。だいたいの時はこれで、入力ミスを見つ
けてうまく行きます。ですが今まで2回ほど、すべての行をこのやり方でやっても、入
力ミスが見つからないことがありました(プログラムはうごかないままです)。一行ず
つコピー&ペーストしてうまく行かないのに、全ての行を一度にコピー&ペーストして
プログラムを実行してみると、うまく行きました。これは、いったいどういう事でしょ
うか?

すみません、何方かどうか宜しくお願いします。
520☆脱:02/11/04 22:19 ID:Xjm9EuR3
画像が貼れるチャットがあるよ
http://www.i-chubu.ne.jp/~tomomi-h/marion/navi/navi.cgi?links=20311
521511:02/11/04 22:45 ID:???
>>517
がんがって

>>518
そうは言っても日本人の朝食はパンかゴハンが主流であるわけで
それ以外の朝飯喰ってるヤツなんかあんましいないでしょ
つーわけで、何事にも一般論とゆーのがあるのでは…とゆー

>>519
気がつかないような些細なミスがあるに違いない

えと、あと>>514でした質問なのですが、
今現在Windows2K+ActivePerl5.6+AN-HTTPDとゆー環境でテストしてるのですが
なんか環境依存とゆーかたまにこの環境じゃ吐かない環境変数があるような(;´Д`)
つーわけで吊りつつもーちょっと自分で調べることにします…
522あい:02/11/04 23:01 ID:G/C4foN1
携帯用のランキングCGIプログラムを捜しています。
何卒お願いします。
523nobodyさん:02/11/04 23:06 ID:???
>522

激しく板違い
524nobodyさん:02/11/04 23:08 ID:???
>522

マルチは氏ねよ。
525nobodyさん:02/11/05 10:03 ID:???
ttp://www.big.or.jp/~talk/t-club/soft/mini_120/index.cgi
の画像掲示板を設置して使っているのですが、タイトルなどに
半角カナを使われると文字化けしてしまいます。2chユーザーは
やはり半角カナ使用率が高いので、できれば半角カナも表示
できるようにしたいのですが、なにかうまい方法はあるのでしょうか?
526nobodyさん:02/11/05 14:25 ID:???
>>525
EUC化
527525じゃないけど:02/11/05 18:39 ID:5Ci8Aq1y
>>526
あ、それでいいんですか。
EUC今まで使ったことがなかったんですが(^^;
なるほどー。
528nobodyさん:02/11/06 17:50 ID:???
文字コード変換時に化けるから、2chの場合jcode.plのgetcodeでsjisじゃなかったら
エラーにして、文字コードの変換は行わないね。
529うえの:02/11/06 22:25 ID:TwygVRhZ
521さんありがとうございます。確かに些細なミスがあるということが
分かってきました。
530nobodyさん:02/11/06 23:52 ID:???
皆様、CGIってEUCで書いてる?S-JISで書いてる?

531nobodyさん:02/11/07 00:07 ID:???
>>530
CGI は書けないよ。。。
532nobodyさん:02/11/07 00:43 ID:???
皆様、PerlってEUCで書いてる?S-JISで書いてる?
533nobodyさん:02/11/07 00:51 ID:Gt0qGrXX
>>532
SJIS
出力もSJISにしてるわ
534nobodyさん:02/11/07 01:06 ID:???
有名どころの配布CGIはみんなSJIS。だからオイラもSJIS。出力もSJIS。EUSだとメタに文字コード書いてても化けることおおくない?
535nobodyさん:02/11/07 06:41 ID:???
>>534
EUCにすれば化けないぞ(w
phpだが、俺の配布はEUC。理由は既出。
536age:02/11/07 07:52 ID:???
SJISだとハンカクカナが化けるっていうじゃん?べつに化けないんだけど?
537 ◆hMJAPH9PWA :02/11/07 09:59 ID:???
>>536
別にそんなこといわれてないよ。
半角カナで書き込むと化ける可能性がある、ってのならあるけど。
538nobodyさん:02/11/07 11:13 ID:Y8ygs/b/
すいません、怒らずに聞いてください。
$testという変数に入ってるhtmlの<table>タグが邪魔なので消去しようと思い、

$test =~ s/<table width=100% border=0 cellspacing=0 cellpadding=15><tr><td>//;
$test =~ s/<\/td><\/tr><\/table>//;←スラッシュをエスケープしてるつもり
とやったけどダメでした。
この場合はどうすればよいのでしょうか?
よろしくお願いします、、、
539nobodyさん:02/11/07 11:27 ID:5h9enSGw
>>538
<が&lt;になってるとかじゃないよね。
540nobodyさん:02/11/07 11:38 ID:8nsGokx4
WIN2000サーバのCGIプログラム、今まで普通に動いていたのに、
急に
HTTP 405 - 許可されていないリソースです。
インターネット インフォメーション サービス
とでるようになりました。最近やったことといえば、SP3を
適用したことと、容量がいっぱいだったので、いらないフォルダ
(といっても公開してる部分の要らないIMAGEフォルダやHTML)
を削除したぐらいです。同サーバのASPは問題なく動いていますが、
別のCGIはアドレスを打つと「保存しますか?」とダイアログが出てきます
。原因および対処法わかりますか?
541538:02/11/07 11:44 ID:Y8ygs/b/
あれ?今やったらちゃんと出来ました。
というかめちゃ適当に書いたのにこれで合ってたとは、、、
ありがとうございました。
542nobodyさん:02/11/07 14:15 ID:X99Axcr/
PerlCGIで、配布物のスクリプトでも多いんですが、
ユーザ設定用の部分でそのCGIのファイル名を入れさせるのってありますよね。
わざわざ $ENV{'SCRIPT_NAME'} 使わないのには何か理由があるんでしょうか。
543nobodyさん:02/11/07 14:27 ID:???
http://hoge/hoge/index.cgi に http://hoge/hoge/ でアクセスしても
$ENV{'SCRIPT_NAME'} が /hoge/index.cgi になるからとかじゃない?
544nobodyさん:02/11/07 14:30 ID:???
他には、相対リンクにしたい、とか。
まあ

$file = $ENV{SCRIPT_NAME};
$file =~s/.*\/([\/]+)$/$1/;

で良いんだけど、余計な処理するくらいなら指定させた方が良いだろ、とか。
545nobodyさん:02/11/07 14:33 ID:???
あと腐った鯖だと、$ENV{SCRIPT_NAME}をキチンと返さないのも有るかも、とか
コマンドプロンプトやらで動作チェックするとき$ENV{SCRIPT_NAME}が入らないからとか
546nobodyさん:02/11/07 14:49 ID:???
perlのスレで聞いたんですけど答えが返って来なかったので・・・。

sendmailでメールを送ります。
宛先が存在しないとfromに設定したアドレスに failure notice とかいう
メールが自動で来ますよね。
sendmailで送った直後にアドレスが存在しないかどうか、CGI側で判断するにはどうしたらいいんですか?
例えば、入力されたメールアドレスにただちにsendmailしてみて
正常に送られたらそのアドレスはテキストファイルに書き込むみたいなことをしたのです。
547nobodyさん:02/11/07 15:16 ID:???
>>546

答え返ってきてるだろが

http://pc.2ch.net/test/read.cgi/php/1034583844/633
548nobodyさん:02/11/07 15:27 ID:???
>>547
じゃぁ、よくある会員サイトで、
メールアドレスを間違えて入力して会員登録してしまった人が居るとしますよね。
で、定期的に会員にメール配信したりしますよね。
その度にメール配信の管理者へ「こんなメールアドレスないですよメール」が返ってくるって事ですよね?
最悪じゃないですか?
そんな会員管理者で勝手に削除すればいいと思われるかもしれませんが、
例えば会員数が膨大なサイトとかどうするんですか?
549nobodyさん:02/11/07 15:50 ID:???
>>548
会員数の大きいところはreturn pathが専用のメアドだから、管理者は困らない。
定期的にreturn path をスクリプトでチェックすればいいんじゃないの。
550nobodyさん:02/11/07 15:53 ID:???
エラーが返ってきたらそのメールアドレスを送信先リストから削除するだけ。
けどそれはCGIでする事ではありえない。
551nobodyさん:02/11/07 18:29 ID:oUI+pRbt
スクリプト改造スレがdat落ちしているようなので、こちらで質問させて貰います。
よろしくお願いします。

ttp://www.kent-web.com/chat/robo.html

↑この人工知能型チャットスクリプトを身内のサイト用に使いたいと思っているのですが、
 フレーム表示ではなく一画面に発言フォームとログが出るように作り直したいんです。

簡単なHTMLなら書けるし、BBSの背景色を変える程度のCGI改造なら出来るので、
わかるかなーと思ってソースを見てみましたが、さっぱり分かりません。
どこをどう書き直したら、フレーム表示ではなく、一画面表示となるでしょうか?

スクリプトの中の怪しい部分を以下に載せさせてもらいますので、
教えていただければと思います。
552550:02/11/07 18:29 ID:oUI+pRbt
>>551
#------------------#
# フレームを生成 #
#------------------#
sub frame {
# クッキーを取得
&get_cookie;

# クッキーにリロード時間/行数のない場合は初期値を代入
if ($ck{'retime'} eq "") { $ck{'retime'} = $re_sec; }
if ($ck{'line'} eq "") { $ck{'line'} = $line[1]; }

?
print <<"EOM";
<frameset rows="147,*">
<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">
<noframes>
<body>
フレーム非対応のブラウザの方は利用できません
</body></noframes>
</frameset>
</html>
EOM
exit;
}
553551:02/11/07 18:30 ID:???
>>552
あ、すいません、名前は551でした。
554551:02/11/07 18:30 ID:???
>>552
ここがフレーム表示を決めてるのは間違いないと思うんですが、
普通、フレームってframe srcにHTMLファイルのパスが入りますよね?

このスクリプトだと、

<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">

こうなっています。

src以下が、それぞれ入力フォームとログ表示画面を現しているんじゃないかという事は分かるんですが、
それをどう並べれば一画面表示となるのかが分かりません……

どなたか、お教えいただけないでしょうか???
555nobodyさん:02/11/07 19:00 ID:???
何故にフレーム止めるの?
フレーム使わないならチャットスクリプトじゃなく一行掲示板みたいなの
探したほうが早いと思うが。
556nobodyさん:02/11/07 19:10 ID:???
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/
557551:02/11/07 19:11 ID:wiJfESIx
>>555
レスありがとうございます。

このroboチャットに入ってる自動応答の人工知能スクリプトを、一画面で使いたいんです。
558551:02/11/07 19:12 ID:???
>>556
あ、ありがとうございます。
そちらへ移った方が良さそうですね。

すみません、>>551の質問は無視して下さい>all
失礼しました。
559nobodyさん:02/11/07 21:31 ID:???
すみません、質問なのですが、現在チャットとか作ってみてるのですが
ログの各項目をタブで区切ってるんですが
訪問者が名前とかメールとか発言とかでタブ使うと表示項目がズレちゃうとゆー欠点が有るのです
それを消そうと、タブをスペース4つに置換とか、""に置換とかしたいのですが、できません

$name=~ s/\t/    /g;
$name=~ s/[TAB(のつもり)]/    /g;

とかはやってみたのですが…
すみません、何卒御教授ください
560nobodyさん:02/11/07 21:44 ID:???
>559
tr使うとか・・・フォームから受け取るときにタブ全部消すとか・・・あ、消すのは聞いてないか。
561nobodyさん:02/11/08 02:27 ID:???
>>559
$name =~ s/\t/ /g;
でできてるでしょ???
562nobodyさん:02/11/08 02:28 ID:???
>>559
あ,分かった。ログ自体が

>名[TAB]前[TAB]メール[TAB]ほげほげ

ってなってるんですね?
ログに保存する前に置換するべきだと思うんですが。
563559:02/11/08 08:07 ID:???
>>560
trって正規表現を使わない置換演算子でしたっけ…
とりあえず利用者の 入力してきたタブを消せればよい方向です

>>561
ぇゃ、なんかそれじゃできませんでした(゚∀゚)アヒャ
なぜだろう…

>>562
そう、そういう意味でつ 伝達能力低くてすみません
今現在はそのように入力されるとメール欄に前が、コメント欄にメー(略

とりあえずガッコから帰ってきたら御教授いただいた方法とか試してみます
他のとこでも不具合がポコポコと・゚・(ノД`)・゚・
564nobodyさん:02/11/08 08:19 ID:???
URLエンコードを元に戻す時に
s/\t//g;
565559:02/11/08 15:29 ID:???
帰ってきて、バグとか潰して>>561をやったらなぜか巧くいきました
むしろなぜ昨日できてなかったのか…
すみません、馬鹿丸出しですので吊ってきます
御親切にしていただいて嬉しかったっす どうも有り難うございました

>>564
URLエンコードってなんですか(;´Д`)
ぐらいの初心者ぶりを発揮しています
おいおいがんがって勉強していくつもりで…

(´-`).。oO( バグの原因は変なとこで変数を宣言していたことでした )
(´-`).。oO( ソースの書き方がめちゃめちゃダメぽな匂いがプンプンです )
566nobodyさん:02/11/09 00:43 ID:???
PerlのCGIのカプセル化ってみなさんどうやってますか?
今までずっと1つのファイルでまとめてたんですけど、覚えきれなくなってきたんで。
567nobodyさん:02/11/09 12:41 ID:???
投稿内容チェックしたいんですけど、
半角英数字以外と数字以外の規制はどうやればいいですか?
568nobodyさん:02/11/09 13:31 ID:XnEMYEgk
カレンダーを作ろうとしているのですが祭日をどのように処理すべきか悩んでいます。
ハッピーマンデー対応にするととてもむずかしいです。
そもそもハッピーマンデーの仕組みがわからないな・・・
よろしくおねがいします。
569割と初心者:02/11/09 13:46 ID:???
>>567
if($投稿 !~ /[^0-9a-zA-Z]/){
とかだめ?
570nobodyさん:02/11/09 16:46 ID:???
質問です。
初心者です・・・それもかなりの・・・。
ぇぇと、CGIですよね・・・
CGIでなんていうか・・・、掲示板とかゲームとか作っていきますよね・・・。
それで、掲示板にしろゲームにしろつくるときにはまず最初に何からやればいいのでしょうか?
なんか他のとこでまずperlでやるんだったらなんかダウンロードするとか言われたんですけど、よくわかりません。
何をダウンロードしてどこでどのようにつくっていけばいいのでしょうか?
perlとかはどこに打てばいいんでしょうか?
なんかおかしいこと行ってるかもしれませんね・・・私・・・。
すいませんがどなたか教えてくれませんでしょうか?
571nobodyさん:02/11/09 16:59 ID:XnEMYEgk
>>570
hello world!!
572nobodyさん:02/11/09 17:04 ID:???
ぃゃ、それは知ってるんだけど・・・。
それをどうやればいいのかなってこと・・・。
ちょっと私の質問はやヴぁかったみたい・・・w
573nobodyさん:02/11/09 17:06 ID:XnEMYEgk
#!/usr/bin/perl

print"Content-type: text/html";
print"hello World!!";
574nobodyさん:02/11/09 17:24 ID:???
>>573
ヘッダ行の次は改行のみの空白行が必要です。
575nobodyさん:02/11/09 17:30 ID:0mUtXyM1
cgi-binフォルダの属性を誤って「222」にしてしまい
FTPから読み込めない設定にしてしまいました。
これを復旧させる方法はあるのでしょうか?

垢はinfoseekです。容量はだいぶ超えてるので(ちなみに3G弱(ワラ
管理者に直してもらう選択肢は無いと思われ。
576nobodyさん:02/11/09 17:47 ID:MmuLdSXo
おぉ、2ちゃんにこんな親切なスレがあったとは
577nobodyさん:02/11/09 18:21 ID:???
578最近始めた者:02/11/09 19:44 ID:???
cgi-binディレクトリ
って何でしょうか。
マジレス希望です。
579nobodyさん:02/11/09 19:50 ID:???
>>578
cgi-bin は、ディレクトリの名前です。
580nobodyさん:02/11/09 20:17 ID:4Q7VYiKo
今まで使ってたCGIをmod_perl環境に移すって難しい?
581nobodyさん:02/11/09 20:18 ID:???
あの・・・マジで質問です
kent-webのaska.cgiにひみこーどをつけようと思うんですが
ほかの場所はうまくいったんですがここだけわからないんですよ
書き込み処理部分に

{ # 対フェイザーオンの場合は実際に発行されたコードかどうか照合
if ($FORM{'facheck2'} eq '') { &error('チェックコードエラー',"投稿コードが入力されてません(^^;;");
}
$dukecheck = $FORM{'facheck2'} . $FORM{'facheck3'};
if ( !open(DB,"$himicode_log") ) { &error('0'); }
@lines = <DB>;
close(DB);
$himikocheck=0;
foreach $line (@lines) {
chop($line);
if ($dukecheck eq $line) {
$himikocheck=1;
}
}
if ($himikocheck != 1) {
&error('x');
}
}
っていれたら、いくらひみこーどがあってても
チェックコードエラーってでてしまうんですよ
誰か教えてくれないでしょうか?
582nobodyさん:02/11/09 20:19 ID:???
583nobodyさん:02/11/09 21:12 ID:???
>>581
マルチすんなよ
584nobodyさん:02/11/09 22:01 ID:???
>>579
意外と「ディレクトリ」がわかんないのかもよ。
Windowsから入った人にはなじみのない言葉だから。
585nobodyさん:02/11/10 00:51 ID:???
フォルダって何ですか?
586nobodyさん:02/11/10 02:48 ID:???
ttp://pc.2ch.net/test/read.cgi/php/1032704121/
この2chのアドレスみたいに
cgiのあとに?とかはさまずに続く文字列は
どのようにしたら使えるんでしょうか?

この場合/php/1032704121/っていう情報を
どうやれば使えるのか知りたいです
587nobodyさん:02/11/10 02:51 ID:???
仮想鯖で実行するとうまくいくのに、プロバイダの鯖だとなぜかダメで困っています。
どの部分がおかしいのかは突きとめたんですが、なぜそうなるのかがわかりません。

# 出力テスト
print ($lines[378] eq $eachdate_string[0]); print "$lines[378] eq $eachdate_string[0]<br>\n";
print ($lines[379] eq $eachdate_string[1]); print "$lines[379] eq $eachdate_string[1]<br>\n";

で、結果は自鯖では
1[02/11/10] eq [02/11/10]
1[02/11/11] eq [02/11/11]

こうなって正常なんですが、プロバイダのだと「1」の部分だけが出ません。
つまり条件式が偽になってしまうみたいなんです。
どうして?TT
588nobodyさん:02/11/10 03:06 ID:???
>>586
HTTP環境変数については一度調べてみたまえ。
一応その答えはPATH_INFOだがな。
589587:02/11/10 04:41 ID:???
自己解決しました。改行コードでした。
プロバイダの鯖のほうだと、chomp @lines; が無効にされてたみたいです。
なぜかはわかりませんが・・

結局、
$lines[$i] =~ s/\r\n//g;
$lines[$i] =~ s/\r//g;
$lines[$i] =~ s/\n//g;
で改行文字取り除いたらうまくいきました。
590nobodyさん:02/11/10 11:08 ID:8jnCcvHX
>>589
マニュアル読みなさい。配列にchompはできないぞ。
591nobodyさん:02/11/10 11:22 ID:???
正規表現について聞きたいんですけど

/(1\d\d|2[0-5][0-5]|\d{1,2}).(1\d\d|2[0-5][0-5]|\d{1,2}).(1\d\d|2[0-5][0-5]\d{1,2}).(1\d\d|2[0-5][0-5]|\d{1,2})/)

これだと192.168.000.001OKですけど
192.168.0.1はだめなんです。
いい方法ありませんか?
592591:02/11/10 11:54 ID:ZM8p4h+c
無難に
/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
にすることにしました。
593nobodyさん:02/11/10 17:19 ID:???
お知恵を貸してください。
カウンタとアクセス解析のCGIを作り、実際に使ってます。
同時アクセス問題の関係で、予め用意したlockというディレクトリに
lock/lockという風にディレクトリをつくっているのですが、
ごくたまに親のほうのlockディレクトリが消えてしまいます。
コードをくまなく見てもrmdirはすべて"lock/lock"と指定してあります。
rmdir以外にディレクトリが消える原因ってあるのでしょうか。
594nobodyさん:02/11/10 17:39 ID:???
>>593
> rmdir以外にディレクトリが消える原因ってあるのでしょうか。

外部プログラムとして、rm や rmdir が呼ばれるとか。
言語は何?
595nobodyさん:02/11/10 18:37 ID:???
すんません、perlでした。
外部プログラムというとどういうことでしょう。
たとえばjcode.plを読むような形ということでしょうか。
でしたら、使っているのはjcode.plだけです。
うー〜む。
596nobodyさん:02/11/10 18:57 ID:???
間違えました。jcode.plじゃなくてgifcat.plでした
597594:02/11/10 19:52 ID:???
>>595
> 外部プログラムというとどういうことでしょう。
たとえば、system() や open() で /bin/rm を呼び
出すという意味ですた。でも今回は関係無さそう。

スクリプト中では、本当に全箇所で "lock/lock" と書い
ています? それとも、実際には変数にセットしてる?
598593:02/11/10 23:27 ID:???
大変申し訳ない。質問文に間違いがありました。
仰るとおり、変数にセットしていました。そして、
だいぶ昔に作ったものだったもので、そうだと決め付けてましたが、
"lock/lock"ではなく、$lock_file="lock/".$QUERY{'name'}として、
複数ページで流用していたのでした。そして、
nameはページ毎の呼び出し時に引数で指定しています。
$QUERYを読めなければ確かにlock/が消えそうです。調査不足でお手数かけました。

で、imgタグから何からチェックしてみたところ、CGIの呼び出し時に
引数の区切りに&ではなく&が使われているところが一箇所だけあって、
え〜まさかこれか??という心境。じゃあ何で今まで動いてたんだろうか。
ってたぶん原因は別にあると思ってます。
もうちょっと自分で調べてみます。

594さん、ありがとう。
599593:02/11/10 23:30 ID:???
&amp;ではなく&が使われていた、の間違いでした。
600nobodyさん:02/11/10 23:50 ID:???
>598
$lock_file="lock/dir".$QUERY{'name'};
みたいにしておくと間違いが起こりにくくなる。
601593:02/11/11 00:01 ID:???
ありがとうございます。取りあえず再発しないように、すでに
$lock_file="lock/lock".$QUERY{'name'}
と修正してありました。ってこれじゃわかりづらいか..
602nobodyさん:02/11/11 00:16 ID:hyDx3f4a
>>568ですが
やっぱり休日ってみなさんでもむずかしいものでしょうか?
603nobodyさん:02/11/11 00:18 ID:???
>>602
休日ってきっちりパターンが決まってることだからとりあえず書き出してみれば?
604nobodyさん:02/11/11 00:46 ID:hyDx3f4a
>>603
秋分の日、秋分の日、ハッピーマンデー、ゴールデンウィーク、振替休日、うるう年
これらのパターンがむずかしいところです。
605nobodyさん:02/11/11 00:50 ID:???
>>604
言語はなに?

年月日で決まってくるから、とりあえず 年、月、日 を入れると休日か否かを

返す関数をつくることになると思うが・・・
606605:02/11/11 00:57 ID:???
間違った。。。

月、日、曜日 を入れて休日か否かを返す関数と、年を入れてうるう年か否かを

返す関数の2つがあればいいのかな?
607nobodyさん:02/11/11 07:47 ID:hyDx3f4a
>>606
できればPEALとPHPをおねがいしたいです。
仕組みがわかればPHPへの移植は自分でしますが
春分の日、秋分の日ってもしかして公転とか関係してません?
608nobodyさん:02/11/11 15:53 ID:???
>>607
誤字を指摘したくてたまらない罠
釣られるな、俺 釣られるな、俺!!

ttp://www.gekkou.or.jp/k-1/koyomi.html
秋分の日はしばらくかわらないっぽい
609nobodyさん:02/11/11 20:42 ID:???
>>607
PEAL じゃなくて Perl だよ(この場合はPERLの方が正しい?)



ふっ。またつまらぬネタに釣られてしまった。
610nobodyさん:02/11/11 21:25 ID:???
>>609
はは、PERLとPHPか。
俺はPEARとPHPかとおもたよ
611nobodyさん:02/11/12 19:15 ID:OMB1Zvzq
i-mode以外で表示できなくする方法

CGIか.htaccessでUser-Agent(ブラウザ名)に「Docomo」という文字列が
含まれていないブラウザを全部はじくということまでは、わかったんですが…
そのプラグラムがわかりません。SOSOです。
612nobodyさん:02/11/12 19:45 ID:z7k0N3jX
文字化けについて、どなたかご存じでしたら教えてください。
ダウンロードしてきたPerlの掲示板なのですが、
一部の文字だけ化けてしまいます。
調べたら、Shift JISで書かれていると化けるとの事。
それで、Perlも出力も何もかもを、調べながらEUCに変えました。
(Perlは全然知らないので、もしかしたら間違えているのかも…。)
すると、Shift JISの頃化けていた文字は化けなくなったのですが、
別の文字が化けるようになりました。
そんなわけで、一部の文字だけが化けるという現状は変わっていません。

「EUCにあってSJISにはない漢字コードを埋め込むと良い」と聞いたので、
書き込みなどの表示画面には見えないように埋め込んでみましたが、
効果無し。
Perlについてよく知らないですし、もう自分で調べるのも限界です。
他にどのような対処法があるでしょうか。よろしくお願いします。
613nobodyさん:02/11/12 21:40 ID:???
>>611
アクセスを弾きたいのはCGIなのかhtmlなのか。
CGIでやる場合CGI(例えば掲示板とか)へアクセスしか弾けないぞ。
それ以外アクセスに対して弾きたいなら.htaccess。
.htaccessなら専用スレに行け。

>>612
具体的に化ける文字は何か?
614611:02/11/12 21:53 ID:oePzQus9
>613
了解しますた
615nobodyさん:02/11/12 22:06 ID:t9NWb2RE
jcodeでeucに変換する個所も直した?
616612:02/11/12 23:58 ID:z7k0N3jX
>>613
今のところ確認しているのは、
「☆ミ」→「×」
「締め」→「鶴」
この二つです。
「こんにちは☆ミ」が「こんにちは×」という具合に化けます。

>>615
jcodeも、本を調べて直したつもりなのですが…。
Perlに触ったのは初めてですし、自信はないです。
617612:02/11/13 00:15 ID:35l0ru2/
>>615
すみません、つけたしです。
変更した所ですけど、
&jcode::convert(\$text,"sjis");
となっていたのを、
&jcode::convert(\$text,"euc");
としました。
618nobodyさん:02/11/13 00:24 ID:???
>>617
jcode なんでコメントにしろ
619名無しさん@お腹いっぱい。:02/11/13 15:55 ID:V86NhgWW
 
どうか教えてください。

KENTなどの掲示板を設置したいのですが、どうしてもわからないので
代行業者に頼もうと思います。
その場合の予算や安い業者を知らないでしょうか?
あくまで趣味のサイトなので予算はあまりありません。

よろしくお願いします。
 
620nobodyさん:02/11/13 19:05 ID:???
.htaccess専用スレってどこありますか?
621nobodyさん:02/11/13 21:08 ID:???
622hmk:02/11/13 21:28 ID:???
>>619
エッチエムケーソフトウェアサービスインクです。
当社に頼みますと、\100,000ですがいかがでしょうか?
623nobodyさん:02/11/13 21:55 ID:oshe/OYx
ECサイトであるカテゴリーの商品を新しい順、価格順とかに並べ変える
CGIは?
624hmk:02/11/13 22:38 ID:???
\450,000になりまし。
625nobodyさん:02/11/13 23:11 ID:S++Q0FXr
厨な質問で恐縮ですが、質問させて頂きます。
CGIの動作で、DOS-プロンプトにコマンドを入力して送信するというものは作れますか?
コマンドというよりは、数字の"1"とかなのですが。
626nobodyさん:02/11/13 23:16 ID:xKhrwQgy
「.」(ドット)で文字列を区切るにはどのようにすればよいのでしょうか?
( $a . $b , $c ) = split ( /./ , $ch );
上のようにするとエラーが出てしまいます。
627nobodyさん:02/11/13 23:32 ID:???
>>625
何がしたいのかわかるように質問しないと。

>>626
エスケープしる。
split(/\./
628nobodyさん:02/11/13 23:33 ID:xKhrwQgy
>>627
どうもです。
629nobodyさん:02/11/13 23:40 ID:gb4VbZ0m
mimew.plを使ってメールサブジェクトのエンコードを行うと、全角と半角の間にスペースが勝手に入ってしまいますが、なんとかならいでしょうか?もしくは他のMIMEエンコードで良い方法があれば教えてください。
$subject = "テストtestあああ"; #JISに変換済み
print MAIL &mimeencode("Subject: $subject\n");

# メールで受け取ると「テスト test あああ」となる。
630nobodyさん:02/11/13 23:41 ID:S++Q0FXr
>>627
ご親切に有難うございます。CGIの動作でtelnetに繋ぐことが出来るのは知っているのですが、
繋がった後も、CGIを通じてデータを送信したいのです。データといっても数値を送るだけですが。
説明が下手で申し訳ありません(涙
631nobodyさん:02/11/14 00:11 ID:???
>>630
業者を呼んで悩みを聞いてもらうことをお勧めする。
632nobodyさん:02/11/14 00:16 ID:???
>>629
そのライブラリをザッと見てみたが、あんまりよくないから他のを使うことをお奨めするよ
633612:02/11/14 01:15 ID:UXGX4r4o
612で相談した者です。
BBSのバージョンが古いのが原因でした。
新しい物だと化けなくなっていることがわかりました。
どうもありがとうございました。
634nobodyさん:02/11/14 05:22 ID:???
>>630
telnetデーモンに繋げたということ?
だったらそこへprintとかでデータを送ればいいだけ。
DOSプロンプトは関係ない。
# expectの話かと思った。
635nobodyさん:02/11/14 11:27 ID:a19LCBlb
MySQLから日付型のデータを取得して表示させたいんですが
下のようなコードだと、変な数字が出てきます。
なにか変換が必要なのでしょうか?

local($sth) = $dbh->prepare("SELECT ....");
local($result)=$sth->execute();
$num_rows = $sth->rows;
print "該当 $num_rows 件\n";
for ($i=0; $i<$num_rows; $i++) {
@a = $sth->fetchrow_array;
print "date=$a[0]\n";
}
636nobodyさん:02/11/14 12:14 ID:a19LCBlb
ファイルの排他アクセスをやろうと思っているのですが、
どういった場合にファイルが壊れてしまうのでしょうか。

CGIでファイルを読み込み専用でオープン中に、他のCGIが同じファイルを読み込み専用でオープンしようとしたときは安全ですか?
CGIが開こうとしているファイルをFTPで上書きしたりすると、FTP側が排他処理を行ってくれるのでしょうか?
またはその逆の、FTPで上書き中にCGIでファイルを開こうとした場合は??
637nobodyさん:02/11/14 13:50 ID:LexetFNQ
例えば掲示板なら、
一つの「掲示板.cgi」を動作させるのと、
「読み込み.cgi」「書き込み.cgi」「削除.cgi」等と分けるのでは
どちらが軽快に動作するのでしょうか?
一つにした場合より、分けた方が単一の動作に関しては軽く動きそうですが、
読み込み以外に書き込みや削除をしようとすると、
複数のcgiを動かさなければならなくなるのですが、どうなのでしょうか?
638nobodyさん:02/11/14 14:24 ID:???
>637
分けた方がコンパイル作業が多少軽くなるかもしれない。(Cやmod_perlは別)

複数のCGIを動かすと言っても同時に動かすようにするわけじゃないだろ?
書き込みをする時は、読み込みと削除のcgiは使わない。
単一cgiにしたって、結局呼び出す回数の合計は同じ。
組み方にもよるけどな。(書き込み後にlocationで読み込みに移動するなら増えるし)

ただ、単一cgiにした方が、管理は楽。
分ける事によって、極端なパフォーマンスの違いが出ない限り、
単一にしておいた方が、管理運営は楽だと思う。

最終的には作る人間使う人間の好みだよ。
分割で軽快になったって1回余計にcgi呼び出し受ければ、それでチャラ。
軽快にしたければ、いかにしてcgi呼び出し回数を減らすかを考えるべき。
BBSなら、読み込みcgiを使わずにHTML形式で保存してそれを参照させるとかね。
こっちの方がよっぽど軽快になる。
639nobodyさん:02/11/14 14:48 ID:???
>>636
読み込みでは壊れない。

もし排他処理をロックファイルでやろうとしているんなら、FTPDを君が作らない限り排他処理にならない。
FTPで書込み中のファイルはCGIで開けず、CGIで開いてるファイルはFTPで開かれてしまうだろな。
ファイルシステムの排他機構なら、先に開いた方がやるだけだ。
あとはファイルシステムがしてくれる。


>>637
CGIプログラムのつくりの問題だ。
ファイルが複数かどうかは、よっぽどスクリプトのサイズが大きくないと関係ない。
640637:02/11/14 15:32 ID:LexetFNQ
>>638
ありがとうございました。
たしかに、ごもっともです。

もう一つ、お伺いしたいのですが…
データ格納ファイルは、例えば、
data.dat data.log data.txt
等と意味も分からず使ってきましたが、
拡張子が変わる事で異なる部分があるのでしょうか?
641nobodyさん:02/11/14 16:13 ID:???
>640
data.txt
 パーミッションで読み込み可能にしていれば、URL入力でブラウザを問わずログを直接読めてしまう。
 ログ管理をする時、デフォルト設定のまま、メモ帳が使えるのが利点。

data.log
 パーミッションで読み込み可能にしていれば、URL入力でログを直接読めてしまう事がある。
 ブラウザや設定によって、ダウンロードプロパティが開く事も。
 ログ管理の際には、ファイルの関連付けをしておかないとちょっと面倒。

data.dat
 パーミッションで読み込み可能にしていれば、URL入力でログを直接読めてしまう事がある。
 ブラウザや設定によって、ダウンロードプロパティが開く事も。
 トクトクなどの場合、.datはシステム用ファイルとして扱われているのか、httpでの呼び出しはできない。(FTPは可能)
 ログ管理の際、Win2kなどでは警告メッセージが出る事も。

ぱっと思いつくのはこれくらいか?

ログを読まれたくないなら、data.cgiとしていた方が、よっぽど安全。(鯖には優しくないが)
また、.txt、.log、.dat程度なら、ファイル名の予測がつけやすいという弱点もある。
あとは鯖のOSや設定によって何か変わる事があるかもしれない。
その辺は知識ある人よろ。
642nobodyさん :02/11/14 16:19 ID:IFE+msPu
すいません。どなたか分かる方…。

CGIで買い物カゴを作成しているんですが、買い物する商品を決めてもらって、
「内容確認 ⇒ 住所入力 ⇒ 注文確認 ⇒ 確定」とステータスを進めていくんですが、
一つ前のステータスに戻す方法がわかりません。
誰かやり方を教えてください。
643nobodyさん:02/11/14 16:28 ID:???
>>640
要するに拡張子はタダの名前だからcgiからは違いがない。
パーミッション設定だけはちゃんとしとけ。

.cgiになんてするのは絶対にヤメロよ。
スクリプト書き込まれてアクセスされたら実行されるかもしれんからな。


>>642
たぶんステップ進む毎にデータを文書化して表示しちまってるんだろ。
それでは絶対に無理。
入力されたデータはそのままおいておく。
方法はクッキー使うなり、サーバにファイル作るなり、フォームとして埋め込むなり幾つかある。
好きなの選べ。
644637:02/11/14 16:53 ID:tv5vgXp6
>>640 です。
>>640 >>643 ありがとうございます。
私は、掲示板のデータファイルは
ファイル名.logで製作しているのですが、
ファイル名.datの方も多く、その違いが見出せません。
チョットしたデータならファイル名.txtの方が
メモ帳で扱いやすいとは思うのですが…
掲示板のデータファイルをtxtにしても問題がないため、
いったい、どれを使おうかと考えております。
645nobodyさん:02/11/14 17:49 ID:???
>643
スクリプト書き込まれること忘れてました。
自分とこでは1行目にパスが入らないようにするとか程度の工夫はしてあったので。
ツッコミサンクス。

>644
>643さんの言うようにパーミッションさえちゃんと設定してればtxtで問題ない。
646637:02/11/14 18:09 ID:gw28ZTht
なるほど、みなさんありがとうございました。
自分の中で、データファイルの拡張子は、
これまで通りファイル名.logで行くことにしました。
647nobodyさん:02/11/14 19:27 ID:05LSia44
フリースクリプトの2ちゃんねる型掲示板って何処がオススメでしょうか?
648647:02/11/14 19:28 ID:05LSia44
スマソ。。
日本語間違えますた。。
2ちゃんねる型掲示板のフリースクリプトって何処がオススメでしょうか?
649nobodyさん:02/11/14 19:41 ID:???
>647-648
ttp://pc.2ch.net/test/read.cgi/php/1031910901/
こんなCGI探してますスレッド Ver7
650nobodyさん:02/11/14 19:42 ID:???
>>648
【スレッド】2ch型掲示板 その6【フロート型】
http://pc.2ch.net/test/read.cgi/php/1028384308/
651647:02/11/14 19:56 ID:???
>>649-650
どうもありがとうございます。
早速探してみますm(_ _)m
また、スレ違いスマソでした。。
652nobodyさん:02/11/14 21:52 ID:???
>>635
適当に質問すな。
変な数字ってなんだよ。2002-01-01 00:00:00とかじゃねーの?
653nobodyさん:02/11/15 02:31 ID:/elwGBlb
トップページにCGIかSSIのカウンタを置きたいと思っています。
質問なのですが、トップページ以外にアクセスしてきたとしても
トップページに置いてあるカウンタを回すということは可能でしょうか?
654nobodyさん:02/11/15 04:20 ID:???
>>653
可能
655653:02/11/15 04:34 ID:/elwGBlb
>>654
レスありがとうございます。どうやればいいのでしょうか?
656nobodyさん:02/11/15 05:09 ID:???
>>655
どのページでも同じカウンタをアクセスすればよいだけでは?
自動で置いてあるページを判別するようなカウンタだと無理だが。
657nobodyさん:02/11/15 21:26 ID:???
>>604
他人のスクリプトを紹介して答えにしてしまって良いのかとは思いましたが、
Tackyさんの日記帳スーパーで、かなり詳細な祝日設定をやっていました。
ダウンロードして参考にしてみてはいかがでしょう。
658653:02/11/15 23:48 ID:6kFbwgWC
>>656
なるほど。つまり隠しカウンタとしても使えるカウンタを使えばできるのですね。
探してみます。ありがとうございました。
659nobodyさん:02/11/16 07:31 ID:???
>>658
そうだね。
(イメージカウンタだと仮定して)一部の人に見られてもいいのなら
<img src="カウンタ" style="display:none">という手もある。
660nobodyさん:02/11/17 10:33 ID:5gCJTG/P
友人に頼まれて『お絵かき掲示板』なるCGIを設置しようと徹夜でない頭をひねった者です。

OSはWIN98、使用アップローダーはFFFTPです。
友人プロバイダであるHi-HoのウェブスペースのCGIディレクトリに設置しよう試みました。
パーミッションの設定を変更、アスキー/バイナリでの転送、Perlのパスの確認はやってみました。
CGIの修正は一切していません。
が、ひたすらSERVER ERRORが出ています。

友人は横で寝てます。どなたか漏れに温もりを。頼みます。
661nobodyさん:02/11/17 10:40 ID:???
>>660
陰ながら応援させてもらうぞ
自分で頑張れ!
662660@やさぐれ:02/11/17 10:44 ID:5gCJTG/P
>>661どの
やっぱり、ほったらかして帰りますかね…
ホントに自分で頑張って欲しいよ…
663nobodyさん:02/11/17 11:00 ID:???
>>660

がんがれ。
664nobodyさん:02/11/17 11:05 ID:???
>>660
君の成功を期待する!
665nobodyさん:02/11/17 13:37 ID:???
>>660
ひるむな!
666nobodyさん:02/11/17 13:57 ID:???
>>661,>>663-665
おまえら暇だな。
667nobodyさん:02/11/17 14:08 ID:???
>>666
暇じゃないから手伝ってやれないんじゃん
668nobodyさん:02/11/17 16:24 ID:R9txMO0V
Error
処理中にエラーが発生しました。

ファイルが存在しないか、書き込むデータが存在しません \WINDOWS\????????\new\ranklink186\data\b_data1.bak

tripodの無料鯖にb_data1.bakをアップロードするとエラーが出ます。
他のhtml/cgi/datなどのファイルは出来るのですが・・・

どんな理由が考えられますか?
669nobodyさん:02/11/17 16:27 ID:???
\WINDOWS\????????\new\ranklink186\data\b_data1.bak

このパスが存在するの?
670nobodyさん:02/11/17 18:29 ID:R9txMO0V
アップロードしたいファイルはデスクトップに置いてあります。

\WINDOWS\????????\new\ranklink186\data\b_data1.bak

この\????????があるからいけないのかな?
でも、他のファイルもデスクトップに置いてあるから・・・
671nobodyさん:02/11/17 23:57 ID:???
FTPクライアントの問題じゃねーの?
日本語使えるクライアントを使え
672nobodyさん:02/11/18 00:39 ID:bzzHU+jj
tripodの無料鯖にあるアップローダー?を使っています。
FTPは全く繋がりません・・・

もし、自宅のルーターで設定がおかしくても他のファイルはアップ出来たのでルーターで設定では無い
と思います。

そういえば「窓の社」からFTPではDL出来ず、いつもHTTPでDLしています。

これを考えるとルーター設定がFTP禁止をしている。
しかし、その他のファイルはアップ出来た。

特定のファイルの種類がアップ出来ないと思っていたら「.bak」の他に3つある「.log」の1つが
アップ出来ません。

もう、訳が分からないです。
673nobodyさん:02/11/18 01:49 ID:???
まあ聞いてる側からすると>>672の言いたいことが分からなかったり
するわけだが
674ウェザーブレイク:02/11/18 06:37 ID:???
ファイルが空なんじゃ、、。
675nobodyさん:02/11/18 07:59 ID:???
>>672
は,アップできないファイルのサイズを答える
676672:02/11/18 11:42 ID:bzzHU+jj
アップ出来なかった.bakファイルの元々のサイズは0バイトです。
そこで「//testtest」と適当に書いて保存して13?バイトにしました。tripodの無料鯖のアップローダーで
アップするファイルを参照してプロパティーで見ると0バイト・・・

デスクトップから.bakファイルを見ると13バイト
アップローダーのファイルプロパティーで見ると0バイト

「最新情報に更新」や再起動をしても変わりませんでした。

そこで新規にb_data1.htmlを作って(中身は適当に)アップロードしてから
b_data1.bakとリネイムして中身を削除。

このやり方で他のアップ出来なかったファイルをアップしました。

何なんでしょう?よく分かりません・・・
.htaccessと同じような物なんでしょうか?
677nobodyさん:02/11/18 13:23 ID:???
和鳥って.bak大丈夫なのか?
誰かためしてみそ。

とか言ったらテメーで試せとか言われるだろうなぁ。
678nobodyさん:02/11/18 14:33 ID:???
やはり空ファイルを上げようとしていたのか・・・
679nobodyさん:02/11/18 15:12 ID:???
わざわざあげなくても NewFile で、、、
680nobodyさん:02/11/18 15:41 ID:???
和鳥って、いいよね。。。
681672:02/11/18 16:37 ID:bzzHU+jj
DLしたCGIのfaqには何もその事について書いてなかったのです。
DLに失敗したと思いもう一度DLしてファイルを見るとやはり0バイト
CGIを扱うのは初めてなので空ファイルでも問題ないと思いました。

お手数掛けました。

●覚えたこと
0バイトの空ファイルはアップ出来ない
0バイトファイルを上げる時は適当な中身を書いて端子を変えてアップ
そして、鯖上でリネームと適当に書いた中身を削除する。

●問題点
何故、CGI作者はその旨を書いていないのか?
元々中身があったが作者がワザと空ファイルにしたのか?
それとも、空ファイルの取り扱いは常識なのか?
682nobodyさん:02/11/18 16:39 ID:???
○FTPは空ファイルもいけるから。
683672:02/11/18 18:08 ID:PpWbUC+4
先ほどインフォシークの無料鯖の方で付属のアップローダーを使って空ファイルをアップしてみました。
インフォシークは空ファイルのアップは出来ますね。
つまり、空ファイル問題は制作者・その他の要因ではなく鯖の仕様のようです。

tripodの無料鯖のアップローダーは空ファイルを扱えない
インフォシークの無料鯖のアップローダーは空ファイルを扱える

>>○FTPは空ファイルもいけるから。
ルーターの設定でFTPが出来ないようになっているみたいです。
説明書は兄が管理しているため旅行から帰ってくるまで、どうしようもないです。(悲
684nobodyさん:02/11/18 21:52 ID:???
>>681
空ファイルの取り扱いは常識。
自分の環境の問題なのにまるで作者が悪いかのごとく言わないように。
685672:02/11/19 01:12 ID:cpS+Bq4c
ごめんなさい。そんなつもりで書いたのでは無かったのですが
今読み返すと作者批判になってますね。

すみませんでした・・・
686nobodyさん:02/11/19 05:35 ID:???
因みに米鳥も仏鳥もwebツールでは空ファイルはアップできない。
687nobodyさん:02/11/19 20:01 ID:pLNmoIP3
少し前にここで休日の算出法を聞いたものです。この件もまだ未解決なのですが
もうひとつ聞きたいことがありますカレンダーCGIをつくるとして
独自につくった休日や予定の日付データはどのように保存わけしたらいいでしょうか?
688nobodyさん:02/11/19 20:12 ID:???
>>687
自分で色々考えろよ

濡れだったらもう適当に"年月日.log"とかに保存しちゃう方針で
689nobodyさん:02/11/19 22:28 ID:FXDcwGAA
ランキングのリンクを1回クリックしたら投票するようにするには
どうすりゃいいの?
690:02/11/19 23:29 ID:???
検索エンジンで「アクセスランキング CGI」として調べる
そうすると約6個のCGIが見つかるからDLしてソースをよく見る
さすれば、おのずと何をすればいいのか分かる
691nobodyさん:02/11/20 23:08 ID:3WorW1PE
初心者ですみません。
ranklinkで
inページ、新着ページ等が作られていきますが
inページで順位の隣りに(位)と出したのですが
新着ページにも反映されてしまい、新着ですと
例=11/20位
の様になってしまいます。
どうか先輩方お知恵を下さい。
692 :02/11/20 23:20 ID:???
693nobodyさん:02/11/21 07:23 ID:???
>>691 ん
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/
694nobodyさん:02/11/22 22:39 ID:???
さげ
695nobodyさん:02/11/25 01:52 ID:???
234 名前:心得をよく読みましょう 投稿日:2002/11/22(金) 02:27 ID:cvY6FYQv
おおきなおおきな掲示板 2ちゃんねるの話
3年 いつも動いていた ご自慢のcgi
あめぞうってとこが 潰れた夜に 生まれてきたとこさ
いまは もう動かない そのcgi
3年 休まずに ワショーイワショーイ
ひろゆきと いっしょに ワショーイワショーイ
いまは もう動かない そのcgi

何でも分かる掲示板 2ちゃんねるの話
おかしな厨房やってきた その日も動いてた
うれしいことも 悲しいことも みな知ってるところさ
いまは もう動かない そのcgi
3年 休まずに ワショーイワショーイ
ひろゆきと いっしょに ワショーイワショーイ
いまは もう動かない そのcgi


235 名前:心得をよく読みましょう 投稿日:2002/11/22(金) 02:27 ID:cvY6FYQv
真夜中に Not Found 2ちゃんねるの話
お別れのときがきたのを みなにおしえたのさ
想い出に変わる 2ちゃんねる ひろゆきとも お別れ
いまは もう動かない そのcgi
3年 休まずに ワショーイワショーイ
ひろゆきと いっしょに ワショーイワショーイ
いまは もう動かない そのcgi

http://navyblue.cside.com/musicfile/tokei.mid
696nobodyさん:02/11/25 16:14 ID:iBc9Rrdb
THE ROOMの"ranklink"で質問があるのですが、
ランキングサイトを運営しているのですが、総合ランキング
のカテゴリを作りたいのですがどの様に各々のランキング
から引き抜いて総合ランキングが出来るのか分かりません。
何卒お教えて下さい。お願い致します。
697nobodyさん:02/11/25 16:50 ID:fSyZQcaR
マルチをするなバカ
この前もマルチやっていただろ?
698nobodyさん:02/11/25 17:52 ID:Q0mq5+tJ
nantoka.phpを呼び出したら必ず$_SERVER["REQUEST_METHOD"] = POST
になるんすけど、送信ボタン押してないときでも必ずポストなんですか?POSTならばの条件処理をかきたいのだけど、、、 どうしたらいいっすか?
699nobodyさん:02/11/25 18:40 ID:???
>>696はマルチにつき回答しないように。
他スレでも見つけたら釘さしておいてください。
700nobodyさん:02/11/25 19:19 ID:iBc9Rrdb
696ですがどうか教えて下さい。お願い致します。
701nobodyさん:02/11/25 19:24 ID:iBc9Rrdb
立て続けで済みません。696です。マルチというのがチョッと
意味が分からないのですが、重複書き込みをの事でしょうか。
もし2ちゃんねる上のマナー違反で御座いましたら。誠に申し
訳御座いませんでした。2ちゃんねるのルール方を弁えており
ませんでした。大変ご迷惑をお掛け致しておりますが何卒ご援
助の程を頂きたく思います。
702nobodyさん:02/11/25 20:29 ID:???
もう遅い。
お前はランキングCGIの質問で前回と今回。2回マルチをやっている。
前回もマルチをするなと注意を受けたはずだ。
703nobodyさん:02/11/25 20:32 ID:???
てゆーかドコ縦読みするんだ?
まだねらー暦浅いから濡れわかんないや
704nobodyさん:02/11/25 23:04 ID:SbouaTZ0
プロバイダ変えたので掲示板を引越ししたのですが
自宅のブラウザで見れなくなってしまいました。
会社からは見ることが出来ます。どっちもIE6です。

CGIはでブラウザによって見えたり見えなかったりする
ものじゃないですよね?
一体どうしたらよいのでしょう・・
705nobodyさん:02/11/25 23:06 ID:???
>>704
プロバイダ変えたのなら、アドレスも変えないと見ることができませんよ。
706nobodyさん:02/11/25 23:09 ID:SbouaTZ0
アドレスは間違ってないです。何度も確認しました。
ブラウザのセキュリティ?の問題なんでしょうか?
ルータ使ってるのですが関係あるんでしょうか?
707nobodyさん:02/11/25 23:33 ID:???
>704
見れなくなったってのは
1:画面が真っ白になる
2:エラーが出る(出るならどんなエラーか)
3:その他
どれだ?
708704:02/11/25 23:50 ID:SbouaTZ0
エラーが出ます。
Internal Server Error というやつです。
709nobodyさん:02/11/26 00:36 ID:???
>>708
プロバイダ変えてInternal Server Errorが出るんなら、
スクリプトの最初の#!/usr...を確認したり、
関連ファイルパーミッションを確認したりすることがあるだろうが。

自宅からだとかなんとかは全然関係ないように思うが。
710nobodyさん:02/11/26 01:32 ID:FMTUq72D
マッチングについての質問です。
説明が下手で分り難かったらすみません。

例えば、メンバー表のCGIみたいなもので、
新規登録の時に、入力したIDが既に使用されているかチェックしたい場合で、
その時に、英数字の大文字と小文字も同一として、判別させたいのですが、
どうすれば良いでしょうか?
if (/$id/i eq /$tid/i) { ... }
にしてみたところ、既に「abcd」というIDが登録されている場合、「ABCD」は登録できなくなりますが
「ab」なども登録できなくなってしまいました。

説明不足でしたら、仰ってください。よろしくお願いします。
711nobodyさん:02/11/26 01:33 ID:FMTUq72D
↑ちなみに、perlです。
712nobodyさん:02/11/26 01:57 ID:???
>>711
if ( $id =~ /^$tid$/i ) {...}
とか?
713nobodyさん:02/11/26 02:01 ID:???
>>712
できました!
有難うございます。感謝です。
714nobodyさん:02/11/26 09:58 ID:???
ちなみに

if (/$id/i eq /$tid/i) { ... }



if ( ( $_ =~ /$id/i ) eq ( $_ =~ /$tid/i ) ) { ... }

の意(であってるよね?)
715nobodyさん:02/11/26 10:09 ID:???
うん。
716nobodyさん:02/11/26 21:08 ID:o93eJxc7
CGIについての質問です。
2chのread.cgiは、
http://pc.2ch.net/test/read.cgi?bbs=php&key=1032704121
http://pc.2ch.net/test/read.cgi/php/1032704121/
どちらの指定でも出来ます。
前者はGETメソッドの指定方法と言うのは分かります。
後者はどのようなメソッドと、どのような設定方法で出来るものなのでしょうか?
717nobodyさん:02/11/26 21:21 ID:???
>>716
PATH_INFO
718nobodyさん:02/11/26 21:26 ID:???
>>717
わかりました。ありがとうございました。
719nobodyさん:02/11/26 21:31 ID:???
セキュリティ上、サーバに置くファイルの拡張子を
CGIにした方がいいというのをよく聞きますが
なぜですか?
TXTやDATだと問題があるのですか?
720nobodyさん:02/11/26 21:39 ID:???
>>719
TXTなんかだと、直リンで中身を読まれちゃうからじゃない?
CGIにすると強引に実行しようとして500エラーになるので読まれない。
721nobodyさん:02/11/26 21:43 ID:???
>>719
.htaccessを置ける環境なら、
そのファイルを編集することでTXTやDATでも>>720のようにすることができるよ
722nobodyさん:02/11/26 21:49 ID:???
>>720
>>721
ありがとう
htaccessを調べます
723nobodyさん:02/11/26 22:18 ID:???
CGIって何ですか? サーバーで処理するプログラムをCGIと言うのですか?
ではモジュールperlは処理が早いというのは分かったのですが
これもCGIでいいんですか?
724nobodyさん:02/11/26 23:10 ID:???
>>723
CGIはプログラムではない。
つーか検索しる!
725損権厨房 ◆mVeUbtZCI. :02/11/27 00:39 ID:sFViQpil
2chのスレって専用ブラ使わない限りは全部read.cgiがprintしているんだよね?
http://pc.2ch.net/test/read.cgi/php/1032704121/l50
この記述でどうやってread.cgiに指令を送っているんだろう??
なんかプログラムが後ろで動いているのかな?
726nobodyさん:02/11/27 00:42 ID:???
なんか10レス前さえ読めない香具師がいるようだな
727nobodyさん:02/11/27 00:51 ID:TDZvUxiM
すいません自作でフォームメールつくったのですが
どうもメールアドレスにハイフンが入ったものがうまく送信できません。
@hoge-hoge.jp
のようなドメインなんですがどうしたらよいのでしょうか?
728nobodyさん:02/11/27 03:25 ID:???
>>727
どうやって答えろってーのよ?
729nobodyさん:02/11/27 06:32 ID:???
なんなんだ。この基地外な質問者たちは・・・
730マリモーマ ◆jbBCmetwgw :02/11/27 09:01 ID:XERl1QIT
s/@/\@/; なんかどう?
731nobodyさん:02/11/27 11:19 ID:???
>>730
わざと無意味な処理をして、遅らせるコードですか?
732nobodyさん:02/11/27 14:06 ID:rnXyEQwD
なんか、漏れの作ったCGIをPCでアクセスした場合と
i-modeでアクセスした場合とで、結果が異なるんだけど聞いてくれ。

a.plとb.plがあります。
アクセスすると、サーバにあるテキストファイルを
バイナリモードで返す仕組みです。

a.plはPCでもi-modeでも正常に動作しています。(返されるファイルは全く同じでした)
b.plはPCでは正常に動作しますが、i-modeでは改行コードがおかしくなってしまいます。

もちろん、もとのファイルは同じで、プログラム中では
共通の関数でバッファを取得しています。

>open(IN, $filePath)||&error("error");
>binmode(IN);
>sysread(IN, $buf, $size);
>close(IN);
>return $buf;

なにが原因なのでしょうか?

分け分からん??
733nobodyさん:02/11/27 19:45 ID:RYTzzfC5
>>732
binmode(STDOUT);しる
734nobodyさん:02/11/27 20:49 ID:Rg82s5yv
クライアントのモニター解像度をチェックするにはどうすればいいのでしょうか?
環境変数にはブラウザの種類とOSしか渡されないみたいなんですが‥
735nobodyさん:02/11/27 21:01 ID:???
解像度をチェックして何をするのか小一時間問い詰めたい。
736734:02/11/27 21:20 ID:Rg82s5yv
>>735
投票CGIを作ってるんですが、連続投票をチェックするのに
ユーザーエージェント、ドメイン、モニター解像度で同一人物からの
連続投票かどうかを確認したいんです。

連続投票出来ないCGIを作れと言われるかもしれませんが、完全に
防ぐのは無理と思うので、一度連続投票をしたホストからは投票できな
CGIを作りたいのです。
737nobodyさん:02/11/27 21:40 ID:???
>>736
UAとIP使えよ。充分だろ、それで。
738734:02/11/27 22:19 ID:???
>>737
UAとリモートホスト以外にも判断できる材料が欲しいんです。
2種類だけじゃ、ただの偶然だと言い張る人もいるものですから‥
739nobodyさん:02/11/27 22:22 ID:???
>>738
リモートホストじゃなくてIPアドレスだったら唯一無二なんだから大丈夫だって。
偶然も何も無い。
740nobodyさん:02/11/27 22:24 ID:???
>>738
javascriptで解消度cookieに保存して、CGIでcookie読むとか。
741740:02/11/27 22:26 ID:???
解消度 → ストレスだねこりゃ(;´ー`)×
解像度 → ◎
742nobodyさん:02/11/27 22:26 ID:???
JScriptでCGIに直に渡してるのもあるよね。
743734:02/11/27 22:35 ID:???
>>739
回線繋げなおすと唯一無二じゃなくなります。
そして同地域に住む同じプロバを使う他人か、それとも回線を繋げなおしただけかが
分かりません。

>>740/>>742
なるほどJavaScriptを使うわけですか。ちょっと調べてみます。
744nobodyさん:02/11/27 23:29 ID:???
cookie食わしてチェックすればいいじゃん。
UAでチェックしてるなら、複数ブラウザの使いまわしでいくらでも誤魔化せる。
cookieも同じだけどね。

解像度だって、複数PC使ってる人間には関係ない話だ。
結局良心に任せるしかないよ。
745nobodyさん:02/11/28 20:07 ID:A4LV0zTm
アクセスカウンターじゃなくてアクセス解析だけをつけたいのですが、
KENT WEBのAccess Reportを見てもHTMLファイルへの組み込み方がよくわかりません。



<SCRIPT Language="JavaScript">
<!--
document.write("<img src='http://〜〜/report/report.cgi?");
document.write(document.referrer+"' width=1 height=1>");
// -->
</SCRIPT>

<!--#exec cgi="./report/report.cgi"-->

この二つ、どっちも駄目なようです。<body> </body>に書込むだけでは駄目
なのでしょうか?
よろしくおながいします。
746nobodyさん:02/11/28 21:01 ID:???
>>745
君の鯖がどんな物か分からないとなんともいえないな。
BIGLOBEやniftyはcgi鯖が別にあるから気をつけて
747745:02/11/28 22:13 ID:A4LV0zTm
>>746
ホスティングです、どこに置いてもいいと言われましたがサポートに聞くと
いう問題でしょうか?
>「public_html」ディレクトリ以下に設置していただく事により、問題なく動作致します。
>exec cmd/exec cgi のみご利用いただけません。
という事です。
748Rainbow-Link.net:02/11/28 23:36 ID:???
★★バナーを掲載してくださる方募集!★★

当サイトのバナー広告を掲載してくださるサイトを募集しています。

◆システム紹介
当サイトのバナーを貴サイト内に設置していただき、そこから送られた正当なクリックに応じて報酬をお支払いするクリック保証型バナー配信システムです。

◆特徴
・オンラインサインアップですぐにスタートできます。
・掲載サイトになるための費用は無料です。
・リアルタイムにクリック数/報酬金額の確認が可能です。
・銀行振込でスピーディな支払いが可能です。

◆料金体系
クリック単価:10円

http://www.rainbow-link.net/banner.asp


749nobodyさん:02/11/29 00:21 ID:???
>>747
後者は駄目だろうが、前者が駄目な理由がわからん。
というか、動いているのに動いていないのと勘違いしてたりしないか?
パーミッションとかきちんと確認して、何がどう駄目なのかはっきりさせれ。
750sage:02/11/29 00:36 ID:3tEKuEUH
http://yyycgi.s16.xrea.com/script/old/ftpproxy.txt
このCGIの動かし方がよくわかりません。
アクセスするとそのままとまってしまいます。
パーミッションとかがおかしいのでしょうか?いまは777にしているんですが…
751nobodyさん:02/11/29 08:21 ID:???
>>750
777じゃ動かん可能性大
せめて755に
752nobodyさん:02/11/29 08:30 ID:???
>>750
FTP Proxy Serverと書いてあるが・・・。
753nobodyさん:02/11/29 14:00 ID:pnw7T/xi
>>747
いんくるーどヴぁーちゃるでいけ
754nobodyさん:02/11/29 15:41 ID:dN9JwVyp
質問です。
Apacheを使わずにCGIだけを使って、個別ファイルのアクセス制御をしたい
です。例えば、最初のページで認証を行なって、ディレクトリやファイル毎に
アクセスを許可したり、拒絶したりするようなものです。
どのようなやり方が一般的でしょうか?

私の考えた方法は、アクセス毎にsession-idをつくって、session-idと同じ
名前のディレクトリをつくるというものです。もっとスマートなやり方が
ありそうです。よろしくお願いします。
755nobodyさん:02/11/29 18:19 ID:???
>>754
普通ファイルアクセスに必ずCGI噛ますだろ。

いちいちディレクトリ作るって中身はどうなのさ?
いつ削除されるのさ?
756nobodyさん:02/11/29 18:30 ID:dN9JwVyp
あっ、そうか。
アクセスするファイルを、Apacheでアクセスできないディレクトリ
(ex /home/hoge/data/)に置いて、CGIからアクセスすればいいの
かな。そういう感じですか?

ディレクトリは、アクセスする度にSession-idと時間を見て、作ったり
消したりかなーと思ったの。初学者なんで、すんまそん。
757nobodyさん:02/11/29 20:09 ID:I1ECfjSv
> Apacheを使わずにCGIだけを使って
Apacheは鯖プログラム。
使いたくないならAnhttpdでもIISでもなんでもどうぞ。
758nobodyさん:02/11/29 20:10 ID:I1ECfjSv
とか書いた上で、
.htaccessだけじゃだめ?>認証
したいことがわかりません。
759nobodyさん:02/11/30 00:16 ID:01xWlARz
>>755-758
すいません。すこし自分の頭、整理します。
760nobodyさん:02/11/30 08:31 ID:???
ApacheのBasic認証を使わずに
と言いたいんでしょう。
761nobodyさん:02/11/30 08:35 ID:01xWlARz
>>760
そのとおりです。
762nobodyさん:02/11/30 17:56 ID:YbgwiT2O
The Roomのranklinkで複数のカテゴリを1つにする
総合ランキングのカテゴリを作りたいのですがどなたか
作成している人おりますか?

http://breed.kir.jp/moro/

サイトの総合ランキングの見たいな感じです。
763nobodyさん:02/11/30 19:43 ID:Lc6V5akA
>>762
CGI探していますスレにどうぞ。
764nobodyさん:02/12/01 03:58 ID:???
cgiをどこに置いてもオッケーというプロバイダでホームページを作ってるんですが、
トップなどを置くディレクトリ(html)に入れたら動くのに、
そこからさらにサブディレクトリを作って、その中にcgiを入れると
動かなくなってしまいます。
Q&Aにはとくに対処法が書いてないのですが、
サブディレクトリをつくることで、cgi本体のparlの位置などを変える必要があるんでしょうか?
765764:02/12/01 04:01 ID:2MJb4ZlN
書き忘れましたが、バーミッションの設定などは合っていて、
関連ファイルの位置も合っています。
htmlフォルダの直下では動くのに、サブフォルダに移動させると動きません。
スクリプトは、作者によると、KENTさんの日記CGIのアレンジだそうです。
766764:02/12/01 04:57 ID:???
すみません、自己解決しました。
お騒がせいたしました。
767nobodyさん:02/12/01 16:53 ID:EvFcbEYB
掲示板を設置して削除キーみたいのがあるんですが投稿したあとに
logファイルを見るとキーの場所が「2EJAvX55iWfkQ」みたいな感じで
投稿の際に書いた削除キーと異なるようになるのはどうしてですか?
768nobodyさん:02/12/01 17:17 ID:???
>>767
暗号化してるから。
入力されたキーを同じように暗号化して比較することでチェックしてる。
暗号化されたキーから元のキーに復元することは不可能だから、漏れても安心。
769767:02/12/01 17:19 ID:EvFcbEYB
>>768
ありがとうございました。
770nobodyさん:02/12/01 18:31 ID:w1QS1aFK
ロックファイルの設定を失敗してしまい、
消せないフォルダが大量に出来てしまいました。
CGIのほうは今修正しているんですが
とりあえず今はそのサーバスペースにモノをおきたいので
消せないフォルダを削除する方法は無いでしょうか?
ちなみにiswebです。
771nobodyさん:02/12/01 18:33 ID:???
ROM表示ができて簡単に設置できるチャット探してます(´д`;)
772nobodyさん:02/12/01 19:28 ID:s6SWntCi
・フォームに書き込む

・送信ボタンを押す

・そのサイト内の指定したページにフォームに書き込んだ文章が書き込まれていく
 書き込まれた内容は、管理人が削除しない限り書き込まれたまま

ということをしたいんですが、どうやったらできるんですか?
773nobodyさん:02/12/01 19:34 ID:???
>>770 どういう方法で消そうとしてできなかったの?

>>772 どこでつまずいてるのかを書いたほうが答えやすい

なんでこう具体性を欠いた質問ばっかなんだ?
774772:02/12/01 19:51 ID:s6SWntCi
>>773
躓いているのではない。
1からわからないんです・・・
775nobodyさん:02/12/01 20:00 ID:ripvnwrq
>772
T-cupか何かの無料レンタル掲示板使えば?
776nobodyさん:02/12/01 20:20 ID:???
>>772=>>774
何から何まで聞くつもりか。
氏ねとは言わんがCGI作るのはやめろ。迷惑過ぎ。

こんなCGI探してますスレッド Ver7
http://pc.2ch.net/test/read.cgi/php/1031910901/

これがお似合い。
777nobodyさん:02/12/01 21:16 ID:???
>>770
きっとnobody権限でCGIが動くサーバーなんだろう。
1行目にPerlのパス、次の行以下に
rmdir "消したいディレクトリ";
って書いたCGIファイルを作ってアップしてパーミッション設定して実行。
中にファイルがあったらそっちを先に削除してからな。
778nobodyさん:02/12/02 00:40 ID:???
PERLでもPHPでもそうなんだけど
locationでjpgに飛ばした場合その画像を
IEの名前付けて保存とすると無題.bmpになるんだけど
どうしてよ?
779nobodyさん:02/12/02 00:50 ID:???
>>778
「インターネット一時ファイルの削除」はやってみた?
780nobodyさん:02/12/02 01:18 ID:???
>>779
やってみた locationで飛ばした場合だけ無題.bmpになる。
フツウにアクセスした場合は問題ないです。
781780:02/12/02 01:59 ID:???
Operaだとなんの問題も無い
ヤパーリIEがクソなのか
782nobodyさん:02/12/02 16:00 ID:???
君がウンコ
783nobodyさん:02/12/02 16:24 ID:???
確かに
784nobodyさん:02/12/02 17:21 ID:vPWFuwnv
wwwupl2を使って、現在使っている掲示板に画像アップロード機能を
付けたいんですが、掲示板にその画像を表示させるには
どうしたらよいのでしょうか?もしよろしければご教授くださいませ。
785bloom:02/12/02 17:48 ID:Ss+94/LC
786nobodyさん:02/12/02 20:29 ID:???
>784
素直にアップロードのできる掲示板に切り替えろ。それが一番問題がない。
デザインが気に入っているとかほざくんなら、アップロードのできる掲示板のデザインを変えた方がマシ。
787nobodyさん:02/12/03 01:45 ID:???
とりあえず暫定的にタグ入力を促した解説文を書いて
掲示板内に設置しました。
でもこれだとかなり不親切だ・・・。
まぁ、あまり使われても困るわけだけど。
どっかに落ちてないかな・・・簡単に導入できるやつ。
788770:02/12/03 15:54 ID:???
>777さん
解決しました!
ありがとうございました
789nobodyさん:02/12/03 19:21 ID:hVzOazjk
Limeアクセスカウンターでページ毎に集計を取ろうと思ってもトップ
しかできません。
<IMG SRC="パス/lime.cgi?page=識別番号&name=ページ名&hp=ウエブページのURL">
を各ページに貼ってるのですが。
よろしくおながいすます。4
790nobodyさん:02/12/03 19:44 ID:???
Limeアクセスカウンターって何よ?

識別番号,ページ名,URLは各HTMLごとにちゃんと変えてるのか?
791789:02/12/03 19:45 ID:hVzOazjk
792nobodyさん:02/12/03 21:39 ID:???
>>789
そーゆーのは配布元に聞け。
793:02/12/03 23:05 ID:???
こんなのはどうでしょうか・・・?

【ついに】Winnyで逮捕者【タイーホ?】
まさか!と思うあなたは
↓↓↓↓↓↓実況スレ↓↓↓↓↓↓↓
http://choco.2ch.net/test/read.cgi/bobby/1038742045/

ありえない!と思ったら
↓↓↓↓↓↓実況スレ↓↓↓↓↓↓↓
http://choco.2ch.net/test/read.cgi/bobby/1038742045/

すんません言葉がおもいつかないですw
794nobodyさん:02/12/04 20:59 ID:vkFoEBtZ
雛型PDFから文字列置き換え某の処理やって、PDF出力っていうのを
オープンソースでやりたければ www.zope.org のやつを使うのがベスト。

っていうことでOK?
795nobodyさん:02/12/04 22:27 ID:???
http://tohoho.wakusei.ne.jp/lng/199808/98080025.htm
の所に書いてある

>#!/usr/local/bin/perl
>print "Content-Location: http://localhost/jumpto.html\n\n";
>という2行CGIスクリプトを実行したら、Locationと同様にジャンプ
>できました。
って出てるんですがうちでは全く動かないのですが
本当にこれで動くんでしょうか?
796nobodyさん:02/12/04 22:39 ID:???
>>759
うちってどこだよ。もしかしてそのままスクリプトをコピペしたのか?
だったら行くわけないだろうに。ApacheかAnHTTPD入れてんのか?
797796:02/12/04 22:48 ID:???
795に対してだった。スマソ
798795:02/12/04 23:01 ID:???
もちろんlocalhostのままじゃないよん
ANHTTPDでもUnixApacheでも同じだった。
全くの白いページが表示されますた。
799nobodyさん:02/12/05 09:01 ID:???
>>795
4年前の記事。
今は使えない。
800nobodyさん:02/12/06 08:32 ID:???
軽く質問です。

CGIの掲示板を改造していまして、デザインを改造していたのですが、なぜか
「送信ボタン」を押すと、次のページで生のソースが表示されてしまいます。

どんなことが原因をして考えられるでしょうか?

ヘッダを書き出す部分は、以下のようになっているのでOKだと思うのですが…

print qq|Content-type: text/html;charset=Shift_JIS\n\n|;
801nobodyさん:02/12/06 08:49 ID:???
>>800
すみません。解決しました。

デバッグ用のprint文がcontent-typeを吐き出す前にあったからのようです。
Mozillaではソースが表示されるのにIEはOKなんですね。

ご迷惑おかけしました。
802nobodyさん:02/12/06 12:42 ID:???
>>801
細かいことだが「IEがOK」とはこれ如何に。
803来ないので:02/12/06 12:56 ID:JJQHVPDo
作ったCGIをオフラインでチェックできるツールってない?
804nobodyさん:02/12/06 13:37 ID:???
>>803
環境変数を適宜セットして、実行すれは?
805nobodyさん:02/12/06 13:41 ID:ClEQp28P
>>803
ローカルにサーバたてればいいんでないの?
806来ないので:02/12/06 20:00 ID:JJQHVPDo
>>804-805
やり方がわからんんす
805のほうが簡単そうなのでそれについて調べてみます
807nobodyさん:02/12/06 21:10 ID:???
>803
ttp://tohoho.wakusei.ne.jp/wwwcgi6.htm
検索すりゃいくらでも解説ページ見つかるぞ。
808nobodyさん:02/12/07 00:11 ID:PIFiAPiz
登録してもらったメールアドレス(登録件数は1万件とかだとすると)に
一斉にメールを送る処理って重いでしょうか?
809nobodyさん:02/12/07 00:14 ID:JEYT/ti0
ttp://pc.2ch.net/test/read.cgi/php/1032704121/-100

このURLってread.cgiはどのように引数を受け取っているの?
相対パスの設定はどのように行なっているの?
810nobodyさん:02/12/07 00:29 ID:???
きしゅつ
811nobodyさん:02/12/07 06:30 ID:???
>803

perl -d しろ。

#perlだったらだが。
812nobodyさん:02/12/07 11:28 ID:RaxMjdVa
質問です。
携帯のau用に着メロのダウンロードCGIを設置しようと思ったのですが、上手くいきません。
CGIは、
ttp://www.kt.rim.or.jp/~marca/ezget/index.html
ここの物を選んだのですが、設定がまずいのか動作していないようです。
設置しているのはBIGLOBEの自分のHPスペースなので、そっちの方は問題ないのですが‥。
どなたかお分かりになる方、ご教授頂けませんでしょうか?
CGIに触れたのは初めてなもので、正直よく分かりません‥。オマケに自分はauを持っていないもので‥。
813nobodyさん:02/12/07 11:43 ID:???
>>812
そこのサイトのサンプルは動くのか?

エラーは出るのか?
814812:02/12/07 11:54 ID:RaxMjdVa
>>813
PC上からアクセスしても、意図する動作はしないようです。
自分で設置したものにアクセスすると、filename requiredと表示されます。
読んで字のごとくなのですが、ここからが詰まってます。
PC上でezWebをエミュレートできるツールでもあれば、auが無くても動作確認できるのでしょうが‥。
815nobodyさん:02/12/07 12:01 ID:???
<A TASK="GOSUB" DEST="ez.cgi?f=tahi.pmd">ダウンロード</A>

見たいなやつを書いてないんじゃない?
816812:02/12/07 12:11 ID:RaxMjdVa
>CGIは自分のディレクトリ下からのみ起動可能です。
との事なので、public_htmlディレクトリの下にindex.htmlを置いて、そっちに、

<A TASK="GOSUB" DEST="ez.cgi?f=ファイル名">ダウンロード</A>

を置いてます。
別にcgi-binディレクトリを作り、その下にCGIを置いているのですが、
上記の記述だと「ダウンロード」とただ表示されるだけで、リンクが貼られません。
直接CGIにアクセスすると「filename required」となります。
置いているのは着メロなのですが、どうすればCGIを通してauでDL出来るようになるのでしょうか‥?
817813=815:02/12/07 12:19 ID:???
<A TASK="GOSUB" DEST="../cgi-bin/ez.cgi?f=ファイル名">ダウンロード</A>

こういうことかな? サーバの設定で .. は使えないかも知れないから

http://BIGLOBEの自分のHP/cgi-bin/ez.cgi?f=ファイル名

にしたほうがいいかも。
818812:02/12/07 12:59 ID:RaxMjdVa
>>817
<A TASK="GOSUB" DEST="http://cgi.www5d.biglobe.ne.jp/~自分のID/cgi-bin/ez.cgi?f=ファイル名">ダウンロード</A>
index.htmlにこう記述しているのですが、これだと>>816の通りになってしまいます。
やはりauもないと駄目なのでしょうか‥?
819813=815:02/12/07 13:04 ID:???
そうしたら、5行目は設定してる?

$datadir = './data';

CGIファイルから見て、ダウンロードさせたいファイルのあるディレクトリの設定
820812:02/12/07 13:37 ID:YhJyx1dy
この際晒してしまいますが、
http://cgi.www5d.biglobe.ne.jp/~coolier2/cgi-bin/ez2.cgi?f=s_moon2_au.pmd
ここまでは漕ぎ付けました。
ただ、auが無い為チェックできないので、これであってるのかどうかが分かりません。
記述を見る限りCGIにはアクセス出来ているようなのですが、
携帯からDL出来るのかどうかが分かりません。
CGIの中身を見てもチンプンカンプンだし‥。
821813=815:02/12/07 13:56 ID:???
489バイトのファイルがPCからDLできましたが、わたしも携帯持ったことないのでわかりません。
なんで持ってないau用のDLページを設置するの?
822812:02/12/07 14:03 ID:YhJyx1dy
>>821
着メロのHPをやっているのですが、auは機種によってDL出来なかったりするそうです。
ただ、ダウンロードCGIを置くと、16和音対応なら大体どのauの携帯でも聴けるようになるそうなので、
だったら置いてみようかなと思って‥。
とにかく、色々やってみようと思います。ありがとうございました。
823nobodyさん:02/12/07 21:12 ID:???
>>808
それ、レンタル鯖でやったらたぶんたたき出されるよ。
824nobodyさん:02/12/07 22:48 ID:???
別ウィンドウから親ウィンドウのページ(CGIページ)を更新したいのですが、
URL欄にパラメータを晒さないで更新することって不可能しょうか。
JavaScriptでやろうとするとPOSTが使えないので、?a=b&c=d って感じになってしまいますよね?
825nobodyさん:02/12/07 23:10 ID:???
>>824
できるよ。

JavaScript使ってPOST送信することもできるし。。。でも板違いだからね!
826nobodyさん:02/12/07 23:37 ID:yo5a65Nq
カレント下のディレクトリに移動してpwdで表示させたいんですが、
以下のスクリプトでできません。なぜだろう。

$dn=0;
chop($ls=`ls`);
@DIR=split(/\n/,$ls);
$lim=@DIR;
while($dn<$lim){
chdir './$DIR[$dn]/';
print `pwd`;
$dn++;
}
827302:02/12/07 23:44 ID:???
>>826
Cwdモジュール使おうぜ。

use Cwd;
$cwd = cwd;
# $cwd = カレントディレクトリ
828826:02/12/07 23:50 ID:???
>>827
ディレクトリに移動できていないようなんだよね。。
829nobodyさん:02/12/07 23:58 ID:???
chdir $DIR[$dn];
830826:02/12/08 00:04 ID:???
あ、ほんとだ。ありがとです。
831nobodyさん:02/12/08 00:17 ID:1lV1fu3e
プログラミング板から移って来ました。
perl(5.00503)のCGI.pmで

CGI::ReadParse(\%FORM);

とやった後に、$FORM{'〜'}の中身をどうやっても空にすることが
できないんだけどこれって仕様?

CGI::ReadParse(\%FORM); #この時点で$FORM{'url'}に値が入る
$FORM{'url'}='';
print("Content-type: text/html\n\n");
print($FORM{'url'}); #空になっていない。
832nobodyさん:02/12/08 00:25 ID:???
>>831
悪い事は言わんから、いまいちどソースを確認すること
833824:02/12/08 01:37 ID:???
>>825
ありがとうございます。調べたらPOST送信の方法わかりました。
別ウィンドウから親ウィンドウの関数呼び出してPOST送信、でやってみます。
ちなみに同じことをCGIだけではできないってことでいいんでしょうか。
834824:02/12/08 02:46 ID:???
板違い・・すみません、逝ってきます。
835nobodyさん:02/12/08 18:20 ID:???
@test= split(/\//, $ENV{'PATH_INFO'});
で -w のオプションつけると
Use of uninitialized value in split
と出ます 何で出るんでしょう?
836nobodyさん:02/12/08 18:50 ID:???
環境変数 PATH_INFO が無いから。
837nobodyさん:02/12/08 20:42 ID:???
>>835
意味がわからん。
質問と答えを同時に書いちゃってるよ。

>Use of uninitialized value in split
>と出ます 何で出るんでしょう?
Use of uninitialized value in split だからでしょ?
838nobodyさん:02/12/09 01:56 ID:???
今度から「エラーメッセージ=答え」の質問には回答しないってことにしね?
839nobodyさん:02/12/09 02:53 ID:q8HyJSpD
すいません、特定のcgiファイルにだけssiを使用可能にしたいので
.cgi2という拡張子だけcgiとssiの両方を通すようにサーバー側で設定しました。
これって何か問題あるんでしょうか?
840839:02/12/09 03:09 ID:q8HyJSpD
と思ったらcgi2に拡張子変えたらcgiがサーバーエラーになって動かなくなった。

ssiを通すと動作が重くなると聞いたので、
やはり特定のcgiファイルにだけssiを使えるようにしたいんですが
何かいい方法はありませんか?
お願いします。
ちなみにサーバー側の設定はコントロールパネルを使ってブラウザ上から
するようになってます。
841nobodyさん:02/12/09 03:20 ID:???
SSIを通すってのが意味不明なんですが
842839:02/12/09 03:51 ID:q8HyJSpD
ファイルをssiを使ったものとして認識させる、って意味です。
すいません、たぶん勘違いも多いと思います。
843839:02/12/09 04:06 ID:q8HyJSpD
質問の仕方がマズかったかも知れません、
あれから色々試してわかったことを含めて質問し直します。

cgiで表示させるニュースサイトにssiでアクセスログを取ろうとしてます。
ssiの使用はサーバーに拡張子を登録しないといけないのですが
「.cgi」という拡張子を登録しようとすると、すでに使用されています、
とエラーになる(当たり前か)

この場合どうあがいてもcgiファイルを呼び出したときのログを取るのに、
ssiのアクセスログは使えないのでしょうか?
844Name_Not_Found:02/12/09 04:47 ID:???
>>843
やろうとしていることが理解不能。
そのSSIのアクセスログってどんなのか説明してみ?

845nobodyさん:02/12/09 06:33 ID:???
SSIとCGIの記述言語が同じならいっしょくたにしちゃえばいいじゃん
846839:02/12/09 06:36 ID:q8HyJSpD
説明下手ですいません、、、。僕自身ssiについてよくわかっていないもので。

えーとアクセスログはcgiなんですけど、それにssiモードっていうのがあって
そちらを使おうとしてるんです。urlはココです。

http://air.vis.ne.jp/at-works/access/readme/detail.html#detail2
847nobodyさん:02/12/09 10:41 ID:???
.shtml に設定してもダメ?
848nobodyさん:02/12/09 11:09 ID:???
CGIで
print "<!--#exec cgi="hoge.cgi"-->";
とかやってもダメだよ。(Apache2なら出来ないことも無いが全部CGIにすればいいだけの話)
849nobodyさん:02/12/09 11:18 ID:???
"〜"内の"は\"にしないとダメだと思いマース


と揚げ足取ってみるw

まあどの道ダメだけど。
850839:02/12/09 11:34 ID:???
>>848
わかりました、元々SSIのことはよーわからんのでいじるの止めときます。
ていうかその説明聞いて無理だとわかりました。
851nobodyさん:02/12/09 11:35 ID:???
>839
CGIの中でそのままアクセスログを取ればいいだけだろ。
852839:02/12/09 11:44 ID:???
>>851
はい、アクセスログは846のやつを使ってるんですがそのログデータに
呼び出したCGIから書き込むようにしたいと思います。
853nobodyさん:02/12/10 00:36 ID:???
cgiの負荷をローカルで調べたいんですけど、どうすればいいんですか?
(環境はWin2K+Anhttpd+ActivePerl5です)
できないですか?
854nobodyさん:02/12/10 00:51 ID:???
>>853
ローカルにサーバ立てればいいだろ???
855nobodyさん:02/12/10 08:51 ID:???
すいません、配列内の全く同じ値をひとつにまとめるということは出来ないんでしょうか?
たとえば

@test=("たこ","いか","たこ","はまち","あなご","はまち","はまち","たこ","たこ"-----その他続く);

とあった場合に

@test=("たこ","いか","はまち","あなご",-----その他続く); #---順不同でかまいません

という具合に直すにはどうやったらいいんでしょうか?
よろしくお願いします。
856nobodyさん:02/12/10 09:29 ID:???
857855:02/12/10 09:50 ID:???
>>856
いとも簡単に出来ました、ありがとうございます。
858nobodyさん:02/12/10 10:14 ID:bx+i+tz7
グローバル変数とローカル変数の名前のつけ方に
どのような工夫をしてるのかお前らなりの意見を述べよ。
例)グローバル変数は"g_"で始める
859nobodyさん:02/12/10 10:48 ID:???
グローバル変数は全部大文字。
基本的にはグローバル変数は使わんけどね。
860nobodyさん:02/12/10 11:28 ID:???
全部大文字にすると記号定数みたいで嫌だな・・・
861nobodyさん:02/12/10 12:26 ID:???
>>859
それもらったわ いいね
今まで区別もなしに使ってたよ。
862nobodyさん:02/12/10 17:35 ID:???
>>860に同意
C系の人は…
863nobodyさん:02/12/10 17:42 ID:???
1文字目を大文字
864 ◆hMJAPH9PWA :02/12/10 20:29 ID:???
グローバル変数なんてほとんど使わないけど、使うとしたら>>863と同じかな。
865nobodyさん:02/12/10 22:19 ID:???
>>859
マクロ定数みたい。
866nobodyさん:02/12/10 22:22 ID:???
グローバル変数は"g"ではじめる。
ローカル変数は"the"ではじめる。
メンバ変数は"m_"ではじめる。
Cマガにあったのを一部使ってるが、気に入っている。
867nobodyさん:02/12/10 22:50 ID:3ZprtexE
868123:02/12/11 00:01 ID:MBkMmHdK
IモードでCGIを使って電話をかける方法が分かりません。
友達は簡単だといってたのですが。
869nobodyさん:02/12/11 00:10 ID:???
>>858
悪い事は言わん。一回死んでみろ。
870nobodyさん:02/12/11 01:43 ID:???
>>869
それは>>868へのレスか?
871nobodyさん:02/12/11 02:23 ID:???
$HEAD="INSERT INTO USER VALUES ('";
$SEN="aaaa','bbb','cccc','dddd','eeee','ffff";
$END="');"
$RES="$HEAD$SEN$END", "\n";
とかして$RESを出力させると"');"が変なところに出るんだけど、
なぜだろう。端末が表示できなくて折り返したところに出るんだよね。
872nobodyさん:02/12/11 02:36 ID:???
>>871
3行目の末尾にセミコロンがないけど…
それ直してローカルで実行してみたけど、普通に1行で表示されたよ。(IE6)
873nobodyさん:02/12/13 14:25 ID:MEORzHg9
あるcgiを実行すると、ブラウザの下に
「実行しましたが、ページでエラーが発生しました。」と出ます…。
perlスクリプトのエラーを探すcgiで探してみたのですが、わかりません…
このままでも大丈夫なんでしょうか…?
874nobodyさん:02/12/13 14:46 ID:???
IEのステータスバーに出るエラーメッセージの事ならJavaScriptのエラーじゃねーの?
875nobodyさん:02/12/13 16:10 ID:0xps+Hva
>>874
そうなんですか?じゃあそっちの方チェックしてみまつ
ありがd
876nobodyさん:02/12/13 16:36 ID:iG+3sspL
誕生日と名前フォームデータ($yyyy,$mm,$dd,$name)を
CSVで貯めるのですが、その際、CSVデータが誕生日$yyyy,$mm,$ddで
ソートしたいのですがいつソートするんでしょう?

1回そのまま書き込んで、もう一回呼んで、ソートしかないですか?
書き込む前にソートできますか?
877nobodyさん:02/12/13 18:06 ID:???
>>876
マルチは氏ね
878nobodyさん:02/12/13 18:58 ID:iG+3sspL
まるちってなんだ?
879nobodyさん:02/12/13 19:40 ID:???
和牛商法のことだよ
880nobodyさん:02/12/14 11:10 ID:???
霜降りまんせー?
881nobodyさん:02/12/14 20:21 ID:???
http://www.kent-web.com/bbs/epad/epad.cgi
ez j au i pcとか端末によって出る場所を変えたいのですが
882初心者:02/12/14 21:59 ID:KvUqkI+X
cgiがアップロードできたり、できなかったりします。
プログラムも書き換えたりしていないのです。
環境はMacです。フェッチを使っています。
ものすごい初心者厨ですみません。
883nobodyさん:02/12/14 22:12 ID:???
>>882
それだけじゃわからん。
せめて、どうできないのかぐらいは書いてくれ。
884nobodyさん:02/12/14 22:35 ID:???
>>882
初心者な事を謝る必要は無い。
まともに質問できないことを詫びろ。

>アップロードできたり、できなかったりします
ネットワークが不安定なんじゃないか?
しょっちゅう切断されるとか。
885nobodyさん:02/12/15 11:50 ID:???
>>882
> フェッチを使っています。

窓から投げ棄てろ
886nobodyさん:02/12/15 13:23 ID:???
掲示板を設置しているんですけど普通に動作してるのに時々500 インターナルサーバーエラーが出る時があるんですがこれは何故ですか?
887nobodyさん:02/12/15 13:42 ID:???
処理が重いんだべ
888nobodyさん:02/12/15 14:31 ID:KknhLQGQ
CGI初心者ですが、C言語でCGIプログラムをしようと思っております。
そこで、C言語のソースをCGIにコンパイルするコンパイラーはあるん
でしょうか?ちなみに環境はwindowsです。よろしくお願いします。
889nobodyさん:02/12/15 14:33 ID:???
>C言語のソースをCGIにコンパイルするコンパイラー

・・・
890nobodyさん:02/12/15 14:40 ID:KknhLQGQ
質問が悪かったみたいです。すみません。
それじゃC言語でCGIを作るにはOSはUNIXじゃないと無理なんで
しょうか?
891nobodyさん:02/12/15 15:33 ID:???
>>890
Windowsのサーバで使うならWindowsでコンパイルしないといけない。
VisualC++とかBorland Cコンパイラーとか使う。
間違ってもWindowsでコンパイルしたのをUNIXで動かそうとは思わないように。
892nobodyさん:02/12/15 15:54 ID:KknhLQGQ
>>891
ありがとうございました。
コンパイルすると、exeファイルができますよね。
その後、どのようにCGIのようにホームページ上で動かせばいいんですか?
もし、ご存じだったら教えてください。よろしくお願いします。
何度も質問すいません。
893nobodyさん:02/12/15 16:11 ID:???
>>892
HTTPDによって違う。
IIS、AnWEB(AnHTTPD)、Apacheそれぞれで設定が違う。
詳しくは知らん。
894nobodyさん:02/12/15 17:09 ID:KknhLQGQ
>>893
ありがとうございました。
一応AnWEB(AnHTTPD)を使ってしようと思っております。
895nobodyさん:02/12/16 02:59 ID:???
SSIでCGIを起動しようとしているのですが
telnetでsyntax OKがでても実行すると
[an error occurred while processing this directive]
が出ます。文法も何度もチェックしたのですが間違いが見つかりません。
何か見落としているのだろうか?
896nobodyさん:02/12/16 03:05 ID:???
>>895
自己解決しました。
897nobodyさん:02/12/16 06:38 ID:???
>>895-896
濡れもそのエラーでて困ってたんだけど解決法をしえて(;´Д`)
898nobodyさん:02/12/16 10:09 ID:???
ヘッダ吐いてないから、とか?
899nobodyさん:02/12/16 18:18 ID:???
そのコマンドが使えないから、とか?
900奈美 ◆GIyFjXJ4X2 :02/12/17 14:37 ID:???
すみません、初歩的な質問なのですが同じ鯖に別の種類のCGIをupする時
「info」等が上書きされてしまいます。
この場合フォルダーを作りそれぞれ格納すれば良いのでしょうか?
よろしくお願いします。
901nobodyさん:02/12/17 15:03 ID:???
>>900
分かってるんならまずやってみれ。
902nobodyさん:02/12/17 23:44 ID:IKEJsjLp
(hoge|geho){2}
は、
hogehoge gehogeho hogegeho gehohoge
を指してるんでしょか? それとも
hogehoge gehogeho
だけでしょか?
903nobodyさん:02/12/17 23:47 ID:???
>>902
やってみれ。

#!perl
$q = qr/(hoge|geho){2}/;
@test = qw ( hogehoge gehogeho hogegeho gehohoge );

@result = grep { /$q/ } @test;
print join("\n", @result);
exit;
904nobodyさん:02/12/19 02:44 ID:6brHe4qs
board.cgiのURLと言うのは
cgiが置いてあるURLを入力すればいいんですよね?
905nobodyさん:02/12/19 02:51 ID:???
>>904
なんでここで同意を求めるの?
906じょ:02/12/19 11:15 ID:???
質問です。
GATEXってCGIのセキュリティってどうです?
高い?低い?
907nobodyさん:02/12/19 17:21 ID:???
PhotoBBSというCGIのセキュリティは漏れ漏れ
908nobodyさん:02/12/19 23:11 ID:ZsaWrRnV
mother
hanako
father
taro
grandfather
kenzo
grandmother
hana

上記のようなテキストファイルがあります。
これを奇数番目をキーとし、偶数番目を値とする連想配列にしたいのですがどうしたらいいでしょうか?

つまり、
motherは、hanako
fatherは、taro
grandfatherは、kenzo
grandmotherは、hana
としたいのです。ご教授ください。
909908:02/12/19 23:13 ID:???
スレ違いっぽいですね。すんません
910nobodyさん:02/12/19 23:38 ID:???
>>904
やってみれ。そうすれば一撃。
911nobodyさん:02/12/20 02:17 ID:???
>>908
思いつきで書いただけだから
動くかどうかしらんけど
こんなのじゃだめかな?

$i=0;
open<IN>;
@hoge=<IN>;
close<IN>;
$h=@hoge;
while($i<$h){
$rensou{$hoge[$i]} = $hoge[$i+1];
$i += 2;
}
912nobodyさん:02/12/20 04:41 ID:???
>>908
ハッシュに入れるだけ
@data = qq/key name key2 name2 key3 name3/;
%hash = @data;
print $hash{key3} . "\n";
913nobodyさん:02/12/22 15:21 ID:???
#!/usr/local/bin/perl
require "jcode.pl";

# 取得したいホスト名
$host = "headlines.yahoo.co.jp";
# 取得したいディレクトリィ
$page = "/hl?a=20021222-00000015-ryu-oki";

socket(S, 2, 1, 0);
connect(S, pack("S n a4 x8", 2, 80, (gethostbyname($host))[4]));
binmode(S);
select(S); $|=1; select(stdout);
print S "GET $page HTTP/1.0\r\n\r\n";
while (<S>){
$value.=$_;
}
close(S);
jcode::convert(*value, 'sjis', 'euc');

for (my @data = split(/\n/,$value)){
$html.=$1 if($_ =~ /<html>(.*)<\/html>/i);
}

print "Content-type:text/html\n\n";
print <<"HTML";
<html>
$html
</html>
HTML
exit;
914nobodyさん:02/12/22 15:21 ID:???
こうすると<html></html>の間のHTMLが切り抜けると思ったんですが
切り抜けません。
何が原因なんでしょうか?
915nobodyさん:02/12/22 15:34 ID:???
>>914
print "Content-type:text/html\n\n";
for (my @data = split(/\n/,$value)){
  print $_,"<br>\n";
  $html.=$1 if($_ =~ /<html>(.*)<\/html>/i);
}
916nobodyさん:02/12/22 15:39 ID:???
>>915
あーなるほど!
わかりましたありがとうございます!!
917nobodyさん:02/12/22 20:12 ID:???
ActivePerl HTTP-Lite Time-HiRes
のインストール方法がわかりません。
誰か教えてください。m(_ _)m
918nobodyさん:02/12/22 20:29 ID:???
919nobodyさん:02/12/22 21:21 ID:???
ActivePerl分かりました。
HTTP-Lite Time-HiRes
のインストール方法がわかりません。
920nobodyさん:02/12/23 01:10 ID:???
>>919

  ス  レ  違  い

921nobodyさん:02/12/24 22:15 ID:i8a0gT6w
質問です。次のような出力をするようなプログラムを組んでテストしてみました。

  HTTP/1.1 200 OK
  Server: <環境変数"SERVER_SOFTWARE"の内容を代入>
  Date: <現在時刻を所定のフォーマットにして代入>
  Expires: <同上>
  Content-Type: text/html; charset=shift_jis
  Content-Length: <中身の長さを計算して代入>

  <以下、HTMLが続く>
(注) 「Status: 200 OK」ではなく、「HTTP/1.1 200 OK」とHTTPレスポンスをそのまま出力しました

ですが、実際の出力を見ると次のようになってました。

  HTTP/1.1 200 OK
  MIME-Version: 1.0
  Server: AnWeb/1.42b
  Date: Tue, 24 Dec 2002 12:51:49 GMT
  Transfer-Encoding: chunked
  Pragma: no-cache
  Cache-control: no-cache
  Last-Modified: Tue, 24 Dec 2002 12:51:49 GMT
  Server: AnWeb/1.42b
  Date: Tue, 24 Dec 2002 12:51:51 GMT
  Expires: Tue, 24 Dec 2002 12:51:51 GMT
  Content-Type: text/html; charset=shift_jis
  Content-Length: 393
922nobodyさん:02/12/24 22:15 ID:???
(続き)
どうも、サーバソフトが勝手にいろいろ付け加えてくれたらしく、
ServerやDateが2つできちゃったり(しかもDateは中身が違う)
勝手にキャッシュすんなというヘッダが付け加えられたりしてるんですが、
サーバソフトがこのように勝手に色々くっつけるのはCGIの仕様上アリなんでしょうか?

このCGIの実行環境は次の通りです。
OS: Windows、サーバソフト: AN-HTTPD、
プログラムはC++で書いてBCCでコンパイル
923nobodyさん:02/12/24 22:17 ID:0cpo6YL8
>>922
nph- ... .cgi
924nobodyさん:02/12/24 22:21 ID:i8a0gT6w
>>923
あっ、うまくいきました…(実行ファイルなので拡張子はexeですが)
確かそういうファイル名にしなければならないというのはどこかで読んだような気がします…

どうもありがとうございました。
925nobodyさん:02/12/25 02:41 ID:A47bXqvV
レス付き画像掲示板 imgboard v1.22へwo
kent-webのCOSMO GATE-EXとともに用い、
会員制のサイトを作ろうかと考えておりますが、
cook.cgiのところで躓いています。

誰か教えてください。
926nobodyさん:02/12/25 04:21 ID:???
>>925
まず日本語と質問の仕方を勉強してください。
927nobodyさん:02/12/27 16:18 ID:TOYtlOi1
掲示板のCGIを製作しているのですが、うまく動作しないので教えてください。
ファイルを読み込んで、先頭にある数字をカウンターとして増やしていきたいのですが、

open(DATA,"<data.dat");
#flock (DATA,2);
@nekosogi = <DATA>;
#flock (DATA,8);
close(DATA);

@nekosogi_copy = @nekosogi;
$sentou = shift(@nekosogi);
$suuji = split(/<>/, $sentou, 1);
$suuji = $suuji + 1;

$jikan = localtime(time());
$all_data = "$suuji<>$jikan<>$data\n";
unshift(@nekosogi_copy, $all_data);

open(DATA,">data.dat");
#flock(DATA,2);
print DATA @nekosogi_copy;
#flock(DATA,8);
close(DATA);

(変なプログラムですみません、もっと効率のいいやり方がありましたら教えてください)
出力される結果が2番目までは順調なんですけど、三番目の書き込みからカウンターが増えてくれないんです。

2<>Fri Dec 27 04:03:46 2002<><><><>その3<>書き込みテスト三番目。
2<>Fri Dec 27 04:03:12 2002<><><><>その2<>書き込みテスト二番目。
1<>Fri Dec 27 04:02:41 2002<><><><>その1<>書き込みテスト一番目。

どこが原因なのでしょうか?
928nobodyさん:02/12/27 16:29 ID:???
shiftって一番おしりのデータを引っ張ってくるんでは。で、その値を読んで足して一番前に追加する。
929nobodyさん:02/12/27 16:39 ID:???
>>927
なぁ、消極的なんだけど、arrayのコピーなんて重い処理やめてさ、

$sentou = $nekosogi[0];
$suuji = split(/<>/, $sentou, 1);
$suuji = $suuji + 1;

$jikan = localtime(time());
$all_data = "$suuji<>$jikan<>$data\n";
unshift(@nekosogi_copy, $all_data);

じゃだめなの?


って、

$suuji = split(/<>/, $sentou, 1);

ってリストをスカラーで受けてるから$suujiにはリストの要素数である1が常に帰ってきているんでは?
930nobodyさん:02/12/27 17:10 ID:TOYtlOi1
>>928
shiftは配列に先頭の要素を取り除く関数ですので、あってると思います。

>>929
> $sentou = $nekosogi[0];
なるほど。早速修正。

> $suuji = split(/<>/, $sentou, 1);
> ってリストをスカラーで受けてるから$suujiにはリストの要素数である1が常に帰ってきているんでは?

確かにそうですね(^^;
直したら、無事に動きました!!。教えていただきありがとうございます。
931nobodyさん:02/12/27 18:59 ID:T4onpXWq
どなたか教えてください。
Perlで書き出す文の中でJavascriptからURLのオプションを変数にして
リンクし、リンクした後のページの中でそのoptionを読みとることをし
たいのですが、ローマ字だとうまく行くのですが平仮名や漢字ではうま
く行きません。どうすれば良いのでしょうか?ブラウザはnetscape6で
やりたいのですが…。アドレスバーに表示されるオプションの部分で漢
字が入るべき部分が"%〜%〜"みたいになっているのですが、それを直
接読み込んでいるからいけないのでしょうか?

そのオプションを表示すると文字化けしていて、SJISやEUCで文字コード
を選択してもうまく行きません。

Javascriptでは
name = document.box.name.value;
URL = htpp://………….cgi?option="name";
location = URL;
としてリンクしています。
このnameってとこに漢字で入力したいのですが…。

どなたかよろしくおねがいします。
932nobodyさん:02/12/27 19:01 ID:???
>>931
URLエンコードとか文字コードとか基本的な勉強を済ませてくることを激しくおすすめ。


後、箱庭とかやろうと思ってるならやめて♪
933nobodyさん:02/12/28 22:37 ID:Rfn3m+9W
初心者ですが今度CGIをお借りしてHP上でアンケートをしようと思っています
まだCGI可なHPが用意できていないのですがCGIがどのように動作するか
遊んでみたいと思いXXX.cgiというのをブラウザで開いたのですが
変な文字ばかり表示されてしまいます
オフラインでCGIの動作を確かめるにはどうしたらいいのでしょうか?
934nobodyさん:02/12/28 22:48 ID:???
>>933
httpサーバとそのCGIを解釈、実行できるインタプリタ。
935nobodyさん:02/12/29 06:07 ID:???
やや外し気味ですが、お許しあれ。

クライアントはContent-Typeで受け付けられるmimetypeを指定しますが、この時
*を使った表現をよく見ます。
MIMETYPESに正規表現を使った指定はどこまで許されるのでしょうか?
例えば、image/*は問題ないとして、image/j*とかimage/*?gとかやらかしても
問題ないのでしょうか。
936nobodyさん:02/12/29 12:22 ID:v6Y25Wu1
jcode.plで全角にすると指定しているのに、入力フォームに全て半角カタカナで入力されると変換されずに文字化けしてしまいます。

なら「入力された文字に全角のダミーを追加すれば変換されるかな?」と思って色々実験したのですがうまくいきません。

どうすればうまく出来ますか?
937nobodyさん:02/12/29 12:35 ID:???
>>936
日本語の勉強からやり直してください。
938936:02/12/29 13:25 ID:v6Y25Wu1
入力フォームからデータを受け取るのですが、入力されたデータのなかに半角カタカナがあると全角に変換されるようにjcode.plを利用して実行させています。&jcode'convert(*data,'euc','','z');

ですが、入力文字が全て半角カタカナだと全角に変換されません。
文字の中に全角文字があればきちんと変換してくれるのかな?。と思い、入力された文字にダミーの全角文字を追加してjcode.plに通しても駄目でした。
どのようにすれば半角カタカナを全角カタカナに変換できるのでしょうか?。
939nobodyさん:02/12/29 13:27 ID:???
eucに半角かなって合ったっけか。
940nobodyさん:02/12/29 13:27 ID:???
test

  ∩∩
 (゜x゜ )○

941nobodyさん:02/12/29 14:00 ID:ubkFpoNn
EUCにも半角カタカナは存在する
942nobodyさん:02/12/29 14:39 ID:NRVRZIhk
外出かな?
漢字フィルターnkf1.6のソースDLできるところないですか?
943nobodyさん:02/12/29 14:41 ID:???
944nobodyさん:02/12/29 15:33 ID:???
#!/usr/local/bin/perl
#使用するサーバのperlのパスに変更

#初期設定
$dir= './おりものうめぇーーーーー!!!!!!!!!!!!!!!!!!!!!!!!!!!!!/';

# ディレクトリを開いてファイルを選択
opendir(DIR, "$dir");
for (sort { $b cmp $a } grep(/\.html$/, readdir(DIR)){
$print.= "<li><a href=\"$dir$_\">$_</a>\n";
}
closedir(DIR);

# 内容の表示
print "Content-type:text/html\n\n";
print <<"MANCO";
<html>
<head><title>$dir</title></head>
<body bgcolor="#FFFFFF">
<ol>
$print
</ol>
ごちそうさまでした。
</body></html>
MANCO
exit;
945nobodyさん:02/12/29 15:34 ID:???
# 内容の表示
print <<"MANCO";
Content-type:text/html

<html>
<head><title>$dir</title></head>
<body bgcolor="#FFFFFF">
<ol>
$print
</ol>
ごちそうさまでした。
</body></html>
MANCO
exit;
946nobodyさん:02/12/29 15:46 ID:???
#!/usr/local/bin/perl
#使用するサーバのperlのパスに変更

#初期設定
$dir= './おりものうめぇーーーーー!!!!!!!!!!!!!!!!!!!!!!!!!!!!!/';

# ディレクトリを開いてファイルを選択
opendir(DIR, "$dir");
for (sort { $b cmp $a } grep(/\.html$/, readdir(DIR)){
$print.= "<li><a href=\"$dir$_\">$_</a>\n";
}
closedir(DIR);

# 内容の表示
print "Content-type:text/html\n\n";
print <<"MANCO";
<html>
<head><title>$dir</title></head>
<body bgcolor="#FFFFFF">
<ol>
$print
</ol>
ごちそうさまでした。
</body></html>
MANCO
exit;
947nobodyさん:02/12/30 01:12 ID:???
>>938
jcode.plのドキュメントを読めよ。
半角カナだけだとその文字列の文字コードを判別し損ねる云々あるだろうが。
948nobodyさん:02/12/31 01:04 ID:???
>>935
Accept ヘッダで指定される内容のことだよね?
それはRFC2616を読んでもらうとわかるけど、
*/* …OK
image/* …OK
image/jpeg …OK
*/jpeg …NG
image/j* …NG

要は「*/*」「<何か>/*」の形でしか*は使えない、ということです
949ドッグキラー ◆kdDGeR92lk :02/12/31 18:22 ID:jW77rwBm
スマソ。初心者です。
これを使えるようにするにはどうすればいいんですか?
#!/usr/local/bin/perl
foreach $i (3, 2, 1) {
print "カウントダウン : $i \n";
}
950nobodyさん:02/12/31 18:23 ID:???
>>949
3
2
1

いまいち意図がわからないので出力結果を書いてみた。
951ドッグキラー ◆kdDGeR92lk :02/12/31 18:26 ID:jW77rwBm
ホームページに乗せようとしたら、403になりました。
952nobodyさん:02/12/31 18:26 ID:???
>>951
外に4以上のパーミッション与えてる?
953nobodyさん:02/12/31 18:28 ID:???
cgiさんこんにちは
954ドッグキラー ◆kdDGeR92lk :02/12/31 18:31 ID:jW77rwBm
アスキーモードで送って、パーミッション変えてもだめだったから
スクリプトの記述に誤りがある可能性があります
文法チェック等を行ってください。
だと思われ。
955nobodyさん:02/12/31 18:34 ID:???
>>954
自作自演?

どっちにしろその場合500になるのが必然かと。
956ドッグキラー ◆kdDGeR92lk :02/12/31 18:37 ID:jW77rwBm
>>955
ここきたの今日初めてだから、自作自演してませんが、何か?
それはいいとして、500なんですが、スクリプトをどうすればいいんですか?
957nobodyさん:02/12/31 18:56 ID:???
Content-typeヘッダを出力すれば良い。
958nobodyさん:02/12/31 19:06 ID:???
>>956
何の役にもたたない初心者が 何か? なんて書いてんじゃねぇぞ。
このスレに2度と来るな。

来たら圧力をかけるからな。
959nobodyさん:02/12/31 19:07 ID:???

と厨房>>958がほざいてるが気にする必要はない。
960nobodyさん:02/12/31 20:32 ID:???
どうやって圧力かけるか気になるな。
961nobodyさん:02/12/31 20:35 ID:???
>>960
ディスプレイにティンティンをこすりつけながら何かぶつぶつ呟くのだろう。
962ドッグキラー ◆kdDGeR92lk :02/12/31 20:41 ID:jW77rwBm
すいません。ドラえもんみてて、これませんでした。今から作ります。
963ドッグキラー ◆kdDGeR92lk :02/12/31 20:52 ID:jW77rwBm
なんでうまくいかないんだろう
964nobodyさん:02/12/31 22:44 ID:???
>>963
ここで質問したくらいなんだからCGIなんだろ?
>>957が答えを出しているだろ
965nobodyさん:02/12/31 23:40 ID:gERFUaa0
ちょっと質問です。www.Sakura.ad.jpこちらのレンタルサーバでperlの
DBMを利用したProgを作成したいのですが、dbmopenコマンドではデータ
は処理できるのに、tie関数ではエラーは出ないものの、上手くデータ
が処理されてくれません。何故でしょう?
966ドッグキラー ◆kdDGeR92lk :02/12/31 23:51 ID:jW77rwBm
>>964
>>957のやってもできませんでした。
それで、今もう一回別のとこ修正してやったら、できました。
967nobodyさん:03/01/01 00:21 ID:???
>>965
そんなこたぁそれこそ鯖管に聞けや。
なんでここで聞く?
968nobodyさん:03/01/01 12:16 ID:uU32Gx+S
ここで聞くことじゃないかもしれませんが、一応CGIのことなので質問させてください・・・。
例えばあぷろだで画像をあっぷして、早めにそれを削除しても、
その画像を見た人が1人でも居れば、
あぷろだに記録されてるアクセス情報からその画像を見ることができると聞いたのですが、
具体的にどういう方法なのでしょうか?
なにやら、その画像を見た人のPCから見ればキャッシュがあるので云々
ということらしいのですが・・・他人のキャッシュを拝借するということかな?
うーん・・・。
969nobodyさん:03/01/01 12:25 ID:???
>>968
キャッシュの意味すらわかってないだろ?

帰れ。問題外。
970nobodyさん:03/01/01 15:29 ID:kImIKAsb


今年も、、今年こそ、、
いい思いをしちゃいましょう(^▽^)v

http://ok.halhal.net/~2ch/

971nobodyさん:03/01/01 21:36 ID:???
>>969
むー・・・ネットの表示速度を早める為の一時フォルダってことぐらいしか知りません。
意味ってのはどういうこと?
972nobodyさん:03/01/02 10:59 ID:???
アクセスして実行すると、「ファイルのダウンロード」となるようにしたいんですが、
(ちなみにファイルはHTMLです、それを出力するHTMLがあるのですが。。)
Content-Type は何にするとうまくDLできるでしょうか
よろしくお願いします。
973nobodyさん:03/01/02 11:02 ID:???
>>972
x/manco
974nobodyさん:03/01/02 13:00 ID:???
激しくスレ違いしたんですが教えてください。
ttp://popup2.tok2.com/home/newbie/script/log2.html
ここにあるログ解析を使おうと思って今試みてるんですが
一回目は読み込むけど二回目以降はアクセスログを読み込んでくれません。
書かれた通りにやっても駄目なんでパーミッションを変えたりしてみたんですが
それでもやっぱ駄目でした。
FTPの転送モードも間違っていないようです。
この場合、どういう原因が考えられるんでしょうか?
誰か教えろこのやろう。
975nobodyさん:03/01/02 13:51 ID:???
パーミッションについての質問です。

オーナーっていうのはFTPログインしている人のことですか?
グループメンバーっていうのは同じディレクトリのファイルたちですか?
その他っていうのは、例えばhtmlを見る人ですか?

rっていうのはブラウザで読み込む権限ですか?
wっていうのは、例えばcgiがdatファイルデータを書き込んだりする権限ですか?
xっていうのは、例えばformなんかでデータを送信する権限ですか?
976nobodyさん:03/01/02 13:53 ID:???
>>975
オーナー:ファイル所有者
グループ:所有者と同じユーザグループのユーザ
アザー:それ以外

r:読み込み可能
w:書き込み可能
x:実行可能
977nobodyさん:03/01/02 17:45 ID:C7iAg8R/
すいません。質問なんですがREFERERがimgタグで埋め込んだ場所と
同じ場所が出てしまうのですが、これを解決するにはどうしたらいいんでしょうか?
広告が内部表示されるサーバーを使っているんですがこれが原因ですか?

978nobodyさん:03/01/02 17:49 ID:???
>>977
refferer:呼び出し元のURL

あなたのページの画像ファイルを呼び出しているのはあなたのページです。
979977:03/01/02 17:59 ID:???
>>978
あー!!なるほど!なんかわかりました。
ありがとうございます。
980 :03/01/02 18:15 ID:0LkkApSx
レス付き画像掲示板 imgboard v1.22.Rev6k
はどこで手に入りますか?
981nobodyさん:03/01/02 19:14 ID:???
>974
激しくスレ違いなので配布元で聞いてください。
じゃなきゃ鯖管に聞けこのやろう。
982nobodyさん:03/01/02 19:33 ID:L6yfXpSS
>>975
ファイルの所有者は、FTPでログインしているIDに一致するはず。普通は。
ブラウザで見るときは、そのデータを吐き出してくるHTTPDの権限になる。

suEXECの時は違うけど。

>>978
ダブらせる場所が間違ってる
Referrer
983nobodyさん:03/01/02 19:34 ID:L6yfXpSS
>>971
ヒント: Proxyサーバーがキャッシュを持っている可能性もある。
984nobodyさん:03/01/02 20:28 ID:???
>>983
レスありがとうございます。
僕もそう思って聞いたのですが、Proxyではないとのことです。
その見た人自身のPCで見るとのことなんですが・・・。
ハッキング関係に近い話かもしれませんので、スレ違いですね。すいません。

その人は削除してもあぷろだに残ってしまうアクセス情報を使うって
言ってたんですが、よくあるfile.datなどのログファイルには削除されたのは
残ってないようですし、というか書きこみのログではなくアクセスのログのようですから、
一体どこのことを言ってるんですかねぇ。
って、続けてしまってすみませぬ。
985nobodyさん:03/01/02 22:25 ID:???
>>984
結論。
その人は電波か鯖缶。
986nobodyさん:03/01/02 23:31 ID:???
>>984
IEのキャッシュ or ローカルに保存されたファイルなんでねぇの?
とマジレスしてみるテスト
987986:03/01/02 23:32 ID:???
「ローカルに保存されたファイル」もとい「オフラインで使用できるようにしたページ」
988ななし ◆E6qQ.htN7o :03/01/03 02:59 ID:???
次スレ、たてておきますた

CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
989 ◆jadeDaMePo :03/01/03 03:01 ID:???
>>988
乙です
990nobodyさん:03/01/03 12:36 ID:???
CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50

991nobodyさん:03/01/03 12:37 ID:???
次スレ

CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
992nobodyさん:03/01/03 12:37 ID:???
埋め立て

993nobodyさん:03/01/03 12:38 ID:???
埋め立て



CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50



994nobodyさん:03/01/03 12:39 ID:???
埋め立て

次スレ

CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50

995nobodyさん:03/01/03 19:32 ID:???
埋め立てに加勢

CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
996nobodyさん:03/01/03 19:32 ID:???
CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
997nobodyさん:03/01/03 19:33 ID:???
CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
998nobodyさん:03/01/03 19:34 ID:???
CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
999nobodyさん:03/01/03 19:34 ID:???


CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/l50
1000nobodyさん:03/01/03 19:35 ID:H5ub4PWW
              ┌┐                                ●●●
   人          ││                              ●\  ●\
  ノ二\  ナ ゝゝ   V                 ●●●        ●\     ●\
    /   / 乙 つ  O               ●\   ●\      ●\       ●\
                 ●●●        ●\     ●\    ●\       ●\
                ●\   ●\      ●\      ●\    ●\        ●\
      ●●\     ●\     ●\    ●\       ●\   ●\        ●\
       ●\    ●\      ●\    ●\       ●\    ●\       ●\
       ●\    ●\      ●\    ●\      ●\    ●\     ●\
      ●\    ●\       ●\    ●\      ●\      ●\    ●\
      ●\    ●\      ●\    ●\     ●\        ●●● \
     ●\     ●\      ●\      ●\   ●\           \\\
     ●\     ●\     ●\        ●●● \
    ●\      ●\   ●\           \\\
    ●\        ●●● \                              ┌┐ ┌┐
   ●\          \\\      ┣━┳┃┃      ┃          ││ ││
  ●●●\                      ┃   ┃┃┃ ┣┓ ━╋ ━╋  V   V
  \\\\                     ┛     ━┛ ┃   ┏┫ ┏┫  O  O
                    (´´
    ∧∧   )      (´⌒(´
 ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
       ̄ ̄  (´⌒(´⌒;;
     ズザーーーーーッ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。