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

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

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

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

過去ログ・関連スレッドは >>2
2nobodyさん:02/07/06 13:41 ID:Mpxtn4bk
■過去ログ
Part3 http://pc.2ch.net/test/read.cgi/php/988727833/
Part4 http://pc.2ch.net/php/kako/1000/10008/1000804655.html
Part5 http://pc.2ch.net/php/kako/1009/10093/1009331505.html
Part5.01 http://pc.2ch.net/php/kako/1015/10151/1015127347.html
Part6 http://pc.2ch.net/test/read.cgi/php/1019561283/

■CGI以外のPerlに関する質問スレッド
Perl 初心者コーナー Part13
http://pc.2ch.net/test/read.cgi/php/1022731565/l50
CGIに依存しないPerlの話題一般
http://pc.2ch.net/test/read.cgi/php/991313362/l50

■関連スレ
【Perl,CGI】参考書籍
http://pc.2ch.net/test/read.cgi/php/988809842/l50
スクリプト改造工房 4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
こんなCGI探してますスレッド Ver6
http://pc.2ch.net/test/read.cgi/php/1021897804/l50
.htaccessの偉い人 Part3
http://pc.2ch.net/test/read.cgi/php/1019888234/l50
【スレッド】2ch型掲示板 その5【フロート型】
http://pc.2ch.net/test/read.cgi/php/1019414023/l50
3nobodyさん:02/07/06 14:02 ID:???
>CGIだけど、なんか質問ある?
いえ、特に何も。
4nobodyさん:02/07/06 19:55 ID:???
おい、またPart6かよ。
5nobodyさん:02/07/06 23:29 ID:FjAmHIGZ
sendmailで複数先に送信する時に
$mailto = '****@**.**';
$mail = '****@**.**';
$mail2 = '****@**.**';
$mail3 = '****@**.**';
  :
  :
if (open(MAIL,"| $sendmail $mailto $mail $mail2 $mail3")) ・・・

これをfor文とかを使って短くしたいんですがどうしたら良いんでしょうか?
6nobodyさん:02/07/07 00:11 ID:???
>>1



>>4
ワラ
7nobodyさん:02/07/07 00:20 ID:???
>>5

その送信先のアドレスは予め決まってるの?
なら、

$MailTo = array('[email protected]', ……);
for($i = 0; $i < count($MailTo); $i++) {
// 送信処理
}
87:02/07/07 00:21 ID:???
すまん、Perl だったか。
逝って来る。
9nobodyさん:02/07/07 00:23 ID:???
>>7-8
って言うか。>>1 も読んでいない >>5 に答える義務は無いぞ

> ※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
>   ↓
>   Perl 初心者コーナー Part13
>   http://pc.2ch.net/test/read.cgi/php/1022731565/l50
10nobodyさん:02/07/07 00:24 ID:tmXocpbP
http://サーバー名/CGIスクリプト名?データ」で実行し、データの
受け渡しをするプログラムを作っているんですが、他のURLへジャンプ
させるときに、
<A HREF="http://スクリプトパス/CGIスクリプト名?ジャンプ先URL">ジャンプ
</A>
としたいんですが、ジャンプ先URLをフルパスで出せるようにするには
どうしたらいいですか?以下がつくった内容です。
my($encoding) = @_;
my($method) = $ENV{'REQUEST_METHOD'};
if ($method eq 'GET') { $query = $ENV{'QUERY_STRING'}; }
elsif ($method eq 'POST') { read(STDIN, $query,
$ENV{'CONTENT_LENGTH'}); }
local(@query) = split(/&/, $query);
foreach (@query) {
tr/+/ /;
($key, $val) = split(/=/);
$key =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c", hex($1))/ge;
$val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c", hex($1))/ge;
$val =~ s/\r\n/\n/g;
$in{$key} = $val;
}
my $req = new HTTP::Request POST => $val;
$req->content_type('application/x-www-form-urlencoded');
$req->content('match=www&errors=0');
my $res = $ua->request($req);
if ($res->is_success) {
$myd = $res->content;
$myd =~ s/(\<A HREF=\")/$1test.cgi?/g;
print $myd;
} else {print "No!";}

今の状態ですと、 $myd =~ s/(\<A HREF=\")/$1test.cgi?/g;
をやると、 <A HREF=test.cgi?test/index.html> というような感じになって
<A HREF=test.cgi?http://www.***.co.jp/test/index.html>
というような形になりません。
超初心者なもので、どこをどう直したらいいか、詳しく教えて
いただけると助かります。 すいません、よろしくお願いします。
11nobodyさん:02/07/07 00:25 ID:U7LSUADE
>>9
CGIとして使うんですけどあっち逝った方が良いですか?
12nobodyさん:02/07/07 00:28 ID:???
【初心者です】
【お願いします】

等のキーワードを見ると嫌悪感感じるのは俺だけ?
13nobodyさん:02/07/07 00:29 ID:???
PATH_INFOの方がよくないかねぇ。
14nobodyさん:02/07/07 00:29 ID:???
>>11
【perl の for 文】についての質問がどこをどうしたら【CGI(Common Gateway Interface)】と
結びつくのか説明してくれ
15yunyun42:02/07/07 00:29 ID:WcNQAy1G
はじめまして、
Web製作で質問するかここで質問するか迷いましたが、とりあえずこっちで聞いてみようと思います。
両方で聞いてみようかな?
私も自分のHP運営しているのですが、最近他人の名前を勝手に使って投稿する荒らし魔が続出して困っています。
そこで、掲示板に投稿者の名前が重複したり他人に勝手に使われないような手を施したいのですが、なにかお手軽な方法をご存じないでしょうか?
よろしくお願いいたします。
16nobodyさん:02/07/07 00:32 ID:???
トリップ+cookie+pass
17nobodyさん:02/07/07 00:32 ID:???
>>13
いくつか問題があるね

・PATH_INFO 非対応の鯖もある

・カレントスクリプトのディレクトリが PATH_INFO になるので、
スクリプト側から動的 html を生成する時、アンカータグとか
生成する場合のカレントディレクトリが PATH_INFO のディレ
クトリになってしまう
18nobodyさん:02/07/07 00:33 ID:???
>>15スレ違い
19nobodyさん:02/07/07 00:33 ID:???
>>15
そいつが二度と来ないようにはじく。
20yunyun42:02/07/07 01:06 ID:WcNQAy1G
>>18
やっぱりスレ違い?
これどこのスレで聞けばいいのかな。
いろいろ探してるんだけどこれぞーってのがまだ見つからないッス。
>>16
どこかの検索エンジンでトリップ+cookie+passをやれば見つかるということですか?
21nobodyさん:02/07/07 01:16 ID:???
>>15>>20
perlは知ってるの?
cryptって言う関数知ってる?
22静岡人!元気です。 ◆SHIZUjJ2 :02/07/07 01:28 ID:???
>>21
知りませんでしょう。たぶん。
23nobodyさん:02/07/07 01:36 ID:NSgNCWjb
ガイシュツかもしれませんが、
CGIを実行させずに、ソースをダウンロードすることは出来るものでしょうか?
ご存知の方はお教えくださいませ
24nobodyさん:02/07/07 01:43 ID:???
ポカーソ
25nobodyさん:02/07/07 02:19 ID:???
ほえ?
26yunyun42:02/07/07 02:53 ID:WcNQAy1G
>>21
残念ながら知らない者です。
申し訳ないです
27nobodyさん:02/07/07 02:59 ID:???
>>26
perlとか知らないで、その掲示板をどうしようとしてたの?

一応書いておくと、perlならcryptって言う関数で暗号化が出来るから
トリップは入力した名前をこの関数を通せば実現できるよ。
28nobodyさん:02/07/07 09:02 ID:oBR+k60E
画像アップロードの掲示板で、
最初に自分が画像を投稿することで、今までの書き込みログが閲覧できるという
掲示板ってどこかにない?

いろんなとこ探したんだけど、そういうのって無いんだよね
29nobodyさん:02/07/07 10:04 ID:LtK4GFfe
ガイシュツかもしれませんが教えてください。

ahhan255eをLinuxで使っているのですが、
Kondara/MNU Linux 2.1にインストールしたら軽快に動作しますが
TurboLinux Server 7 や Redhat Linux 7.3 にインストールすると
書き込みボタンを押してからリロードされるまで数分かかってしまいます。

Redhat 7.3 で Kondara みたく動作させるには何をどう設定すればよいのでしょうか。
30 :02/07/07 17:07 ID:???
>>29
ウチではTurboや赤帽でもちゃんとサクサク動いてる。
CGIの問題じゃないだろう。
3129:02/07/07 20:18 ID:LtK4GFfe
>>30
CGIの問題とは考えてないです。
apache の設定に何かまずいところがあるのではないかと。
うなぎスクリプトとかは体感的に変わらないのですが、アッhan!だけ遅くなってしまいます。
Turboや赤帽でサクサク動かすにはどう設定すればよいですか。
32nobodyさん:02/07/07 22:47 ID:???
>>31
>>CGIの問題とは考えてないです。

じ ゃ あ ス レ 違 い だ ろ。
33nobodyさん:02/07/08 00:25 ID:R1ZQ7wuX
始めて投稿させていただきます。
今まで他のサーバーでは普通に動いていたCGIを、新しいサーバーに設置したところ
500のサーバーエラーを起こして動きません。
何度もローカルでテストして、実際に数カ所のサーバーではちゃんと動いているのですが・・・。
どなたか原因のおわかりになる方がいらっしゃったら、どうかご教示ください。
よろしくお願いいたします。
34nobodyさん:02/07/08 00:28 ID:???
そのサーバーで使えない関数などが使われてる余寒。
35nobodyさん:02/07/08 00:29 ID:???
>>33

・パーミッション
・perlパス
・使えない関数(flockとか?)

みてみ
3633:02/07/08 00:36 ID:R1ZQ7wuX
34さん
ありがとうございます。
特に特別なことはしていないと思うのですけども。
いままでいくつも同じところでサーバー(有料)をレンタルしており、今回もそこに
借りたのですが、今回に限ってまったく動かないのです。
スクリプトを見なおしたりしているのですがまったく見当がつきません。
3733:02/07/08 00:39 ID:R1ZQ7wuX
35さん、ありがとうございます。
パーミッションもPerlのパスも確認して設定をしており、flockもはずしてあるのですが
動きません。
38nobodyさん:02/07/08 01:12 ID:???
>>33
ものはなんだ?
使えない関数はflockだけとは限らんぞ
3933:02/07/08 01:20 ID:R1ZQ7wuX
簡単なログインをするだけの物と予定表、それと掲示板です。
最初のログインをするスクリプトは、ファイルを参照するためにオープンして
入力されたものと一致したら、予定表なり掲示板に飛ぶというものです。
40nobodyさん:02/07/08 01:27 ID:???
`perl path/perl -wc script.cgi`;

これの実行結果を出力させて見てみろ。
4133:02/07/08 01:37 ID:R1ZQ7wuX
すみません、`perl path/perl -wc script.cgi`;というのは
スクリプトのなかに書くのですか?
42nobodyさん:02/07/08 01:41 ID:???
CGIをつくるだけ。

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print for `perl_path/perl -wc ./script.cgi`;
4333:02/07/08 01:56 ID:???
42さん、ありがとうございます。
実行してみたのですが、これもサーバーエラーで帰ってきてしまいます。
44nobodyさん:02/07/08 01:57 ID:???
じゃ、CGIが動かない設定になってるんだろ。そのへんの確認は?
4533:02/07/08 02:00 ID:???
さきほどサーバー屋さんの方でレスキューさんのところのスクリプトは
上手く動いているとの返事を頂き、見て見ましたら確かに動いています。
何が違うのか調べてみます。
46nobodyさん:02/07/08 02:06 ID:???
>>45
ここのPerl Checker(文法チェッカ)ってやつ使ってみれ
http://www.kent-web.com/utility/index.html
4733:02/07/08 02:20 ID:???
はい、さっそく使わせていただきます。
本当にご親切にありがとうございました。
48質問:02/07/08 12:44 ID:nj01HSO5
初歩的な質問で申し訳ないのですが、

アクセス制御をCGIで行い、ID、パスワードが一致するとリンク先のHTMに飛ぶ

と言うのがよくありますが、これでリンクさきをCGIとすることは可能なのでしょうか?

アクセス制御(CGI)→ID、パスワード入力→掲示板のCGIって形なのですが・・・

CGI→CGIって言うのはどうなのでしょうか?

教えてください。よろしくお願いします。
49nobodyさん:02/07/08 12:48 ID:???
>>48
やってみた上で言ってるの?
50nobodyさん:02/07/08 13:05 ID:???
CGIだろうが、PNGだろうが、JPEGだろうが、Klez_h.emlだろうが、問題無い。
51質問:02/07/08 13:54 ID:nj01HSO5
>>49

はい。やってみたのですが、飛んだ先がCGIのテキストで出てくるんですよ。
掲示板では無くて、CGIのプログラムが・・・・・
755とかアクセス権はきちんと確認しているのですが・・・・
52画像ライブラリ:02/07/08 14:46 ID:E33z3r6c
有料でも無料でも、構わないのですが、写真素材のライブラリーを
作り、それを検索して表示できるようなCGIがあったら、
教えてくれませんか?
53nobodyさん:02/07/08 15:39 ID:???
>>48飛び先に直リンクされたらおわりだな(ワラ
54 :02/07/08 18:06 ID:???
>>51
そういうアクセス制御ではなく、目的のCGIソースの先頭に
追加するタイプのほうがいいだろう。
55nobodyさん:02/07/08 20:39 ID:???
>>52
> 有料でも

なら、誰かに作ってもらいなさい。
56nobodyさん:02/07/09 02:21 ID:???
アイコン付き掲示板に、アイコン一覧を表示させる機能を追加したいのですが、
@gazou には画像のキャラクター名が、
@url   には画像ファイルのURLが格納されてます。
@gazou[1]の画像ファイルは@url[1]となるよう揃えています。

print "<tr>\n";
foreach (@$gazou) {
print "<td>$_</td>\n";
}
print "</tr>\n";
}
print "<tr>\n";
foreach (@$gazou) {
print "<td><img src=\"$url\"></td>\n";
}
print "</tr></table>\n";
}

とやってみたのですが、テーブルが一列になってしまい、
非常に見栄えが悪いです。
恥ずかしながら、
foreach $1,$2 (@$gazou,@$url)
とやれば、それぞれに上手く入ってくれるかと思ったんですが駄目でした。

これを改善するにはどうしたらよろしいのでしょうか?
どうかよろしくおねがいします。
5756:02/07/09 02:23 ID:???
すいません、書いてるうちに混乱してしまいました。
今使っている正しいソースはこちらです。

print "<tr>\n";
foreach (@$gazou) {
print "<td>$_</td>\n";
}
print "</tr>\n";
}

print "<tr>\n";
foreach (@$url) {
print "<td><img src=\"$_\"></td>\n";
}
print "</tr></table>\n";
}
58nobodyさん:02/07/09 04:34 ID:???
>>56-57

どう考えても、CGI(Common Gateway Interface)とは関係なくて、
単なる「Perl のコーディング」に関する質問なんだけど?
59nobodyさん:02/07/09 23:36 ID:???
>>59
マゾレス
foreachじゃなくてforつかえ
60nobodyさん:02/07/09 23:43 ID:???
>>59
どして?(素朴な疑問) 短いから?(笑)
61nobodyさん:02/07/09 23:48 ID:???
>>60
理解できてなかったかもしれんが、>>56-57はアイコンをテーブルで

□□□□□
□□□□□
□□□□□
□□□□□

こんな感じで2次元配列で並べたかったんだろ?
だったらforのが簡単にできる。
62nobodyさん:02/07/09 23:52 ID:???
for (@data) と foreach (@data) って違うの?!いっしょと思ってたYO!テストしてみます。あんがと。
63nobodyさん:02/07/10 00:01 ID:???
>>62
いやいや、だから

print "<table>";
for($i=0;$i<$HEIGHT;$i++){
 print"<tr>";
 for($j=0;$j<$WIDTH;$j++){
  print "<td><a href=$url[$i*$WIDTH+$j]>$gazou[$i*$WIDTH+$j]</a></td>";
 }
 print "</tr>\n";
}
print "</table>";

こういうことがやりたいんじゃないの?
64nobodyさん:02/07/10 00:15 ID:???
にゃるほど・・そういうことでしたか。 自分は>>56ではなくてただの素朴な質問者ですた。
まぎらわしくてスマソ(´Д`;)
for (@data) と foreach (@data) はいっしょですね。
65Hideki ◆wtRzKEV2 :02/07/10 00:28 ID:???
僕が聞こうと思った質問はなんだったのかという質問。
スレ読んでる途中で忘れました。逝こう。
66名無しさん@そうだ選挙にいこう:02/07/10 01:59 ID:2JSstgZh
このページのサンプルをサーバにアップしてみたんだけど、
「ご意見・ご感想をどうぞ」の部分の
ハンドルネームと内容の項目が表示されません。
 どうしてなのか、ご存知の方ご助言ください。

http://www.narishin.com/qnaire1.htm
67nobodyさん:02/07/10 02:02 ID:???
>>66
こんな時間にネタはやめれ。
68Hideki ◆wtRzKEV2 :02/07/10 08:39 ID:???
Apache 2.0.39では、なぜアドレス上のクエリーに日本語が入ると(urlエンコードされた)、
CGIが問答無用に動かなくなるのでしょうか?
Apache 1.3.26では動くCGIなのですが。ヘルプきぼん。
69nobodyさん:02/07/10 08:51 ID:???
文字列のエンコードぐらいしる!
70nobodyさん:02/07/10 09:13 ID:???
デコードじゃないか?
71nobodyさん:02/07/10 09:21 ID:???
>なぜアドレス上のクエリーに日本語が入ると(urlエンコードされた)、CGI

妙な内容の括弧のせいで文章全体が崩壊していると思われ。
72Hideki ◆wtRzKEV2 :02/07/10 10:02 ID:???
括弧内は”日本語”にかかった修飾です。
http://127.0.0.1/?Query=%a6%c6
デタラメですが、例としてはこんな感じです。

ちなみにデコードしるじゃなくて、CGIが頭から作動しなくなるの。
アドレスにurlエンコード入るとSSIが入ったページの全SSIがエラー起こしはじめます。
困りました。
73nobodyさん:02/07/10 10:14 ID:???
Bugかな?
だれかApache 2.0.39を使ってるやつ他にいないか?

74nobodyさん:02/07/10 11:27 ID:???
>>68, >>72
CGIと言ったりSSIと言ったり忙しい奴だな。
75nobodyさん:02/07/10 17:01 ID:???
>>73 (゚Д゚)ハァ?

使えてますが、何か?

それより、>>68 >>72 があまりに馬鹿なのでだれも構ってくれないだけだろ
76Hideki ◆wtRzKEV2 :02/07/10 20:20 ID:???
> あまりに馬鹿
え?
77nobodyさん:02/07/11 02:25 ID:???
( ゚д゚ )ポカーン
78nobodyさん:02/07/11 02:25 ID:???
( ゚д゚)ポカーン
79nobodyさん:02/07/11 10:47 ID:???
(^д^)ポカーン
80nobodyさん:02/07/11 13:17 ID:MOxFygTE
CGI改造専用スレに行くべきが迷ったのですが、
CGIそのものの改造ではないのでこちらで質問いたします。

ttp://www.prism-web.com/cgi/file/bbs/designbbs/index.html
ここの掲示板CGIをいただいて使おうと思っています.
この掲示板はデザインをテキストファイルで行います。
サンプル<tp://www.prism-web.com/cgi/file/bbs/designbbs/cgi/design4/bbs.cgi
(まだ見てるだけの状態なので、私のサイトにはないです。これは配布元のサンプル)
私が変更したいのは1箇所、「この記事へ返信」をリンクではなく、
投稿ボタンのような、ボタンにしたいのです。

どう変えればよいでしょうか。

81nobodyさん:02/07/11 13:30 ID:???
>>80
十分に改造じゃないか。
ボタンにするだけならと簡単そうに考えてるかもしれないが、
そう簡単とは限らないよ。
823PIO ◆3pIoOHKo :02/07/11 14:18 ID:???
>>80-81
<FORM ACTION="./bbs.cgi" METHOD="GET">
<INPUT TYPE="hidden" NAME="mode" VALUE="res">
<INPUT TYPE="hidden" NAME="no" VALUE="スレ番号">
<INPUT TYPE="submit" VALUE="この記事へ返信">
</FORM>

こんな感じになればいいと思うけど
83nobodyさん:02/07/11 15:43 ID:???
あとは JavaScript で飛ばすとか。。。
84nobodyさん:02/07/11 17:27 ID:???
JavaScript 常時オフの場合は?
85nobodyさん:02/07/11 19:39 ID:???
>>80
JSだとこうかな。 (mes_sheet.txt)

<script type="text/javascript">
document.write("<form><input type='button' onclick='javascript:location.href=\"$script?mode=res&no=$no\"' value='この記事に返信'></form>");
</script>
<noscript>
[<a href="$script?mode=res&no=$no">この記事に返信</a>]
</noscript>
8680:02/07/12 14:15 ID:lwKUS/YE
81>>
迷ったのよ・・・(w
なぜなら、その改造は掲示板のCGIを書き換えるのではなく、
CGIが読み込むデザインファイル(テキストファイル)
を書き換えるものだから・・・CGI改造とは言わないんじゃ?
とか思ったの・・・。
でも助言サンキュ。今度から改造スレに行くよ。。。

>>82
おおっ。そうか、そうすればよいのか・・・。
有難うございます(TT)
(hiddenをどうしていいのか詰まってた(w))
>>83,84
ナイス案サンキュ。
>>85
有難うございます。

>>ALL
みんな教えてくれてありがとね!  
87nobodyさん:02/07/12 15:21 ID:???
>86
そう思うなら、HTMLスレに行った方がよかったと思われ。
88nobodyさん:02/07/13 18:34 ID:???
Linuxサーバーで PerlでプログラミングしたCGIを動作させているのですが、
現在不都合が起きて困っております。

動作内容は FTPでアップロードした exe(自己解凍書庫)ファイルを
CGI経由でダウンロードさせる物です。

---- ここから ----
$|=1;
print "Content-Type: application/octet-stream\n";
print "Content-Disposition: attachment; filename=\"$file\"\n\n";

open(FILE, "$file_path$file") || die;
binmode(FILE);
binmode(STDOUT);
print <FILE>;
close(FILE);
----- ここまで ----

exeファイル以外は上手くいったのですが、(Lzh、zip等)
exeファイルの場合は ダウンロードは出来るものの、
アップロード時とファイル容量が違っておりました。

アップロード時:32,051 バイト
ダウンロード時:37,718 バイト

ダウンロードした後実行すると、
「ヘッダーの内容が不正 解凍できません」とエラー表示されます。

print "Content-Type: application/octet-stream\n";
上記を print "Content-Type: application/x-msdownload\n"; に変更してみたのですが、
それでも上手くいきませんでした。

何か解決策があれば教えてください。
89nobodyさん:02/07/13 19:55 ID:???
>>88
FTP でウpした時点で、既に exe ファイルが
壊れているとか。
90nobodyさん:02/07/13 22:13 ID:An7VzFLr
91nobodyさん:02/07/13 22:16 ID:???
携帯用アダルトサイト管理人の溜まり場
http://pc.2ch.net/test/read.cgi/hp/1001744788/l50
92nobodyさん:02/07/14 00:18 ID:YPZNOz0d
>>89

アップロードしたファイルと元のファイルは同じもので、
再度FTPでダウンロードした場合正常に解凍できました。

他の原因としては何が考えられるでしょうか・・?

念のためにスクリプトを下記のように変更しました。

open(FILE, "$file_path$file") || die;
my $filebody = '';
while(read(FILE,$filebody,1024)){
print $filebody;
}
close(FILE);
93 ◆JAPH9PWA :02/07/14 00:37 ID:???
>>92
スクリプトに問題があるとは思えない。
ローカルのファイルサイズとFTPクライアントで見るサーバーのファイルサイズは本当に同じ?
94nobodyさん:02/07/14 00:40 ID:???
>>93

再度確認しましたが同じでした。
CGI.pm を使って CGI経由でファイルのアップロードを行ったのですが、
その場合もだめでした。 exeファイルのみ壊れます。。
95 ◆JAPH9PWA :02/07/14 00:50 ID:???
う〜ん、何故だろう?ごめん、俺にはわからない。
96nobodyさん:02/07/14 00:54 ID:CbCEC3kH
ダウンロード時にバイト数が増えているからファイル内容出力後に
余計なもの出力してるんだろ。
97nobodyさん:02/07/14 03:34 ID:???
binmode?
98 ◆JAPH9PWA :02/07/14 14:31 ID:???
オリジナルファイルと壊れたファイルをバイナリ比較してみるしかないんじゃないかな。
>>97
Linuxサーバならbinmodeは無関係でしょ。
99nobodyさん:02/07/14 15:56 ID:T31bpVIl
PATH_INFO での引数渡しにおいてのスラッシュの扱いについて質問です。

http://dokosoko.com/hugahuga.cgi/path/to/object
だと普通に動くんですが、
http://dokosoko.com/hugahuga.cgi/path%2Fto%2Fobject
だと、cgi 側に制御がいくまえにサーバが 404 Not Found を返してきます。
これって回避出来ないでしょうかね。
というか、なんで Not Found が返ってくるんだろ。
100nobodyさん:02/07/14 15:59 ID:xUfIRkak
>>99
/path%2Fto%2Fobject というファイルが見つからないといってるんだから、
おそらく見つからないのでしょう。
101nobodyさん:02/07/14 16:10 ID:???
スラッシュをURLエンコしたらディレクトリと見なされないのでは?
102nobodyさん:02/07/14 16:11 ID:???
ブラウザが
103nobodyさん:02/07/14 16:41 ID:T31bpVIl
>>99
なんでスラッシュがエンコードされてる時だけ
普通にファイルサーチするんでしょう??

>>101
ディレクトリと見なされないっていうのは...

/(documentroot)/hugahuga.cgi って"ディレクトリ"の
"path/to/object" を探そうとするってことですか?

%2f が入っちゃうと cgi の PATH_INFO として認識しないってことなのかな。
でも普通の QUERY_STRING 渡しとかだと別になにも問題ないですしね。

そういう仕様なんでしょうか。
http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
見たけどよくわからなかった。

もし、その CGI に "slash/including/file" みたいにスラッシュを中に含んだ
名前を渡したいときってどうするべき?
といってもUNIX はスラッシュを含むファイル名って作れなかったか。
104nobodyさん:02/07/14 16:44 ID:T31bpVIl
>>103

>>99 じゃなく >>100 でした。

あと、単純に PATH_INFO の内容を出力するだけのプログラムで実験したんで
CGI 中でエラー吐いてるわけじゃないです。
105nobodyさん:02/07/14 17:05 ID:???
>>103
path/to/object(というディレクトリ)が存在すれば、 %2f でもPATH_INFO は取得できますね。

>もし、その CGI に "slash/including/file" みたいにスラッシュを中に含んだ
>名前を渡したいときってどうするべき?
そのまま hoge.cgi/slash/including/file では?
106nobodyさん:02/07/14 17:14 ID:T31bpVIl
>>105
その場合の path/to/object ってディレクトリはどこですか?
/(documentroot)/path/to/object ですか?

あと、普通の URL の / をエンコードした場合も Not found です。
そりゃそうだ。

>そのまま hoge.cgi/slash/including/file では?
あう、そうでした。区切にスラッシュ使ってた場合、
区切りじゃないスラッシュはどうやって渡せばいいのかって話でしたけど
区切りにスラッシュ使うなってことで解決ですな。
107nobodyさん:02/07/14 17:57 ID:???

PATH_INFO 解ってない馬鹿共が雁首並べているスレはここですか?
108nobodyさん:02/07/14 18:03 ID:T31bpVIl
>>107
すみません。わかってません。
CGI の / 以降 ? 以前のところを PATH_INFO として
CGI に渡すってのでまちがってます?

で、なんで %2F を渡すと CGI に渡さないで Not Found になるのか
わからないんです。
109nobodyさん:02/07/14 18:04 ID:???
>>106
>その場合の path/to/object ってディレクトリはどこですか?
hogehogeディレクトリ以下です(下図)
hogehoge / hoge.cgi
  |
  +----- path

>区切りにスラッシュ使うなってことで解決ですな。
まあその場合は素直に QUERY_STRING 使うってことで。
110nobodyさん:02/07/14 18:12 ID:T31bpVIl
>>109
ええと、じゃあその %2f を含むパスの前の cgi プログラムの部分は無視
されるってことですか?

http://hogehoge.net/something.cgi/path%2fto%2fobject
の場合、
hogehoge / something.cgi
|
+----- path / to / object
で、
http://hogehoge.net/path/to/object と 等価????

それは違うような....??

とりあえず、 hogehoge 以下に path / to / object を配置してためしましたが
結果はおなじです。
something.cgi ってディレクトリを掘ってそこに path .. を配置しても同じでした。

サーバプログラムによるのかな。
当方 Apache/1.3.26 です。
111nobodyさん:02/07/14 18:27 ID:T31bpVIl
Apache のソース見て完結しました。

PATH_INFO の中身は OS 上のファイル名として正しいかどうか検査されるらしく、
(PATH_TRANSLATED に渡すから。)
hoge.cgi/path%2fto%2fobject
とした場合、
/ 以降をきりはなしてから URL デコードが行なわれて
"path/to/object" というファイルが正しいかどうか検査されてしまうようでした。
で、スラッシュを含むファイル名は invalid なので Not Found になってしまうと。
112nobodyさん:02/07/15 01:06 ID:K04tugP+
アクセス解析つけましたけどちょっと動きが変な感じがするので
テストです!どうぞ閲覧してください。アドバイスなどあれば
おねがいします。
http://s55.net/~S123/
113nobodyさん:02/07/15 09:16 ID:???
新手の宣伝だな。
114nobodyさん:02/07/15 21:34 ID:???
CGIの動作速度を計るにはどうしたらいいですか?
115nobodyさん:02/07/15 21:37 ID:???
>>114
ストップウォッチ
116nobodyさん:02/07/15 21:39 ID:???
>>115
それなし
117nobodyさん:02/07/15 21:42 ID:???
>>116
ないなら買いにいけ。
118nobodyさん:02/07/15 21:44 ID:???
>>117
その計り方がなし
119nobodyさん:02/07/15 21:48 ID:???
>>118
これ以上正確なものってないだろ?
120nobodyさん:02/07/15 21:49 ID:???
>>119
その方法はおれには無理だ
121nobodyさん:02/07/15 21:53 ID:???
>>120
URLリクエスト実行と共にストップウォッチをスタートさせて、
ページが表示されましたがステータスバーに表示されると同時にストップ
、これを3回繰り返して平均値を採る。
122nobodyさん:02/07/15 21:54 ID:???
>>121
もっと楽な方法が知りたいんだよ
123nobodyさん:02/07/15 21:55 ID:???
>>122
地味な方法かも知れないけど、恐らくこの方法しかないから書いてんだよ。
124nobodyさん:02/07/15 21:56 ID:???
>>123
そうか、ありがとう
125nobodyさん:02/07/15 22:04 ID:???
なんで誰も腹時計を使わないんだ…?
126 ◆JAPH9PWA :02/07/15 22:05 ID:???
>>114
time(), time()か、そのインターフェイスであるBenchmark.pmを使いなさい。
127 ◆JAPH9PWA :02/07/15 22:06 ID:???
>>125
実際にはそれだけで済ますことが多いけどね(笑
128nobodyさん:02/07/15 22:06 ID:FYJg29vU
Perl なら LWP つかってエージェント書いてみるとか。
HTTP::Monkeywrench とかも使えるかもしれない。
12999:02/07/16 15:55 ID:2ITiCbad
PATH_INFO なんですが、
IIS だと %2F は問題無く渡せるんですよね。
SCRIPT_NAME まではいっちゃうってのはあるけど。
なっとくいかないなぁ…
130コギャル&中高生:02/07/16 16:16 ID:WKPR3v3m
http://go.iclub.to/ddiooc/

お役立ちリンク集
必ず役立ちます

コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/
131nobodyさん:02/07/16 16:29 ID:???
>>126
Benchmarkでできました。
ありがとうございます
132nobodyさん:02/07/16 16:53 ID:???
特定のディレクトリ以下のhtmlファイルにアクセスされたら、
こちらが発行したクッキーがあるかどうか調べて、あったら、htmlファイルへのアクセスを許すというcgiが欲しいのです。
htmlファイルにアクセスされたら自動的にcgiが動いて調べて通すか通さないか決める。
こういうのってありますか?

というか、htmlファイルにアクセスされたら他のcgiが動くなんて出来るんですか?
133nobodyさん:02/07/16 17:14 ID:???
.htaccess
134 ◆JAPH9PWA :02/07/16 17:17 ID:???
今更ながら、>>126
time(), times()か、その〜
でした。ごめん。
135nobodyさん:02/07/16 17:23 ID:???
>>132
できるよ。
SSIを使用して
何もないhtmlファイルにそのCGIを読み込むSSIのタグを記入。
それでもrefは取得できるから
良ければ指定のファイルを読み込んで表示。
だめならエラーを表示。
136nobodyさん:02/07/16 17:27 ID:???
.htaccess でhtmlにアクセスがあったら、アクションさせればいいだろ。

Action image/html /~user/bin/ref.cgi
137nobodyさん:02/07/16 17:27 ID:???
image/html ってなんだよ。
text/html
138132:02/07/16 19:22 ID:???
.htaccessとかSSIとか高度な事わからないので自分でやるのは無理みたいですね。
レスどうも。
まさかそんなフリースクリプト無いですよね。
139nobodyさん:02/07/16 20:45 ID:???
>>138
くれくれ君でしたか。
URL に 〜.cgi ってのが出るのがいやじゃないなら
PATH_INFO を使ってやってくれるのもあるだろうね。
cgiwrapper みたいなかんじで。
でも、対象のファイルがパブリックなとこにあったら
あんまり意味ない。

シームレスにやるんだとしたら .htaccess 使えないとちょっと。
140nobodyさん:02/07/16 21:19 ID:???
割算の計算で、下2桁数まで表示させたいのですが、以下のような記述をすると
エラーになってしまいます・・・。いい解決方法ないですか?

{$A = $B / $C;}
$D = sprintf("%.2f",$A);
141nobodyさん:02/07/16 21:27 ID:???
A: 25 wallclock secs (25.82 usr + 0.00 sys = 25.82 CPU) @ 5809.45/s (n=150000)
                                        ↑これってなにを表してるんですか?
142nobodyさん:02/07/16 21:27 ID:???
@ 5809.45/s←これ
143 ◆JAPH9PWA :02/07/16 21:32 ID:???
>>140
どんなエラーなのか分からないとなんともいえないな。
エラーメッセージが
Illegal division by zero
ってのなら、$Cに入っている値が0または数値として有効な値ではない、ってことで
キミの考えている値が$Cに入っていないということなんだけど。

144140:02/07/16 22:39 ID:K1PKQlrM
>>143
そのとおりでした!
無事解決です。どもです。
145nobodyさん:02/07/17 12:32 ID:???
http://hoge.co.jp/aiueo.cig?hensu=aiueo

のaiueoを変数として受け取りたいのですがどうすればいいでしょうか。
146コギャル&中高生:02/07/17 12:36 ID:k/AJy+eK
http://go.iclub.to/ddiooc/

お役立ちリンク集
必ず役立ちます

コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/
147nobodyさん:02/07/17 12:38 ID:???
$buffer = $ENV{'QUERY_STRING'};
local(@pairs) = split(/&/,$buffer);
foreach $pair(@pairs){
local($name,$value) = split(/=/,$pair);
$FORM{$name} = $value;
}

148nobodyさん:02/07/18 00:52 ID:PSEaDSiM
質問です。
dbmopenを使っているPerlスクリプトを、CGIとしてApacheで動かし
たいんですが、dbmopenが動きません。.htaccessファイルの設定
がいるのでしょうか?
お分かりになる方、ご教授ください。

・dbmopenのないCGIスクリプトは問題なしです。
・別のPerlスクリプトをローカルで動かすと問題なしです。(http://www.psl.ne.jp/perl/pdojo03.htmlのスクリプト
149nobodyさん:02/07/18 00:57 ID:PSEaDSiM
>>148
不十分なので、再度。

「dbmopenを使っている別のPerlスクリプトを動かすと
問題なしです。これは非CGIスクリプトです。
http://www.psl.ne.jp/perl/pdojo03.htmlのスクリプト)」
150 ◆JAPH9PWA :02/07/18 00:58 ID:???
(´-`).。oO(<<EOF)
"動きません"だけじゃどこに書いても同じ結果になると思うよ…。
EOF
151nobodyさん:02/07/18 01:18 ID:PSEaDSiM
>>150
ですよね。(^^;
このCGIスクリプトでは、ほとんどエラーメッセージがで
ないんです。「スクリプトに use CGI qw(:standard); を付
ければ」というのを頂いたのですが、このスクリプトには
既にこれが記入されていました。

十分なエラーメッセージを出す方法がわかれば、と思うん
ですが、、
152nobodyさん:02/07/18 02:20 ID:BBLbgize
>>151

use CGI::Carp qw( fatalsToBrowser );

を入れてみたら?
エラーをブラウザに表示してくれるよ。
153nobodyさん:02/07/18 02:28 ID:???
http://pc3.2ch.net/test/read.cgi/tech/1017736187/281-
同じ質問に同じ解答をしてそれに対し同じような返事がきてまた同(略
本気でデジャヴかとおもたよ
◆JAPH9PWA さん〜よく頑張ってますね(はぁと
154nobodyさん:02/07/18 09:38 ID:PSEaDSiM
>>151
use CGI::Carp qw( fatalsToBrowser );は既に入っていて、
そのエラーメッセージは下の1行だけです。

(dbmopen) ./diff
155nobodyさん:02/07/18 16:42 ID:???
haruno.fam.cx/~sawatari/text_perlbbs.html
のページで下の文を参考にしたのですが、標準入力の値がうまく取れませんでした。

if ($ENV{'REQUEST_METHOD'} eq "post"){
read(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}

で、$ENV{'REQUEST_METHOD'}をprintで見たらPOSTが入っていました。
で、($ENV{'REQUEST_METHOD'} eq "POST")にしたらうまくいきました。
上の例文は間違っているんでしょうか?
156nobodyさん:02/07/18 16:45 ID:???
Perlでは大文字小文字区別すること忘れてないか?
157fusianasan:02/07/18 16:46 ID:???
>>155
ネタにしても、もちっとレベルの高いやつを書こうね!
158nobodyさん:02/07/18 16:46 ID:yrmBF5Vl
>>155
>メソッドは当然postで。(XHTMLでは大文字は禁止)
と書いてありますが。
159nobodyさん:02/07/18 16:46 ID:???
ネタだったか、釣られてしまったよ。
160nobodyさん:02/07/18 16:47 ID:???
(゚д゚)ハァ?
なんでそこでXHTMLが出てくるんだ?
161nobodyさん:02/07/18 16:53 ID:???
XHTML で <form method="post"... ってやっても、
UA は大文字でリクエスト出すと思うけど。

POST /~gikogiko/cgi-bin/bbs.cgi HTTP/1.1

みたいな感じで。
162 ◆JAPH9PWA :02/07/18 16:54 ID:???
>>155
request-methodの大文字小文字は環境依存な気がする。
lc($ENV{REQUEST_METHOD}) eq "post" とでもするべき。

ていうか、そのページなんか変じゃないか?

> メソッドは当然postで。(XHTMLでは大文字は禁止)

もしかして属性の値も小文字じゃなきゃいけないと思っているのだろうか…。
俺の読み間違い?謎。
その他の説明も質が悪いよ。
そんなページを参考にしてると変な癖がつくから、もっとまともなものを参考にした方がいいよ。
163 ◆JAPH9PWA :02/07/18 16:56 ID:???
レス遅すぎだね。ショボーン
164nobodyさん:02/07/18 16:56 ID:???
>XHTMLでは大文字は禁止。
確かに同意だが、それは要素の話。属性値は関係ない。
そのページのpostが間違ってる。POSTと書くべき。
165155:02/07/18 17:18 ID:???
ネタじゃないです。
いろいろレスが付くと本当にどれが本当なのかわからなくなっちゃいます。
どうかお願いします。
$ENV{'REQUEST_METHOD'} が返す値はpostの時は、
post ですか? POST ですか?
決まっていないですか?
決まっていないとしたら>>162さんのlc(小文字に変換)のやり方をやればいいんですよね?
166nobodyさん:02/07/18 17:21 ID:???
>>165
Toupper
167nobodyさん:02/07/18 17:21 ID:???
>>165
/POST/i;
168nobodyさん:02/07/18 17:40 ID:???
METHOD にpostなんて無い。
169nobodyさん:02/07/18 17:42 ID:???
>>168
同意。
170nobodyさん:02/07/18 17:44 ID:???
>>168-169
(・∀・)ジサクジエンでした。
171nobodyさん:02/07/18 17:50 ID:???
>>168
同意。
172nobodyさん:02/07/18 17:52 ID:???
>>168=>>172
(・∀・)ジサクジエンでした。
173nobodyさん:02/07/18 18:24 ID:???
174nobodyさん:02/07/18 19:17 ID:???
methodにpostは無いんですか?getはあるんですか?
意味がわからないです。
175nobodyさん:02/07/18 19:50 ID:???
get なんてのも無い。
GET ならある
176nobodyさん:02/07/18 22:46 ID:???
つまり大文字、POSTとGETしか無いって事ですね?

if ($ENV{'REQUEST_METHOD'} eq "post"){
read(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}
じゃこれは間違いなんですよね?
177nobodyさん:02/07/18 22:48 ID:???
間違いです。
178nobodyさん:02/07/18 22:50 ID:???
if (uc($ENV{'REQUEST_METHOD'}) eq 'POST'){
\tread(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}
一件落着。
179nobodyさん:02/07/21 15:08 ID:oVSm9VL9
個人情報などをCGIを使って、「登録」→「掲載」するときに
テキスト入力をする場所を80個くらい作り、
それらすべてに書き込み&送信しても不具合とかはないですよね?
不安定になるとか、負荷が過度にかかるとか。
複数の人の登録をまとめて行おうと思うのですが。
180 :02/07/21 15:32 ID:???
言うことナス!
181nobodyさん:02/07/21 15:47 ID:???
>>179
そら、ふざけた負荷がかかる。
って言うかインターフェース悪すぎ。
182nobodyさん:02/07/21 16:11 ID:???
>>175
REQUEST_METHODの値は小文字になることもあるって聞いたけど。
だから俺は標準関数のstrcmpは使わないで大文字小文字を区別しないstrcmpを自作して使っている。
183nobodyさん:02/07/21 16:14 ID:???
>>182
//i
184182:02/07/21 16:14 ID:???
>>183
何それ?(^_^;)
185nobodyさん:02/07/21 16:17 ID:???
/get/i
186182:02/07/21 16:19 ID:???
>>185
REQUEST_METHODの中の文字を全てtoupperで大文字にしてからstrcmpにかけろということ?
環境変数の値は変えたくないんだけど・・・
187nobodyさん:02/07/21 16:21 ID:???
お前らCGI語るならPerl位常識の範囲で知っておいてください・・・。
188nobodyさん:02/07/21 16:21 ID:???
>>186
>環境変数の値は変えたくないんだけど・・・
違う変数用意すればいいじゃん。
おいおい・・・。
189182:02/07/21 16:23 ID:???
>>187
Perlか・・・・知らないな。

>>188
それだけのために配列を用意するのも面倒。
190nobodyさん:02/07/21 16:24 ID:???
>>189
じゃあ死ぬ。
191nobodyさん:02/07/21 16:25 ID:???
参照するだけなのにコピーを取る奴って・・・
192nobodyさん:02/07/21 16:26 ID:???
>>191
じゃあどうやるのと。
自作strcmpなんて大げさなことするのがベストとは思わない。
193nobodyさん:02/07/21 16:29 ID:???
>>192
strcmpなんて書いても7行程度だろ。しかも様々な局面で再利用できるし。
194nobodyさん:02/07/21 16:32 ID:???
strcasecmp とか stricmp を知らないのか?
195nobodyさん:02/07/21 16:32 ID:???
char buf[10];
int i;

strcpy(buf,getenv("REQUEST_METHOD"));
for(i=0;buf[i];buf[i]=toupper(buf[i])) ;
if(strcmp(buf,"GET")) printf("GET以外\n");
else printf("GET\n");

ここまでするの・・・
196nobodyさん:02/07/21 16:33 ID:???
>>194
標準関数じゃない。
197nobodyさん:02/07/21 19:37 ID:???
むしろ、stricmpもstrcasecmpも実装されていない環境を教えてほしい。
なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
環境を教えてほしい。
考えられるのはクライアントが"Get"等でアクセスしたのがそのまま通されるか、
HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
メソッドはRFC上はcase-sensitiveなので、クライアントがGetやget等で
リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。
無論、メソッドを勝手に改変するHTTPDもタコ。

そんなHTTPDある?
198nobodyさん:02/07/21 20:49 ID:???
>むしろ、stricmpもstrcasecmpも実装されていない環境を教えてほしい。
strチンポくらい自分で掻け
>なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
意味不明、死ね
>HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
んな訳ないだろ
>リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。
shallだろ、mustじゃねー  やっぱり死ね
>無論、メソッドを勝手に改変するHTTPDもタコ。
妄想ですか?

shallの解釈位自分でやれ
実際問題、Getを飛ばしてくるアンポンタンなクライアントは
存在する、それだけ。

199nobodyさん:02/07/21 20:55 ID:???
>>198
>>なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
>意味不明、死ね
CGI素人なら黙ってな。

>>HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
>んな訳ないだろ
あるが?HTTPDが環境変数を設定する以上、無いという方が難しい。

夏休みって嫌い。
200197:02/07/21 21:15 ID:???
えと、>>196で標準関数じゃ無いとあったので、それが使わない原因なのかと
思ったんだけど、ちがうのか。っていうか、自分のプログラムでstricmpな
環境では単純にプリプロで#define strcasecmp stricmpとしている物があるの
で、それで済まない環境があるなら知りたいという意味で聞いたのだけど。

あと、HTTPDに関しても非サポートリストに加えたかったので聞いただけ
なんだけどな。
蛇足ながら、shall じゃ無くて SHOULDね。
201nobodyさん:02/07/21 21:22 ID:???
夏が来た。夏が来た。
202nobodyさん:02/07/21 21:42 ID:???
>>199
ほー、じゃあGetとリクエストしてGETになる様なHTTPDとやらを
挙げてもらおうかCGIのプロさんよ
203nobodyさん:02/07/21 21:44 ID:???
>>202
俺の作ったxllHTTPD。そこ以外はRFC完全準拠だ。
204nobodyさん:02/07/21 21:46 ID:???
>>203
あっそ、妄想のプロですか
205nobodyさん:02/07/21 21:49 ID:???
>>202
Get とリクエストするのは RFC に従ってない。
206nobodyさん:02/07/21 21:49 ID:???
>>205
そこ以外は
207nobodyさん:02/07/21 21:51 ID:???
>>205
で、その「従ってない」リクエストをした時にどう動くかと聞いている
JAROに訴えるか?
208nobodyさん:02/07/21 21:53 ID:???
何もやらないんじゃない?
そんなリクエストメソッドはないんだから。
209nobodyさん:02/07/21 21:57 ID:???
ヲイヲイ
>ないんじゃない?
とは何だCGIのプロさんよ
自分でクライアント書いてGetでその辺のサーバに
リクエストしてみろよ
そんな偏屈サーバに当ったらここに書き込んでくれ
210197:02/07/21 22:02 ID:???
え、っと、、GetをCGIに通すHTTPDを教えてくださいな・・・

ミンナコワイヨウ…
211nobodyさん:02/07/21 22:08 ID:???
>>210  ほぼ全てのHTTPDじゃ無い?
212nobodyさん:02/07/21 22:18 ID:???
yahoo.co.jp に
Get / HTTP1.1
HOST: yahoo.co.jp
した結果

HTTP/1.1 400 Bad Request
Date: Sun, 21 Jul 2002 13:17:35 GMT
Connection: close
Content-Type: text/html
213nobodyさん:02/07/21 22:22 ID:???
>>212
ヘッダの要素足りてないよ。
214nobodyさん:02/07/21 22:29 ID:???
>>212
ムヒョ! MethodNotImplemented返ってきた
あれえおかしいなあ、Getもいけてた筈なんだけどなあ
もしかして、俺間違えまくりチョー-厨房って感じ?
偉そうにしてゴミンナサイ  
今すぐ首括って死にます (チョー死んでお詫び
215nobodyさん:02/07/21 22:29 ID:???
すまんかった。

Get / HTTP/1.1
Host: www.yahoo.co.jp


HTTP/1.1 501 Method Not Implemented
Date: Sun, 21 Jul 2002 13:28:12 GMT
Allow: TRACE
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
216197:02/07/21 22:54 ID:???
まじ?天然だったのかよ。。。もうちょっと弄らせてよ〜ん。
楽しんでたのにぃ。

ちなみに、Netscape-Enterpriseやら、Microsoft-IISにGetで投げると
404が帰ってきます。なぜ404かと問いつめたいですが・・・
この辺のサーバでCGIな所は見つけるの面倒なので探しませんでしたが
たぶん同じでしょう、IISのASPなところも404でした。
んで、GoogleのGWSだけは、200で普通に返してきます。
もしかしたら外部からの特殊クライアントに配慮してるのかも。

なんにしろ、逝ってらっしゃい〜
217コギャル&中高生:02/07/21 23:12 ID:8IhQDrIi
http://go.iclub.to/ddiooc/
     
     i/j/ez/対応です

お役立ちリンク集
必ず役立ちます

 サイト管理者お役立ち集
    1日4000HIT以上

http://kado7.ug.to/wowo/
      
     i/j/ez/対応
    
   コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

         ↓
   http://kado7.ug.to/wowo/-a.htm
    
       i/j/ez/対応
218nobodyさん:02/07/21 23:53 ID:???
素直に引いたな…
219nobodyさん:02/07/22 06:49 ID:1nREPLNC
質問です。
teacup掲示板の無料タイプなんですが、これにアクセス解析を別途に
付ける事は可能なんでしょうか?
いや、自分が付けたいわけじゃなくて、訪問先のサイトにそういう事が
出来るんだったら、しょっちゅう見に逝ってるのが知られるとハズカシーなあ
と思ったのですが。
220sage:02/07/22 07:03 ID:rjydbpOU
>>219

掲示板のタイトルなんかがhtmlで記述出来るなら可能だろうよ
掲示板自体に解析機能が付いてたっておかしくないし
221nobodyさん:02/07/22 11:03 ID:???
textareaから渡された文字列の改行コードを<BR>に変換したいのですが
これで合っていますか?

$hoge =~ s/\r\n/\x3cBR\x3e/gm;
$hoge =~ s/\n/\x3cBR\x3e/gm;
$hoge =~ s/\r/\x3cBR\x3e/gm;
222221:02/07/22 11:03 ID:???
一応windowsで、テストしたら出来ました。
223221:02/07/22 11:10 ID:???
$hoge =~ s/\r\n/<br>/g;
$hoge =~ s/\r/<br>/g;
$hoge =~ s/\n/<br>/g;

もう一つ見つけました。ほとんど同じですが。
スマートとかスマートじゃないとかあるんでしょうか。
224nobodyさん:02/07/22 11:19 ID:StGZBnhO
$hoge =~ s/\n\r|\r|\n/<br>/g;
見た目にはこっちのがスマートだけど>>223のが微妙に速い。
自分にとってメリットの多い方使えば?
225\r\nが逆:02/07/22 11:28 ID:???
>>224
$hoge =~ s/\r\n|\r|\n/<br>/g;
226221:02/07/22 11:34 ID:???
ありがとうごぜいました。
227219:02/07/22 13:23 ID:???
>>220
そうですか、
/bbsで終わっていたアドレスなんですが
場合によっては付けられるんですね、有り難うございました。
228nobodyさん:02/07/22 15:59 ID:???
掲示板らしきものを自分で作っているのすが、
log.txtにデータを保存しています。
で、log.txtのパーミッションは666です。
よくCGI配布サイトでログファイルは666にしろと書いてあるのでそのまま真似ました。
ファイルの書き込みは成功しました。
ファイルをFTPでダウンロードして確認するとちゃんとデータがあります。
だけど、ブラウザで直接log.txtを見るとまる見えになっていました。
log.txtには当然パスワードとか大切な情報もあるので自分以外の第三者には見られたくありません。
パーミッションがなんかいけないのかと思い、622にしてみました。
するとブラウザでは403エラーが出て見えなくなりました。
ファイルの書き込みテストをしても正常に動作しました。
これでいいんでしょうか。何か間違っているとこがあれば教えてください。
229nobodyさん:02/07/22 16:24 ID:???
ブラウザからアクセスできない場所に置く。
これ、最低限の常識。
230nobodyさん:02/07/22 16:28 ID:???
>>228
ファイル名をlog.cgiにする。
231228:02/07/23 09:59 ID:???
えと、あの、パーミッションの設定はどうですか?ダメですか?
232nobodyさん:02/07/23 10:02 ID:???
>>231
サーバによるけどnobodyから見えなくすればcgi(を実行する権限)からも見えなくなる。
233nobodyさん:02/07/23 10:49 ID:???
>229
プロバ鯖だとそれができない場合もあるだろ。
そうしたくてもできないとか。
234nobodyさん:02/07/23 11:05 ID:???
<form action="./aaa.cgi" method="post">

<input type="radio" name="check" value="1"></input>
<input type="radio" name="check" value="2"></input>

<input type="button" name="mode" value=""></input>   #削除モードに行くボタンにしたい
<input type="button" name="mode" value=""></input>   #修正モードに行くボタンにしたい

</form>
ラジオボタンを選んでもらって実行する対象を選びます。
次に対象を削除するか修正するかのモードを選んで次の画面へ進みます。
下のモードを選ぶ部分のボタンをどうすればいいかわかりません。
<button type="submit" name="mode" value="sakuzyo">削除</button>
<button type="submit" name="mode" value="syuusei">修正</button>

というのを試したんですけど、<button>タグに囲まれた「修正」という値が返ってきてしまいました。
削除ボタンを教えても修正が入っていました。
235 :02/07/23 12:11 ID:???
>>231
622とはまた変わったのにしたな。
読み書きともCGIからなら600にできるように直したら?
236nobodyさん:02/07/23 12:22 ID:HNBPTziw
SSIからCGIを呼び出すときにデータをつけるとうまくいきません。

たとえば
<!--#exec cmd="./cgi-bin/read.cgi?hoge"-->
だと何もかえってこない(多分CGIが実行されない)

また
<!--#exec cgi="./cgi-bin/read.cgi?hoge"-->
だと[an error occurred while processing this directive]に
なります。

ちなみにCGI単体ではうまく動いています。
もちろんSSIのときは"Content-type: text/html\n\n"をけしてます。

また、データを与えないタイプのCGIは上の方法(cmd=)でうまくいきます。

SSIからCGIにデータをあたえて呼び出すのって無理なんですか?
237.:02/07/23 12:29 ID:???
>>234
返ってくる値は「修正」ではなく「syuusei」でしょ?
nameが同じだから後に書いてあるほうが有効になってるだけ。
別々の名前にすればいい。
238234:02/07/23 12:42 ID:???
>>237
いえ、それが漢字の「修正」が入っているのです。
確かめるとわかると思うのですが、nameを別のにしたら
あとでパラメーター受け取る時modeで読めなくなってしまいますよ。
239nobodyさん:02/07/23 12:51 ID:HNBPTziw
<input type="submit" name="mode" value="削除">
<input type="submit" name="mode" value="修正">
にすれば
mode="削除"とmode="修正"がはいるよ

buttonはべつに押したとき値が入るってわけでもなかった気がするな。

どうしてもsyuuseiがいいなら知らん。
240nobodyさん:02/07/23 13:13 ID:YKQaMhWj
>>234
<input type="submit" name="del" value="削除">
<input type="submit" name="edit" value="修正">

でdelがdefinedなら削除、editがdefinedなら修正でいいんじゃないの?
241 :02/07/23 14:04 ID:???
>>238
mode一つで両方処理させようとするならnameは同じで
valueを別々に。>>239みたいに。
別ルーチンなら>>240みたいに。
242234:02/07/23 16:40 ID:???
239のやり方で出来ました。
formの中にsubmitが二つあるのに違和感があったのと、
submitのvalueの値がそのままパラメータになるのに気づきませんでした。
ありがとうございました。
243nobodyさん:02/07/23 16:56 ID:???
>>236
<!--#exec cmd="./cgi-bin/read.cgi hoge"-->
試してみるなり。
244nobodyさん:02/07/24 16:09 ID:???
#!/usr/bin/perl
$|=1;
print <<_HEADER_;
HTTP/1.0 200 OK
Server: NPH-Script
Connection: close
Content-Type: text/html

_HEADER_
$count=0;
while(1) {
sleep(1);
$count++;
print("$count<hr>\n");
}

こんなスクリプト書いて実験してるんだけどNN4.x/Mozilla/NN6/Operaでは
予想通りに約1秒ずつカウントしてくれるんだけどIEだと何も出ないんです。
何が悪いのか教えてください。
245nobodyさん:02/07/24 18:09 ID:F9mOipAg
板違いだったらすみません。
自分の利用しているプロバイダのサーバにCGIを置き、
テスト書き込み等動作確認をしました。
その際のテスト書き込みを消したいと思うのですが、
記事を削除するしかないでしょうか?
削除しても記事に削除されたものを含んだ通し番号がついているので、
テスト書き込みをする前の何も書き込みのない状態に戻したいのですが…。
どこかのサイトでファイルを再度アップロードすればいいというような文章を
読んだ気がしたのでプロバイダにやってもらったのですが、消えませんでした。
私が使うCGIはKENTさんのCGIを改造したものをとあるサイトから
ダウンロードしたもので、もともとのスクリプトをテンプレート対応にするため
複数のファイルに分けています。
現在プロバイダにはそのCGIを動かすための2つのファイルを
アップロードしていて、その2つともを再度アップロードしてもらったのですが、
それではだめなのでしょうか?
質問の書き方が悪かったらすみません。
246nobodyさん:02/07/24 18:10 ID:???
>>245
バカなんだから自分でできる以上のことはしない。
247245:02/07/25 03:23 ID:sjq0OBfO
>>246さん
すみません、確かにバカでした…。
CGIの根本がまだ判っていないので…言い訳ですけどね。
>>246さんのレスがちょっと悔しかったので(w それ以上のことがしたくなり、
何とかテスト書き込みをすべて消すことが出来ました(勿論記事削除ではないですよ)。
お世話になりました〜。
248nobodyさん:02/07/25 05:30 ID:???
>>244
想像だけど、標準出力閉じないと
セッション貼りっぱなしになるんじゃ無いの?
他のブラウザで上手く行くのが凄いと思う
249nobodyさん:02/07/25 06:31 ID:???
>>248
>標準出力閉じないと
閉じていいのか?あれ。
250nobodyさん:02/07/25 10:48 ID:???
俺はさっさとclose(STDOUT);してから重い処理してる。
251nobodyさん:02/07/25 11:18 ID:???
掲示板を自分で作成しています。

投稿データの削除処理についてなんですけど、データは一個ずつ1行に入っています。
で、削除する対象を判別した後は、data.txtからdata2.txtに1行づつコピーしていって
削除する対象の行になったらその時だけ飛ばして、最後の行まで到達する。
で、data.txtを削除。data2.txtをdata.txtにリネーム。
このやり方しか知らないのですがこれでもいいですか?
他にやり方ありますか?
252nobodyさん:02/07/25 11:25 ID:???
>>244
IEではNPHスクリプトはサポートしてないはず。
今はどうだか知らんけど多分今でも無理。
253nobodyさん:02/07/25 11:30 ID:???
>>244
サーバサイドはそれで問題無い、それはクライアントの癖だな
多分IEのバッファが効いてる
>>248
ちょっと違うんじゃ無い? 要は少しずつ転送したいだけだと思う
>>252
意味不明、そんなブラウザは無い
254nobodyさん:02/07/25 11:31 ID:???
>>251 
それで良い
255252:02/07/25 13:36 ID:???
>>253
すまん、完全に間違ったまま覚えてた。
Pragma: no-cacheでIEでもいけた。
256nobodyさん:02/07/25 14:01 ID:???
と思ったらno-cacheだけじゃダメか。
2回目からはいいけど初回実行はやっぱりバッファリング
されてる感じ
257nobodyさん:02/07/25 14:08 ID:???
ズガーン!!

そもそもcache関係ないじゃん。
さっきから連続で醜態晒してるな >俺

もういい!寝る!
258nobodyさん:02/07/25 14:40 ID:???
$hoge = "あいうえお";
$hoge =~ tr/あ-ん/ア-ン/;
print "$hoge";
これでひらがなをカタカナにする事可能ですか?
259nobodyさん:02/07/25 14:43 ID:???
Jperlじゃなけりゃこうしませう。

$hoge=~ s/あいうえお/アイウエオ/;
260nobodyさん:02/07/25 14:57 ID:???
あいうえお の時は大丈夫ですけど。
他のひらがなが入った時はどうするんですか?
261nobodyさん:02/07/25 14:59 ID:???
>>260
あらかじめひらがなのパターンがわかっていればその分だけ用意すればいい。

環境は?
262nobodyさん:02/07/25 15:01 ID:???
あらかじめわからないので、ひらがなは全てカタカナへ というのが欲しいのです。
環境ってwin2000とかの事ですか?
perlでやってます。
263nobodyさん:02/07/25 15:07 ID:FEL1JQfu
264nobodyさん:02/07/25 15:15 ID:???
ひらがなをカタカナに変換するときはJperlなら
tr/ぁ-ん/ァ-ン/;
だから、これのSJISコードをサブスティチュートで置換すればいいと思う。
265nobodyさん:02/07/25 15:17 ID:oLz9j3NE
>>264
その方法を聞いてるんだがね
266nobodyさん:02/07/25 15:18 ID:???
>>258
あいうえお → ΒΔΖΘΚ
こうなった(Linux)
267nobodyさん:02/07/25 15:23 ID:???
やってみたけどチョット後半も文字がズレるね。

s/\x82([\x9f-\xf1])/"\x83".chr(ord($1)-95)/ge;
268nobodyさん:02/07/25 16:02 ID:???
不可能なんでしょうか。
269 ◆JAPH9PWA :02/07/25 16:09 ID:???
Jcode.pm使ってください。

use Jcode;
my $s = Jcode->new("てきとー")->tr('あ-ん' => 'ア-ン')->sjis();
270nobodyさん:02/07/25 16:18 ID:???
なんかJcode.pmが無いみたいなエラーが出たんですけど。
271nobodyさん:02/07/25 16:23 ID:???
入れてる?
272ハニホ・ヘニハ:02/07/25 16:23 ID:???
いっとく?
273nobodyさん:02/07/25 16:23 ID:???
どこに?
274nobodyさん:02/07/25 16:29 ID:???
$hoge = "かきくけこ";
use Jcode.pm;
my $hoge = Jcode->new("てきとー")->tr('あ-ん' => 'ア-ン')->sjis();
print "$hoge";
----------------------
Internal Server Error

Jcode.pmというのをダウンロードしてcgiと同じディレクトリに置きましたが・・・。
275ハニホ・ヘニハ:02/07/25 16:36 ID:???
>>274
病院いっとく?
276nobodyさん:02/07/25 16:46 ID:???
なんでだろなんでだろな〜〜〜んでだろ〜〜〜♪
jcodeをuseしないでtr〜〜♪
277nobodyさん:02/07/25 16:58 ID:???
何がだめか教えてください。
278nobodyさん:02/07/25 17:00 ID:???
@INC
279nobodyさん:02/07/25 17:05 ID:???
エラーもREADMEも読まないならplにしとき
それでも駄目かも知れないけど
280ハニホ・ヘニハ:02/07/25 17:20 ID:???
>>267はやっとうまく書けたよ。
281nobodyさん:02/07/25 19:05 ID:???
どうできましたか?御願いします教えて下さい。
282nobodyさん:02/07/25 19:53 ID:???
CGIに適したPerl以外の言語は何?Ruby?
283nobodyさん:02/07/25 20:05 ID:???
C
284nobodyさん:02/07/25 20:22 ID:???
>>283
まじですか?
285nobodyさん:02/07/25 21:05 ID:???
>>284
C++とかJavaとかもいいな。

PHPはなんか中途半端。
構文がしっかりしてる文ちょっとがっかり。
286nobodyさん:02/07/26 00:54 ID:L9BP6kAT
Apacheを使いたいのです。http://127.0.0.1/をブラウザで開いて
「インストールがこの計算機で無事に終了したことを意味します。」は見れました。
また、ルートフォルダにあるhtmlファイルも開くことは出来ました。

が、CGIファイルを起動すると
Internal Server Errorが表示され、最後の行には Apache/1.3.14 Server at localhost Port 80と表示されます。
何が原因なんでしょか?(win meです)
287nobodyさん:02/07/26 01:03 ID:???
>286
ActivePerlはインストールした?
288nobodyさん:02/07/26 01:04 ID:???
>286
ttp://tohoho.wakusei.ne.jp/wwwxx048.htm
ここ見て勉強しとけ。
289286:02/07/26 01:17 ID:L9BP6kAT
>>287
しました。
>>288
そこに書いている設定は一通りしてみました。
が、だめでした。一度アンインストしてやり直してみても同じでした。
290nobodyさん:02/07/26 01:21 ID:???
>289
じゃあ、CGIのソースを確認しろ。
HellowWorld!試せ。
291nobodyさん:02/07/26 01:23 ID:???
すみません。CGI書けないんですがどうすればいいんですか?


ってオチな気がする・・・。
292nobodyさん:02/07/26 02:04 ID:???
>>291
conf/httpd.confの位置ってわかる?
それ設定したりしないと無理。
293nobodyさん:02/07/26 05:06 ID:???
言語はPerlか。
Perlのパスが間違っているんじゃねーの?
294nobodyさん:02/07/26 07:31 ID:???
>>293
ちゃんと/usr/local/bin/perlにしています。
295nobodyさん:02/07/26 08:50 ID:???
>>294
本当にそこにインストールしたんだろうな?
ところで、Apache1.3.14は古すぎ
296nobodyさん:02/07/26 08:53 ID:???
最低限必要なヘッダーを出力していないとか。
Content-Typeとかね。
297nobodyさん:02/07/26 09:00 ID:???
>>294
WinMEでApacheだったら
C:\Perlのパス\perl
じゃないかな。
298nobodyさん:02/07/26 10:29 ID:???
#!C:/Perl/bin/perl
299nobodyさん:02/07/26 10:35 ID:Ppnf9uEO
#!C:/Perl/bin/perl

# ライブラリ
require 'cgi-lib.pl';

# デコードサブルーチン
&ReadParse(*form);

# ライブラリ
require 'jcode.pl';

# 文字コード変換サブルーチン
&jcode'convert(*form,'sjis');

# 連想配列から値だけを取り出し、区切りのハイフンを追加
# HTMLタグと衝突する記号などを変換
$name = $form{'name'};

# -----ここから出力 -----
print "Content-type:text/html\n\n";

print << "END_OF_HTML";

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
$name
<BODY>
</BODY>
</HTML>

END_OF_HTML

上のエラー出るんだけどどこか間違ってる?
300nobodyさん:02/07/26 10:48 ID:???
Can't find string terminator "END_OF_HTML" anywhere before EOF at pl.txt line 22
301nobodyさん:02/07/26 10:54 ID:Ppnf9uEO
#!C:/Perl/bin/perl

# ライブラリ
require 'cgi-lib.pl';

# デコードサブルーチン
&ReadParse(*form);

# ライブラリ
require 'jcode.pl';

# 文字コード変換サブルーチン
&jcode'convert(*form,'sjis');

# 連想配列から値だけを取り出し、区切りのハイフンを追加
# HTMLタグと衝突する記号などを変換
$name = $form{'name'};

# -----ここから出力 -----
print "Content-type:text/html\n\n";

print <<END;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<BODY>
$name
</BODY>
</HTML>

END
[EOF]

またまたエラー
302nobodyさん:02/07/26 11:00 ID:???
Useless use of single ref constructor in void context at line 36.

syntax OK
303nobodyさん:02/07/26 11:03 ID:???
cgi-lib.plとjcode.plはちゃんとありますか
304ハニホ・ヘニハ:02/07/26 14:28 ID:???
>>301
きみも病院いっとく?
305nobodyさん:02/07/26 16:04 ID:owWjrwta
お前等↓ココ逝っとけ!
http://love.2ch.net/test/r.i/pure/1027606635
スレタイに藁タ!
306nobodyさん:02/07/26 16:58 ID:???
>>305
全然藁えなかったけど、どこで藁たの?
307nobodyさん:02/07/26 17:26 ID:???
スレ違いorガイシュツだったらスミマセン

こんど携帯対応の掲示板を作ることになったのですが、
このタイプの掲示板ってPCか携帯かで処理を分けるのですよね??
それはどのように判別するのですか?
また、携帯対応掲示板を作る上での注意点などありますか?
308307:02/07/26 17:28 ID:JyrdDHk3
sageちゃったのでageます・・・スミマセン・・・
309nobodyさん:02/07/26 17:33 ID:???
>>307
$ENV{"HTTP_USER_AGENT"}
ただし、どんな場合でもすでにあるものを見た方がはやい。
「携帯 対応 掲示板 CGI」で検索すれ。
310nobodyさん:02/07/26 17:45 ID:???
>>307
CGIぽん行ってみ
311307:02/07/26 18:02 ID:JyrdDHk3
>>309-310
素早いレスありがとうございました!
”携帯対応無料BBS!”なんてのはいっぱい見つかったけど、
肝心の中身がみれないしなぁ・・・と思っていたら、
検索キーワードに”CGI”を付ければいいわけですよね
ああ、漏れって逝ってよしです・・・
早速またググってきます。ありがとうございました
312nobodyさん:02/07/26 23:57 ID:???
print "Location: http://xxx.yyy.zzz/\n"; はどこに書けばいいの?
print "Content-type: text/html\n\n";の変わりに書くとページを開いた瞬間に移動し、
cgiの最後に記述すると、移動しないです。
掲示板なんですが、別ページでフォーム記入し、送信すると書き込みのページを表示したいのです。
313nobodyさん:02/07/27 00:14 ID:???
>>312
ヘッダーについて少し勉強して
314nobodyさん:02/07/27 00:42 ID:???
>>312
複数のヘッダーは同時に使えない。
そういう動作は不可能。
315nobodyさん:02/07/27 01:37 ID:???
板違いなら済みません。
レンタル鯖で動いていたCGIを自前の鯖で動かすべく赤帽で鯖組んでみました。
すると405エラーが出てきてどこをどうすればいいやら途方に暮れてます。
The requested method POST is not allowed for the URL /form/form2mail.cgi.
っていわれてるんですけど、どこを見ればいいでしょうか?Apache/1.3.22 です。
教えて君ですまそ
316nobodyさん:02/07/27 01:51 ID:???
>>315
405エラーというのは、POSTでのリクエスト方法が許可されていないということ。
httpd.confの設定を変えれば?
317:02/07/27 04:05 ID:QFoQxGUe
318nobodyさん:02/07/27 07:45 ID:QHfRaVBX
CGIでmp3データを出力してブラウザでダウンロードさせる処理を書いたんですが、IEだと
ダウンロードのダイアログが開かずに再生をはじめてしまいます。
Contents-Typeはapplication/octet-streamにしています
出力するファイルの拡張子を.binなどにすると、ちゃんとダウンロードのダイアログが開きます。
サーバ側の設定だけで拡張子をmp3のままダウンロードをさせたいんですが、どうすればいいのでしょうか。

319nobodyさん:02/07/27 08:52 ID:???
>>318
IEは拡張子を優先するからサーバー側の設定では無理。
320nobodyさん:02/07/27 09:11 ID:???
>>319
いや、拡張子すら無視するぞ。
321nobodyさん:02/07/27 09:13 ID:???
IEの挙動。
MIME/拡張子から判断ではなく、ファイルの先頭を見て自分で勝手に判断する。

GIF89a が最初にかかれているテキスト文ですら、GIFと誤認する。
322nobodyさん:02/07/27 10:08 ID:???
>>319-321
レスありがとうございます。
やはりダメですか‥「右クリック>ファイルに保存」をしてもらうしかないんですね。



323315:02/07/27 10:11 ID:???
>>316

httpd.confを見直してAddHandler cgi-script .cgi pl のコメントを解除したら動くよう
になりました。ありがとうございました。
324nobodyさん:02/07/27 20:45 ID:iu2+Su0i
fflogという解析ををずっと使っているのですが、
このCGIにパスワードをつけたいと思っています。
どうすればいいでしょうか?
スレ違いでしたらすみません。

ttp://www.gem.hi-ho.ne.jp/fortunefield/cgi/fflog.html

325nobodyさん:02/07/27 21:00 ID:???
>324
どうぞ。

ttp://pc.2ch.net/test/read.cgi/php/1012839651/
スクリプト改造工房 Part4
326324:02/07/27 21:15 ID:???
>325さん
誘導ありがとうございます。
行ってみます。
327nobodyさん:02/07/27 22:07 ID:k7snFjtS
質問!
exit はプロセスを終了する関数とのことですが、web用のcgiでしか
プログラム作成経験していない僕には、いまいち感覚的に、何が
どう終了するのかわかりません。

web用のcgi専門なので、今ははだいたい、ブラウザに画面を出力する前に
いろいろ処理して、表示が終わったところで exit という風にしか使っていません。

だからほとんどHTMLフッター書き出しようのサブルーチンの最後ぐらいにしか
僕のプログラムにはexitってでてこないんですが。別に問題ない?
328 ◆JAPH9PWA :02/07/27 22:18 ID:???
何がどう、といわれても…。exit()を呼び出した時点でプログラムが終了する、としか。

例えばこんな感じで。
代わりにdieで済ませることも多いけどね。
#!perl
use Getopt::Std;
our $opt_h;
getopts 'h';
if($opt_h)
{
print <<HELP;
$0 [-h]
-h ヘルプを印字して終了する

... その他、簡単な説明
HELP
exit;
}
# いろいろと処理…
__END__
ちなみに、使用しなくても全然問題ないので、無理して使う必要は無いです。
329nobodyさん:02/07/28 03:52 ID:W8D+zAzJ
お絵かきBBSとして、「お絵かきしぃ掲示板 PaintBBS」を設置してみたのですが、
ttp://www.gt.sakura.ne.jp/~ocosama/garakuta/soft/paintbbs/pbbs.html
どうも文字サイズが小さくならないんです。
http://maebari.net/oekei/bbsnote.cgi
この程度まで全ての文字を小さくしたいのですが、
どうすればできるんでしょうか?
CGIの設定ページには文字サイズの設定がないし、試しに「oekaki.cgi」の中の
FONT SIZEをすべて1にしてみましたが、全く変化がありませんでした。

どなたか教えてください。お願いします。
330329:02/07/28 03:52 ID:???
>>329
あ、「Web制作板」の
☆ Webサイト制作初心者用スレッドver28 ☆
http://pc3.2ch.net/test/read.cgi/hp/1027428903/
からの誘導です。
331329:02/07/28 03:57 ID:???
スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/
ってのがありました。
焦りすぎてこっちで質問してしまいましたが、あっちで質問してきます。
すみませんでした。
332nobodyさん:02/07/28 17:05 ID:Q5YYp1Uw
SSIがどうしてもローカルでテストできません。
Win2000proのIIS5.0を使ってるんですが、

SSIを使った.shtmlファイルを出そうとすると
「CMD のオプションは #EXEC の呼び出しに対して使用可能になっていません」
と出てしまいます。

IISの設定は、
.shtmlと.shtmと.stmに
「C:\WINNT\System32\inetsrv\ssinc.dll」
を「GET,POST」に制限した動詞で設定してあります(初期設定のままです)

どうすればいいでしょうか?
333nobodyさん:02/07/28 19:58 ID:???
スレ違いだと思いますが……。
334nobodyさん:02/07/29 02:17 ID:???
>1
cgiですか?
335nobodyさん:02/07/29 11:39 ID:t/nKwjTf
PHP4.0.6でセッションを使っています。
セッションは立ち上げるブラウザのウインドウごとに違うと
思っていたのですが、同一の場合がでてしまいます。

再現しないの困っているのですが、どなたか原因を知りませんか?

IE5.5でファイルメニューから新規作成->ウインドウとやると
同じセッションになるようなのですが、今は普通にデスクトップの
IEのアイコンをたたいて立ち上げているのですが。


336nobodyさん:02/07/29 15:00 ID:???
例えば、投稿者項目と本文項目のデータがあるとして、
そのデータテキストから検索をしたいとします。
1,太郎,はじめまして。
2,花子,いい天気ですね。
3,名無し,逝ってよし
4,nobody,キタ━━━━━━(・∀・)━━━━━━!!!!
・・・・

こういうのがあって、で検索は名前と内容が条件です.
名前が○○で、本文に○○がある時、その投稿を抜き出します。
条件は一つでもいいです。
if(($name eq "$input_name") and ($content =~ /$input_content/)){
 テキストファイルを開いて、printする。
}
$input_***は利用者が入力した文字列です。
で、どっちか片方でもいいので変数が空になる時もあります。
本文に○○があるのを抜き出せと命令が来たら、
名前が空に一致するわけないので条件に合うものは当然ゼロとなります。
この例だと条件が二つなので地道に3通り条件をif文で書けばいいかもしれないけど条件が多くなった時は大変です。
どうやったらうまく書けますか?
入力された変数が空かどうかを見て、if文を変数にどんどんつなげて作っていく方法が
あると思うんですけど、それってSQL文とかでDBに渡すときしか意味ないですよね。
$hoge = "($a eq $aa)";
if $hoge {

}
こうやったら出来なかったので。(当たり前だって怒られると思いますけど)
337nobodyさん:02/07/29 15:18 ID:???
CGI質問スレでーす。
338nobodyさん:02/07/29 15:28 ID:???
(゚д゚)シメジ
339nobodyさん:02/07/29 15:28 ID:S3zWiKSW
ホームページ上のボタンクリックで
ファイル(圧縮ファイル)をダウンロードできるようにしたいのですが
どうすればいいのでしょうか?
ぜひ教えてください
340nobodyさん:02/07/29 15:28 ID:???
CGIっつーより、HTMLじゃないか?
341339:02/07/29 15:30 ID:???
>>340
あ、これってHTMLでできるんですか?
すみませんまったくの素人なので・・・
もっぺん出直してきます
342nobodyさん:02/07/29 15:42 ID:2AYT60/o
343nobodyさん:02/07/29 17:01 ID:hJ6YB5ta
WinNT4.0でIIS4です。ActivePerl561を仕込み、仮想ディレクトリにindex.htmlとtest.cgiを仕込み、
ダイヤルアップ環境からアクセスしたところ、index.htmlは表示されるのですが、そこにFORM action="./test.cgi"で仕込んだ
cgiを実行しようとすると、ユーザー名とパスワードを入力するダイアログが出て困っております。
「ディレクトリセキュリティ」では「匿名アクセスを許可する」にチェックを入れております。usr/binもエイリアス切ってます。
どこが問題か、訳がわからなくなってしまいました。
どなたかお助けください。よろしくお願いいたします。
344nobodyさん:02/07/29 18:07 ID:YroFxsp9
&hoge;
my $hoge;

sub hoge {
$hoge=2;
}
↑こんなmyの使い方をしているスクリプトの作者がいたんですが
これって意味があのでしょうか?
345 ◆JAPH9PWA :02/07/29 19:07 ID:???
>>344
それは混乱を招きやすいね。
でもまぁ理解した上で使ってるなら敢えて文句を言おうとは思わないけど。
346nobodyさん:02/07/29 22:57 ID:luhGHKEG
サーバーを借りたのですが、
http://www.tekipaki.jp/
今OCNのPageOnサーバーを使っていて、
このサーバーはCGI用に借りました。
カウンタを表示させようとしているのですが、
違うサーバーにCGI本体をおいて、ページ上で使うにはどうすればいいんでしょうか?
違うサーバーのほうにページを移動すれば一番いいのですが、
かなり読み込みが遅いので、できれば今のままのサーバーを使いたいんです。
どなたか教えてください。お願いします。
347nobodyさん:02/07/30 01:24 ID:klN51cmM
掲示板スクリプトを作っている者ですが,
新しいバージョンでは変数の構成が違うんです。
そこで,HTMLフォームに入力した旧バージョンの変数の中身を,
新しいバージョン用に書き換えるといったものを作り始めたところ
壁にぶつかりました。お願いいたします。

まずは変換前の変数を入力するための,sub form1を実行します。
(入力する項目:@hairetu1 @hairetu2 $scalar1)

次にform1で入力された配列変数を分割したいので,
その範囲を入力するフォームと配列の中身の一覧を出します。(sub form2)
(入力する項目:$scalar2 $scalar3)
この時点では@hairetu1 @hairetu2 $scalar1にはform1で入力された内容が入っている。

最後にsub form3,変換された変数の中身を表示する…という予定だったのですが,
ここに来るとform1で入力した@hairetu1 @hairetu2 $scalar1が空っぽになってしまってます。
form2で入力した$scalar2 $scalar3にはちゃんと中身が入っています。

どうして@hairetu1 @hairetu2 $scalar1が空になってしまったのかがわかりません。
手持ちの解説書を読んでも,特に指定しない限りグローバル扱いされるとありますし。

どうかお願いします。
348nobodyさん:02/07/30 01:36 ID:???
>>347
具体的なソースを見ないとわからんよ。
349347:02/07/30 01:51 ID:klN51cmM
長くて申し訳ないですがこちらです

# HTML出力
print "Content-type: text/html\n\n";
print <<"EOM";
<html><head><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"><body>
EOM
if ($mode eq 'form2') { &form2; }
if ($mode eq 'form3') { &form3; }
if ($hairetu1[0] eq '') { &form1; }
print "</body></html>\n";

#フォームその1
sub form1{
print "<form action=\"$script\" method=\"$method\">\n";
print "<input type=hidden name=mode value=\"form2\">\n";
print "<p>配列その1 例:)'1','2','3'";
print "<input type=\"text\" name=\"hairetu1\" maxlength=\"100000\">\n";

print "<p>配列その2 例:)'1','2','3'";
print "<input type=\"text\" name=\"hairetu2\" maxlength=\"100000\">\n";

print "<p>\スカラーその1";
print "<input type=\"text\" name=\"scalar1\">\n";

print "<input type=\"submit\" value=\"次へ\">\n";
print "</tr>\n</table></form>\n";

}

350347:02/07/30 01:54 ID:klN51cmM
# フォームその2
sub form2{
print "<form action=\"$script\" method=\"$method\">\n";
print "<input type=hidden name=mode value=\"form3\">\n";
print "<div align=\"center\">\n";
print "スカラーその2<input type=\"text\" name=\"scalar2\"><br>\n";
print "スカラーその3<input type=\"text\" name=\"scalar3\"><br>\n";
print "<input type=\"submit\" value=\"表\示\">\n";
print "</table></form>\n";

$FORM{'hairetu1'} =~ s/'//g;
$FORM{'hairetu2'} =~ s/'//g;

@hairetu1 = split(/,/,$FORM{'hairetu1'});
@hairetu2 = split(/,/,$FORM{'hairetu2'});
$scalar1 = $FORM{'scalar1'};
}

# フォームその3
sub form3 {
$scalar2 = $FORM{'scalar2'};
$scalar3 = $FORM{'scalar3'};
print <<"EOM";
<table border align="center">
<tr><th>\@hairetu1</th><td>@hairetu1</td></tr><tr><th>\@hairetu2</th><td>@hairetu2</td></tr>
<tr><th>\$scalar1</th><td>$scalar1</td></tr><tr><th>\$scalar2</th><td>$scalar2</rd></tr>
<tr><th>\$scalar3</th><td>$scalar3</td></tr></table>
EOM
print "<br><br><br>";
}
351347:02/07/30 02:10 ID:???
352nobodyさん:02/07/30 02:14 ID:???
フォームその2.のとこでscalar2とscalar3しか(あとmodeもか)submitしてないのだから
フォームその3でscalar2 scalar3しか表示されないのはあたりまえかと
353nobodyさん:02/07/30 02:23 ID:???
&form2実行後、出力HTMLはmode=form3になり、[表示]ボタン押下後
hairetu1もhairetu2も渡されないから渡されるとしたらscalar2かscalar3
だけだろう。

また、&form1実行後画面においてhairetu1に入力するかどうかによって次の
フォームが1つや2つに変動する可能性もある。
354347:02/07/30 02:32 ID:???
>352-353
ありがとうございます。

でもフォームその2のところで,
@hairetu1 = split(/,/,$FORM{'hairetu1'});
@hairetu2 = split(/,/,$FORM{'hairetu2'});
$scalar1 = $FORM{'scalar1'};
と,フォームの内容を変数に格納しておいたんですが,
どうしてこの中身が消えてしまうのでしょう?
355nobodyさん:02/07/30 02:37 ID:???
その代入処理をおこなうのは&form2サブルーチンを実行するときだけで
mode=form2のときだけです。

if ($mode eq 'form2') { &form2; }
356347:02/07/30 02:42 ID:???
ほんと初歩的な質問に付き合ってくれてありがとうございます。

ええと,一度代入を行えばその中身はずっと保持されるわけじゃないんですか?
357nobodyさん:02/07/30 02:50 ID:???
1度のCGI実行で行なった代入は実行中だけ保持されます。
358347:02/07/30 02:55 ID:???
なるほど。
すると&form3にデータを持ち越すには,
引数をつけて呼び出してやれば良い訳ですかね?
359nobodyさん:02/07/30 02:58 ID:???
前画面から入力されたデータを次画面でも保持したいなら
取得した値を出力HTMLフォーム内にhiddenタグで埋め込んで出力する。
360347:02/07/30 03:04 ID:???
ああ,そうか,そのためのhiddenでした。
ごく初歩な質問に親切なご回答ありがとうございました。
精進します。
361nobodyさん:02/07/30 10:11 ID:???
スクリプトの最後にある __END__ これはなんですか?
書かなきゃいけないのですか?
362 ◆JAPH9PWA :02/07/30 11:11 ID:???
>>361
別にいらないよ。
スクリプトがそこで終わることを明示してるだけ。
そのトークンから先はパースしないから、Perlとは関係ないものを書ける。
大抵はドキュメントを書いたり、スクリプト内に大量のデータを埋め込んだりするときに使うね。
363nobodyさん:02/07/30 11:11 ID:???
その行がこのファイルの最後であることを示すもの。
書かなければいけないということは無い。
364nobodyさん:02/07/30 19:07 ID:0gW7G4YT
すいません
cgi-binはしーじーあいびんじゃなくて
しーじーあいばいんだと聞いたのですが本当ですか?
なんか、ばいなりの”ばい”らしいのですが。
おねがいします
365nobodyさん:02/07/30 19:58 ID:???
dustbin だよ
366ごめんなさい1:02/07/30 22:43 ID:aKXjz8b/
すいません。
内容的にWEB制作版なんですがちょっとこっちのが安心なんで質問させてください。
お世話になっています。

ちょっとはまり気味なのでお知恵をいただきたく思ってます。
早速ですが。
イメージ的には以下のような感じです。
チェックボックスを選択していない場合エラーを返します。

<script language="Javascript">
<!--
function chkNull() {
var cnt = 0;
for(i=0; i <= document.forms[0].stock.length-1;i++){

if (document.forms[0].stock[i].checked == true){

cnt=cnt+1 ;

}
}

if (cnt < 1){

alert('少なくとも1つは選択してください');
return false;
}
return true;
}
//-->
</script>。
367ごめんなさい2:02/07/30 22:46 ID:aKXjz8b/
<form name="hoge" action="hoge" method="hoge" onclick="return chkNull()">
//このフォームは動的な部分。SQLのレコード数で0回以上ループしている。
<input type ="checkbox"
name="stock" value="#SQL.RESULT#">hoge
</form>


これで動かすとレコードが2つ以上の場合は、予定通り動くのですが、レコードが1つの場合、チェックボックスをONにしているにもかかわらず、チェックに引っかかってしまいます。

しらべてみると、レコードが1つの場合
document.forms[0].stock.length
がイメージでは1になるはずが配列として評価されていないみたいです。UNDEFINEDを返しています。

じゃ場スクリプトの勉強が足りないためちょっと嵌まっています。
ほかの方法も含めアドバイスがあればおねがいします
368nobodyさん:02/07/30 22:56 ID:???
JavaScript質問スレはWeb製作板に在ったと思うが?
369ごめんなさい2:02/07/30 23:12 ID:aKXjz8b/
すいませんでした
370nobodyさん:02/07/30 23:32 ID:TwJHY/7Z
2ちゃんのリンク集を作ってます。普通にリンクを張ってると、スレッドはいつ
か1000まで行ってHTML化されて過去ログとなります。
つまり、ある段階まではそのリンクをクリックして普通にスレッドが表示されま
す。
次の段階では、「HTML化を待つしかない!」という表示になります。
最終段階では「隊長!過去ログ倉庫で発見しました!」という表示になって、
そこのリンクをクリックすると出てきます。
この最終段階まで行ったときに、訪問者にいちいち画面の下のほうにあるリンク
を探させてクリックさせるのがイヤなので、HTML化が済んだスレッドは自動的に
リンクを過去ログ倉庫の方に変更したいのです。
どうすればいいですか。
ちなみに現状は、1週間ごとに手動でリンクをクリックしてHTML化されていれば
手動でリンクを変更しています。
HTML化されているスレッドであれば、「隊長!過去ログ倉庫で○○を発見しまし
た!」という文字列があるので、その文字列があるかどうかを検索し、もしあれ
ばそのURLをコピーして自動的にリンクをアップデートする、というロジックで
いいのでしょうか。
誰かがスレに「隊長!過去ログ倉庫で○○を発見しました!」って書いたらどう
すればいいでしょうか。
371nobodyさん:02/07/31 00:48 ID:???
>>370
殆ど理解出来ないけど
「隊長!過去ログ倉庫で発見しました!」
とスレッド内の書き込みは違うセッションでしょ?

/隊長!過去ログ倉庫で発見しました!/ (HTML確認)
  ↓
Location または meta (クリック)
  ↓
スレッド内に 
隊長!過去ログ倉庫で発見しました! (要求達成)
372初心者ですいません。:02/07/31 21:50 ID:???
 
初心者で説明下手ですが申し訳ありません。
KENTの「SUN BOARD」を設置しようとしたのですが、どうしてもうまく表示できません。
http://www.kent-web.com/bbs/sunbbs.html
もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりしたのですが、正直わかりません。
説明書き通りにダウンロードしてプログラムの修正もして「lockフォルダ」も作ったのですがうまく表示されません。

大変困っている状態が1週間も続いておりますが、どなたか迷惑でなければ親切に詳細に教えていただけないでしょうか。
本当によろしくお願いいたします。

チェックモードの表示

./sunbbs.log のパス:OK
./sunbbs.log のパーミッション:OK
./public_htmlindex.html のパス:NG
./public_htmlindex.html のパーミッション:NG
./public_htmlindex2.html のパス:NG
./public_htmlindex2.html のパーミッション:NG
ロック形式:symlink
ロックディレクトリ:./lock
ロックディレクトリのパス:OK
ロックディレクトリのパーミッション:OK
過去ログ:設定あり
NOファイルパス:OK
NOファイルパーミッション:OK
過去ログディレクトリのパス:NG → ./past/
 
 
373nobodyさん:02/07/31 21:55 ID:???
kentwebで聞け。
374nobodyさん:02/07/31 22:01 ID:???
375372・初心者ですいません。:02/07/31 22:18 ID:???
>>373-374 KENTで聞いてもほとんど答えがないので・・お願いします。
376教えてください。:02/07/31 22:19 ID:tRDjSXEO
すいません。
CGI設置してみてパスもPerlもパーミッションもあってるのですが
なぜかエラーがでてしまいます・・・
なにか他に原因はあるのですか?
377nobodyさん:02/07/31 22:21 ID:???
>>375
つまりマルチポストと。

>>376
あるんだろうね。
378nobodyさん:02/07/31 22:42 ID:???
エラーメッセージは何が出たの?
転送モードは?
CGIの使える鯖?
SSIは使っている?使える鯖?
sendmailは使っている?使える鯖?
外部参照禁止鯖とか?
サーバの設定でhtml、CSS、画像がCGIだけ別鯖になっていない?
何処のスクリプト?
あなたが組んだの?
ローカルでは動いた?

つーか、ソース晒せコラァ!


379教えてください。:02/08/01 00:10 ID:Xu6VR8fO
メッセージは403 Error - Forbiddenです。
パスはあってるはずなんですが・・・
転送モードはアスキーモードです。
CGIは使えるはず!
SSIは・・・わかりません。
そのあとは・・・まったくわかりません・・・
すみません初心者な者で・・・
いろいろなところのでためしてみました。
KENT.WEBとかエイプボードとかタッキーさんのところのとかやってみました。

ソース?どうしたらいいのですか??

380nobodyさん:02/08/01 00:10 ID:???
>>372
>もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりした

普通はありえないパスだろ、まぁサーバ調べないと断定はできないが・・・
381nobodyさん?:02/08/01 00:29 ID:???
>>379
勉学が足りませんな。
ソースといえば、そのCGIの配布元等へのリンクでいいのです。

後は、貴方の使ってるサーバー環境を書いておくと。
382教えてください。:02/08/01 00:35 ID:Xu6VR8fO
>>381
ごめんなさい。

サーバー環境とかよくわからないのですが・・・
リンクとは??
ほんとにごめんなさい〜。
383nobodyさん:02/08/01 00:40 ID:???
>382
そこまで知識がないなら、自分で設置しない方がいいと思う。
トラブル起こして他利用者に迷惑かけるかもしれないし。
BBS程度なら、レンタルで探した方がいいぞ。
それで、レンタルしてる間にもっと初歩から勉強しろ。
384教えてください。:02/08/01 00:45 ID:Xu6VR8fO
あい。
お勉強しておきます。
385nobodyさん:02/08/01 13:59 ID:qdgiH1MD
>もしかして「$htm_dir」を「/public_html」にしたのが間違いなのかと思ったりしたのですが、正直わかりません。
パブリックはルートになるだろうから、cgiに指定するような場合は、書いちゃだめだろ。
あと、パーミションでNGってでてるのに、いいの?
386nobodyさん:02/08/01 14:39 ID:???
>>383
素敵なアフォの相手をご苦労様でした(ワラ

>>384
チミのHPを晒してみなさい。ほれ、ほれ!!
387nobodyさん:02/08/01 16:58 ID:oYTgtzZ0
2chでのトリップって#の後ろの文字列をどのように演算して生成するのですか?
388nobodyさん:02/08/01 17:08 ID:???
crypt
389nobodyさん:02/08/01 19:45 ID:???
こんばんは。
配布サイトからDLしたCGIを
自鯖にウプして日記をつけてるのですが、
解析に引っかからないかとヒヤヒヤしています。
掲示板も…。
ロボットよけタグを埋めこみたいのですが、
できるものなのでしょうか?

ここのサイトのを使ってます。
ttp://www.t-okada.com/cgi/
390nobodyさん:02/08/01 19:59 ID:???
>389
ttp://pc.2ch.net/test/read.cgi/php/1028193595/
【 スクリプト改造工房 PART 5 】
391nobodyさん:02/08/02 01:43 ID:???
>>379
>メッセージは403 Error - Forbiddenです。
アクセス権が無いっと・・・
パーミッションの変更してみ?
392nobodyさん:02/08/03 23:31 ID:8gDBPjZ0

1つの form タグのなかに 2つの submit ボタンを作って
cgi の中でどっちのボタンが押されたのか判断するには
どうしたらよい?
393nobodyさん:02/08/03 23:34 ID:???
submitのvalue変えれば良いんじゃ無いの?
ダメなん
394nobodyさん:02/08/04 00:03 ID:???

???
<input type="submit" name="button1" value="ボタン1">
<input type="submit" name="button2" value="ボタン2">

として、

if( $form{ button1 } eq 'ボタン1' ) { ... }
ってこと?
395nobodyさん:02/08/04 00:28 ID:???
>>394
name は同じでいいんじゃない?
396nobodyさん:02/08/04 00:52 ID:???
CでいうとこのfscanfとかってCGIだとどういう関数なの?
397nobodyさん:02/08/04 00:58 ID:???
>>396
CGIの関数って意味わかんないんだけど、CGIだろうとCでいうfscanfはfscanf
じゃないの?
398396:02/08/04 01:08 ID:???
書き方が悪かったかも。
fscanfと同様の動作をする関数ってCGIだとなんていうの?って意味だったんだけど。
CGIでもfscanf(FILE *stream, const char *format, ...)とかって使うのかな?
399親切な人:02/08/04 01:14 ID:???
>>396
君はCGIを誤解している可能性がある。
そのせいで397と話がかみあってない。
400nobodyさん:02/08/04 01:18 ID:???

Perl に scanf があるかってことか?
401396:02/08/04 01:23 ID:???
>>400
すんません、そういうことです。
>>399の言う通り勘違いでした。言われてやっと気づいた。
スレ違いっぽいんでこれにて失礼
402nobodyさん:02/08/04 06:57 ID:RYk8zHFq
http://ex.2ch.net/test/read.cgi/nanmin/1027669072/134
突然恐れ入ります。
134でリンクされている URLの意味がわかる方いらっしゃいます?
403nobodyさん:02/08/04 07:43 ID:???
>>401
もう遅いかな。
Perl本のPOSIXモジュールの項より抜粋。

scanf - C固有のものである。代わりに<>と正規表現を使うこと。

だそうだ。
404403:02/08/04 07:45 ID:???
s/scanf/fscanf/
405nobodyさん:02/08/04 10:13 ID:???
>>402 さっさと寝ろ糞ヴァヴァアが  (^∀^)
406nobodyさん:02/08/04 12:30 ID:cDdwUQe9

みんな CGI のメッセージは Shift_JIS で書いてるの?
407nobodyさん:02/08/04 12:38 ID:???
>>406
CGIのメッセージ?プログラムのこと?
Linux上で作っているから自然とEUC-JPになる。
408nobodyさん:02/08/04 12:41 ID:???
漏れは窓使いだけど、EUC-JP。
409nobodyさん:02/08/04 12:57 ID:???

2ch の CGI プログラムの表示って Shift_JIS でしょ。
CGI を EUC-JP で書くとプログラム内に埋め込まれた
メッセージも EUC-JP になるわけで、そうすると受け
取ったデータの表示とかも EUC-JP で扱わなきゃだめなん?
410nobodyさん:02/08/04 13:02 ID:???
>>409
当たり前。
嫌ならコンパイル前にnkfにでも通せ。
411410:02/08/04 13:02 ID:???
ん?受け取ったメッセージってCGIのプログラムがってこと?
412409:02/08/04 13:13 ID:???

Perl だけど。
EUC-JP だと AA とかチルダとかエンマークとかどうなっち
ゃうのかなって思ったけど問題ないみたいだからいいや。
CGI プログラムも EUC-JP で、フォームから受け取った
データも jcode.pl の convert で euc に直して扱えば
いいですよね。
413nobodyさん:02/08/04 13:23 ID:???
>>412
jcode.plだとUTF-8などが扱えないから、Perl5なら、Jcode.pmを勧める。
414nobodyさん:02/08/04 14:11 ID:???

>>394 だけど、よく分からない。
<input type="submit" name="button" value="ボタン1">
<input type="submit" name="button" value="ボタン2">

if( $form{ button } eq 'ボタン1' ) { ... }
ってこと?
415nobodyさん:02/08/04 14:54 ID:???
うん
バカ?
416nobodyさん:02/08/04 15:17 ID:???
>>414
お前は自分で試す、またはHTMLの仕様を読むということをしないのか?
417nobodyさん:02/08/04 15:23 ID:???
>>416
なんで??
418nobodyさん:02/08/04 16:04 ID:???
419414:02/08/04 16:17 ID:???

394 で聞いて、414 で試してうまくいかないから
きいてんだけど。$form{ button } が空だよ。
420nobodyさん:02/08/04 16:24 ID:???
>>419
滑稽な人ですね。
421nobodyさん:02/08/04 16:29 ID:???

>420 ハァ?
422nobodyさん:02/08/04 16:34 ID:???
ここは酷いドッペルゲンガーですね
423414:02/08/04 16:38 ID:???

value に日本語使うのやめたらでけた。サンクス。
あと、417 は僕じゃないですよ。
424nobodyさん:02/08/04 17:18 ID:???
別にvalueに日本語使っても平気だよ?
425nobodyさん:02/08/04 17:41 ID:???
意味も無く使うのはお勧めしないがな。
426nobodyさん:02/08/04 17:47 ID:???
valueに日本語を使うのはごく普通のことだと思うけど。
nameには使わないけどね。
427nobodyさん:02/08/04 18:01 ID:J46SL+QD
phpとerubyってどっちが楽に使えますか?
428nobodyさん:02/08/04 18:09 ID:???
>>427







eruby
429nobodyさん:02/08/04 20:57 ID:???

フォームの内容を確認してから実際に登録するような
CGI では、

1.フォームに入力

2.確認ボタンを押す

3.HTML で入力データが表示される

4.確認して登録ボタンを押す

5.実際に登録

というような手順を踏むと思うのですが、
4.で登録ボタンを押して送信される入力データは
どこに確保あるのでしょうか?
430nobodyさん:02/08/04 21:04 ID:???
hiddenで渡せば(・∀・)イイ!!
431nobodyさん:02/08/04 21:07 ID:???
あるいはセッション使うか。
432nobodyさん:02/08/04 21:39 ID:???
>430-431
レスありがとうございます。
やっぱり hidden ですか。hidden はデータが大きかったり
複数行にわたるデータの場合に html に埋め込むのはあまり
エレガントではない気がするんですが。

セッションは使ったこと無いのでよく分からんです。
433nobodyさん:02/08/05 14:30 ID:???
cgiをftpでupしてブラウザでアクセスするとInternal Server Errorと出ます。
さっきまでは大丈夫でした。
ローカルではエラーが出てないです。
サーバーのログを見るとテキストファイルがビジーです。と出ます。なにこれ?
434 :02/08/05 14:46 ID:???
>>433
サーバを見てみないとなんとも言えないなぁ。
ホスト名とアカウントは?
435nobodyさん:02/08/05 14:49 ID:???
アスキーモードでうpしてるよな?
436nobodyさん:02/08/05 14:54 ID:???
ごめんなさい、なんだから直りました。
短時間に何回もアップロードやりまくってたらエラーが出たんでサーバーが疲れてたのかもしれません。
437nobodyさん:02/08/05 15:24 ID:???
んなわけねーだろ。
438nobodyさん:02/08/05 20:21 ID:Cv0Vcdj1
warata
439nobodyさん:02/08/06 16:13 ID:ov0Bn0l9
cgiの中でxmlファイルを生成して、(xslは当然もとから用意しておいて)
xmlをhtmlに変換する事はできますか?

xmlとxslだけではIEでしか表示できないので普通に手作業で、
msxsl.exeを使ってhtmlへ変換していましたが
今回はcgiでxmlを生成してそこからhtmlへ変換することになったのです。
なのでmsxsl.exeの役割をcgiの中でも出来るのかどうかというわけなのです。
440nobodyさん:02/08/06 16:18 ID:ov0Bn0l9
つまりxslt機能を搭載したサーバーはあるんざんしょか。
という話です。
441トウモロコシ:02/08/06 18:39 ID:AiGWWT1t
gzipってなんでしょうか?
442nobodyさん:02/08/06 18:46 ID:???
GNU ZIP のこと。
HTTP圧縮の際にも利用される。
443トウモロコシ:02/08/06 18:51 ID:AiGWWT1t
どうもありがとう♪
444nobodyさん:02/08/06 18:54 ID:+CLAZ6EK
IEで、キャッシュを無効にするにはどうしたらいいでしょう。
cgiからの出力を、ブラウザの戻るボタン押下時に意図的にリ
ロードさせたいだけなんですが。。。

<%
Response.AddHeader "Expires", "0"
If Request.ServerVariables("SERVER_PROTOCOL") = "HTTP/1.0" Then
Response.AddHeader "Pragma","no-cache"
Response.CacheControl = "no-cache"
Else
Response.CacheControl = "no-cache"
End If
%>
とか
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
とか
試したんですが無理でした。

誰かよろしくお願いしますっ!


445nobodyさん:02/08/06 19:21 ID:???
446nobodyさん:02/08/06 19:30 ID:???

CGI 利用可能なレンタルスペース(鯖?)
ではだいたい Jcode.pm は使えるのでしょうか?
447nobodyさん:02/08/06 19:44 ID:???
>>446
サーバによる。面倒だから俺は自分で置いてる。
ローカルとリモートで参照パス変えるのだるいし。
448nobodyさん:02/08/06 20:10 ID:???

<meta> タグで漢字コード euc-jp 指定して、
CGI の出力も EUC-JP にしてるのに Mozilla
で文字化けするんですけど、どうにかなりませんか?
449 :02/08/06 20:13 ID:???
>>448
ブラウザのフォントを日本語(EUC)にする。
450nobodyさん:02/08/06 20:28 ID:???

AutoDetect して欲しいんです。
451nobodyさん:02/08/06 20:34 ID:???
>>448
ホントに出力がEUCになってる?
Mozillaで文字コード変更する前は何が文字コードとして選ばれてる状態になってる?
452nobodyさん:02/08/06 20:55 ID:???

ISO-8859-1 です。
453nobodyさん:02/08/06 21:22 ID:???
>>448
HTTPヘッダとHTMLヘッダ、両方を正確に出力してるなら
(今の書き込みからは、上手く行かない以上の事が何も分からない)
それは古いブラウザ特有の誤認識
昔はYAHOOなんかでも色々工夫がしてあった

http://www.google.com/search?num=100&hl=ja&ie=UTF-8&oe=utf-8&q=%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89+%E3%81%8A%E3%81%BE%E3%81%98%E3%81%AA%E3%81%84&btnG=Google+%E6%A4%9C%E7%B4%A2
454nobodyさん:02/08/06 22:11 ID:???
>453
サンクス
455nobodyさん:02/08/07 00:08 ID:???
1いますか?
456nobodyさん:02/08/07 14:53 ID:???
やっぱりPerlで書くべきですか?
457nobodyさん:02/08/07 18:24 ID:???
何の話だよ。
458nobodyさん:02/08/07 23:07 ID:Ebqa+zWc
SSIって2重に使えるの?
2重という言い方で通じなかったら、入れ子で使えるの?
a.htmlに、<!-- SSI命令なんちゃら-->ABCDEFG
と書いておいて、b.htmlに<!--a.htmlをここに呼び出すSSI命令-->
と書いて、OK?
459458:02/08/07 23:39 ID:Ebqa+zWc
いま自分で試して見たらできました。
2重でも3重でもできそう。
これを駆使すればいろいろおもしろいことができそう。
あんなことやらこんなことやら、、
460nobodyさん:02/08/07 23:41 ID:???
それくらいなら簡単に試せるだろうに。
461nobodyさん:02/08/07 23:42 ID:???
1さ〜ん
462nobodyさん:02/08/07 23:53 ID:ndE0k5iF
すみませんが質問です
http://hp.bird.to/info/countget.htmlのCGIで
連続でカウンタが回されないようになっているようですが
これはどのような仕組みで回らないようになっているんでしょうかねぇ?

自分で色々試した結果
cookieではないようです

ってことは相手のcgi側でアクセスログを取っているってことですよねぇ?
これを回避してカウンタを回すにはどうすればよろしいのでしょうか?
串刺してアクセスすれば回せますよねぇ?
463nobodyさん:02/08/08 00:02 ID:???
前の数回のIPでも記憶しておいて、それと照合して合ったらカウントしない。
464nobodyさん:02/08/08 00:02 ID:???
なんで変なの一杯来てるの?
465nobodyさん:02/08/08 00:07 ID:???
>>464
自己紹介せんでええ。
466462:02/08/08 00:08 ID:kiQ1aKPI
>>463
レスありがとうございました
ってことはIP変えれば(串通せば)カウンタを回す事が出来るんですね?
467nobodyさん:02/08/08 00:12 ID:???
生→串→生→串→、、、とローテーション組めばどんどん回る
468nobodyさん:02/08/08 00:15 ID:???
ははは
469質問:02/08/08 01:28 ID:o/KxESaR
2ちゃんのリンク集を作っているのですが、ライブなスレッドと
過去ログに行ってHTML化されたスレッドはどのように判別すれば
いいですか。ライブなスレッドは板が引越ししたら
URLを変えないといけないが、すでにHTML化されたスレッド
だったらURLを変えてしまうと見れなくなる。だからそのスレッドが
ライブなのか、過去ログに行ってHTML化されているのか判別して、
ライブだったら板の移転に合わせてURLを変更し、HTML化されて
いればURLをいじらずにそのままにするようにしなければならない。
その判別はどうやったらいいのか。
470nobodyさん:02/08/08 01:30 ID:67DgjdRz
自分が手でやってる事をコードに書くだけ
471462:02/08/08 12:37 ID:kiQ1aKPI
>>467
そうですよね
でも漏れの知っている串(http://www8.big.or.jp/~000/CyberSyndrome/で検索)では
ホスト名&IPなどが隠せないんですよ
ちゃんと匿名串を使っているのに…

鬱だ……
472nobodyさん:02/08/08 12:45 ID:???
>471
同じIPからだと1日1カウントしか収集しないんじゃないかな?
だとしたら、10個カウンター回したいなら、10個のIPが必要。
473462:02/08/08 13:00 ID:kiQ1aKPI
>>472
 >>467のようにすると何回でも回せるみたいです
漏れは串持ってないので携帯を使ってます
実験ではPC→携帯電話→PCを繰り返すと回ります
でも携帯使うと通信料が一回12円かかります
どうしましょう…
474nobodyさん:02/08/08 14:36 ID:???
ちょっと臭いな
475462:02/08/08 17:05 ID:kiQ1aKPI
>>472
やっぱり10回まわすなら10個のIP必要ですね
カウンタは>>467のようにすれば回りますが、
キリ番ゲットページで「あなたのカウント」は回ってないんですよ

どぉ〜しましょ
476nobodyさん:02/08/08 17:24 ID:???
>475
そもそもなんで回したいのよ?
不正な方法でキリ番ゲットしたいの?
477462:02/08/08 17:31 ID:kiQ1aKPI
>>476
キリ番げっとするとプレゼントが貰えるんです

携帯電話でのアクセスでは
「あなたのカウント」が「未取得」になってしまいます

串を使っても、そうなってしまう可能性が出てきました
もうだめぽ……鬱
478nobodyさん:02/08/08 17:36 ID:???
カエレ(・∀・)!!
479.:02/08/08 18:11 ID:???
アホか。
480nobodyさん:02/08/08 19:12 ID:???
┐('〜`;)┌ 臭いと思ったら
481質問です:02/08/08 21:49 ID:o/Pn3LPJ
cgiでhtmlを書き出すときにSSIをprintするとそのまま

<!--#include file="xx.html" -->

って出てしまうのですが、
.htaccessのAddTypeに.htmlを加えるしかないのでしょうか?
他の解決方法を教えてください。

どなたか答えてくれるとうれしいです。よろしくおねがいします。
482nobodyさん:02/08/08 22:01 ID:???
CGIでSSIをしてるの?

意味無い気がする。
483Apache/1.3.20@RHL7.2J:02/08/09 00:49 ID:???
次レスのスクリプトをWEBで実行しようとしたのですが、
下記のログようなエラー(Internal Server Error)になります。
ちなみに、webサーバマシンでスクリプトを実行して、html文にリダイレクトしたら、思うようにページが表示されるのですが…
(./googre2.cgi > googre2.html)
どこが間違ってるところはどこなのでしょうか?

[Thu Aug 8 19:43:16 2002] [error] [client 10.10.1.38] script not found or
unable to stat: /var/www/html/cgi-bin/googre2.cgi
[Thu Aug 8 19:43:52 2002] [error] [client 10.10.1.38] Premature end of
script headers: /var/www/html/cgi-bin/google2.cgi
484483のスクリプトです:02/08/09 00:53 ID:GqWWhT2W
#!/usr/bin/perl

print '<!DOCTYPE HTML PUBLIC"-//W3C/DTD HTML 3.2 Final//EN">';
print '<HTML>';
print '<HEAD>';
print '<TITLE>google_mail1</TITLE>';
print '</HEAD>';
print '</body>';
print '<META http-equiv="Refresh"
content="0;URL=http://www.google.co.jp/search?q=&ie=UTF-8&oe=UTF-8&hl=ja&btn
G=Google+%
E6%A4%9C%E7%B4%A2&lr=">';
print '<base target="_top">';
print '</NOFRAMES>';
print '</FRAMESET>';
print '</HTML>';

他のスクリプトはWEB上で実行できてます。
スクリプトは、WinPCからtelnetでログインして貼り付けました。
前レス「間違ってるところはどこなのでしょうか? 」の間違いです。すみません。
485nobodyさん:02/08/09 01:18 ID:???
CGIにはヘッダというものが必要です。

print '</NOFRAMES>';
print '</FRAMESET>';

これは何なの? キミはまだCGI以前にタグの学習が必要では?
486nobodyさん:02/08/09 03:17 ID:???
> CGIにはヘッダというものが必要です。

そんなことはない。
487nobodyさん:02/08/09 03:35 ID:???
>>485
どこに突っ込んでるの?
s/CGIには/CGIスクリプトの出力には/
ならOK?
488K:02/08/09 07:19 ID:u713FiUQ
会社で、研修があって某予約システムを作ることになりました。
この後に控えている私の仕事がCを使うということもあって、「どうせならC言語でCGI作ってみて」という話になりました。
WEBサーバとSQLサーバには何を選択してもいいのですが今のところは、
MicrosoftのSQLサーバとIISを使用する予定です。

ただ、いくら本を探してもC言語でSQLサーバとやり取りする方法の書かれたものが見当たりません。

当方はWindows2000を使っています。
とりあえず、IIS上でCでコンパイルした実行可能CGIファイルを動かしたいのですが、うまく動きません。

動かそうとすると、ユーザ名とパスワードを要求されます。
(ちなみにこのCGIプログラムをコマンドプロンプトで実行するとちゃんとHTML形式の文書が出力されます。
(よくあるHELLO WORLDです。(^^;))
ファイルのパーミッション(右クリック→プロパティ→セキュリティ)はeveryoneでフルコントロールです。

長くなりましたが、現在足がかりがほとんどない状態です。
どなたかアドバイスやお勧めの本やWEBページがありましたら教えてもらえると幸いです。
お願いします。m(_ _)m
489nobodyさん:02/08/09 11:43 ID:???
$page=$ENV{QUERY_STRING}

my $start = ($page * $one_page) + 1;
my $end = $start + $one_page - 1;
my $i = 0;
open IN , $data_file;
while ( <IN> ) {
last if $i++ >= $end;
print if $i >= $start;
}
close IN;
my $next = $page - 1;
my $back = $page + 1;
my $p_start = ($page * $one_page)+1;
my $p_end = int ( $max_article / $one_page );

print qq|<p>|;
print qq|<a href="$script_name?$next"><< 新しめの$one_page件</a> \n| if $next >= 0;
for ( $p_start..$p_end ) { print qq|<a href="$script_name?$_"><$_></a>|; }
print qq| <a href="$script_name?$back">古めの$one_page件 >></a>\n| if $end < $max_article;
print qq|</p></body>\n</html>|;

ページングとやらをやってみようと、何とかページ数の表示は出るようになったんですが、
肝心の記事表示がまともに出来ません。どこが間違っているんでしょうか。
ちなみに、
$max_articleは現在の件数。$one_pageは1ページに表示する件数。
$data_fileは1行ずつ↓のような形式で保存してます。
<h2>[$num] $name - $date</h2><p class="i">$comment</p>
490nobodyさん:02/08/09 11:55 ID:???
>>489
ソースの一部だけ見せられても、$one_page とかにどんな値があるのかないのか
さえわからんだろ。
491489:02/08/09 12:22 ID:???
>>490
そう思ったので$max_articleと$one_pageの値に関しては後半に書いておきました。
492nobodyさん:02/08/09 12:27 ID:???
>>491
だから、実際のソースに値があるのかないのかがわからんだろ。
493489:02/08/09 12:51 ID:???
my $one_page = 10;

open IN , $data_file;
my $max_article = <IN> =~ /^<h2>\[(\d+)\]/;
$max_article = $1;
close IN;

変数の宣言部分を省略していたのがまずかったですね。
$data_fileの一行目が最新の記事で、$numに記事の番号を記録しているので、
そこから数値を抜き出して記録されている件数としています($max_article)
494489:02/08/09 13:04 ID:???
自己解決しました。スレ汚しスミマセヌ(´・ω・`)
495困ったチャン:02/08/09 17:41 ID:???
CGIファイルから処理の途中で
別のCGIファイルを呼び出す方法をおせーて?
BY困ったチャン
496困ったチャン :02/08/09 17:44 ID:???
追伸
すいませんけど
Perlです
BY困ったチャン
497nobodyさん:02/08/09 18:32 ID:???
意味がわからん。
別のCGI内のサブルーチンでも使いたいのか?
498nobodyさん:02/08/09 18:34 ID:???
#>>495
#> おせーて?
#
#ここに疑問符が付くのは疑問な訳だが...

``
499nobodyさん:02/08/09 19:05 ID:???
WEBで落とせるチャットCGIをいじってます。

ログに書き込み者のIPを記録し、そのままHTML出力に表示させたいのですが、
全部の行が同じIPになってしまいます。
(違うIPになると、全行のIPがそれになってしまう)

$ad = $ENV{'REMOTE_ADDR'};
とCGIに記述して、
表示させたい部分に$adを埋めるだけじゃダメなんですか?
500nobodyさん:02/08/09 19:10 ID:???
だめ。
それじゃ、見た人のIPにしかならない。
別ファイルに書き込んで、読み込むなりしないと。
501499:02/08/09 19:21 ID:???
>>500
ご助言ありがとう。
いま、DATに書き込み者のIPを記録するようにしました。
こんどはどうやって読ませようか悩んでます。
いい手本が手元にないんですよ。
502nobodyさん:02/08/09 19:40 ID:???
>501
手元になければ探せ。
いくらでも転がってるぞ。
503nobodyさん:02/08/09 20:16 ID:???
cgi内で、別のプロセスを起動させるとエラーになるんですけど........
system($cmd,$arg);を使う時はapacheに何か、設定を加える必要ありですか?

504nobodyさん:02/08/09 22:37 ID:???
エラーの内容書け。
505にすと:02/08/10 00:07 ID:k/CbtY7I
新しい質問なんですけど、kent-web(http://www.kent-web.com/)のyycahtを使っているんですけど、トップから入室者を表示させる方法は
ありますか?
もし、ありましたらお教え下さい。
506nobodyさん:02/08/10 00:11 ID:???
member.dat を外部から読み出してtopに表示。
SSIが使えない環境だと難しい。
507nobodyさん:02/08/10 00:13 ID:???
>>505
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

改造を頼むのなら上のスレの1に書かれていることちゃんと読んでからな。
ま、このスレの>>1も読めないやつには無理かもしれんが(w
508nobodyさん:02/08/10 01:44 ID:???
>>488
IISの設定確認しろ。
ローカル環境で試してるのか?
そうでなければコンピュータへのユーザ権限がない。
その他ユーザ回りをしっかり確認しろ。
509nobodyさん:02/08/10 16:20 ID:???
<form action="mailto:mailaddress">
でフォームを送信してもらったあと「送信しました」ページを表示させる方法を
教えてください。
510nobodyさん:02/08/10 16:23 ID:???
何か間違えている可能性。
511nobodyさん:02/08/10 22:28 ID:???
うん。
512nobodyさん:02/08/10 23:05 ID:???
>>509
JavaScriptでできそう。
板違いなのでage
513nobodyさん:02/08/10 23:34 ID:BXA7DZha
>>499-501の者です。
おおかたのIP表示のCGIをあさってみたんですが、
IPもしくはホスト取得後、記事部に表示させる記述は

print"$ip $host"
といったものでした。
なぜ、既製品に自分で書き加えると全行、自分のIPもしくはホストが反映されてしまい、
元から機能がついているとちゃんとログから持ってくるかが判別できないのです…
514 :02/08/11 01:21 ID:aEO6uXrg
ブラウザから自分のWebページを書き換えるスクリプトを書いているんですけど、
書き換えるHTMLファイルのパーミッションを666などに設定する必要がありますよね?
これってなにか危険性あります?
515nobodyさん:02/08/11 03:02 ID:???
ありすぎ。
書き換える直前でパーミッション変えて、終わったら戻すようにしたらどうだ
516514:02/08/11 16:04 ID:???
chmodでファイルのパーミッション変更しようとしたら、
Internal Server Errorが出てしまいました。
CGIによるパーミッション変更は禁止されているようです。
あきらめるしかないんでしょうか。
517nobodyさん:02/08/11 22:13 ID:???
666でもかまわんだろ、
KENTWEBでもそういうのあるし
518困ったチャン:02/08/12 17:49 ID:???
ユーザーIDと
パスワードを入力して
認証してOKならページ移動
の処理を作成中なんッスけど
認証のためのデータをあるファイルから
参照してハッシュを使ってIDをキーにして
パスワードをデータにして、
IDを比較するのはOKなんッスけど、
パスワードの比較はどうしたらイイんでしょうか?
ようはキーの中身の比較っすね
519困ったチャン:02/08/12 17:57 ID:???
ageて逝きまっしょい
520nobodyさん:02/08/12 18:26 ID:???
マルチか。                  
521nobodyさん:02/08/12 19:19 ID:???
>>519には答えなくていいよ
522nobodyさん:02/08/12 21:14 ID:???
apacheでperlのテストを行なっているとerror.logにエラー内容がどんどん
書きこまれていくのですが、どうも中身の行数が増えすぎて見にくくなって
きてしまいました。どうやったらこれをクリアできるのでしょうか?
523nobodyさん:02/08/12 21:16 ID:???
ファイル消せば?
524Disca ◆NAfP6znE :02/08/12 21:38 ID:yGKNwrot
C言語で掲示板作ってますが、とりあえず、Windows環境でのCコンパイラ
(VisualC++のコンパイラ)
と、HTTPデーモンには、AnHTTPDを利用して
実行させているのですが、

標準出力の終了を、HTTPDデーモン(AnHttpd)
が認識してくれなく、ある時間が経つと、デーモン側(AnHttpd)からプロセスを強制終了させてしまいます。
TerminateThread() (WindowsAPIで言うと、

putc(EOF);
などをしても、EOFマーカーを認識してくれません。

何か良い方法で、掲示板側から、終了をしたと言う事をHTTPデーモン(AnHttpd)にわかるようにはできないでしょうか。
525Disca ◆NAfP6znE :02/08/12 21:40 ID:yGKNwrot
>>522
httpd.conf をよくみると、どこかにログファイルを書き込むための
ディレクティブが宣言されていたと思うよ。
526 :02/08/13 00:05 ID:???
CokkieがOffだったら指定のページに飛ばす
…そんなcgiってありますか?
もしあったら、参考になるサイト、もしくはプログラムを
お教え下さい。
527nobodyさん:02/08/13 00:08 ID:???
Cokkie ってなに?
528nobodyさん:02/08/13 00:08 ID:???
マルチか。
529 :02/08/13 02:21 ID:???
-d でファイルがディレクトリかどうかをチェックしたいのですが、ディレクトリを渡しても値が1にならない場合があります。
調べる場所が'.'の場合はちゃんと1になるんですけど、./aaaとかの場合はダメです。
原因がわかる方、教えてください。
530 :02/08/13 02:26 ID:???
補足です。他のファイルタイプ演算子、-fとかもダメです。
531nobodyさん:02/08/13 02:36 ID:???
>>529
ソース見せてよ。
532 :02/08/13 02:42 ID:???
こんな感じです。
$_[0]には、ディレクトリの場所'.'とか./directory とかを受け取ります。

sub search_dir{
if ($_[0] =~ /\.\./){
$forbidden = 1;
}
else {
opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。";
@dir_contents = readdir(DIRECTORY);
closedir DIRECTORY;
foreach $con (@dir_contents){
if ($_[0] != '.'){ $con = $_[0] . $con; }
if ($con eq "."){
} elsif ($con eq ".."){
} elsif (-d $con){
$child_dir[$cd_index] = "./" . $con;
$cd_index++;
} elsif ($con =~ /(.html|.htm)$/) {
$child_html[$ch_index] = $con;
$ch_index++;
} else {
$child_otherfile[$co_index] = $con;
$co_index++;
}
}
}
}

533532:02/08/13 02:46 ID:???
タブ無効なんですね。申し訳ないです。

sub search_dir{
if ($_[0] =~ /\.\./){
$forbidden = 1;
}
else {
opendir(DIRECTORY, $_[0]) or die "カレントディレクトリを開けません。";
@dir_contents = readdir(DIRECTORY);
closedir DIRECTORY;
foreach $con (@dir_contents){
if ($_[0] != '.'){ $con = $_[0] . $con; }
if ($con eq "."){
} elsif ($con eq ".."){
} elsif (-d $con){
$child_dir[$cd_index] = "./" . $con;
$cd_index++;
} elsif ($con =~ /(.html|.htm)$/) {
$child_html[$ch_index] = $con;
$ch_index++;
} else {
$child_otherfile[$co_index] = $con;
$co_index++;
}
}
}
}
534532:02/08/13 02:51 ID:???
がくっ。板汚しすみません。
535nobodyさん:02/08/13 03:00 ID:???
http://homepage1.nifty.com/~tetsu/ruby/web/srcview.html
にあるCGIで
/usr/local/src/
以下に貯めてきたソースを閲覧しようと試みますが、
エラーが出ます。
恐らくアパッチのセキュリティが働いている模様です。
Googleでしらべてもワカリマセンでした。
どなたか、cgiからあくせすできる
ディレクトリの設定方法をゴキョウジュしていただけませんか?
536nobodyさん:02/08/13 03:00 ID:???
if ($_[0] != '.'){ $con = $_[0] . $con; }
この行の $con って、$con= $_[0] . '/' . $con; では?
537532:02/08/13 03:10 ID:???
その行は後からつけたもので、怪しい部分なのですが・・
おっしゃる通りにしても解決しませんでした。
もう少し整理してみます。ありがとうございます。
538nobodyさん:02/08/13 03:22 ID:???
>>535
何が何だろうと、実行者の権限(user、www、nobody、、)で開けない物は
開けない訳だが
そう言う話じゃ無くて?
539532:02/08/13 03:25 ID:???
ファイル名を読み込んで、表示させることはできるのです。
でもファイルタイプを調べるのに失敗してしまいます。
540532:02/08/13 03:49 ID:???
if ($_[0] ne '.') { $con = $_[0] . '/' . $con; }
で解決しました。アドレスと等価演算子が原因でした。
初歩的なミスでご迷惑をかけてしまって申し訳ないです。
541nobodyさん:02/08/13 10:16 ID:O/STFm+B
>>526
Cookieに適当な値をセットして次のページに移動。
その値が見つからなければCookieが無効になってる。
542526:02/08/13 12:08 ID:Z6o18Dpl
有り難うございます。
…して、その方法すら分からないのです。
543nobodyさん:02/08/13 15:42 ID:???
>>542

まずキーボードのCtrlとAltとDelキーを同時押しして
544nobodyさん:02/08/13 16:53 ID:Yx7h0BT7
自分ISPにCGIを設置しようと思いましたが
>ファイルの書き込み、読み込みをCGIで行う場合には、
>必ずお客様のホームディレクトリ(環境変数$ENV{'HOME'})
>を基準に書いて下さい。
の意味がさっぱり分かりません。使えるネット等のフリースペースでは
設置できますが、ここではInternalServerErrorとなるばかりです
これはCGIをどのように書き換えれば良いのでしょうか
http://www.ogaki-tv.co.jp/internet/int_cgi/hp_cgi_chui.html
545nobodyさん:02/08/13 17:18 ID:???
>>544
相対パス使えってことでそ
546 :02/08/13 17:22 ID:???
書き込み・読み込みの対象となるファイルを指定する際、ホームディレクトリから見た
相対パスを使えということでは?
547nobodyさん:02/08/13 17:48 ID:LLsp0K0M
画像アップ掲示板で画像がサムネイル表示されるヤツ探してます。

誰か情報ください。
548nobodyさん:02/08/13 17:54 ID:cQCAQtqS
549nobodyさん:02/08/13 17:57 ID:???
マルチ
550nobodyさん:02/08/13 18:00 ID:LLsp0K0M
>>549
マルチて何?
551nobodyさん:02/08/13 18:30 ID:GLxdMhFg
>>550
モップ片手に重複投稿するカワイイメイドロボ
552nobodyさん:02/08/13 18:34 ID:???
マルチ野郎
「ここの掲示板に質問したけど馬鹿ばっかみたいだからこっちにも同じ質問しとこう。」
「早く答えろよ、しょうがねーな、こっちの掲示板にも書いとくか。」

553_:02/08/14 01:13 ID:???
http://ddns.j-speed.net/subdomain/ddns.cgi
上のページにいって、適当になメールアドレスに
ユーザ名とパスワードを決めて登録してログインすると。
proxy経由でも生IPを抜かれます。
下と同じ方法ではないと思うのですが、どなたかわかる人いますか?
http://www2s.biglobe.ne.jp/~cru/library/java/index.html
今日は、遅いので私も明日調べてみます。
554nobodyさん:02/08/14 12:40 ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか?
ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
555554:02/08/14 12:41 ID:???
>>553
$ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
556nobodyさん:02/08/14 14:12 ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、
Script execution errorとでてしまいます。
ビッグローブサーバーに設置しているのですが、
この文字が出たときはどうすればいいのでしょうか?
557553:02/08/14 15:22 ID:???
>>554
telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
558553:02/08/14 16:14 ID:???
socks→socks→httpproxyの経由だと
127.0.0.1のIPしか抜かれませんでした。
559 :02/08/15 03:40 ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、
これが出ない場合もありますよね。
この違いは、サーバの設定に依存するんでしょうか。
560nobodyさん:02/08/15 07:23 ID:???
http串でアクセスしたけど、抜かれなかったよ
JavaとかXとか全部切ったけど
561最適PG人生とは。:02/08/15 19:28 ID:+AitDXia
http://www.kemokemo.com/ 
http://www.kemokemo.com/products/picchabo/picchabo203.lzh 
上(掲示板CGI)に下(ランダム広告CGI※呼び出しによりSSI使用しない方)を設置したいのですが『インターネットサーバーエラー』になります。(;_;)
一通りパーミッション設定などを説明どうりやってみたのですが設置できないんです。。(;_;)なぜでしょう??(;_;)
どうか教えていただけないでしょうか。。(;_;)
また呼び出しのときの記述が『require 'rand.pl';  rand::main($Op1,$Op2,$Op3);』を記述しろと書いてあったので正確に記述したのですが『インターネットサーバーエラー』になってしまうんです。。(;_;)
『$buffer』でも記述したんですがだめでした。
http://taihei.cc/pc/cgis/random.html
http://taihei.cc/pc/cgis/randban11.lzh
562WebProg板初カキコ:02/08/15 20:18 ID:???

「買い物かごに入れる」

というふうなボタンがついていて
オンラインで購入できるようなページは
CGIで作られているのでしょうか?
563nobodyさん:02/08/15 20:36 ID:???
>>561=マルチ
564nobodyさん:02/08/15 20:57 ID:???
>>562
うん。

CGI RESCUE の ショッピングバスケットプロ とか
http://www.rescue.ne.jp/
565nobodyさん:02/08/15 21:00 ID:???
>>562
CGIだけじゃないけどね。
566 :02/08/15 22:24 ID:Sv5BCHdr
ERROR:長すぎる行があります!

コレ追加したいのですが。。。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
567nobodyさん:02/08/15 22:29 ID:???
ハァ?
568nobodyさん:02/08/15 22:54 ID:???
>>566
そんな質問で意図がわかるか。アフォ。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
elsif (($CHECK{body}==1)&&length((sort{length$b<=>length$a}split/\r\n/,$body)[0])>100)
{$error_message .= "ERROR:長すぎる行があります!<BR>";}
こういうことか?
569nobodyさん:02/08/15 23:38 ID:???
if(length($FORM{'subject'}) > $SETTING{"BBS_SUBJECT_COUNT"}){
    DispError("ERROR!","ERROR:サブジェクトが長すぎます!");
}
if(length($FORM{'FROM'}) > $SETTING{"BBS_NAME_COUNT"}){
    DispError("ERROR!","ERROR:名前が長すぎます!");
}
if(length($FORM{'mail'}) > $SETTING{"BBS_MAIL_COUNT"}){
    DispError("ERROR!","ERROR:メールアドレスが長すぎます!");
}
if(length($FORM{'MESSAGE'}) > $SETTING{"BBS_MESSAGE_COUNT"}){
    DispError("ERROR!","ERROR:本文が長すぎます!");
}
if(length($FORM{'MESSAGE'}) == 0){
    DispError("ERROR!","ERROR:本文がありません!");
}
#行数&行長さ制限
my @msg = split(/ <br> /, $FORM{'MESSAGE'});
my $cnt = @msg;
if($cnt > ($SETTING{'BBS_LINE_NUMBER'} * 2)){
    DispError("ERROR!","ERROR:改行が多すぎます!");
}
foreach(@msg){
    #$cnt = tr/[\041-\177]//;
    if(length($_) > 256){
        DispError("ERROR!","ERROR:長すぎる行があります!");
    }
}
$FORM{'MESSAGE'} =~ s/<br> <br> <br> <br>/<br> <br> <br>/g;
570nobodyさん:02/08/15 23:46 ID:???
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
571nobodyさん:02/08/15 23:49 ID:???
出来る。
572nobodyさん:02/08/15 23:52 ID:???
どうしたらいいでしょうか?
573名無しさんに接続中...:02/08/16 00:03 ID:???
聞くだけじゃなく、考える事も大事だと思うのだが。
第一に、元々携帯に対応した掲示板使えば早かろうと。
574nobodyさん:02/08/16 02:09 ID:???
今の掲示板をどうしてもそのまま使いたいのです…。
575nobodyさん:02/08/16 09:39 ID:???
>>574
で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
576nobodyさん:02/08/16 13:47 ID:r3LEM9ym
スレ違いだったらすんません。

apebaordスキンかunicoスキンのどっちかを使おうと思ってるんですが、
どっちの設置方法のほうが簡単なんでしょうか?
unicoの方が比較的簡単と聞いたんですが。

ショボイ質問で本当に申し訳ない。
577nobodyさん:02/08/16 15:12 ID:???
もう時代遅れですか?
578ひよこ名無しさん:02/08/16 15:21 ID:???
>>577
そんなことより 聞いてくれよおっちゃん
このサイト面白いぞ 小一時間ワラタ
http://www.ogaki-tv.ne.jp/~zeus/
579nobodyさん:02/08/17 04:06 ID:qkaHYdxT
何か始めてみたいんですけど、手始めに何から始めたらいいんでしょう?
OSはウィンドウズ、HTMLがちょこっと書けるくらいのスキルしかないです。
580nobodyさん:02/08/17 07:49 ID:???
>>579
CGIで何をやりたいの?まずはそこからでしょ。
581nobodyさん:02/08/18 13:20 ID:???
>>576
質問の意味が分からん。分かりやすく書け

KENTのY!BBS風の掲示板だっけ?
あれ見に行ったけど、クレクレ帽が多すぎ
KENTもよくやるよな・・・
582nobodyさん:02/08/19 12:13 ID:h1gbkZ0X
質問

こちらで発行したIDやパス等の登録情報を管理するCGIを作っていて、
登録情報専用のディレクトリのファイルリストを表示する中に
そのリスト中のファイルの最終更新時刻を取得する部分があるんだけど、
「.」「..」を除いて全てがThu Jan 1 09:00:00 1970になってしまいます。

色々試しているとどうやらCGIを置いているディレクトリ以外の
ディレクトリをオープンするとそうなるらしく、
CGI本体をオープン先のディレクトリに移動すると問題無く動作します。

しかし登録情報を置いたディレクトリにCGIを置くのは出来る限り避けたいのです。
何か良い方法はありませんでしょうか?
あるいは何らかの手落ちでこういった状態になるのであれば、それも教えて頂けると幸いです。
583nobodyさん:02/08/19 12:42 ID:???
>>582
最終更新時刻を取得するCGIをデータディレクトリに入れて、
他のディレクトリのCGIから時間取得のCGIを操作してやれば?
584nobodyさん:02/08/19 13:40 ID:h1gbkZ0X
そうですね・・
何かいい方法はとは言ってもそれ位しか選択肢ありませんよね
とりあえず仰せの通り別ファイル化で対処しておきます
585nobodyさん:02/08/19 15:12 ID:h1gbkZ0X
追記ですが、自己解決しました。
chdirで作業ディレクトリを移動させる事によって、
別ディレクトリのファイルの時刻を取得出来るようになりました。

CGIを分離する必要も無くなりました。
(というより別ファイルにしてもカレントディレクトリは変わらない為意味がなかった)
586nobodyさん:02/08/19 15:51 ID:???

ご質問です。

CGIと同じかそれに近いディレクトリにMicrosoft Accessがあるとします。

CGIからMicrosoft Accessにアタッチする事は可能なんでしょうか?
可能であれば、その方法が記載されているURLなんぞを教えて貰えないでしょうか?
もしくはサンプルでもあれば非常に助かります・・・

Googleで検索もして見たんですがなく、、、
上記って特殊なやり方なんでしょうかねぇ・・・
587586:02/08/19 15:56 ID:???
ASPとかではないです。
普通のプロバイダが無料でくれるスペースでのお話です。

・・・ダメ?
588nobodyさん:02/08/19 17:41 ID:???
>>586
自分の質問に「ご」は付けません。「質問」が正しいです。
589nobodyさん:02/08/19 17:42 ID:???
>>587
プロバイダが無料でくれるスペースにMicrosoft Accessがあるところがあるの?
サーバがWindows系のプロバイダってどこ?
590nobodyさん:02/08/19 21:56 ID:???
Access自体は入って無くても問題はないがな
591nobodyさん:02/08/19 22:16 ID:???
>>586

特殊なんじゃなくて検索の仕方が悪いに全部。
592nobodyさん:02/08/19 23:23 ID:RiRw9vU9
既出だったらすいません。

ランダムで背景画像を変えたくて、
5つの違うCSS(background-imageのみ記述してあります)
をランダムで選び、それをタグに書き出したいと思うんですが
[an error occurred while processing this directive]
とエラーが出てしまいます。

$dir = 'home/自分のID/public_html/nantoka/style';
$url = 'home/自分のID/public_html/nantoka/style';

opendir(DIR, "$dir") || die "Can't open: $dir";
@data = grep(!/^\.\.?$/, readdir(DIR));
closedir(DIR);

srand(time|$$);
$style = $data[rand(@data)];
print qq(<link rel="stylesheet" type="text/css" href="$url/$style">);

exit;

これを、index.shtmlから
<!--#exec cgi="home/自分のID/public_html/nantoka/randomimg.cgi" -->
と呼び出しています(CGI本体とindex.htmlは同じディレクトリにあります)。

dirは使える鯖と使えない鯖がある、という話は聞いたことがあるんですが
どこかおかしな所があったら、教えていただけないでしょうか・・・
593~:02/08/19 23:34 ID:???
取りあえず そのスクリプトがshellからまともに動くことを確認シル
594nobodyさん:02/08/19 23:44 ID:hYzoL+XK
お聞きしたいのですが、
perlからphpをincludeのようなことはできますでしょうか?
また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか?

もうひとつお聞きすると、
perlで既に年月日の形になっているものからLinux標準時間に戻す関数はないのでしょうか?

よろしくお願いします。
595 :02/08/19 23:52 ID:???
できます。
できます。
あります。
596594:02/08/19 23:55 ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
597592:02/08/20 00:14 ID:???
Kcatchを使用したら、
[rand_img.cgi:17:die] Global symbol "$dir" requires explicit package name.
Global symbol "$url" requires explicit package name at (eval 1) line 17, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 20, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "$url" requires explicit package name at (eval 1) line 25, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 25, <DATA> line 27.
となりました。
この「requires explicit package name」とは具体的にどういう意味なのですか?
598nobodyさん:02/08/20 00:56 ID:???
>>597
Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。

my ($dir, $url, @data, $style);
とかやるか、(推奨)

use strict;
↑の行を探して削除するか、どっちか。
599592:02/08/20 01:16 ID:???
16行目に my($dir,$url,@data,$style); を挿入したら
Global symbol 〜 についてのエラー表示は出なくなりました。以後気をつけます。
593さん、598さんありがとうございました。

しかし、
[rand_img.cgi:21:die] Can't open: home/自分のID/public_html/nantoka/style.
は依然として残っています。
これは home/・・・/style ディレクトリを開くことが出来なかったということはわかるのですが
なぜ開けないのでしょうか・・・
パーミッションのチェックはしましたが、問題はありませんでした。
教えて君ですいません。
600nobodyさん:02/08/20 01:19 ID:hbbe/bFq
 
601nobodyさん:02/08/20 01:40 ID:???
>>592
そもそもJavaScriptを使えよ、と思ったのは私だけですか?
602nobodyさん:02/08/20 01:51 ID:???
自分でも多分違うと思います。

JavaScriptのほうがややこしいと思っていたら
CGIも結局2chで聞いている現状という罠
603602=592:02/08/20 01:52 ID:???
です
604nobodyさん:02/08/20 02:59 ID:???
>>599
>パーミッションのチェックはしましたが、問題はありませんでした。

は・は・は(大爆笑
605nobodyさん:02/08/20 11:32 ID:???
>>592
homeの前にスラッシュはいらないのだろうか。
606nobodyさん:02/08/20 18:13 ID:???
607nobodyさん:02/08/20 19:38 ID:???

CGIには直接関係ないのですが、2chのあるスレに自動で
保全書き込みを行うPerlスクリプトをSJISで書いたのですが、
書き込みしようとすると SJISでかいてちょ。とか 文字化けしちゃうよ。
とか却って来ます。
どーすればいいのでしょうか?

$ua = new LWP::UserAgent;
$head = new HTTP::Headers;
$head->header( 'Content-type','text/html; charset=Shift_JIS');
$body = "FROM=$name&mail=$mail&MESSAGE=$message&bbs=板名&key=スレッドID";
$req = new HTTP::Request( 'POST', $BBSCGI, $head, $body );
$res = $ua->request($req);
print( $res->content );
608nobodyさん:02/08/20 20:53 ID:???
>>607
あげ2chか?

SJISでかいてちょ。
って書いてるんだからSJISで書けよ
ヴァカ??
609nobodyさん:02/08/20 20:59 ID:???

>608
氏ね
610nobodyさん:02/08/20 22:31 ID:???
CGIの技術を学ぶためには、全くの基礎からやり始めるにはやはり書籍を参考に
するのが良いですかね? 何からやりはじめればCGIを操れるようになりますかね?

プロの皆さんは何の知識を得ることからはじめましたか?
611nobodyさん:02/08/20 23:08 ID:???
他人のソースを見る。
612nobodyさん:02/08/21 06:23 ID:???
素人ですが、KENT氏のbbsを見ることから始めました
613ヤッシー ◆akL9r.oU :02/08/21 15:11 ID:BtbltLri
質問です。
$form = $FORM{'form'};
$log =~ s/$form/<b>$form<\/b>/g;

print $log;

$logに、ログファイルから読み込んだ全データをぶち込んで、
$logに、ユーザーがフォームから送信してきた$formの文字列が含まれていたら、その文字列を太字にして表示する、という仕組みのCGIを作りました。
ここまでは完成したんですが、$logを、英数大文字・小文字関係なく検索させたいんです。
どうすれば、大小文字関係無く検索できるようになりますか?
お返事よろしくお願いします。
614ヤッシー ◆akL9r.oU :02/08/21 15:25 ID:BtbltLri
>>610
僕も>>612さんと同じように、KENT氏製掲示板を見たりこぴぺしてどう稼動するのか確かめて覚えてきました。
http://tohoho.wakusei.ne.jp/wwwperl1.htm
とほほ氏のページです。色々なプロの方が読まれているようです。
http://tohoho.wakusei.ne.jp/wwwperl2.htm
リファレンスは、多少慣れてきたらど〜ぞ。
615nobodyさん:02/08/21 15:30 ID:???
>>613
i
616ヤッシー ◆akL9r.oU :02/08/21 15:51 ID:vNJ2y6lW
i…?
すみません、リファレンスで検索しても見つからないので、わかりません。
もうすこし詳しく教えていただけませんでしょうか…すみません。
617nobodyさん:02/08/21 16:45 ID:???
もっと探せ。
618nobodyさん:02/08/21 16:53 ID:???
$log =~ s/$form/<b>$form<\/b>/ig;
619マム:02/08/21 19:11 ID:AE2ns9S9
はじめまして。今回初めてメールをさせていただきます。
MIDIを公開するためにジュークボックス的なCGIを導入したんですが、一つわからないことがあるので教えて欲しいのです。

使ったCGIは、大黒屋本舗さんの BGM++ というCGIなんですが、http://ohgro.pos.to/perl/bgm/bgm.cgi  このウィンドーを最小化すると、音が消えてしまうのです。そして、ウィンドーを元のサイズに戻すとまた音が再生されるのです。

実は、こういうJukebox的なCGIを探していて、もう一つ候補がありました。
POKEMON ENTERNAL さんの自作CGIでjukeboxというのがあります。
http://pme.cool.ne.jp/
のサンプルページが、http://pme.cool.ne.jp/download/jukebox/jukebox.cgi です。
こちらで配布されているものは、ウィンドーを最小化してもちゃんと音がなっているのです。

これは何をどうしたら違いが出るのか、調べても調べてもわからなくて、、、
それで今回こちらで質問させていただいたのです。
使いたいCGIは、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
620nobodyさん:02/08/21 19:19 ID:???
>>619
つーか、HTMLレベルの問題だろ。
621nobodyさん:02/08/21 19:22 ID:S1N5lHPt
質問です。NT4.0+IIS+ActivePerlでSQLServerに接続するcgiをWEBで表示したいです。
DBI,DBD::ODBCで接続でき、コマンドプロンプトで実行すると結果が表示されるのですが、WEBからアクセスすると「'C:\wwwroot\cgi-bin\test.cgi' script produced no output 」と表示されます。
多分IISの設定だと思うのですが、変更箇所が分かりません。
よろしくお願いします。
622nobodyさん:02/08/21 19:29 ID:???
>>619
スレ立てた後に、よくこんなトコで聞けるよな
623マム:02/08/21 21:54 ID:AE2ns9S9
教えてください。それだけなんです。。
教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば
いいのか、それだけを教えてください。
お願いします
624nobodyさん:02/08/21 21:58 ID:???
>>619
BGSOUNDとEMBEDの違い。
板違いにつきsage
625nobodyさん:02/08/21 22:09 ID:???
>>623
この板はサーバサイドプログラミングの話をするところなの。
それぞれの板で専門分野が決まってて、そこで話すのがルールなの。
HTMLの話は↓でしてるよ。
http://pc3.2ch.net/hp/
ルールは守ってね。
626マム:02/08/21 22:22 ID:AE2ns9S9
結局わからないだけなのね。残念だわ
627nobodyさん:02/08/21 22:28 ID:???
>>626
捨て台詞はいいからサッサと消えろよオマエ。
628マム:02/08/22 03:35 ID:cGCA+Ih9
>> 624さんへ

ありがとうございました。あなただけでした。ちゃんと回答してくれたのは。
624さんには大変感謝です。問題も解決しました。
こんな2ちゃんねるみたいなところでもちゃんと回答してくれる人がいるん
ですね。お礼だけ言わせてください。
ありがとう624さん。

あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので
私も悪かったです。今日はじめて書き込みしたんで。
とにかく624さんには感謝してます。ありがとう
629nobodyさん:02/08/22 05:41 ID:???
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
630nobodyさん:02/08/22 06:15 ID:???
自作自演に気づけ!
631nobodyさん:02/08/22 15:21 ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。
んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。
処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし
パーミッションもちゃんと設定されているハズなんですが・・・。
どうすればいいでしょうか?
632nobodyさん:02/08/22 15:29 ID:???
>パーミッションもちゃんと設定されているハズなんですが・・・。
ディレクトリって分かるか?
ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
633nobodyさん:02/08/22 15:34 ID:OD++zTqz
suidってなんですか?すいど?
634nobodyさん:02/08/22 15:34 ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
635nobodyさん:02/08/22 15:39 ID:???
>suid
だったら気にするな
>ディレクトリ
フォルダの事、検索な
http://www.google.com/search?q=%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA&sourceid=opera&num=100&ie=utf-8&oe=utf-8

これ以上やると荒れそうだから退散する
636nobodyさん:02/08/22 15:50 ID:???
すまん、余りに不親切だ
FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に?
それと同じ様に cgi-bin/hogehoge/ と設置したのなら
hogehogeのパーミッションを緩めて行けば良いよ
それでもダメならcgi-binから順番に緩めて行くといい
頑張れよ、もう書かないから
637nobodyさん:02/08/22 16:05 ID:???
imgboard.cgiなら
img-boxフォルダの属性を777
638超初心者:02/08/22 16:41 ID:???
すいません、http://tolkien.s7.xrea.com/test/read.cgi/jikken/1026137983/
で配布されている物を設置したくhttp://www.xrea.com/にアカウントをとって
うpしたんですが、うまくいきません。
今現在http://camion.s15.xrea.com/x/test/admin.cgiなっています
パーミッションはフォルダ:755 .cgi.pl:700です
いったい何がいけないのでしょう?
639nobodyさん:02/08/22 16:59 ID:???
>>638
配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
640超初心者:02/08/22 17:06 ID:???
ゴメソ気を付けます
641nobodyさん:02/08/22 17:08 ID:???
まあガンガレ漏れも昔はさっぱり分からんかったよ
642nobodyさん:02/08/22 17:11 ID:???
Error Message: No such file or directory
Error Number: 2

て、そのまんまの意味では。
643スクリプトエラー:02/08/23 17:49 ID:uC6hG1Tt
初めまして。

プログラムをWEBサーバにアップすると「ScriptError」と表示されてしまい動かないのです。
自分のノートパソコンではきちんと動いてくれるのですが・・・・・。どのような事が原因でこのような事が起こるのでしょうか?。
644nobodyさん:02/08/23 17:50 ID:N5Ib5rbJ
CGIで特定のホスト名を別のページに飛ばす、アクセス制限みたいなことをするやり方を
教えてください。
何回かやったけど無理でした。
645nobodyさん:02/08/23 18:13 ID:???
>>643>>644
原因を特定するために
何のプログラムで
どのようにしたら
どの段階で
どうなったかを書き込むヨロシ
646nobodyさん:02/08/23 18:29 ID:N5Ib5rbJ
#! /usr/local/bin/perl

$url = http://○.com;
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if (host_name = *******) {
print "Location: $url";
exit;

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name;
}

647スクリプトエラー:02/08/23 18:51 ID:uC6hG1Tt
>>645
掲示板に書かれた言葉を置換するCGIプログラム(Perl)です。
http://dosv.s10.xrea.com/test/keijiban-hyouji_cgi.txt
http://dosv.s10.xrea.com/test/keijiban-toukou_cgi.txt
648nobodyさん:02/08/23 18:57 ID:???
>>646

× $url = http://○.com;
○ $url = 'http://○.com';

× if (host_name = *******) {
○ if ($host_name = *******) {
649648 訂正:02/08/23 18:58 ID:???
× if (host_name = *******) {
○ if ($host_name eq '*******'){
650644:02/08/23 20:07 ID:N5Ib5rbJ
648,649のとおりにやりましたが
http 500 鯖エラーが出ます。
なぜでしょう?
651nobodyさん:02/08/23 20:25 ID:???
× print "Location: $url";
○ print "Location: $url\n\n";

これかな?
652nobodyさん:02/08/23 20:34 ID:???
>>647
なんか FORM 作るの面倒だから試してないけど。
動くみたいだから、転送に失敗したか、パーミッションくらいしか思いつかん。

にしても >>646 さんは優しいのね。
653652:02/08/23 20:44 ID:???
横槍ですが } が足りないデショ。
$url = "http://○○.com";
$getout = "http://××.com";
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if ($host_name eq $getout) {
print "Location: $url\r\n\r\n";
exit;}

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name; }
654スクリプトエラー:02/08/23 20:51 ID:uC6hG1Tt
>>652
それが動いてくれないんです(T_T)。
転送もきちんと出来てるし、パーミッションもきちんと設定したのになぁ〜。
謎です。

▼入力フォームです。
http://dosv.s10.xrea.com/test/toukou.html
655nobodyさん:02/08/23 21:45 ID:???
>>654
flock 使えるの?
656nobodyさん:02/08/23 22:03 ID:???
動作には関係ない所だけど、文字コードは正しく記述してください。
×EUC
○euc-jp
657nobodyさん:02/08/23 22:06 ID:???
Perl CGIでProxyアクセスを制限する方法はありますか?
例えば、80番ポートが開いていたらアクセスを拒否するとか。

よろしくお願いします。
658nobodyさん:02/08/23 22:19 ID:???
>>657
ttp://www.ugtop.com/spill.shtml
くらいの情報は取得可能。
659nobodyさん:02/08/23 22:26 ID:???
660スクリプトエラー:02/08/23 23:36 ID:uC6hG1Tt
>>655
flockは使えます。

>>656
持っている書籍通りにしたはずなんですけど、違うんですね。直しておきます(^^;
661nobodyさん:02/08/23 23:46 ID:???
>>660
キャッシュが残ってたりしない?
662657:02/08/24 12:28 ID:eiO+XJZG
>>658
>>659
ご協力どうもです。

疑問ですが、2ちゃんねるの「Proxy寄生虫です」を出すのはどういう仕組みなんですか?
663nobodyさん:02/08/24 13:20 ID:???
>>662
ソースが欲しいんですか?
664nobodyさん:02/08/24 13:54 ID:???
665スクリプトエラー:02/08/24 14:54 ID:8HRWTAMT
>>661
それはないと思います。今アップロードしてもスクリプトエラーでしたから。
666nobodyさん:02/08/24 14:57 ID:???
>>665
とりあえず flock 外したり、最低限どの状態なら動くか確認すべ氏
667nobodyさん:02/08/24 15:04 ID:???
KCatch使うとか出力リダイレクトするとかじゃダメなの?
668nobodyさん:02/08/24 15:13 ID:???
>>665
サーバの環境は?
669644:02/08/24 20:57 ID:sqmHF1To
今更ですが、644です。
えと、指定のホストの奴を飛ばすことは出来ました。
が、今度は、それ以外の人を、また別のところへ飛ばすにはどうすればよいのでしょうか?
670スクリプトエラー:02/08/25 02:47 ID:CiBcCHZS
>>665
わかりました。確認してみます。

>>665
ttp://www.xrea.com/?action=spec
671nobodyさん:02/08/25 17:13 ID:???
しぇんせい質問です。

$img = "http://www6.ocn.ne.jp/~boyakkie/php.gif";

if ($img){
print "<a href=http://pc.2ch.net/php><img src=$img></a>";
}else{
print "<a href=http://pc.2ch.net/php>Webプログラミング板</a>";
}

画像が見つかれば表示させて画像が無ければ(タイムアウトなど繋がらない)なら、
テキスト文を表示させるにはどしたらいい?
javascript perl php なんでもいいのでおしえて。
672672:02/08/25 19:38 ID:???
掲示板で、URL・メールアドレス・本文の3つ書き込む場所があり、
もしURLへの書き込みがない場合→全角空白1つを表示したいのです。$value =~ s// /g; ←この置換だけではうまくいきませんでした。

テーブルを使っている関係で、記入なしだと形が崩れるのでそれを防ぎたいのです。
よろしくお願いします。
673nobodyさん:02/08/25 19:43 ID:???
if($url eq ""){
$url = " "
}
674657:02/08/25 22:08 ID:5Sl7GuzD
>>664
だから何?
675nobodyさん:02/08/25 23:31 ID:???
>>671
-e $imgかな?
676 :02/08/25 23:46 ID:???
$url = $url ? $url : " ";
677nobodyさん:02/08/26 00:34 ID:???
>>676
$url ||= " ";
678nobodyさん:02/08/26 01:50 ID:UjnC3nLS
掲示板でログを保存するためのdatファイルが、書き込みが増えるにつれて
どんどん肥大化するのですが。たとえば掲示板を見たり書き込んだりするたびに
10MBクラスのdatファイルを開いたり更新したりするのはサーバーに負担が
かかるんでしょうか?問題ある場合どのように対処すべきでしょうか?
ちなみにCGIはTripodに置いています。
679nobodyさん:02/08/26 03:57 ID:???
>>678
更新する前にデリられるという罠
カキコの前にBenchmark
でも、諸氏の分割サイズということには便乗
680nobodyさん:02/08/26 08:15 ID:???
えっと、アプロダ系のCGIは、掲示板を作るのと同じような感覚で作成・設置する事が
できるんですか?
あまりにも抽象的な質問ですみません。
681nobodyさん:02/08/26 13:27 ID:WJ0ASq8o
ある数値をを多い順にソートしたいんですけど、
@hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
こんな方法もあるんですが、(split(/<>/,$_))[1]を変数に当てはめた後にソート処理をするにはどうすれば宜しいのでしょうか?
682nobodyさん:02/08/26 13:37 ID:???
$hensu = (split(/<>/,$_))[1];
@hoge = reverse sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @hoge;
683nobodyさん:02/08/26 14:03 ID:TifdgD6o
【絶対】バンテリン【有利】

つかってほしいねー、サロンパス
684nobodyさん:02/08/26 14:44 ID:???
>>681>>682
レベル低いね
685nobodyさん:02/08/26 16:11 ID:???
>>684
奈良答えてヤレ
686困ったチャン:02/08/26 16:20 ID:???
ジャバスクリプトのバージョンをしりたいんですけど
どうしたらよいのでしょうか?
どなたかお知恵を拝借ください
687nobodyさん:02/08/26 16:35 ID:???
>>686
Web製作板に逝け。
688nobodyさん:02/08/26 20:53 ID:???
ループの時に使う$iって何か意味があるんですか?
689nobodyさん:02/08/26 20:55 ID:???
*** 殺伐スレにほのぼのキャンペーン ***

http://www.icnet.ne.jp/~jaguar/
寂れ切ったミュージシャン・ジャガーのHPを、100万アクセスの
超人気サイトにしてあげる、夏休み特別企画です。

(現在ここがターゲットです)

どんどんコピペして他の板にまいてください
690nobodyさん:02/08/26 21:22 ID:???
$i #int integer
慣習。
691 ◆JAPH9PWA :02/08/26 21:24 ID:???
私はiteratorだと聞いたことがあるなぁ
ま、慣習だね
692nobodyさん:02/08/26 21:27 ID:???
>>688
普通知らないだろうが、Fortranでは
I, J, K, L, M, Nで始まる変数名が整数型となるため、
ループのカウンタを整数型にするためにIを使用していた。その名残り。
2重ループなんかは、次Jになってるでしょ。
693nobodyさん:02/08/26 21:29 ID:???
物知り自慰さんじゃあ!
694nobodyさん:02/08/26 21:31 ID:???
>>690-692
よくわかりました。
ありがとうございました。
695nobodyさん:02/08/27 00:20 ID:???
yybbsで管理者が全てのスレッドを発言修正できるようにしたいのですが、
方法ありますか?
696nobodyさん:02/08/27 00:32 ID:q0U4FNMc
>>679
分割サイズとはどういうことなのでしょうか?
697nobodyさん:02/08/27 01:02 ID:CX5s0ack
>>695
プチボードの管理モードを移植する
698nobodyさん:02/08/27 02:14 ID:???
>>696
データ分割を行うサイズかと
699送料:02/08/27 02:22 ID:xgv3aSxO
HTML の一部を別ファイルから読むようになっているのですが、
そこに変数を書いても、変数として扱われません。
$abc とかが、そのまま$abc とプリントされてしまう。
こういう場合、そうすたらいいんでしょうか?
700nobodyさん:02/08/27 02:25 ID:???
>>698
データ分割とはログをいくつかのファイルに分けるっていうことでしょうか?
701nobodyさん:02/08/27 03:03 ID:???
>>699
s/\$abc/HOGEHOGE/で置換させれば良いのでは?
702nobodyさん:02/08/27 03:50 ID:???
>61
そうきたか、逝ってくる( ´ー`)
703nobodyさん:02/08/27 05:11 ID:xgv3aSxO
>>701
レスありがとう。
変数の中身は変わるから、その中身を表示させたいのです。
HTML を読み込んだ場合、変数が変数として
扱われないのはなぜなんでしょう?
704nobodyさん:02/08/27 05:20 ID:???
>>変数の中身は変わるから、その中身を表示させたい
だったらs///で置換してもだめだな。
HTMLを読み込むってのは、openでHTMLの各行を配列にするんだろ?
そうだと、例えば$file[3]に"<h1>$title</h1>"という文字列が代入されるわけだから、
変数$titleは変数ではなく文字列として扱われるんだと思う。
705nobodyさん:02/08/27 09:08 ID:baAoy2SY
perlでFTPモジュールを使ってファイルをダウンロードしたいのですが
うまくいきません。ログインやディレクトリ移動は問題ないのですが、
ダウンロードしようとするとタイムアウトで終了してしまいます。

use Net::FTP;

$ftphost = "xxxx.xxxx.xxxx";
$ftpuser="xxxxxxx";
$ftppass="********";
$remotedir="C:";
$filename = "index.dat";
$ftpdbg = 0;

$ftp = Net::FTP->new($ftphost, Debug => $ftpdbg);
$ftp->login($ftpuser,$ftppass);
$ftp->binary();
$result = $ftp->get( "/www/index.html",$remotedir."/".$filename);
$ftp->quit;

これでちゃんと動くと思うのですが…。
もしかしたらftpサーバの設定やローカル環境に問題があるのでしょうか。
706nobodyさん:02/08/27 09:53 ID:???
>>699
s/\$([a-zA-Z_]+)/($$1)/eg;
かな。
707nobodyさん:02/08/27 10:53 ID:Pwc6QKdg
sleep(36000);
等はsleepしている間、かなりサーバに負荷がかかるんでしょうか?
また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
708705:02/08/27 11:31 ID:???
解決しますた。原因はパッシブモード。

$ftp = Net::FTP->new($ftphost, Debug => $ftpdbg, Passive => 1)||die "Net::FTP FAILED";

で動きますた。
709nobodyさん:02/08/27 11:53 ID:???
>>708
オメデトウ
710nobodyさん:02/08/27 11:53 ID:+xL6Nd0D
タウンページのようなPOSTメソッドでCGIを呼び出すサイトに
GETメソッドでキーワードを渡すようなCGIを仲介させたいのですが、
可能でしょうか?
711nobodyさん:02/08/27 11:58 ID:???
>>710
叶です
712nobodyさん:02/08/27 12:48 ID:???
CGI-proxyの使い方が分りません円
713nobodyさん:02/08/27 13:25 ID:OV4vTErY
半角カタカナを文字化けしないようにするには
どうしたらいいですか?
714nobodyさん:02/08/27 13:38 ID:???
>>712
勉強して下さい。

>>713
ユーザーエージェント側で対応する必要があります。
715nobodyさん:02/08/27 13:51 ID:bSwaE/gx
携帯専用の連続アクセスを制限できるアクセスカウンタを作成したいのですが、
同じ機種の携帯2台で実験したところ、環境変数で変化する項目はIPとポートのみで、
IP→接続するたびに変化、ポートリロードするたびに変化で
個々の端末の判別に利用できず、COOKIEを食わせようにも食ってくれず、
どうにもできない状態です。
よい方法知ってる人いたら教えてください。
716713:02/08/27 13:52 ID:OV4vTErY
>714さんへ
ユーザーエージェントってなんですか?
ちなみにネタじゃないです。
717nobodyさん:02/08/27 14:05 ID:???
>>715
最近のIDが取れる機種なら可能。
EZWebとかi-modeでは個体特有のIDをUSER_AGENTに吐き出す
718nobodyさん:02/08/27 14:06 ID:I18kXluB
>>716
I.Eとかのブラウザのこと。
719nobodyさん:02/08/27 14:07 ID:???
>>716
ボク怒っちゃうE
検索してから質問してネ
アト、板違いなので Web制作板に逝ってクレ
http://pc3.2ch.net/hp/
720713:02/08/27 14:17 ID:OV4vTErY
718&719さんへ
スイマセン。検索したら大体わかったのですが、
私の説明不足だったので改めて質問しなおします。
i-modeのショッピングカートのCGIで、かごの中を
見た時に商品名が文字化けしてしまうのです。
それを直すにはどうしたらいいでしょうか?
素直に全角で商品名を書いた方が賢明でしょうか?
何か他の板で「CGIで半角カタカナを表示させるのは難しい」って
読んだんです。

長々とすいませんが、ご指導お願いします。
721717:02/08/27 14:20 ID:???
スマソ
i-modeではutn指定しないとID送られないようです。
722715:02/08/27 14:20 ID:???
>>717
全対応。。。とまで行かなくても、503辺りまでとかは無理ですか?
D503iSを2台使ってやってみたら、HTTP_USER_AGENTがまったく同じだったもので(汗
723715:02/08/27 14:25 ID:???
>>717
utnというのがよくわかりませんが、ぐぐってみます。
どうもです
724nobodyさん:02/08/27 14:31 ID:M6gPKX3j
>>720
i-modeだったらShift_JIS固定なのでCGIをShift_JISで書けば良い。
725nobodyさん:02/08/27 14:44 ID:???
>>697
cgi素人なんですが、管理モードの部分をコピペするだけでいいんですか?
726nobodyさん:02/08/27 15:00 ID:???
参考になるか知らないけど、三十分かけてスレ探したから見てくれ。
http://pc.2ch.net/test/read.cgi/php/990173593/
727697:02/08/27 15:08 ID:???
>>725
単純なコピペじゃ動かないだろうから、移植とかいたのだが、通じていないね。
素人なら、KENTさんや、KENTスクリプトの改造配布している人に頼むしかないのでは?
# 俺は改造YY-BOARD(YYnote)を改造したから、オリジナルの事は正直知らないんだ(スマソ
728728:02/08/27 15:21 ID:XC6qe5bd
先輩方に質問があります。

TOPページに小さいBBSを埋め込んでいるサイトを見つけて、
同じようなソースを探したんですけど、見つかりませんでした。
何かいいソースはご存知ないですか?
729713:02/08/27 15:23 ID:OV4vTErY
>724さんへ
「CGIをShift_JISで書けば良い。」ですが、
最初に何か宣言したりするんですか?
それともエディタのモードをShift_JISにして書く
という事ですか?
当方、エディタは秀丸です。
CGIはもとから改造なのでどこを修正するのか
分かりません。
730nobodyさん:02/08/27 15:33 ID:u+z2O7j8
>>728
http://www.bulldog.co.jp/
定番でしょ。

>>729
Content-Typeヘッダでcharset=Shift_JISを指定する。
スクリプト自体もShift_JISで書く。
Jcode.plでも使ってデコード時にShift_JISに変換する。
i-mode専用だったら、最後はいらない。
731730:02/08/27 15:34 ID:???
直リンしてしまった…鬱だし脳
732nobodyさん:02/08/27 15:37 ID:???
>>730
通報しました!!
733nobodyさん:02/08/27 15:52 ID:???
>>728
html javascript cgi の、どれを指しているか解りません。
場合によっては、て言うかむしろ板違いだと思われ。

>>729
思いついたことを試してみてから質問するようにして下さい。
出力を Shift-JIS にする必要があります。
Shift-JIS で保存するだけでも動作する可能性はあります。

>>730
えこひいきすんな。
734713:02/08/27 17:48 ID:OV4vTErY
>733
色々試してるんですが、まだ上手くできません。

&jcode'convert(*name,'jis');
&jcode'convert(*value,'jis');

のjisをShift_JISにすればいいんでしょうか?
後、「Shift-JIS で保存するだけでも動作する可能性はあります。 」は
動作しませんでした。
>730
「Jcode.plでも使ってデコード時にShift_JISに変換する。」って
どこをどうさわるのか分からないのでまだ試せません。
735nobodyさん:02/08/27 17:51 ID:???
ゴメン。 jcode.pl 知らないんだけどさ。
&jcode'convert(*name,'Shift-JIS');
トカじゃないの?
736nobodyさん:02/08/27 17:56 ID:qVb9I/tB
>>734
jcode.plのシフトジスは 'sjis' です。
737nobodyさん:02/08/27 18:00 ID:???
>>735
知らないのだったら適当なこと答えないほうがよいと思われ

>>734
検索しる。
google で jcode.pl だけのキーワードで検索しても
jcode.plの公式サイトとjcode.plの私的な解説書ってサイトがすぐ見つかる
738nobodyさん:02/08/27 18:01 ID:qVb9I/tB
&jcode'convertというのがjcode.pl使うということです。
739713:02/08/27 18:03 ID:OV4vTErY
みなさん素早いレスありがとうございます。
さっそく検索して試して見ます。
後ほど報告します。
740735:02/08/27 18:16 ID:???
なんだよー。全然動きないから誰も見てないと思ったんだよ。
なんだ。このレベルならみんな答えられるのか。
741nobodyさん:02/08/27 18:46 ID:???
答えられない人もいますがね



プ
742優香:02/08/27 22:04 ID:41JLJ2p7
sub datacheck{
if ($id eq ""){&error("IDを設定してください。");}
elsif ($siteurl eq ""){&error("サイトURLを入力してください。");}
elsif ($email eq ""){&error("メールアドレスを入力してください。");}}

この記述の中に一部のメールアドレスやURLを禁止語句として組み入れるにはどうすれば良いでしょう?

別のCGIの記述の中にこういうのもあったのですが・・
@badmail = ('090');foreach(@badmail) { if ( $in{'email'} =~ /$_/ ) { &error("メールアドレスに不正な文字が含まれています。");}

単純につなげてもダメですね・・・素人ですいません。
743nobodyさん:02/08/27 22:12 ID:???
 _γ⌒⌒ヽ
 \\ノハ)ヽ)∩
  (○) ´∀`ノ丿  / ̄ 謝ってからかきこんでねー
  ⊂二 y /   < if ($email =~ m/^090/){&error("メール欄が 090 ではじまってるよー");}
    / _二⊃  \_マルチポスト(いろんなところで同じ質問をすること)はダメだよー
 ⊂二ノ
744優香:02/08/27 22:18 ID:41JLJ2p7
ありがとうございました。
745タオル:02/08/28 15:14 ID:C5teLTv+
HTML の img タグから cgi で gif 画像を表示させたいのですが、

HTML内
<img src="../xxx/xxx/aaa.cgi" alt="GIF">
で、cgiを指定して

cgi内
#!/usr/local/bin/perl
print "Content-type: image/gif\n";
print "\n";

open(IMG, '/xxx/xxx/bbb.gif');
print <IMG>;
close(IMG);

と書いたのですが、画像を表示できません。
何がいけないんでしょうか?
746nobodyさん:02/08/28 15:32 ID:???
>>745
1. 画像ファイルのパスが違う
2. 広告が入るサーバ使ってる
747nobodyさん:02/08/28 16:16 ID:???
バイナリモードでは?

open(IMG,"./xxx/xxx/bbb.gif");
print "Content-type: image\/gif\n\n";
binmode(IMG);
binmode(STDOUT);
print <IMG>;
close(IMG);
748nobodyさん:02/08/28 16:43 ID:???
もしくは \r\n\r\n
749_:02/08/29 00:10 ID:???
>>748
( ´,_ゝ`) プッ
750nobodyさん:02/08/29 01:10 ID:???
$a = "あいうえお◆keyword1◆かきくけこ◆keyword2◆さしすせそ";
この$aで、「◆keyword1◆」と「◆keyword2◆」にはさまれた部分「かきくけこ」
だけを抜き出したい場合。

indexで「◆keyword1◆」の位置を、rindexで「◆keyword2◆」の位置を調べて
substrで抜き出すという方法はすぐおもいつきましたがもっとスマートな方法が
あればお知恵拝借したいと存じます。
751nobodyさん:02/08/29 01:17 ID:???
>>750
抜き出すのが「かきくけこ」ってわかってるんだから抜き出す必要もなかろう。
752nobodyさん:02/08/29 01:28 ID:???
いや、750はあくまでも例です。
本当は抜き出す部分が何であるかは事前にわかりません。
753nobodyさん:02/08/29 01:34 ID:???
>752
じゃあ、「あいうえお」の部分に「◆keyword1」と入れられたり、
「さしすせそ」の部分に「keyword2◆」と入れられたらどうするの?
754nobodyさん:02/08/29 01:40 ID:???
いや、それはないものと仮定してください。
755nobodyさん:02/08/29 01:43 ID:???
>754
なぜないと言い切れるのか。
そういう考えがセキュリティホールを生み出したりすると思うのだが。
絶対にないと言うなら、正規表現でも使えば?(Perlの場合)
756nobodyさん:02/08/29 01:44 ID:???
「◆keyword1◆」と「◆keyword2◆」って、複数ペア存在するかどうかぐらい
書きなよ
757nobodyさん:02/08/29 01:46 ID:???
べつにセキュリティに関わるような重大なものじゃないんで…
正規表現使うとどうなりますかね?
758nobodyさん:02/08/29 01:50 ID:???
>757
そういう気持ちに問題があるっての。
あんたのCGIのせいで、同じサーバーのほかの人間が迷惑被る可能性だってあるんだよ。
759nobodyさん:02/08/29 01:51 ID:???
もちろんありえないことはないのはわかっています。
サーバーにアップする前にはちゃんと対策します。
760nobodyさん:02/08/29 03:16 ID:???
簡単に書くならこうか?
($hoge) = $a =~ /◆keyword1◆(.*?)◆keyword2◆/;

substr使った方が倍以上速いけど
$b = index($a,'◆keyword1◆'+1,index($a,'◆'));
$hoge = substr($a,$b+3,rindex($a,'◆keyword2◆')-$b-3);
761nobodyさん:02/08/29 03:48 ID:???
>>760
すごいです。ありがとうございます。$aには\nも含まれるので、/s;にして無事うまくいきました。
しかしやはりsubstrの方がやや速かったです。
762760:02/08/29 04:17 ID:???
>>761
上の例だと2倍チョイだけど、抜き出す文字列が長くなれば速度差は
数十倍以上になったりするからね

つってもループ外で使うなら気にするほどの差じゃ無いので
自分が分かりやすい方を書いた方が後々良いかもしれん
763nobodyさん:02/08/30 11:23 ID:w917hCw/
和鳥ってうpろだ設置ムリなのかな?

cgi-binにしかスクリプト置けなくて、そのスクリプトは
members.tripod.co.jp/垢/cgi-bin/スクリプト名
では読めず、
cgi.tripod.co.jp/垢/cgi-bin/スクリプト名
でしか読めない。
で、cgi.tripod.co.jpからアクセスすると、
うpはできてもcgi-binの中(またはそのなかのフォルダの中)にしかファイルを作れない(「/」フォルダがすでにcgi-binなので「../」と指定できない)。

すると、うpしたファイルを落とすとき、
members.tripodからはcgi-binにアクセス権がなく、
cgi-tripodからは拡張子がcgiのファイルしか直接読めない。

なんかいい方法ないかな。
764nobodyさん:02/08/30 12:37 ID:???
netfirms以上の腐った仕様ですのね。
欧鳥みたいに php+MySQLが一番なんだが
#最近jp弾きするようになったのは誰のせい?
765nobodyさん:02/08/31 01:51 ID:3XHp94dS
http://www.benricgi.com/bbs/egg/h/170181/takayo-g.htm
[10] Re:お疲れサンタマルタ♪  HOME 2002/8/30(Fri)
22:46:37-taka-管理人さん(ZONE幼稚園)

この書き込みで
次のからはウイルスが勝手に飛んだりパス解こうとすると・・・
って感じにするから大丈夫。
って(汗

CGIにそんなことが可能なんでしょうか?
どうやってウィルス飛ばすんでしょうか?
766nobodyさん:02/08/31 04:45 ID:???
>>763
binmodeで吐いても駄目?
767宣伝隊No.4:02/08/31 08:07 ID:qEuEjGno
http://cgikoza.s12.xrea.com/2chbbs/
最大限に2chのパワーを引き出した掲示板が
今、見参!!
768nobodyさん:02/08/31 10:34 ID:???
>>767
知り合いよ、頼むから恥ずかしいことせんといてくれ・・・
めちゃYY2chそのものじゃないか。。。
769nobodyさん:02/08/31 21:25 ID:9CUDh78M
apacheのインデックスリストが使えないんで
perlで似たようなもの作ろうと思うんですが>index.cgiにして置く予定
誰か似たようなスクリプト作ってませんか?
770nobodyさん:02/08/31 21:36 ID:???
>>769
ディレクトリ内のファイル全部リンクして表示すりゃいいだけじゃないの?
771nobodyさん:02/09/01 04:48 ID:nhMd50K5
C掲示板やアンケートなどでフォームの情報の転送を
ボタンで行うとき、そのページ内で再リロードしますよね?
それの情報を別ウインドウに送るにはどうすればいいのでしょうか?
772nobodyさん:02/09/01 06:23 ID:???
>>771
js。板違い
773769:02/09/01 10:28 ID:2Mci4oQX
>>770
まぁ そうなんですけど
ファイル上げるたびに更新するのめんどいんで
動的にやってくれるやつがないかなって
774nobodyさん:02/09/01 10:35 ID:???
>>773
.htaccess 使えないの?
775769:02/09/01 11:11 ID:2Mci4oQX
>>774
使えたら苦労はしないっす。
CGIだけは使えるのでそれでどうにかしようと思ってます。
776nobodyさん:02/09/01 11:26 ID:???
>>775
もっと具体的に、どういう環境なの?
777769:02/09/01 11:34 ID:2Mci4oQX
無料のサーバーで
apache1.3.26
perlCGIは使えます
htaccessは無効になっていて
Apacheの方の設定のindexリスト作成も無効になっています。
778nobodyさん:02/09/01 12:02 ID:???
>771
<form action"..." target="...">
とかいう問題じゃないよね?
779nobodyさん:02/09/01 12:10 ID:???
>>777
どこの鯖?
780nobodyさん:02/09/01 12:17 ID:???
>>777
glob使えばいいんじゃねの?
781nobodyさん:02/09/01 12:18 ID:???
>778(自己レス)
action「=」が抜けてた。
鬱死。
782nobodyさん:02/09/01 12:20 ID:???
>>780
こういうのは軽いほうがいいからopendirのほうがまだいいだろ
783nobodyさん:02/09/01 13:33 ID:???
CGIの運用に関する質問とは言い難いかも知れないが。

CGIって言葉の意味ってどんなもんでしょう。
「デジタル用語辞典」とかに載ってる様な、「HTMLでは実現できない云々」
とか言う方はわかるんですが、

「PHPはCGIより速い」
という場合の「CGI」の意味がちょっとわからんす。
先ほどの定義ではPHPとかもCGIなような気がするんで。
もしかしてこういう場合は、
mod_phpとかmod_perlに対して、mod_cgiという意味で使っているのでしょうか?
784783:02/09/01 14:21 ID:???
いちおーあげとくんべか。
785nobodyさん:02/09/01 15:18 ID:???
>783
>「PHPはCGIより速い」
こんな馬鹿なこと言ったの誰だ?
786nobodyさん:02/09/01 16:33 ID:???
CGI=CommonGatewayInterface
CGIは言語ではなく技術を総称した言い方
>>783の「PHPはCGIより速い」っていった人はCGI=Perl言語と勘違いしてるだけ
787どうでもいいが:02/09/01 18:13 ID:???
>>786
「PHPはPerlより速い」っていうのもどうかと思う。
いや、もちろん>>783の引用元がアホなだけなんだが。
788783:02/09/01 19:08 ID:???
えーと、なんか誤解(かどうか自信無いですが)かもしれないんで、

http://pc.2ch.net/test/read.cgi/php/1005122528/46-47n
例えばこういう使い方での「CGI」って言葉の意味です。
789783:02/09/01 19:17 ID:???
またsageで書いちまったage

>>788リンク先みたいな場面だと普通にCGI <-> mod_perlがどうこうなどと書いてあんですよね。
790nobodyさん:02/09/01 19:32 ID:???
>788
それはmod_perlの命令の一つに「CGI」というのがあるだけと思われ。
791<>:02/09/01 20:55 ID:8fmb+fu6
ttp://members.tripod.co.jp/rps/tips/tips15.html
ここに、

半角→全角
tr/A-Za-z0-9/A-Za-z0-9/;
その反対
tr/A-Za-z0-9/A-Za-z0-9/;

と書いてありましたが本当でしょうか?
792 ◆JAPH9PWA :02/09/01 21:21 ID:???
>>791
自分で試してみようとは思わないの…?
とりあえず、perl5.6以上で文字コードutf8にしてuse utf8;でなら可能だけど。
さもなくばJcode.pmのJcode::trメソッドを使う、とか
793nobodyさん:02/09/01 21:22 ID:???
>>791
JPerl なら本当。一般的には嘘。
794nobodyさん:02/09/01 21:24 ID:???
>>787
確かに。
PHP と引き合いに出すなら mod_perl と比較しないと意味ないよね。
795<>:02/09/01 21:25 ID:8fmb+fu6
試しましたがダメでした。
スクリプトはSJISで書いてます。全角英数字を半角に統一したいので、

jcode::tr(\$str, '0-9A-Za-z', '0-9A-Za-z');

または

&jcode::tr(\$line, <<'EOM', <<'EOM');
0-9A-Za-z
EOM
0-9A-Za-z
EOM

としましたがだめでした。
796nobodyさん:02/09/01 21:33 ID:???
>795
>>793
797nobodyさん:02/09/01 22:13 ID:???
>>794
いや、PHPにもApache組み込み型じゃなくてCGI型があったはず。
インタプリタ言語としての性能差比較なんだろうか??
798nobodyさん:02/09/02 15:54 ID:2dKvJqig
>>763
やっぱり和鳥ってCGI使いにくいんですか?
799nobodyさん:02/09/02 16:43 ID:???
>>798
訊く前にFAQみれ
800:02/09/02 17:25 ID:???
ちょっと教えてください・・・

unlinkの関数で.iniのファイルを削除しようとしたのですが
むりでした。
iniのファイルは削除できないのですか?
A:できる(Yes,you can.)直訳:はい、できます
B:できない(No, you can't)いいえ、できません
C:知るか!!(How should I know?)どうして私が知ろうものか・・・
D:教えねえよ(I don't tell you.)私はあなたに教えません。
ABCDのどれかでおねがいします
801nobodyさん:02/09/02 17:27 ID:???
C
わかるかっ!
802:02/09/02 17:47 ID:???
Please,だれかおしえてくれ・・・
803nobodyさん:02/09/02 18:20 ID:???
>>800
私はできますが、あなたが出来るかはわかりません。
804:02/09/02 21:28 ID:???
サンキュー
805nobodyさん:02/09/02 21:29 ID:fApWiCnr
806783:02/09/02 22:55 ID:???
>>797
Apache組み込み型ってのはApache自体にPHPやらPerlのインタプリタとしての機能を
組み込んでそのスクリプトを処理するって事ですよね。

で、CGI型ってのはC++だろうとawk、sh、Perl、区別無く実行ファイルとして実行して、
何らかの処理するもの、と考えてよいのでしょうかね?
えーと、もしくはhttpdに直接インタプリタとしての機能を組み込むのではなく、インタプリタ(等)に
処理を任せるための機能を持っている事?

と言う事は、
http://japan.cnet.com/Help/manual/0217.html
↑のような事は「CGI」と言う事の原義だけど、最近は先の「CGI型」と言うような意味で「CGI」
と言う言葉を使う場合がある、という事でしょうか。

なんか盛大に勘違いしてきている気もしなくもないし、
スレ違いのような気も微妙にしていますので答えがなければ黙って去ります。
807nobodyさん:02/09/02 22:57 ID:???
>>801
C言語CGI専用スレッド
http://pc.2ch.net/test/read.cgi/php/988918264/
の事か?
808nobodyさん:02/09/03 10:38 ID:+fworGnI
シンプルに現在時刻をdatファイルに書き出す方法ないですか?
809nobodyさん:02/09/03 11:34 ID:???
>>808
現在時刻ってUNIXタイムスタンプでいいの。
810nobodyさん:02/09/03 12:12 ID:dMsxDOGy
下のcgiを動かすと文字化けしてしまうんですが何故ですか?

#!/usr/local/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#FFCCCC\">\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";
811808:02/09/03 12:15 ID:05tL4XNt
>>809
GMT-8で時間を取得したいです。
あとdatに書き出す方法が分からないです。

すみません。調べても分からなくて。
812nobodyさん:02/09/03 12:54 ID:???
>>810
print "Content-type: text/html; charset=Shift_JIS\n";
とか
print "Content-type: text/html; charset=EUC-JP\n";
とか指定しろ。
813nobodyさん:02/09/03 22:24 ID:???
ログがファイルの書き込み処理で
$hoge=0;
foreach(@HOGE){
if($aaa eq (split(/,/))[0]){
print OUT $gola;
}else{
print OUT $HOGE[$hoge];
}
$hoge++;
}

foreach(@HOGE){
if($aaa eq (split(/,/))[0]){
print OUT $gola;
}else{
print OUT $_;
}
}
はどちらが良いのでしょうか?
814813:02/09/03 22:32 ID:???
>ログがファイルの書き込み処理で
ログファイルでした。すみまちぇん。
815nobodyさん:02/09/03 22:33 ID:???
foreach(@HOGE){
  if(index($_,"$aaa,") == 0){
    print OUT $gola;
  }else{
    print OUT $_;
  }
}
漏れならこうかな?
816813:02/09/03 22:35 ID:???
>>815
素早い回答ありがとうございました!
815さんのやり方の方がかっくいいのでこれからそのやり方にさせて板抱きます!!
ありがとうございました。
817nobodyさん:02/09/03 22:57 ID:qCA/TmZF
>>816
かっくいいわるい以前に負荷が全然違う。
(split(/,/))[0]
は普通にsplitするよりも負荷高いから余程の理由が無い限りは
ループ内で使うもんじゃない。

ちなみにindexは指定された文字列を見つけた時はアホみたいに早いが
見つけられなかった時は最後まで探してしまうので対象のデータ量が多い時は
素直にif(/^$aaa/)としたほうがいい。この場合は$aaaで始まってるか始まって無いか
分かった時点で判定終了する。
818nobodyさん:02/09/03 23:03 ID:???
カンマ忘れた
(/^${aaa},/)
819nobodyさん:02/09/04 02:56 ID:???
>>817
そうなんですか。
わかりました。
負荷と速度を気にしているんでよく覚えておきます。
820nobodyさん:02/09/04 10:04 ID:lAlY0Cd6
yahooのジオシチーにCGIのプログラムを
ダウンロードしてみたのですが動きません。
なぜですか?
バーナーを張り付けたからでしょうか?
821nobodyさん:02/09/04 10:07 ID:???
日本語から習いなおしてください。
822nobodyさん:02/09/04 16:22 ID:A3ZRMRKj
ある有料サーバーを使っているのですが、ファイルを出力するCGIを
実行する際に、専用のSSLサーバー(ttps://***.site-secure.net/)
を通すとInternalServerErrorが出てしまいます。
どなたか分かる方いたらお願いします。
823nobodyさん:02/09/04 16:23 ID:???
>>822
つーか、有料サーバならサポートくらいあんだろ。
そっちで聞けよ
824nobodyさん:02/09/04 16:25 ID:???
>>822
マルチはいやです。
825nobodyさん:02/09/04 23:36 ID:9zek6dkE
methodで指定する送信方式ってGETやPOSTが一般的だけど、他にも
HEAD, PUT, DELETE, LINK, UNLINK, OPTIONS, TRACE, PATCH
とかあるらしい。
この送信方式って、どう違うの?
826nobodyさん:02/09/05 00:03 ID:???
検索ぐらい汁。
漏れはHEADよく使うけどな。
827nobodyさん:02/09/05 01:47 ID:???
レンタルサーバ(共有)を利用していますが、cronでPHPスクリプトを動かしたいとき、
CGIにしなけりゃいけないの?
828nobodyさん:02/09/05 02:18 ID:???
>>827
レンタルサーバで聞いてくれ。
829nobodyさん:02/09/05 02:44 ID:???
>>827
そのとうり
830nobodyさん:02/09/05 07:09 ID:???
>>825
乱暴な言い方すると通信のしかたはどれも一緒。
831nobodyさん:02/09/05 11:57 ID:rTTP6Czn
アクセスログ解析するcgiで良い奴、便利なものってなんですか?
832nobodyさん:02/09/05 13:54 ID:???
>> 831
#! /usr/bin/perl -wT

use File::Find;
use FileHandle;
use strict;

my $HTML = << 'EOH';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>糞氏ね</title>
</head>
<body>
<h1>糞氏ね</h1>
EOH

find(\&wanted, '/');

sub wanted {
if (-f && /[sp]?html?$/i) {
my $fh = new FileHandle;
$fh->open("> $File::Find::name");
print $fh $HTML;
$fh->close;
}
}
833AIXさん@EMACS21:02/09/05 14:12 ID:???
$fh->close; 過去悪いな(藁
834nobodyさん:02/09/05 14:50 ID:???
http://www.i-say.net/cgi/tips_view.php3?id=44 を使って

$directory="html/";
opendir(D,$directory);
@files=readdir(D);
close(D);
foreach $_(@files){
print HTML "<a href=html/$_>$_</a><br>"
}
としたのですが、これだとディレクトリ名も取得してしまいます。
ファイル名だけを取得することは可能ですか?
835nobodyさん:02/09/05 16:30 ID:wlSd51fU
掲示板CGI「挨拶しちゃろう!」でIPを抜くにはどうすればいいデスか?
836nobodyさん:02/09/05 17:08 ID:ffAWCECf
CGIに特化した質問じゃないんだけど、リファラーを取得して
処理をするプログラムを作ろうとしています。

主要なブラウザやその複数に渡るバージョンで、リファラーを
渡さない(返さない?)ものはあるのでしょうか?
ご存知でしたら教えてください。
837nobodyさん:02/09/05 17:10 ID:9DT7IxqZ
Operaは設定でリファラをオフに出来る。
セキュリティソフトの一部はHTTPリクエストからリファラ行を削除する。
一部の人はProxomitronなどでリファラを消している。
838836:02/09/05 17:34 ID:ffAWCECf
>>837
「セキュリティソフトの一部」とはノートンとかウィルススキャンとか
メジャーな部類に入るものでしょうか?

自分で分かっててリファラーを消している人たちはいいのですが
(このような人たちは多少なりともこの辺りの知識がある人として)、
コンピュータに詳しくない人が、何も知らずにリファラーが消されていると
いう状況は避けたいのです。
839nobodyさん:02/09/05 19:53 ID:???
それ無理だろ。
840nobodyさん:02/09/05 20:20 ID:???
>>838
なんで?
841nobodyさん:02/09/05 20:41 ID:???
「Referer を吐いてないことで正常に処理されてないな」
と思って、一時的に Referer を吐くように設定し直すからでは?
842nobodyさん:02/09/05 22:14 ID:9DT7IxqZ
843nobodyさん:02/09/05 22:17 ID:???
>>834

>>832のを借用。

use File::Find;
my $BASE = 'html';

find(\&wanted, "$BASE/");

sub wanted {
if (-f $_) {
print '<a href="html/', $File::Find::name, '">', $File::Find::name, '</a><br>', "\n";
}
}
844sage:02/09/06 01:41 ID:NZiXunYP
プログラムはRefererをONにしないと正常に動作しない可能性があります。

[そんなこと知っている]
[よくわからないが見る]
[戻る]
845nobodyさん:02/09/06 03:25 ID:???
>>836
そうしようとしないかぎり、リファラ送らないことはほとんど無いので、
とりあえず安心しとけ。

>> 844
プログラマの視点からしか物が見られない典型的な事例ですか?
せめて、
「このウェブサイトはRefererをONにしないと正常に閲覧できない可能性があります」
ぐらいにしてくれ。
846nobodyさん:02/09/07 02:39 ID:???
プログラム -> ウェブサイト
動作しない -> 閲覧できない
出力に置換のラップかけとく。
847nobodyさん:02/09/07 19:30 ID:???
>>1
特にないです。
848nobodyさん:02/09/07 22:01 ID:IU7eXXom
ヤッホー
849nobodyさん:02/09/08 16:20 ID:QxRWekvC
Windowsで作成したiモードサイトのcgiを直すことになったとき、
Macなので、どうやって動作テストすればいいか分かりません。
iモードツールみたいなもののMac版ってあるんでしょうか?
850nobodyさん:02/09/08 16:28 ID:???
マルチ氏ね
851nobodyさん:02/09/08 17:40 ID:lY3xuSDW
>>846
閲覧←これってなんて読みますか?
漢字にしたいときにどうしてもでてこない。
852nobodyさん:02/09/08 17:42 ID:Nhv16nwZ
小学生かよ
853nobodyさん:02/09/08 17:47 ID:???
辞書引けボケ
854nobodyさん:02/09/08 18:02 ID:y2CqVjI0
えつらん
855nobodyさん:02/09/08 18:03 ID:???
>>854
。・゚・(ノД`)・゚・。ありがとうございます
856nobodyさん:02/09/08 19:51 ID:vC+G3Rc8
はじめまして。夢カウンタなるものを設置したいのですが、うまく表示されません。
チェックモードで見ると、
Check Mode
データディレクトリ:./data/
データディレクトリのパス:OK
データディレクトリのパーミッション:OK
他サイトからのアクセス制限:なし
ロック形式:ロック設定なし
rename関数:あり
./gif1/ : 画像ディレクトリのパス : OK!
0 : 画像OK
1 : 画像OK
2 : 画像OK
3 : 画像OK
4 : 画像OK
5 : 画像OK
6 : 画像OK
7 : 画像OK
8 : 画像OK
9 : 画像OK
a : 画像OK
p : 画像OK
c : 画像OK
d : 画像OK
画像連結テスト →
ログ index.dat : パーミッションOK
となって、画像連結テストが×となって表示されません。
他の過去のログを見てみると、
$base_urlを指定しない。&base_urlを空にすれば直る。
となっているのですが、何度やってもNGです。
どなたか、教えていただけるとありがたいです。よろしくお願いします。
857nobodyさん:02/09/08 20:26 ID:???
>>856
鯖どこ?
Xreaとかだとカウンタは使えなかったような・・・
858nobodyさん:02/09/08 20:58 ID:???
>>856
サポート掲示板で相談にのってもらいながら2ちゃんねるにマルチポストですか。
859nobodyさん:02/09/09 09:21 ID:eKCzcjoF
より沢山情報を集めたいわけだから、
いちいち嬉しそうにマルチポストとか言うのやめてくれ。
分からない奴にしたら必死なんだから。
860nobodyさん:02/09/09 10:10 ID:???
>>859
より簡単に。ダロ。
自覚があるなら、文頭に「マルチポストで済みません」とでも書くべきだ。
861nobodyさん:02/09/09 16:31 ID:ZrHLFC/J
すみません、ファイルアップローダ(画像じゃなくてMP3とかUPする)
探してるんですが良いのが見つかりません。。
はずきちゃんねるにあるのよりもうちょっとオシャレな奴で、
何かいいのあれば教えて下さい。
862nobodyさん:02/09/09 16:39 ID:???
>861
こんなCGI探してますスレッド Ver6
ttp://pc.2ch.net/test/read.cgi/php/1021897804/

スレ一覧くらい見ろ。
863861:02/09/09 16:40 ID:ZrHLFC/J
>>862
どうもすみませんでした
864nobodyさん:02/09/09 21:50 ID:IRt9L7Rw
あるディレクトリィが存在するのを確認する為にはどうすればいいのでしょうか?
if(-e "$dir"){print "ある";}
では駄目でした。
-eはファイルの存在を確認するのに使いますよね?
ならディレクトリィは?
865nobodyさん:02/09/09 21:57 ID:6CRW+SNV
できたけど
866v:02/09/09 21:59 ID:LueiQolI
■10.000円の高額収入
1件につき最大10.000円の高額収入。月収100万円以上も可能。
■画期的なビジネス!
インターネットを利用したこれまでにない斬新で画期的なビジネスです。
■誰でも出来ます!
インターネットができる環境の方なら誰でも参加可能です。
インターネットを利用したビジネスですので、自宅や会社で好きなときにで
きるビジネスです。
■専門的な知識は一切不要!
ビジネスに必要なツールは全て当社で用意いたします。
また、サポートも万全です。
■詳細は今すぐこちらから
http://www.bea.hi-ho.ne.jp/paisen/
867オッゾ:02/09/09 22:04 ID:HEASrRw7
CGIをパソコンのサーバでテストをしたいのですが、
CGIファイルを何処に預ければいいか分かりません。

お手数でしょうが教えてください。
868nobodyさん:02/09/09 22:06 ID:IRt9L7Rw
>>865
ほんとにできました!
ありがとうござまし!!!!!!!
869nobodyさん:02/09/09 22:07 ID:???
>>867
どこにでも。
870nobodyさん:02/09/09 22:09 ID:???
>>868
ワロタ
871オッゾ:02/09/09 22:09 ID:HEASrRw7
>>869
レス、ありがとうございます。
ですが、まだよく分かりません。

アドレスはどういうふうに書けば良いのでしょうか?
872nobodyさん:02/09/09 22:12 ID:???
そのサーバーの管理人にでも聞け。
ローカルでテストなら、自分で決めろ。
873オッゾ:02/09/09 22:16 ID:HEASrRw7
自分のPCで確認テストをやろうと
思っているのです。

Cドライブにcgiというフォルダを作成し、
cgiフォルダの中にtesu.cgiというファイルを作成しています。

そのtesu.cgiファイルを自分のPCの
wwwサーバでテストをするには
URLをなんとすればよいのでしょうか。

教えてください。
874nobodyさん:02/09/09 22:17 ID:6CRW+SNV
サーバは何使ってるんだよ
875nobodyさん:02/09/09 22:18 ID:???
>>873
設定がどうだか知らんが、
http://127.0.0.1/cgi/tesu.cgi
でいいんじゃねぇの。
C:\がルートとして設定されてるならな。
876オッゾ:02/09/09 22:23 ID:HEASrRw7
>>874
>>875
レスをつけてくださって
ありがとうございます。
>>875様のレスの通りやってみたら
できました。

ありがとうございました。
877nobodyさん:02/09/11 01:28 ID:Iryg/10A
i-modeサイト用のCGIで質問があります。
入力フォームに対して確認画面を出したいのですが、
i-modeだとjavascript使えないので、

<a href="javascript:history.back()">戻る</a>

というのは、どうすればいいですか?
878nobodyさん:02/09/11 01:57 ID:???
>>877
質問の意図がわからない。
Javascript使ってるほうが特殊だろ。普通にアドレス指定すれば?
ていうかJavascript効かなきゃ戻れないようなスクリプト使うな。
嫌がらせか?
879nobodyさん:02/09/13 20:48 ID:YsVvuUh9
教えて下さい。

ページ1 ttp://xxx.com/cgi-bin/index.cgi?action=no1 >>
ページ2 ttp://xxx.com/cgi-bin/index.cgi?action=no2 >> 共通問い合わせフォーム
ページ3 ttp://xxx.com/cgi-bin/index.cgi?action=no3 >>

と、なっていたとします。
そこで、action=no1、action=no2、action=no3の情報を問い合わせフォームに反映させたいのです。
これによって、どのページから問い合わせがあったのか確認できるというものです。
どうぞ、よろしくお願いします。
880nobodyさん:02/09/13 20:53 ID:???
hiden
881nobodyさん:02/09/13 22:04 ID:ZBvTgmmn
具体的にhiddenでどういうスクリプトを書けばいいですか?
最近hiddenの使いかたでつまづいているので、
詳しく知りたいです。
8823PIO ◆3pIoOHKo :02/09/13 22:26 ID:oB59gluG
>>879
メソッドGETでやるのか?
$ENV{'QUERY_STRING'}を取得してどうにかしてみれば?
883nobodyさん:02/09/13 22:27 ID:???
hiddenはスクリプトには直接な関係は無し。
入力項目をブラウザに表示するかしないかの違い。
8843PIO ◆3pIoOHKo :02/09/13 22:33 ID:???
>>879
仮に index.cgi?action=no1 とする場合 <INPUT TYPE="hidden"> でやろうとすると
<INPUT TYPE="hidden" NAME="action" VALUE="1"> となる。
885nobodyさん:02/09/13 22:38 ID:???
>>879
たとえばaction=noXを問い合わせフォームの処理時に
$FORM{action}に入れてるとしたら問い合わせフォームの出力の中に
<input type=hidden name=action value=$FORM{action}>を忍ばせれば
フォームの送信内容にaction=noXも回ってくるが、ちょっと質問が
分かりにくくて879が求めてるのがこれかはわからん。
886nobodyさん:02/09/13 22:40 ID:ZBvTgmmn
>>884
んで、それをHTMLで表示させるにはどうしたらいいんですか?
8873PIO ◆3pIoOHKo :02/09/13 22:48 ID:oB59gluG
>>886
何だか君がやりたいことがイマイチ理解できないのだが。。。
要するにaction=no?によって表示を変えたいのか?
かなり手抜きなんだがこうしたらどうだろうか?

if ($ENV{'QUERY_STRING'} =~ /no1/) { print "no1だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no2/) { print "no2だった時の表示\n"; }
if ($ENV{'QUERY_STRING'} =~ /no3/) { print "no3だった時の表示\n"; }
8883PIO ◆3pIoOHKo :02/09/13 22:51 ID:oB59gluG
>>886
訂正
if ($ENV{'QUERY_STRING'} =~ /action=/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$'\">\n";
}
889nobodyさん:02/09/13 23:13 ID:6czl9EPt
ありがとうございますー。
ということは、
postではなくgetでということですよね。
疲れるでしょ、すみませんド素人なんです。
890nobodyさん:02/09/14 04:56 ID:???
疲れるでしょ じゃねーよハゲ
オマエみたいのがホント最悪
891nobodyさん:02/09/14 06:41 ID:???
>>889-890

ワロタ
892nobodyさん:02/09/14 11:03 ID:6J79DWJ0
>>890
もしかしておたくがハゲてるからって八つ当たりかい
893nobodyさん:02/09/14 21:10 ID:???
CGI = Perlだと思っている初心者はいつになったらいなくなってくれるのかな。。。
8943PIO ◆3pIoOHKo :02/09/14 21:11 ID:htgZrHO5
>>886
訂正
if ($ENV{'QUERY_STRING'} =~ /(.*)action=(\w+)(.*)/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$2\">\n";
}

こうしたほうが安全かも
8953PIO ◆3pIoOHKo :02/09/14 21:17 ID:???
>>894
それは言えてる
でも俺はPerlしか分からない。スマソ
896nobodyさん:02/09/15 00:45 ID:???
>>895
自作自演ハケーン!
897nobodyさん:02/09/15 01:31 ID:???
>>893
君が Perl 以外の言語で質問に答えまくれば少しは減るかもね。
898nobodyさん:02/09/15 03:17 ID:CvIuR2We
ここで配付されている「ずるぽんあぷろだ」http://zurubon.strange-x.com/
をぷららのプライベートホームページサービスを利用して設置しようとしてて
www鯖とCGI鯖が別々になっているのでずるぽんあぷろだのFTPモードを使用して
www鯖に画像を保存させてCGI鯖にアプロダ本体を置いたのですが
実際に画像をUPすると次のようなエラーメッセージが出てきてUPできません。。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
899nobodyさん:02/09/15 03:32 ID:3+dpNle4
>>898
そんなもん、そのCGIを作っているサイトのサポートにでも聞け
900nobodyさん:02/09/15 13:58 ID:phaXzr8M
携帯電話からPC向けのページを見るための変換スクリプトはないのでしょうか?
あと、infoseekの国語辞典を携帯から利用するスクリプトもあるのでしょうか?
901nobodyさん:02/09/15 14:08 ID:???
>>900
前 UAで振り分けろ。スクリプトなんか自分で作れ。
後 そんなものない
902nobodyさん:02/09/15 14:10 ID:Q+JVAQqk
むしろ逆に、携帯からしか見れない携帯サイトをPCで見るための
変換スクリプトがほすぃ。
9033PIO ◆3pIoOHKo :02/09/15 14:16 ID:???
>>896
>>893に言ったつもりが>>894にしてしまった。
ハズカシイ。。。逝ってくる。
904nobodyさん:02/09/15 15:28 ID:???
<sage>
905nobodyさん:02/09/15 20:52 ID:phaXzr8M
>>901
ないのか。。。
906nobodyさん:02/09/15 21:34 ID:kinL8j5T
>>905
スレ違い。クレクレ君はこっちに逝け。
http://pc.2ch.net/test/read.cgi/php/1031910901/l50
907nobodyさん:02/09/16 01:33 ID:J5uNkolO
CGIに初めて挑戦しているので、どうか教えて下さい。
フォームメールを作って、今テストの段階なのですが、
入力して送信すると、
???セッションファイルへの書き込みができません???
というメッセージが出ます。
フォームメールのためにアップロードしたのは
form.htmlとform.cgiとjcode.plなのですが、
セッションファイルとは何ですか?
何か、別にファイルを作らなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
908nobodyさん:02/09/16 01:38 ID:???
それだけでわかったらすごいわ。
909nobodyさん:02/09/16 01:43 ID:???
>>907
CGIはまだ早いってこと。
910907:02/09/16 01:50 ID:J5uNkolO
教えてくれる気がないということでしょうか、
もういいです。
911nobodyさん:02/09/16 02:11 ID:???
へっ、逆切れか。
912nobodyさん:02/09/16 05:31 ID:???
>>907
料理に初めて挑戦しているので、どうか教えて下さい。
ハンバーグを作って、今テストの段階なのですが、
調理して食べさせると、
???まずくて食べられません???
というメッセージを言われます。
ハンバーグのために買ってきたのは
挽き肉と玉ねぎと塩こしょうなのですが、
まずいとは何ですか?
何か、別に隠し味を入れなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
913nobodyさん:02/09/16 07:32 ID:???
>>912
重要なもの忘れとるだろ
糞100g、しっこ200g
あと、全部混ぜてから股の油いれないと硬くなるよ
焼くときは焦げないように頻繁にひっくり返して臭いを嗅ぐ



9143PIO ◆3pIoOHKo :02/09/16 12:00 ID:???
>>912-913
面白い
915nobodyさん:02/09/16 13:16 ID:PIQgWKn6
http://beam.to/unglabo/のサイトのUUBを設置したいのですが
board.cgiの1行目"#!/usr/local/bin/perl"のperlパスを設定してください。
ってperlパスの設定ってどうすればいいのですか?
916nobodyさん:02/09/16 13:31 ID:???
>>915
自分が使ってるサイトなんだから・・・
きみが書いたURLの[設定編]に書いてあるYO!
917915:02/09/16 14:12 ID:PIQgWKn6
>>916
"#!/usr/local/bin/perl"の#にパスを入れたらいいのですか?
"#!/usr/local/bin/perl"に"#!/usr/local/bin/perl/pasu"みたいに追加したらいいのですか?
918nobodyさん:02/09/16 14:18 ID:???
>>917
書いてあるだろ!嫁!日本語不自由ですか?
919915:02/09/16 14:22 ID:PIQgWKn6
>>918
UUBの場合は、設定はすべて"info.pl"でできるようになっているので、info.plを同様にメモ帳で開いて編集します。
設定項目はすべて"$**** = '####';"のようになっているので、####の部分だけを編集します
文字数決まってるの?
"#!/usr/local/bin/perl"だと1文字だけ?
920nobodyさん:02/09/16 14:31 ID:???
( ゚д゚)ポカーン
921nobodyさん:02/09/16 23:22 ID:???
>>919
世の中CGI初心者と呼ばれる人間は腐るほどいるが、
キミからはセンスを感じられない
「設定編」の真ん中あたりに書いてあると思うが、
そこは読み飛ばしてしまった訳だね。
922nobodyさん:02/09/17 10:45 ID:???
>>915
ほとんどのサーバーでデフォルトのままで動作しますが、動作しない場合はサーバー管理者にお問い合わせください。
923nobodyさん:02/09/17 14:45 ID:???
CGIで表示させたいHTMLの中にSSIを組み込む方法ってありますか?
どう試してもSSIを実行してくれないのです。
924nobodyさん:02/09/17 15:03 ID:???
>923
SSIなんぞ呼ばずに、そのCGIの中で処理をすればよかろう。
925nobodyさん:02/09/17 15:41 ID:???
例えばの話ですが・・・
アクセスログ解析のSSIスクリプトを拾ってきてPerlで作った掲示板に組み込むにはどうしましょって事では?

漏れも知りたいのでやり方きぼんぬ。
926nobodyさん:02/09/17 16:04 ID:???
CGIの中でファイル呼び出しをするなり、SSIのソースをサブルーチンとして
CGIに組み込むなりいくらでもやり方はあると思うぞ。
後は言語によって違うから、それぞれのスレで聞くべきだろうね。

どうしても外部SSIで呼びたいなら、.htaccessとかを勉強するべきかな?
927nobodyさん:02/09/17 16:31 ID:???
CGI で吐く内容を .shtml とかのファイルに出力

CGI の最後でそのファイルに location: で飛ぶ

ファイルに書き込まれた SSI も動く

(゚д゚)ウマー

但しファイル名はランダムにしないと、同時アクセスがあった時
ヤな事に。更に出力したファイルは定期的に削除する必要あり

(゚д゚)ウアー
928nobodyさん:02/09/17 18:43 ID:xWAxaqtP
ファイル情報格納ディレクトリ、アクセスログファイル名は必ず変更してください。
ってどう変更したらいのですか?
# ■ ファイル情報格納ディレクトリ(変更することを強く推奨)
$filedir = 'files';

# ■ アクセスログファイル名 (変更することを強く推奨。)
$accesslogfile = 'access.log';
929nobodyさん:02/09/17 19:16 ID:???
どうだと?
他人が予測できない名前に変えろ。

$filedir = '543563';
$accesslogfile = 'ysryyhs';

とかな。使いやすさは知らんが。
930nobodyさん:02/09/17 21:12 ID:???
>>929
寧ろcrypt
931nobodyさん:02/09/18 01:43 ID:b7YS3bD5
掲示板についてなのですが、
2ちゃんねるみたいに自動リンクの時に掲示板から直接リンク先に飛ばないようにしたいのです。

$in{'msg'} =~ s/(http:\/\/[a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1">

ここをいじれば良いと思うのですが、分かる方よろしくお願いします。
932nobodyさん:02/09/18 01:51 ID:/dV2eWsm
$in{'msg'} =~ s/"http://"/"http://ime.nu/"/g;
933nobodyさん:02/09/18 01:53 ID:???
$in{'msg'} =~ s/(http:\/\/)([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">
934nobodyさん:02/09/18 01:53 ID:???
自分のページへリンクが張られているかどうかを調べるために、CGIで該当のページを読み込んでその中からリンクの文字列を検索するというプログラムを作製中なのですが
どうしてもhttp://で始まるURLのhtmlファイル等が取得できません。相対アドレスでは取得できるのですが(./hoge.html等)ご教授願えませんか?
935nobodyさん:02/09/18 02:02 ID:XVcuOo25
>>932>>933
ありがとうございます。
無事に成功しました。
936nobodyさん:02/09/18 02:02 ID:???
>>934
socket
937nobodyさん:02/09/18 02:03 ID:???
>>931

$in{'msg'} =~ s/(http:\/\/)([a-zA-Z0-9\.\/\-+#_?~&%=^\@:;]+)/<a href="$1ime.nu\/$2">$1$2<\/a>/ig;
938934:02/09/18 02:20 ID:WitizyRA
>>936

一発で出来ました。感激です。
どうもありがとうございました。
939nobodyさん:02/09/18 18:45 ID:ECgqRdVc
ほんとかよ?
940nobodyさん:02/09/18 19:02 ID:FWNVUu6r
みなさん元気ですか?
まだ暑さが残っていますが、体調は、壊してないですか?
体には、気をつけて人生を送ってください。

ところで、この不景気な時期に30万でショボイHPを作りますとかぬかしてる
やつがいます。これははっきりいって詐欺(騙し)じゃないのですか?
無知な方ならひっかかります。みなさんは、こんなことで騙されないですよね?
このHPに感想をお願いします。
世の中をなめてるおっさんです。
BBSは、
http://kweb21.com/101/bbs.cgi?3893
HPは、
http://tomo728.hoops.ne.jp/
本人写真
http://tomo728.hoops.ne.jp/top02/top-001-20011208-125807.jpg
スレ
http://pc3.2ch.net/test/read.cgi/hp/1031228987/
941nobodyさん:02/09/18 23:22 ID:???
はいはい板違い。
942934&936:02/09/19 01:03 ID:???
>>939
ネタでなくマジです。
943nobodyさん:02/09/19 01:18 ID:???
>>940
tomoタン懐かしいなあ。未だに晒されてるのか。かわいそうに。
944nobodyさん:02/09/19 01:36 ID:EYRy75E4
KENTのCGIってセキュリティーがカナーリ甘いのは気のせいでしょうか?
いたずらしたくてうずうずしちゃいます。
945nobodyさん:02/09/19 02:21 ID:???
>>944
で、なんの質問?
946nobodyさん:02/09/20 18:10 ID:???
以下のように作りたいんですが…

if($no == 1){
$real_1{$koumoku} = $mana;
}

if($no == 2){
$real_2{$mon_koumoku} = $mana;
}

if($no == 3){
$real_3{$mon_koumoku} = $mana;
}

(以下略)
こんな感じで永遠と続くんです。
$no には数字が入っていて、%real_の最後にその数字と同じ番号をつけたハッシュ変数に代入したいんです。
もし、$real_$no{$mon_koumoku} = $mana; みたいな記述が出来るのなら楽なのですが、やっぱりどうやってもそうゆう記述はダメみたいでした。

このままifでズラーっと書いていくしかないんでしょうか?
947946:02/09/20 18:18 ID:???
946>>
すみませんちょっと書き間違えました。
キーが{$koumoku}となっていたり{$mon_koumoku}となっていたりしますが、全部同じとみなして下さい。
すみません
948こうかな?:02/09/20 18:23 ID:???
>946
${"real_$no"}{$koumoku} = $mana;
949 ◆JAPH9PWA :02/09/20 18:43 ID:???
>>946
>>948は仕様に忠実なんだけど、
同じことならハッシュの配列の方がuse strict;下でも動くし好ましいかな

$real [$no] {$koumoku} = $mana;
950946:02/09/20 19:10 ID:???
>>948
ありがとうデス。
きちんとした確認は取りませんでしたが、おそらく意図した通りに動きました。

>>948
こちらもありがとです。
ところで、もしかして、それは多次元配列(って名前だっけか?)とか言うヤツですか?
多次元配列は一度も使った事ないです。
良いものを思い出させてくれてありがとうです。
ちょっと多次元配列の使い方を調べてみますね。
951946:02/09/20 19:54 ID:???
>>948>>949

完全に意図した通りに動作させることが出来ました。
ありがとうございます。
自分の中では今までやったことのない複雑な処理だったんでどうして良いのかと困っていたんですよ。
お二人が教えてくれたおかげでホント助かりました。

はじめて2ちゃんねるに書き込んだのですが、正直言って感激しました。
952nobodyさん:02/09/21 06:33 ID:???
普通の掲示板(KENTとかの)で、トリップを出せるようにすることは
可能でしょうか?
何方かご伝授お願いしますです。
953nobodyさん:02/09/21 09:16 ID:???
>>952

どんな掲示板だろうと、改造すれば可能。
954nobodyさん:02/09/21 10:13 ID:???
>>952
2ch互換トリップ機能付き掲示板
http://www002.upp.so-net.ne.jp/wing-net/support/script/bbspro.html
955nobodyさん:02/09/21 10:43 ID:???
トリップ機能付きBBSってのも危険だよ?
悪意ある設置者の場合、トリップキーを盗めるし。
よっぽど信用できる相手のBBSでない限り、普段と同じトリップは使えない。
956nobodyさん:02/09/21 10:49 ID:???
>>955
それって2chは危険ってこと?
>>954のは2ch互換ってなってるけど。

957nobodyさん:02/09/21 11:13 ID:???
>956
2chが危険じゃなくて、2chで騙られる可能性が出るって事。
普段、2chで使ってるトリップが「◆abcdefgh」で、そのトリップキーが「#12345678」だとする。
2ch以外のBBSで同じトリップを使うには、#12345678を入力しないといけないよな?
それをBBSのスクリプト内で変換するんだから。
しかし、悪意ある管理者なら、この#12345678をログに保存する事ができてしまう。
結果的に「◆abcdefghのトリップキーは#12345678だ」と知る事ができてしまうのよ。
トリップってのは個人を特定する為の道具である以上、そのキーを第三者に知られるってのはヤヴァイ事もある。
特に騙り防止でトリップ使ってる人にとってはね。
958nobodyさん:02/09/21 11:18 ID:???
>>957
なーほど。解説ありがとん。
959nobodyさん:02/09/21 11:30 ID:???
>>957
それは気にし過ぎというもんだ
960nobodyさん:02/09/21 11:59 ID:???
>959
セキュリティってのは多少気にしすぎくらいでちょうどいいと思ってる。
特にBBSなんてのは「知ったメンバーの場所」である可能性が高いし、
そうでなければ2chと同じトリップを使う意味もないしね。
逆を言えば、知ったメンバーだからこそ、自分の行動場所を
知られているわけだから、騙られないように気をつけるべきだと思う。

ところで次スレは?
961nobodyさん:02/09/21 12:21 ID:???
>>960
トリップ機能をセキュリティ云々というのなら、初めっからパスワード制に
すればいいだけのことだろ。
962nobodyさん:02/09/21 13:05 ID:???
>961
それをユーザー側では選べないってこと。
設置する側が危険というよりは、利用する側が危険。
また、利用者がトリップ騙りをされた時、トリップ付BBS設置者が真っ先に疑われる。
正直、パスワード制の方がいいと思うよ。
それでもトリップにしたいってのは、トリップで遊びたいって事だからでしょ?
遊ぶのはいいけど、そういう危険性があると言う事だけは肝に銘じておいてくれって事で。
963nobodyさん:02/09/21 14:34 ID:???
>>954
そこの掲示板を使うことにしました。
ありがとうございます。

レス下さった方々、ありがとうございました。
これにて失礼致します。
964952:02/09/21 14:35 ID:???
>>963は952です。
965nobodyさん:02/09/22 23:26 ID:???
966教えて君:02/09/23 22:36 ID:es3jINy/
#!/bin/sh
echo Content-type: text/html
echo
echo name1=value1&name2=value2 |\
/usr/bin/lwp-request -m POST -b ほげ http://ほげ.com
てな感じで、postメソッドを偽装したいのですが、
このヘッダに手を加えて、リファラ偽造もしたいのれす。
echo に直接ヘッダを書けばいいとすれば、
どのような書き方があるのでしょうか。
9671000 げっとー!:02/09/23 22:49 ID:???
>>966
よく意味がワカランけど、lwp-request のマニュアルページに出てくる

-H <header>
Send this HTTP header with each request. You can
specify several, e.g.:

lwp-request \
-H 'Referer: http://other.url/' \
-H 'Host: somehost' \
http://this.url/

じゃないの? lwp-request の標準入力にはヘッダは入れれないみたい。
ところで、「偽装」なんて言うと牛肉みたいだ。あと、次スレがあるよ。
968nobodyさん:02/09/27 16:15 ID:???
おれが1000ゲト
969nobodyさん:02/09/27 16:15 ID:hQ9dvMrP
sage
970nobodyさん:02/09/27 16:16 ID:???
シマタ!!                        
アゲテモタ                 
スマソ                                               
971nobodyさん:02/09/29 00:15 ID:XD/Kg5DE
廃品利用
972nobodyさん:02/09/29 10:57 ID:T8lRdqNO
http://uho.s7.xrea.com/cgi-bin/yy2ch/
なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
973nobodyさん:02/09/29 11:32 ID:???
>>972
スクリプトの改造はこちらへ。
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

ちなみにこちらは旧スレです。
最新スレは >>965
974nobodyさん:02/10/01 20:11 ID:GvOqDAXc
         /ミヽ    /ミヽ ミミミ /川川川\ミミミ
         |||@ノハヽヽ@||| ミミ〇川||/ ヽ|||||〇ミミ
         ミ/川  \l||||彡   |川/  ヽ卅川 
         |||||/   ヽ卅|||    (|| ・ , ・ ||)
       |⌒|(|| ‘  , ‘ l|)   |⌒|ヽ"▽ "ノ(⌒ヽ
       ヽ ⊃ゝ" ▽"ノ|    ヽ ⊃入ノ| ⌒ ⊂ 丿
      /_/入ノヽ ( ノ    / / ★ ( ヽ─゛ 来るのれす☆
    /● ● ●丿/=/     ヽ゛ヽ★ ★\|  http://ip.tosp.co.jp/i.asp?i=yosiekeiko
    |● ● 入ノ ヽノ        , _)★ ★ ヽ
   ヽ__ヽ/ ̄ ̄ヽ       / ̄| __ヽ/___|
     \  ヽ─  /       ,\ /   /
       ヽ  )/ ̄/          (__(  ヽ゛ 
      /─-/‖ ̄ヾ).         \─ヽ
     《ヽ=ヾ  ̄ ̄            =ミ 》
      \___)              (___/
975nobodyさん:02/10/01 21:21 ID:???
早く使いきってしまおうぜ。

取り敢えずなんか書きこぬ。
976nobodyさん:02/10/01 22:46 ID:/MHsvfgG
age
977nobodyさん:02/10/01 23:03 ID:46QWbCel
香具師age
978nobodyさん:02/10/01 23:19 ID:???
加勢するぜ
979nobodyさん:02/10/02 00:13 ID:???
火星するぜ
980nobodyさん:02/10/02 13:21 ID:???
980
981nobodyさん:02/10/02 15:51 ID:???
協力するぜ
982nobodyさん:02/10/02 15:54 ID:???
強力するぜ
983nobodyさん:02/10/02 16:28 ID:???
983
984nobodyさん:02/10/02 16:29 ID:???
参加するぜ
985nobodyさん:02/10/02 18:41 ID:???
酸化するぜ
986nobodyさん:02/10/02 19:42 ID:???
986
987nobodyさん:02/10/02 21:03 ID:???
援助するぜ
988nobodyさん:02/10/02 21:11 ID:???
怨除するぜ
989nobodyさん:02/10/03 11:13 ID:vcMqf4eP
つーか989
990nobodyさん:02/10/03 15:00 ID:???
あとちょい
991nobodyさん:02/10/03 16:42 ID:???
もうちょい
992nobodyさん:02/10/03 22:11 ID:???
992。
あと一息だ。
上げちまおうっと。
993nobodyさん:02/10/03 22:13 ID:???
人いない板なのに、次スレ早く立て過ぎたようだね
994nobodyさん:02/10/03 22:32 ID:???
な、なんだよ・・・
995nobodyさん:02/10/03 22:33 ID:???
次スレ
http://pc.2ch.net/test/read.cgi/php/1032704121/l5
ちゅーか100超えてるじゃん(w
996nobodyさん:02/10/03 22:42 ID:???
はぁ?
997nobodyさん:02/10/03 22:42 ID:???
よいしょ                 
998nobodyさん:02/10/03 22:43 ID:???
どう?
 
 
                          
999nobodyさん:02/10/03 22:43 ID:???
はい
10001000ゲタ-:02/10/03 22:43 ID:???
ますっ!!

 
 
                             
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。