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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん02/07/06 13:41ID:Mpxtn4bk
CGIの運用に関する質問スレッドです。

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

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

過去ログ・関連スレッドは >>2
0002nobodyさん02/07/06 13:41ID: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
0003nobodyさん02/07/06 14:02ID:???
>CGIだけど、なんか質問ある?
いえ、特に何も。
0004nobodyさん02/07/06 19:55ID:???
おい、またPart6かよ。
0005nobodyさん02/07/06 23:29ID:FjAmHIGZ
sendmailで複数先に送信する時に
$mailto = '****@**.**';
$mail = '****@**.**';
$mail2 = '****@**.**';
$mail3 = '****@**.**';
  :
  :
if (open(MAIL,"| $sendmail $mailto $mail $mail2 $mail3")) ・・・

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



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

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

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

> ※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
>   ↓
>   Perl 初心者コーナー Part13
>   http://pc.2ch.net/test/read.cgi/php/1022731565/l50
0010nobodyさん02/07/07 00:24ID: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>;
というような形になりません。
超初心者なもので、どこをどう直したらいいか、詳しく教えて
いただけると助かります。 すいません、よろしくお願いします。
0011nobodyさん02/07/07 00:25ID:U7LSUADE
>>9
CGIとして使うんですけどあっち逝った方が良いですか?
0012nobodyさん02/07/07 00:28ID:???
【初心者です】
【お願いします】

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

・PATH_INFO 非対応の鯖もある

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

なら、誰かに作ってもらいなさい。
0056nobodyさん02/07/09 02:21ID:???
アイコン付き掲示板に、アイコン一覧を表示させる機能を追加したいのですが、
@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)
とやれば、それぞれに上手く入ってくれるかと思ったんですが駄目でした。

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

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";
}
0058nobodyさん02/07/09 04:34ID:???
>>56-57

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

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

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

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

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

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

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

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

使えてますが、何か?

それより、>>68 >>72 があまりに馬鹿なのでだれも構ってくれないだけだろ
0076Hideki ◆wtRzKEV2 02/07/10 20:20ID:???
> あまりに馬鹿
え?
0077nobodyさん02/07/11 02:25ID:???
( ゚д゚ )ポカーン
0078nobodyさん02/07/11 02:25ID:???
( ゚д゚)ポカーン
0079nobodyさん02/07/11 10:47ID:???
(^д^)ポカーン
0080nobodyさん02/07/11 13:17ID: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箇所、「この記事へ返信」をリンクではなく、
投稿ボタンのような、ボタンにしたいのです。

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

0081nobodyさん02/07/11 13:30ID:???
>>80
十分に改造じゃないか。
ボタンにするだけならと簡単そうに考えてるかもしれないが、
そう簡単とは限らないよ。
00823PIO ◆3pIoOHKo 02/07/11 14:18ID:???
>>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>

こんな感じになればいいと思うけど
0083nobodyさん02/07/11 15:43ID:???
あとは JavaScript で飛ばすとか。。。
0084nobodyさん02/07/11 17:27ID:???
JavaScript 常時オフの場合は?
0085nobodyさん02/07/11 19:39ID:???
>>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>
00868002/07/12 14:15ID:lwKUS/YE
81>>
迷ったのよ・・・(w
なぜなら、その改造は掲示板のCGIを書き換えるのではなく、
CGIが読み込むデザインファイル(テキストファイル)
を書き換えるものだから・・・CGI改造とは言わないんじゃ?
とか思ったの・・・。
でも助言サンキュ。今度から改造スレに行くよ。。。

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

>>ALL
みんな教えてくれてありがとね!  
0087nobodyさん02/07/12 15:21ID:???
>86
そう思うなら、HTMLスレに行った方がよかったと思われ。
0088nobodyさん02/07/13 18:34ID:???
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"; に変更してみたのですが、
それでも上手くいきませんでした。

何か解決策があれば教えてください。
0089nobodyさん02/07/13 19:55ID:???
>>88
FTP でウpした時点で、既に exe ファイルが
壊れているとか。
0090nobodyさん02/07/13 22:13ID:An7VzFLr
http://pc.2ch.net/test/read.cgi?bbs=hp&key=1001744788&st=334&to=336&nofirst=true
これってどうなの?
0091nobodyさん02/07/13 22:16ID:???
携帯用アダルトサイト管理人の溜まり場
http://pc.2ch.net/test/read.cgi/hp/1001744788/l50
0092nobodyさん02/07/14 00:18ID:YPZNOz0d
>>89

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

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

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

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

再度確認しましたが同じでした。
CGI.pm を使って CGI経由でファイルのアップロードを行ったのですが、
その場合もだめでした。 exeファイルのみ壊れます。。
0095 ◆JAPH9PWA 02/07/14 00:50ID:???
う〜ん、何故だろう?ごめん、俺にはわからない。
0096nobodyさん02/07/14 00:54ID:CbCEC3kH
ダウンロード時にバイト数が増えているからファイル内容出力後に
余計なもの出力してるんだろ。
0097nobodyさん02/07/14 03:34ID:???
binmode?
0098 ◆JAPH9PWA 02/07/14 14:31ID:???
オリジナルファイルと壊れたファイルをバイナリ比較してみるしかないんじゃないかな。
>>97
Linuxサーバならbinmodeは無関係でしょ。
0099nobodyさん02/07/14 15:56ID: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 が返ってくるんだろ。
0100nobodyさん02/07/14 15:59ID:xUfIRkak
>>99
/path%2Fto%2Fobject というファイルが見つからないといってるんだから、
おそらく見つからないのでしょう。
0101nobodyさん02/07/14 16:10ID:???
スラッシュをURLエンコしたらディレクトリと見なされないのでは?
0102nobodyさん02/07/14 16:11ID:???
ブラウザが
0103nobodyさん02/07/14 16:41ID: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 はスラッシュを含むファイル名って作れなかったか。
0104nobodyさん02/07/14 16:44ID:T31bpVIl
>>103

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

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

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

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

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

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

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

>区切りにスラッシュ使うなってことで解決ですな。
まあその場合は素直に QUERY_STRING 使うってことで。
0110nobodyさん02/07/14 18:12ID: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 です。
0111nobodyさん02/07/14 18:27ID:T31bpVIl
Apache のソース見て完結しました。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

use CGI::Carp qw( fatalsToBrowser );

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

(dbmopen) ./diff
0155nobodyさん02/07/18 16:42ID:???
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")にしたらうまくいきました。
上の例文は間違っているんでしょうか?
0156nobodyさん02/07/18 16:45ID:???
Perlでは大文字小文字区別すること忘れてないか?
0157fusianasan02/07/18 16:46ID:???
>>155
ネタにしても、もちっとレベルの高いやつを書こうね!
0158nobodyさん02/07/18 16:46ID:yrmBF5Vl
>>155
>メソッドは当然postで。(XHTMLでは大文字は禁止)
と書いてありますが。
0159nobodyさん02/07/18 16:46ID:???
ネタだったか、釣られてしまったよ。
0160nobodyさん02/07/18 16:47ID:???
(゚д゚)ハァ?
なんでそこでXHTMLが出てくるんだ?
0161nobodyさん02/07/18 16:53ID:???
XHTML で <form method="post"... ってやっても、
UA は大文字でリクエスト出すと思うけど。

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

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

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

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

もしかして属性の値も小文字じゃなきゃいけないと思っているのだろうか…。
俺の読み間違い?謎。
その他の説明も質が悪いよ。
そんなページを参考にしてると変な癖がつくから、もっとまともなものを参考にした方がいいよ。
0163 ◆JAPH9PWA 02/07/18 16:56ID:???
レス遅すぎだね。ショボーン
0164nobodyさん02/07/18 16:56ID:???
>XHTMLでは大文字は禁止。
確かに同意だが、それは要素の話。属性値は関係ない。
そのページのpostが間違ってる。POSTと書くべき。
016515502/07/18 17:18ID:???
ネタじゃないです。
いろいろレスが付くと本当にどれが本当なのかわからなくなっちゃいます。
どうかお願いします。
$ENV{'REQUEST_METHOD'} が返す値はpostの時は、
post ですか? POST ですか?
決まっていないですか?
決まっていないとしたら>>162さんのlc(小文字に変換)のやり方をやればいいんですよね?
0166nobodyさん02/07/18 17:21ID:???
>>165
Toupper
0167nobodyさん02/07/18 17:21ID:???
>>165
/POST/i;
0168nobodyさん02/07/18 17:40ID:???
METHOD にpostなんて無い。
0169nobodyさん02/07/18 17:42ID:???
>>168
同意。
0170nobodyさん02/07/18 17:44ID:???
>>168-169
(・∀・)ジサクジエンでした。
0171nobodyさん02/07/18 17:50ID:???
>>168
同意。
0172nobodyさん02/07/18 17:52ID:???
>>168=>>172
(・∀・)ジサクジエンでした。
0173nobodyさん02/07/18 18:24ID:???
http://haruno.fam.cx/~sawatari/text_perlbbs.html?http://pc.2ch.net/test/read.cgi/php/1025930486/l20

REFERER残し晒し
0174nobodyさん02/07/18 19:17ID:???
methodにpostは無いんですか?getはあるんですか?
意味がわからないです。
0175nobodyさん02/07/18 19:50ID:???
get なんてのも無い。
GET ならある
0176nobodyさん02/07/18 22:46ID:???
つまり大文字、POSTとGETしか無いって事ですね?

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

>>188
それだけのために配列を用意するのも面倒。
0190nobodyさん02/07/21 16:24ID:???
>>189
じゃあ死ぬ。
0191nobodyさん02/07/21 16:25ID:???
参照するだけなのにコピーを取る奴って・・・
0192nobodyさん02/07/21 16:26ID:???
>>191
じゃあどうやるのと。
自作strcmpなんて大げさなことするのがベストとは思わない。
0193nobodyさん02/07/21 16:29ID:???
>>192
strcmpなんて書いても7行程度だろ。しかも様々な局面で再利用できるし。
0194nobodyさん02/07/21 16:32ID:???
strcasecmp とか stricmp を知らないのか?
0195nobodyさん02/07/21 16:32ID:???
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");

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

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

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

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

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

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

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

ミンナコワイヨウ…
0211nobodyさん02/07/21 22:08ID:???
>>210  ほぼ全てのHTTPDじゃ無い?
0212nobodyさん02/07/21 22:18ID:???
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
0213nobodyさん02/07/21 22:22ID:???
>>212
ヘッダの要素足りてないよ。
0214nobodyさん02/07/21 22:29ID:???
>>212
ムヒョ! MethodNotImplemented返ってきた
あれえおかしいなあ、Getもいけてた筈なんだけどなあ
もしかして、俺間違えまくりチョー-厨房って感じ?
偉そうにしてゴミンナサイ  
今すぐ首括って死にます (チョー死んでお詫び
0215nobodyさん02/07/21 22:29ID:???
すまんかった。

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
021619702/07/21 22:54ID:???
まじ?天然だったのかよ。。。もうちょっと弄らせてよ〜ん。
楽しんでたのにぃ。

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

なんにしろ、逝ってらっしゃい〜
0217コギャル&中高生02/07/21 23:12ID: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/対応
0218nobodyさん02/07/21 23:53ID:???
素直に引いたな…
0219nobodyさん02/07/22 06:49ID:1nREPLNC
質問です。
teacup掲示板の無料タイプなんですが、これにアクセス解析を別途に
付ける事は可能なんでしょうか?
いや、自分が付けたいわけじゃなくて、訪問先のサイトにそういう事が
出来るんだったら、しょっちゅう見に逝ってるのが知られるとハズカシーなあ
と思ったのですが。
0220sage02/07/22 07:03ID:rjydbpOU
>>219

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

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

もう一つ見つけました。ほとんど同じですが。
スマートとかスマートじゃないとかあるんでしょうか。
0224nobodyさん02/07/22 11:19ID:StGZBnhO
$hoge =~ s/\n\r|\r|\n/<br>/g;
見た目にはこっちのがスマートだけど>>223のが微妙に速い。
自分にとってメリットの多い方使えば?
0225\r\nが逆02/07/22 11:28ID:???
>>224
$hoge =~ s/\r\n|\r|\n/<br>/g;
022622102/07/22 11:34ID:???
ありがとうごぜいました。
022721902/07/22 13:23ID:???
>>220
そうですか、
/bbsで終わっていたアドレスなんですが
場合によっては付けられるんですね、有り難うございました。
0228nobodyさん02/07/22 15:59ID:???
掲示板らしきものを自分で作っているのすが、
log.txtにデータを保存しています。
で、log.txtのパーミッションは666です。
よくCGI配布サイトでログファイルは666にしろと書いてあるのでそのまま真似ました。
ファイルの書き込みは成功しました。
ファイルをFTPでダウンロードして確認するとちゃんとデータがあります。
だけど、ブラウザで直接log.txtを見るとまる見えになっていました。
log.txtには当然パスワードとか大切な情報もあるので自分以外の第三者には見られたくありません。
パーミッションがなんかいけないのかと思い、622にしてみました。
するとブラウザでは403エラーが出て見えなくなりました。
ファイルの書き込みテストをしても正常に動作しました。
これでいいんでしょうか。何か間違っているとこがあれば教えてください。
0229nobodyさん02/07/22 16:24ID:???
ブラウザからアクセスできない場所に置く。
これ、最低限の常識。
0230nobodyさん02/07/22 16:28ID:???
>>228
ファイル名をlog.cgiにする。
023122802/07/23 09:59ID:???
えと、あの、パーミッションの設定はどうですか?ダメですか?
0232nobodyさん02/07/23 10:02ID:???
>>231
サーバによるけどnobodyから見えなくすればcgi(を実行する権限)からも見えなくなる。
0233nobodyさん02/07/23 10:49ID:???
>229
プロバ鯖だとそれができない場合もあるだろ。
そうしたくてもできないとか。
0234nobodyさん02/07/23 11:05ID:???
<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>タグに囲まれた「修正」という値が返ってきてしまいました。
削除ボタンを教えても修正が入っていました。
0235 02/07/23 12:11ID:???
>>231
622とはまた変わったのにしたな。
読み書きともCGIからなら600にできるように直したら?
0236nobodyさん02/07/23 12:22ID: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にデータをあたえて呼び出すのって無理なんですか?
0237.02/07/23 12:29ID:???
>>234
返ってくる値は「修正」ではなく「syuusei」でしょ?
nameが同じだから後に書いてあるほうが有効になってるだけ。
別々の名前にすればいい。
023823402/07/23 12:42ID:???
>>237
いえ、それが漢字の「修正」が入っているのです。
確かめるとわかると思うのですが、nameを別のにしたら
あとでパラメーター受け取る時modeで読めなくなってしまいますよ。
0239nobodyさん02/07/23 12:51ID:HNBPTziw
<input type="submit" name="mode" value="削除">
<input type="submit" name="mode" value="修正">
にすれば
mode="削除"とmode="修正"がはいるよ

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

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

でdelがdefinedなら削除、editがdefinedなら修正でいいんじゃないの?
0241 02/07/23 14:04ID:???
>>238
mode一つで両方処理させようとするならnameは同じで
valueを別々に。>>239みたいに。
別ルーチンなら>>240みたいに。
024223402/07/23 16:40ID:???
239のやり方で出来ました。
formの中にsubmitが二つあるのに違和感があったのと、
submitのvalueの値がそのままパラメータになるのに気づきませんでした。
ありがとうございました。
0243nobodyさん02/07/23 16:56ID:???
>>236
<!--#exec cmd="./cgi-bin/read.cgi hoge"-->
試してみるなり。
0244nobodyさん02/07/24 16:09ID:???
#!/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だと何も出ないんです。
何が悪いのか教えてください。
0245nobodyさん02/07/24 18:09ID:F9mOipAg
板違いだったらすみません。
自分の利用しているプロバイダのサーバにCGIを置き、
テスト書き込み等動作確認をしました。
その際のテスト書き込みを消したいと思うのですが、
記事を削除するしかないでしょうか?
削除しても記事に削除されたものを含んだ通し番号がついているので、
テスト書き込みをする前の何も書き込みのない状態に戻したいのですが…。
どこかのサイトでファイルを再度アップロードすればいいというような文章を
読んだ気がしたのでプロバイダにやってもらったのですが、消えませんでした。
私が使うCGIはKENTさんのCGIを改造したものをとあるサイトから
ダウンロードしたもので、もともとのスクリプトをテンプレート対応にするため
複数のファイルに分けています。
現在プロバイダにはそのCGIを動かすための2つのファイルを
アップロードしていて、その2つともを再度アップロードしてもらったのですが、
それではだめなのでしょうか?
質問の書き方が悪かったらすみません。
0246nobodyさん02/07/24 18:10ID:???
>>245
バカなんだから自分でできる以上のことはしない。
024724502/07/25 03:23ID:sjq0OBfO
>>246さん
すみません、確かにバカでした…。
CGIの根本がまだ判っていないので…言い訳ですけどね。
>>246さんのレスがちょっと悔しかったので(w それ以上のことがしたくなり、
何とかテスト書き込みをすべて消すことが出来ました(勿論記事削除ではないですよ)。
お世話になりました〜。
0248nobodyさん02/07/25 05:30ID:???
>>244
想像だけど、標準出力閉じないと
セッション貼りっぱなしになるんじゃ無いの?
他のブラウザで上手く行くのが凄いと思う
0249nobodyさん02/07/25 06:31ID:???
>>248
>標準出力閉じないと
閉じていいのか?あれ。
0250nobodyさん02/07/25 10:48ID:???
俺はさっさとclose(STDOUT);してから重い処理してる。
0251nobodyさん02/07/25 11:18ID:???
掲示板を自分で作成しています。

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

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

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

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

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

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

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

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

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

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


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

上のエラー出るんだけどどこか間違ってる?
0300nobodyさん02/07/26 10:48ID:???
Can't find string terminator "END_OF_HTML" anywhere before EOF at pl.txt line 22
0301nobodyさん02/07/26 10:54ID: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]

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

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

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

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

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



032331502/07/27 10:11ID:???
>>316

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

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

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

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

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

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

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

... その他、簡単な説明
HELP
exit;
}
# いろいろと処理…
__END__
ちなみに、使用しなくても全然問題ないので、無理して使う必要は無いです。
0329nobodyさん02/07/28 03:52ID: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にしてみましたが、全く変化がありませんでした。

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

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

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

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

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

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


0336nobodyさん02/07/29 15:00ID:???
例えば、投稿者項目と本文項目のデータがあるとして、
そのデータテキストから検索をしたいとします。
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 {

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

sub hoge {
$hoge=2;
}
↑こんなmyの使い方をしているスクリプトの作者がいたんですが
これって意味があのでしょうか?
0345 ◆JAPH9PWA 02/07/29 19:07ID:???
>>344
それは混乱を招きやすいね。
でもまぁ理解した上で使ってるなら敢えて文句を言おうとは思わないけど。
0346nobodyさん02/07/29 22:57ID:luhGHKEG
サーバーを借りたのですが、
http://www.tekipaki.jp/
今OCNのPageOnサーバーを使っていて、
このサーバーはCGI用に借りました。
カウンタを表示させようとしているのですが、
違うサーバーにCGI本体をおいて、ページ上で使うにはどうすればいいんでしょうか?
違うサーバーのほうにページを移動すれば一番いいのですが、
かなり読み込みが遅いので、できれば今のままのサーバーを使いたいんです。
どなたか教えてください。お願いします。
0347nobodyさん02/07/30 01:24ID: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が空になってしまったのかがわかりません。
手持ちの解説書を読んでも,特に指定しない限りグローバル扱いされるとありますし。

どうかお願いします。
0348nobodyさん02/07/30 01:36ID:???
>>347
具体的なソースを見ないとわからんよ。
034934702/07/30 01:51ID: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";

}

035034702/07/30 01:54ID: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>";
}
035134702/07/30 02:10ID:???
http://kari.to/upload/source/2445.txt
0352nobodyさん02/07/30 02:14ID:???
フォームその2.のとこでscalar2とscalar3しか(あとmodeもか)submitしてないのだから
フォームその3でscalar2 scalar3しか表示されないのはあたりまえかと
0353nobodyさん02/07/30 02:23ID:???
&form2実行後、出力HTMLはmode=form3になり、[表示]ボタン押下後
hairetu1もhairetu2も渡されないから渡されるとしたらscalar2かscalar3
だけだろう。

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

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

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

ええと,一度代入を行えばその中身はずっと保持されるわけじゃないんですか?
0357nobodyさん02/07/30 02:50ID:???
1度のCGI実行で行なった代入は実行中だけ保持されます。
035834702/07/30 02:55ID:???
なるほど。
すると&form3にデータを持ち越すには,
引数をつけて呼び出してやれば良い訳ですかね?
0359nobodyさん02/07/30 02:58ID:???
前画面から入力されたデータを次画面でも保持したいなら
取得した値を出力HTMLフォーム内にhiddenタグで埋め込んで出力する。
036034702/07/30 03:04ID:???
ああ,そうか,そのためのhiddenでした。
ごく初歩な質問に親切なご回答ありがとうございました。
精進します。
0361nobodyさん02/07/30 10:11ID:???
スクリプトの最後にある __END__ これはなんですか?
書かなきゃいけないのですか?
0362 ◆JAPH9PWA 02/07/30 11:11ID:???
>>361
別にいらないよ。
スクリプトがそこで終わることを明示してるだけ。
そのトークンから先はパースしないから、Perlとは関係ないものを書ける。
大抵はドキュメントを書いたり、スクリプト内に大量のデータを埋め込んだりするときに使うね。
0363nobodyさん02/07/30 11:11ID:???
その行がこのファイルの最後であることを示すもの。
書かなければいけないということは無い。
0364nobodyさん02/07/30 19:07ID:0gW7G4YT
すいません
cgi-binはしーじーあいびんじゃなくて
しーじーあいばいんだと聞いたのですが本当ですか?
なんか、ばいなりの”ばい”らしいのですが。
おねがいします
0365nobodyさん02/07/30 19:58ID:???
dustbin だよ
0366ごめんなさい102/07/30 22:43ID: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>。
0367ごめんなさい202/07/30 22:46ID: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を返しています。

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

/隊長!過去ログ倉庫で発見しました!/ (HTML確認)
  ↓
Location または meta (クリック)
  ↓
スレッド内に 
隊長!過去ログ倉庫で発見しました! (要求達成)
0372初心者ですいません。02/07/31 21:50ID:???
 
初心者で説明下手ですが申し訳ありません。
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/
 
 
0373nobodyさん02/07/31 21:55ID:???
kentwebで聞け。
0374nobodyさん02/07/31 22:01ID:???
>>372
http://www.kent-web.com/support/ 逝け。
0375372・初心者ですいません。02/07/31 22:18ID:???
>>373-374 KENTで聞いてもほとんど答えがないので・・お願いします。
0376教えてください。02/07/31 22:19ID:tRDjSXEO
すいません。
CGI設置してみてパスもPerlもパーミッションもあってるのですが
なぜかエラーがでてしまいます・・・
なにか他に原因はあるのですか?
0377nobodyさん02/07/31 22:21ID:???
>>375
つまりマルチポストと。

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

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


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

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

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

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

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

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

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

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

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

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

として、

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

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

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

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

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

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

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

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

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

http://web.archive.org/web/20010123233000/http://www2.plala.or.jp/Nieztche/mammy/

041941402/08/04 16:17ID:???

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

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

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







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

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

1.フォームに入力

2.確認ボタンを押す

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

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

5.実際に登録

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

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

xmlとxslだけではIEでしか表示できないので普通に手作業で、
msxsl.exeを使ってhtmlへ変換していましたが
今回はcgiでxmlを生成してそこからhtmlへ変換することになったのです。
なのでmsxsl.exeの役割をcgiの中でも出来るのかどうかというわけなのです。
0440nobodyさん02/08/06 16:18ID:ov0Bn0l9
つまりxslt機能を搭載したサーバーはあるんざんしょか。
という話です。
0441トウモロコシ02/08/06 18:39ID:AiGWWT1t
gzipってなんでしょうか?
0442nobodyさん02/08/06 18:46ID:???
GNU ZIP のこと。
HTTP圧縮の際にも利用される。
0443トウモロコシ02/08/06 18:51ID:AiGWWT1t
どうもありがとう♪
0444nobodyさん02/08/06 18:54ID:+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">
とか
試したんですが無理でした。

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


0445nobodyさん02/08/06 19:21ID:???
>444
ttp://tohoho.wakusei.ne.jp/wwwxx008.htm
0446nobodyさん02/08/06 19:30ID:???

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

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

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

ISO-8859-1 です。
0453nobodyさん02/08/06 21:22ID:???
>>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
0454nobodyさん02/08/06 22:11ID:???
>453
サンクス
0455nobodyさん02/08/07 00:08ID:???
1いますか?
0456nobodyさん02/08/07 14:53ID:???
やっぱりPerlで書くべきですか?
0457nobodyさん02/08/07 18:24ID:???
何の話だよ。
0458nobodyさん02/08/07 23:07ID:Ebqa+zWc
SSIって2重に使えるの?
2重という言い方で通じなかったら、入れ子で使えるの?
a.htmlに、<!-- SSI命令なんちゃら-->ABCDEFG
と書いておいて、b.htmlに<!--a.htmlをここに呼び出すSSI命令-->
と書いて、OK?
045945802/08/07 23:39ID:Ebqa+zWc
いま自分で試して見たらできました。
2重でも3重でもできそう。
これを駆使すればいろいろおもしろいことができそう。
あんなことやらこんなことやら、、
0460nobodyさん02/08/07 23:41ID:???
それくらいなら簡単に試せるだろうに。
0461nobodyさん02/08/07 23:42ID:???
1さ〜ん
0462nobodyさん02/08/07 23:53ID:ndE0k5iF
すみませんが質問です
http://hp.bird.to/info/countget.htmlのCGIで
連続でカウンタが回されないようになっているようですが
これはどのような仕組みで回らないようになっているんでしょうかねぇ?

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

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

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

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

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

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

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

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

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

意味無い気がする。
0483Apache/1.3.20@RHL7.2J02/08/09 00:49ID:???
次レスのスクリプトを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
0484483のスクリプトです02/08/09 00:53ID: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でログインして貼り付けました。
前レス「間違ってるところはどこなのでしょうか? 」の間違いです。すみません。
0485nobodyさん02/08/09 01:18ID:???
CGIにはヘッダというものが必要です。

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

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

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

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

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

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

長くなりましたが、現在足がかりがほとんどない状態です。
どなたかアドバイスやお勧めの本やWEBページがありましたら教えてもらえると幸いです。
お願いします。m(_ _)m
0489nobodyさん02/08/09 11:43ID:???
$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>
0490nobodyさん02/08/09 11:55ID:???
>>489
ソースの一部だけ見せられても、$one_page とかにどんな値があるのかないのか
さえわからんだろ。
049148902/08/09 12:22ID:???
>>490
そう思ったので$max_articleと$one_pageの値に関しては後半に書いておきました。
0492nobodyさん02/08/09 12:27ID:???
>>491
だから、実際のソースに値があるのかないのかがわからんだろ。
049348902/08/09 12:51ID:???
my $one_page = 10;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0553_02/08/14 01:13ID:???
http://ddns.j-speed.net/subdomain/ddns.cgi
上のページにいって、適当になメールアドレスに
ユーザ名とパスワードを決めて登録してログインすると。
proxy経由でも生IPを抜かれます。
下と同じ方法ではないと思うのですが、どなたかわかる人いますか?
http://www2s.biglobe.ne.jp/~cru/library/java/index.html
今日は、遅いので私も明日調べてみます。
0554nobodyさん02/08/14 12:40ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか?
ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
055555402/08/14 12:41ID:???
>>553
$ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
0556nobodyさん02/08/14 14:12ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、
Script execution errorとでてしまいます。
ビッグローブサーバーに設置しているのですが、
この文字が出たときはどうすればいいのでしょうか?
055755302/08/14 15:22ID:???
>>554
telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
055855302/08/14 16:14ID:???
socks→socks→httpproxyの経由だと
127.0.0.1のIPしか抜かれませんでした。
0559 02/08/15 03:40ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、
これが出ない場合もありますよね。
この違いは、サーバの設定に依存するんでしょうか。
0560nobodyさん02/08/15 07:23ID:???
http串でアクセスしたけど、抜かれなかったよ
JavaとかXとか全部切ったけど
0561最適PG人生とは。02/08/15 19:28ID:+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
0562WebProg板初カキコ02/08/15 20:18ID:???

「買い物かごに入れる」

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

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

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

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
0567nobodyさん02/08/15 22:29ID:???
ハァ?
0568nobodyさん02/08/15 22:54ID:???
>>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>";}
こういうことか?
0569nobodyさん02/08/15 23:38ID:???
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;
0570nobodyさん02/08/15 23:46ID:???
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
0571nobodyさん02/08/15 23:49ID:???
出来る。
0572nobodyさん02/08/15 23:52ID:???
どうしたらいいでしょうか?
0573名無しさんに接続中...02/08/16 00:03ID:???
聞くだけじゃなく、考える事も大事だと思うのだが。
第一に、元々携帯に対応した掲示板使えば早かろうと。
0574nobodyさん02/08/16 02:09ID:???
今の掲示板をどうしてもそのまま使いたいのです…。
0575nobodyさん02/08/16 09:39ID:???
>>574
で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
0576nobodyさん02/08/16 13:47ID:r3LEM9ym
スレ違いだったらすんません。

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

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

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

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

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

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

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

ご質問です。

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

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

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

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

特殊なんじゃなくて検索の仕方が悪いに全部。
0592nobodyさん02/08/19 23:23ID: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は使える鯖と使えない鯖がある、という話は聞いたことがあるんですが
どこかおかしな所があったら、教えていただけないでしょうか・・・
0593~02/08/19 23:34ID:???
取りあえず そのスクリプトがshellからまともに動くことを確認シル
0594nobodyさん02/08/19 23:44ID:hYzoL+XK
お聞きしたいのですが、
perlからphpをincludeのようなことはできますでしょうか?
また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか?

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

よろしくお願いします。
0595 02/08/19 23:52ID:???
できます。
できます。
あります。
059659402/08/19 23:55ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
059759202/08/20 00:14ID:???
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」とは具体的にどういう意味なのですか?
0598nobodyさん02/08/20 00:56ID:???
>>597
Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。

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

use strict;
↑の行を探して削除するか、どっちか。
059959202/08/20 01:16ID:???
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 ディレクトリを開くことが出来なかったということはわかるのですが
なぜ開けないのでしょうか・・・
パーミッションのチェックはしましたが、問題はありませんでした。
教えて君ですいません。
0600nobodyさん02/08/20 01:19ID:hbbe/bFq
 
0601nobodyさん02/08/20 01:40ID:???
>>592
そもそもJavaScriptを使えよ、と思ったのは私だけですか?
0602nobodyさん02/08/20 01:51ID:???
自分でも多分違うと思います。

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

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

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 );
0608nobodyさん02/08/20 20:53ID:???
>>607
あげ2chか?

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

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

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

print $log;

$logに、ログファイルから読み込んだ全データをぶち込んで、
$logに、ユーザーがフォームから送信してきた$formの文字列が含まれていたら、その文字列を太字にして表示する、という仕組みのCGIを作りました。
ここまでは完成したんですが、$logを、英数大文字・小文字関係なく検索させたいんです。
どうすれば、大小文字関係無く検索できるようになりますか?
お返事よろしくお願いします。
0614ヤッシー ◆akL9r.oU 02/08/21 15:25ID:BtbltLri
>>610
僕も>>612さんと同じように、KENT氏製掲示板を見たりこぴぺしてどう稼動するのか確かめて覚えてきました。
http://tohoho.wakusei.ne.jp/wwwperl1.htm
とほほ氏のページです。色々なプロの方が読まれているようです。
http://tohoho.wakusei.ne.jp/wwwperl2.htm
リファレンスは、多少慣れてきたらど〜ぞ。
0615nobodyさん02/08/21 15:30ID:???
>>613
i
0616ヤッシー ◆akL9r.oU 02/08/21 15:51ID:vNJ2y6lW
i…?
すみません、リファレンスで検索しても見つからないので、わかりません。
もうすこし詳しく教えていただけませんでしょうか…すみません。
0617nobodyさん02/08/21 16:45ID:???
もっと探せ。
0618nobodyさん02/08/21 16:53ID:???
$log =~ s/$form/<b>$form<\/b>/ig;
0619マム02/08/21 19:11ID: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は、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
0620nobodyさん02/08/21 19:19ID:???
>>619
つーか、HTMLレベルの問題だろ。
0621nobodyさん02/08/21 19:22ID:S1N5lHPt
質問です。NT4.0+IIS+ActivePerlでSQLServerに接続するcgiをWEBで表示したいです。
DBI,DBD::ODBCで接続でき、コマンドプロンプトで実行すると結果が表示されるのですが、WEBからアクセスすると「'C:\wwwroot\cgi-bin\test.cgi' script produced no output 」と表示されます。
多分IISの設定だと思うのですが、変更箇所が分かりません。
よろしくお願いします。
0622nobodyさん02/08/21 19:29ID:???
>>619
スレ立てた後に、よくこんなトコで聞けるよな
0623マム02/08/21 21:54ID:AE2ns9S9
教えてください。それだけなんです。。
教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば
いいのか、それだけを教えてください。
お願いします
0624nobodyさん02/08/21 21:58ID:???
>>619
BGSOUNDとEMBEDの違い。
板違いにつきsage
0625nobodyさん02/08/21 22:09ID:???
>>623
この板はサーバサイドプログラミングの話をするところなの。
それぞれの板で専門分野が決まってて、そこで話すのがルールなの。
HTMLの話は↓でしてるよ。
http://pc3.2ch.net/hp/
ルールは守ってね。
0626マム02/08/21 22:22ID:AE2ns9S9
結局わからないだけなのね。残念だわ
0627nobodyさん02/08/21 22:28ID:???
>>626
捨て台詞はいいからサッサと消えろよオマエ。
0628マム02/08/22 03:35ID:cGCA+Ih9
>> 624さんへ

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

あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので
私も悪かったです。今日はじめて書き込みしたんで。
とにかく624さんには感謝してます。ありがとう
0629nobodyさん02/08/22 05:41ID:???
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
0630nobodyさん02/08/22 06:15ID:???
自作自演に気づけ!
0631nobodyさん02/08/22 15:21ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。
んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。
処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし
パーミッションもちゃんと設定されているハズなんですが・・・。
どうすればいいでしょうか?
0632nobodyさん02/08/22 15:29ID:???
>パーミッションもちゃんと設定されているハズなんですが・・・。
ディレクトリって分かるか?
ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
0633nobodyさん02/08/22 15:34ID:OD++zTqz
suidってなんですか?すいど?
0634nobodyさん02/08/22 15:34ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
0635nobodyさん02/08/22 15:39ID:???
>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

これ以上やると荒れそうだから退散する
0636nobodyさん02/08/22 15:50ID:???
すまん、余りに不親切だ
FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に?
それと同じ様に cgi-bin/hogehoge/ と設置したのなら
hogehogeのパーミッションを緩めて行けば良いよ
それでもダメならcgi-binから順番に緩めて行くといい
頑張れよ、もう書かないから
0637nobodyさん02/08/22 16:05ID:???
imgboard.cgiなら
img-boxフォルダの属性を777
0638超初心者02/08/22 16:41ID:???
すいません、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です
いったい何がいけないのでしょう?
0639nobodyさん02/08/22 16:59ID:???
>>638
配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
0640超初心者02/08/22 17:06ID:???
ゴメソ気を付けます
0641nobodyさん02/08/22 17:08ID:???
まあガンガレ漏れも昔はさっぱり分からんかったよ
0642nobodyさん02/08/22 17:11ID:???
Error Message: No such file or directory
Error Number: 2

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

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

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

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

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

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

にしても >>646 さんは優しいのね。
065365202/08/23 20:44ID:???
横槍ですが } が足りないデショ。
$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; }
0654スクリプトエラー02/08/23 20:51ID:uC6hG1Tt
>>652
それが動いてくれないんです(T_T)。
転送もきちんと出来てるし、パーミッションもきちんと設定したのになぁ〜。
謎です。

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

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

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

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

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

$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 なんでもいいのでおしえて。
067267202/08/25 19:38ID:???
掲示板で、URL・メールアドレス・本文の3つ書き込む場所があり、
もしURLへの書き込みがない場合→全角空白1つを表示したいのです。$value =~ s// /g; ←この置換だけではうまくいきませんでした。

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

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

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

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

どんどんコピペして他の板にまいてください
0690nobodyさん02/08/26 21:22ID:???
$i #int integer
慣習。
0691 ◆JAPH9PWA 02/08/26 21:24ID:???
私はiteratorだと聞いたことがあるなぁ
ま、慣習だね
0692nobodyさん02/08/26 21:27ID:???
>>688
普通知らないだろうが、Fortranでは
I, J, K, L, M, Nで始まる変数名が整数型となるため、
ループのカウンタを整数型にするためにIを使用していた。その名残り。
2重ループなんかは、次Jになってるでしょ。
0693nobodyさん02/08/26 21:29ID:???
物知り自慰さんじゃあ!
0694nobodyさん02/08/26 21:31ID:???
>>690-692
よくわかりました。
ありがとうございました。
0695nobodyさん02/08/27 00:20ID:???
yybbsで管理者が全てのスレッドを発言修正できるようにしたいのですが、
方法ありますか?
0696nobodyさん02/08/27 00:32ID:q0U4FNMc
>>679
分割サイズとはどういうことなのでしょうか?
0697nobodyさん02/08/27 01:02ID:CX5s0ack
>>695
プチボードの管理モードを移植する
0698nobodyさん02/08/27 02:14ID:???
>>696
データ分割を行うサイズかと
0699送料02/08/27 02:22ID:xgv3aSxO
HTML の一部を別ファイルから読むようになっているのですが、
そこに変数を書いても、変数として扱われません。
$abc とかが、そのまま$abc とプリントされてしまう。
こういう場合、そうすたらいいんでしょうか?
0700nobodyさん02/08/27 02:25ID:???
>>698
データ分割とはログをいくつかのファイルに分けるっていうことでしょうか?
0701nobodyさん02/08/27 03:03ID:???
>>699
s/\$abc/HOGEHOGE/で置換させれば良いのでは?
0702nobodyさん02/08/27 03:50ID:???
>61
そうきたか、逝ってくる( ´ー`)
0703nobodyさん02/08/27 05:11ID:xgv3aSxO
>>701
レスありがとう。
変数の中身は変わるから、その中身を表示させたいのです。
HTML を読み込んだ場合、変数が変数として
扱われないのはなぜなんでしょう?
0704nobodyさん02/08/27 05:20ID:???
>>変数の中身は変わるから、その中身を表示させたい
だったらs///で置換してもだめだな。
HTMLを読み込むってのは、openでHTMLの各行を配列にするんだろ?
そうだと、例えば$file[3]に"<h1>$title</h1>"という文字列が代入されるわけだから、
変数$titleは変数ではなく文字列として扱われるんだと思う。
0705nobodyさん02/08/27 09:08ID: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サーバの設定やローカル環境に問題があるのでしょうか。
0706nobodyさん02/08/27 09:53ID:???
>>699
s/\$([a-zA-Z_]+)/($$1)/eg;
かな。
0707nobodyさん02/08/27 10:53ID:Pwc6QKdg
sleep(36000);
等はsleepしている間、かなりサーバに負荷がかかるんでしょうか?
また、これ以外、何時間後かに動作させるにはどうするいいんでしょうか?
070870502/08/27 11:31ID:???
解決しますた。原因はパッシブモード。

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

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

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

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

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

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

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

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

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

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

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



プ
0742優香02/08/27 22:04ID: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("メールアドレスに不正な文字が含まれています。");}

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

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

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

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

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

つってもループ外で使うなら気にするほどの差じゃ無いので
自分が分かりやすい方を書いた方が後々良いかもしれん
0763nobodyさん02/08/30 11:23ID: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のファイルしか直接読めない。

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

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

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

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

>>788リンク先みたいな場面だと普通にCGI <-> mod_perlがどうこうなどと書いてあんですよね。
0790nobodyさん02/09/01 19:32ID:???
>788
それはmod_perlの命令の一つに「CGI」というのがあるだけと思われ。
0791<>02/09/01 20:55ID: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/;

と書いてありましたが本当でしょうか?
0792 ◆JAPH9PWA 02/09/01 21:21ID:???
>>791
自分で試してみようとは思わないの…?
とりあえず、perl5.6以上で文字コードutf8にしてuse utf8;でなら可能だけど。
さもなくばJcode.pmのJcode::trメソッドを使う、とか
0793nobodyさん02/09/01 21:22ID:???
>>791
JPerl なら本当。一般的には嘘。
0794nobodyさん02/09/01 21:24ID:???
>>787
確かに。
PHP と引き合いに出すなら mod_perl と比較しないと意味ないよね。
0795<>02/09/01 21:25ID: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

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

unlinkの関数で.iniのファイルを削除しようとしたのですが
むりでした。
iniのファイルは削除できないのですか?
A:できる(Yes,you can.)直訳:はい、できます
B:できない(No, you can't)いいえ、できません
C:知るか!!(How should I know?)どうして私が知ろうものか・・・
D:教えねえよ(I don't tell you.)私はあなたに教えません。
ABCDのどれかでおねがいします
0801nobodyさん02/09/02 17:27ID:???
C
わかるかっ!
080202/09/02 17:47ID:???
Please,だれかおしえてくれ・・・
0803nobodyさん02/09/02 18:20ID:???
>>800
私はできますが、あなたが出来るかはわかりません。
080402/09/02 21:28ID:???
サンキュー
0805nobodyさん02/09/02 21:29ID:fApWiCnr

http://www.leverage.jp/bloom/qry/search.qry?function=Search
080678302/09/02 22:55ID:???
>>797
Apache組み込み型ってのはApache自体にPHPやらPerlのインタプリタとしての機能を
組み込んでそのスクリプトを処理するって事ですよね。

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

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

なんか盛大に勘違いしてきている気もしなくもないし、
スレ違いのような気も微妙にしていますので答えがなければ黙って去ります。
0807nobodyさん02/09/02 22:57ID:???
>>801
C言語CGI専用スレッド
http://pc.2ch.net/test/read.cgi/php/988918264/
の事か?
0808nobodyさん02/09/03 10:38ID:+fworGnI
シンプルに現在時刻をdatファイルに書き出す方法ないですか?
0809nobodyさん02/09/03 11:34ID:???
>>808
現在時刻ってUNIXタイムスタンプでいいの。
0810nobodyさん02/09/03 12:12ID: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";
081180802/09/03 12:15ID:05tL4XNt
>>809
GMT-8で時間を取得したいです。
あとdatに書き出す方法が分からないです。

すみません。調べても分からなくて。
0812nobodyさん02/09/03 12:54ID:???
>>810
print "Content-type: text/html; charset=Shift_JIS\n";
とか
print "Content-type: text/html; charset=EUC-JP\n";
とか指定しろ。
0813nobodyさん02/09/03 22:24ID:???
ログがファイルの書き込み処理で
$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 $_;
}
}
はどちらが良いのでしょうか?
081481302/09/03 22:32ID:???
>ログがファイルの書き込み処理で
ログファイルでした。すみまちぇん。
0815nobodyさん02/09/03 22:33ID:???
foreach(@HOGE){
  if(index($_,"$aaa,") == 0){
    print OUT $gola;
  }else{
    print OUT $_;
  }
}
漏れならこうかな?
081681302/09/03 22:35ID:???
>>815
素早い回答ありがとうございました!
815さんのやり方の方がかっくいいのでこれからそのやり方にさせて板抱きます!!
ありがとうございました。
0817nobodyさん02/09/03 22:57ID:qCA/TmZF
>>816
かっくいいわるい以前に負荷が全然違う。
(split(/,/))[0]
は普通にsplitするよりも負荷高いから余程の理由が無い限りは
ループ内で使うもんじゃない。

ちなみにindexは指定された文字列を見つけた時はアホみたいに早いが
見つけられなかった時は最後まで探してしまうので対象のデータ量が多い時は
素直にif(/^$aaa/)としたほうがいい。この場合は$aaaで始まってるか始まって無いか
分かった時点で判定終了する。
0818nobodyさん02/09/03 23:03ID:???
カンマ忘れた
(/^${aaa},/)
0819nobodyさん02/09/04 02:56ID:???
>>817
そうなんですか。
わかりました。
負荷と速度を気にしているんでよく覚えておきます。
0820nobodyさん02/09/04 10:04ID:lAlY0Cd6
yahooのジオシチーにCGIのプログラムを
ダウンロードしてみたのですが動きません。
なぜですか?
バーナーを張り付けたからでしょうか?
0821nobodyさん02/09/04 10:07ID:???
日本語から習いなおしてください。
0822nobodyさん02/09/04 16:22ID:A3ZRMRKj
ある有料サーバーを使っているのですが、ファイルを出力するCGIを
実行する際に、専用のSSLサーバー(ttps://***.site-secure.net/)
を通すとInternalServerErrorが出てしまいます。
どなたか分かる方いたらお願いします。
0823nobodyさん02/09/04 16:23ID:???
>>822
つーか、有料サーバならサポートくらいあんだろ。
そっちで聞けよ
0824nobodyさん02/09/04 16:25ID:???
>>822
マルチはいやです。
0825nobodyさん02/09/04 23:36ID:9zek6dkE
methodで指定する送信方式ってGETやPOSTが一般的だけど、他にも
HEAD, PUT, DELETE, LINK, UNLINK, OPTIONS, TRACE, PATCH
とかあるらしい。
この送信方式って、どう違うの?
0826nobodyさん02/09/05 00:03ID:???
検索ぐらい汁。
漏れはHEADよく使うけどな。
0827nobodyさん02/09/05 01:47ID:???
レンタルサーバ(共有)を利用していますが、cronでPHPスクリプトを動かしたいとき、
CGIにしなけりゃいけないの?
0828nobodyさん02/09/05 02:18ID:???
>>827
レンタルサーバで聞いてくれ。
0829nobodyさん02/09/05 02:44ID:???
>>827
そのとうり
0830nobodyさん02/09/05 07:09ID:???
>>825
乱暴な言い方すると通信のしかたはどれも一緒。
0831nobodyさん02/09/05 11:57ID:rTTP6Czn
アクセスログ解析するcgiで良い奴、便利なものってなんですか?
0832nobodyさん02/09/05 13:54ID:???
>> 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;
}
}
0833AIXさん@EMACS2102/09/05 14:12ID:???
$fh->close; 過去悪いな(藁
0834nobodyさん02/09/05 14:50ID:???
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>"
}
としたのですが、これだとディレクトリ名も取得してしまいます。
ファイル名だけを取得することは可能ですか?
0835nobodyさん02/09/05 16:30ID:wlSd51fU
掲示板CGI「挨拶しちゃろう!」でIPを抜くにはどうすればいいデスか?
0836nobodyさん02/09/05 17:08ID:ffAWCECf
CGIに特化した質問じゃないんだけど、リファラーを取得して
処理をするプログラムを作ろうとしています。

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

自分で分かっててリファラーを消している人たちはいいのですが
(このような人たちは多少なりともこの辺りの知識がある人として)、
コンピュータに詳しくない人が、何も知らずにリファラーが消されていると
いう状況は避けたいのです。
0839nobodyさん02/09/05 19:53ID:???
それ無理だろ。
0840nobodyさん02/09/05 20:20ID:???
>>838
なんで?
0841nobodyさん02/09/05 20:41ID:???
「Referer を吐いてないことで正常に処理されてないな」
と思って、一時的に Referer を吐くように設定し直すからでは?
0842nobodyさん02/09/05 22:14ID:9DT7IxqZ
0843nobodyさん02/09/05 22:17ID:???
>>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";
}
}
0844sage02/09/06 01:41ID:NZiXunYP
プログラムはRefererをONにしないと正常に動作しない可能性があります。

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

>> 844
プログラマの視点からしか物が見られない典型的な事例ですか?
せめて、
「このウェブサイトはRefererをONにしないと正常に閲覧できない可能性があります」
ぐらいにしてくれ。
0846nobodyさん02/09/07 02:39ID:???
プログラム -> ウェブサイト
動作しない -> 閲覧できない
出力に置換のラップかけとく。
0847nobodyさん02/09/07 19:30ID:???
>>1
特にないです。
0848nobodyさん02/09/07 22:01ID:IU7eXXom
ヤッホー
0849nobodyさん02/09/08 16:20ID:QxRWekvC
Windowsで作成したiモードサイトのcgiを直すことになったとき、
Macなので、どうやって動作テストすればいいか分かりません。
iモードツールみたいなもののMac版ってあるんでしょうか?
0850nobodyさん02/09/08 16:28ID:???
マルチ氏ね
0851nobodyさん02/09/08 17:40ID:lY3xuSDW
>>846
閲覧←これってなんて読みますか?
漢字にしたいときにどうしてもでてこない。
0852nobodyさん02/09/08 17:42ID:Nhv16nwZ
小学生かよ
0853nobodyさん02/09/08 17:47ID:???
辞書引けボケ
0854nobodyさん02/09/08 18:02ID:y2CqVjI0
えつらん
0855nobodyさん02/09/08 18:03ID:???
>>854
。・゚・(ノД`)・゚・。ありがとうございます
0856nobodyさん02/09/08 19:51ID: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です。
どなたか、教えていただけるとありがたいです。よろしくお願いします。
0857nobodyさん02/09/08 20:26ID:???
>>856
鯖どこ?
Xreaとかだとカウンタは使えなかったような・・・
0858nobodyさん02/09/08 20:58ID:???
>>856
サポート掲示板で相談にのってもらいながら2ちゃんねるにマルチポストですか。
0859nobodyさん02/09/09 09:21ID:eKCzcjoF
より沢山情報を集めたいわけだから、
いちいち嬉しそうにマルチポストとか言うのやめてくれ。
分からない奴にしたら必死なんだから。
0860nobodyさん02/09/09 10:10ID:???
>>859
より簡単に。ダロ。
自覚があるなら、文頭に「マルチポストで済みません」とでも書くべきだ。
0861nobodyさん02/09/09 16:31ID:ZrHLFC/J
すみません、ファイルアップローダ(画像じゃなくてMP3とかUPする)
探してるんですが良いのが見つかりません。。
はずきちゃんねるにあるのよりもうちょっとオシャレな奴で、
何かいいのあれば教えて下さい。
0862nobodyさん02/09/09 16:39ID:???
>861
こんなCGI探してますスレッド Ver6
ttp://pc.2ch.net/test/read.cgi/php/1021897804/

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

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

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

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

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

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

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

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

というのは、どうすればいいですか?
0878nobodyさん02/09/11 01:57ID:???
>>877
質問の意図がわからない。
Javascript使ってるほうが特殊だろ。普通にアドレス指定すれば?
ていうかJavascript効かなきゃ戻れないようなスクリプト使うな。
嫌がらせか?
0879nobodyさん02/09/13 20:48ID: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の情報を問い合わせフォームに反映させたいのです。
これによって、どのページから問い合わせがあったのか確認できるというものです。
どうぞ、よろしくお願いします。
0880nobodyさん02/09/13 20:53ID:???
hiden
0881nobodyさん02/09/13 22:04ID:ZBvTgmmn
具体的にhiddenでどういうスクリプトを書けばいいですか?
最近hiddenの使いかたでつまづいているので、
詳しく知りたいです。
08823PIO ◆3pIoOHKo 02/09/13 22:26ID:oB59gluG
>>879
メソッドGETでやるのか?
$ENV{'QUERY_STRING'}を取得してどうにかしてみれば?
0883nobodyさん02/09/13 22:27ID:???
hiddenはスクリプトには直接な関係は無し。
入力項目をブラウザに表示するかしないかの違い。
08843PIO ◆3pIoOHKo 02/09/13 22:33ID:???
>>879
仮に index.cgi?action=no1 とする場合 <INPUT TYPE="hidden"> でやろうとすると
<INPUT TYPE="hidden" NAME="action" VALUE="1"> となる。
0885nobodyさん02/09/13 22:38ID:???
>>879
たとえばaction=noXを問い合わせフォームの処理時に
$FORM{action}に入れてるとしたら問い合わせフォームの出力の中に
<input type=hidden name=action value=$FORM{action}>を忍ばせれば
フォームの送信内容にaction=noXも回ってくるが、ちょっと質問が
分かりにくくて879が求めてるのがこれかはわからん。
0886nobodyさん02/09/13 22:40ID:ZBvTgmmn
>>884
んで、それをHTMLで表示させるにはどうしたらいいんですか?
08873PIO ◆3pIoOHKo 02/09/13 22:48ID: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"; }
08883PIO ◆3pIoOHKo 02/09/13 22:51ID:oB59gluG
>>886
訂正
if ($ENV{'QUERY_STRING'} =~ /action=/) {
print "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"$'\">\n";
}
0889nobodyさん02/09/13 23:13ID:6czl9EPt
ありがとうございますー。
ということは、
postではなくgetでということですよね。
疲れるでしょ、すみませんド素人なんです。
0890nobodyさん02/09/14 04:56ID:???
疲れるでしょ じゃねーよハゲ
オマエみたいのがホント最悪
0891nobodyさん02/09/14 06:41ID:???
>>889-890

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

こうしたほうが安全かも
08953PIO ◆3pIoOHKo 02/09/14 21:17ID:???
>>894
それは言えてる
でも俺はPerlしか分からない。スマソ
0896nobodyさん02/09/15 00:45ID:???
>>895
自作自演ハケーン!
0897nobodyさん02/09/15 01:31ID:???
>>893
君が Perl 以外の言語で質問に答えまくれば少しは減るかもね。
0898nobodyさん02/09/15 03:17ID: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, webmaster@plala.or.jp 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
0899nobodyさん02/09/15 03:32ID:3+dpNle4
>>898
そんなもん、そのCGIを作っているサイトのサポートにでも聞け
0900nobodyさん02/09/15 13:58ID:phaXzr8M
携帯電話からPC向けのページを見るための変換スクリプトはないのでしょうか?
あと、infoseekの国語辞典を携帯から利用するスクリプトもあるのでしょうか?
0901nobodyさん02/09/15 14:08ID:???
>>900
前 UAで振り分けろ。スクリプトなんか自分で作れ。
後 そんなものない
0902nobodyさん02/09/15 14:10ID:Q+JVAQqk
むしろ逆に、携帯からしか見れない携帯サイトをPCで見るための
変換スクリプトがほすぃ。
09033PIO ◆3pIoOHKo 02/09/15 14:16ID:???
>>896
>>893に言ったつもりが>>894にしてしまった。
ハズカシイ。。。逝ってくる。
0904nobodyさん02/09/15 15:28ID:???
<sage>
0905nobodyさん02/09/15 20:52ID:phaXzr8M
>>901
ないのか。。。
0906nobodyさん02/09/15 21:34ID:kinL8j5T
>>905
スレ違い。クレクレ君はこっちに逝け。
http://pc.2ch.net/test/read.cgi/php/1031910901/l50
0907nobodyさん02/09/16 01:33ID:J5uNkolO
CGIに初めて挑戦しているので、どうか教えて下さい。
フォームメールを作って、今テストの段階なのですが、
入力して送信すると、
???セッションファイルへの書き込みができません???
というメッセージが出ます。
フォームメールのためにアップロードしたのは
form.htmlとform.cgiとjcode.plなのですが、
セッションファイルとは何ですか?
何か、別にファイルを作らなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
0908nobodyさん02/09/16 01:38ID:???
それだけでわかったらすごいわ。
0909nobodyさん02/09/16 01:43ID:???
>>907
CGIはまだ早いってこと。
091090702/09/16 01:50ID:J5uNkolO
教えてくれる気がないということでしょうか、
もういいです。
0911nobodyさん02/09/16 02:11ID:???
へっ、逆切れか。
0912nobodyさん02/09/16 05:31ID:???
>>907
料理に初めて挑戦しているので、どうか教えて下さい。
ハンバーグを作って、今テストの段階なのですが、
調理して食べさせると、
???まずくて食べられません???
というメッセージを言われます。
ハンバーグのために買ってきたのは
挽き肉と玉ねぎと塩こしょうなのですが、
まずいとは何ですか?
何か、別に隠し味を入れなくてはいけないのでしょうか?
検索してもよく分からなくて、、、
よろしくお願いします。
0913nobodyさん02/09/16 07:32ID:???
>>912
重要なもの忘れとるだろ
糞100g、しっこ200g
あと、全部混ぜてから股の油いれないと硬くなるよ
焼くときは焦げないように頻繁にひっくり返して臭いを嗅ぐ



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

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

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

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

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

(゚д゚)ウマー

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

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

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

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

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

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

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

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

一発で出来ました。感激です。
どうもありがとうございました。
0939nobodyさん02/09/18 18:45ID:ECgqRdVc
ほんとかよ?
0940nobodyさん02/09/18 19:02ID: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/
0941nobodyさん02/09/18 23:22ID:???
はいはい板違い。
0942934&93602/09/19 01:03ID:???
>>939
ネタでなくマジです。
0943nobodyさん02/09/19 01:18ID:???
>>940
tomoタン懐かしいなあ。未だに晒されてるのか。かわいそうに。
0944nobodyさん02/09/19 01:36ID:EYRy75E4
KENTのCGIってセキュリティーがカナーリ甘いのは気のせいでしょうか?
いたずらしたくてうずうずしちゃいます。
0945nobodyさん02/09/19 02:21ID:???
>>944
で、なんの質問?
0946nobodyさん02/09/20 18:10ID:???
以下のように作りたいんですが…

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

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

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

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

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

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

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

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

レス下さった方々、ありがとうございました。
これにて失礼致します。
096495202/09/21 14:35ID:???
>>963は952です。
0965nobodyさん02/09/22 23:26ID:???
次スレ
http://pc.2ch.net/test/read.cgi/php/1032704121/l50
0966教えて君02/09/23 22:36ID: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 に直接ヘッダを書けばいいとすれば、
どのような書き方があるのでしょうか。
09671000 げっとー!02/09/23 22:49ID:???
>>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 の標準入力にはヘッダは入れれないみたい。
ところで、「偽装」なんて言うと牛肉みたいだ。あと、次スレがあるよ。
0968nobodyさん02/09/27 16:15ID:???
おれが1000ゲト
0969nobodyさん02/09/27 16:15ID:hQ9dvMrP
sage
0970nobodyさん02/09/27 16:16ID:???
シマタ!!                        
アゲテモタ                 
スマソ                                               
0971nobodyさん02/09/29 00:15ID:XD/Kg5DE
廃品利用
0972nobodyさん02/09/29 10:57ID:T8lRdqNO
http://uho.s7.xrea.com/cgi-bin/yy2ch/
なんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
0973nobodyさん02/09/29 11:32ID:???
>>972
スクリプトの改造はこちらへ。
http://pc.2ch.net/test/read.cgi/php/1028193595/l50

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

取り敢えずなんか書きこぬ。
0976nobodyさん02/10/01 22:46ID:/MHsvfgG
age
0977nobodyさん02/10/01 23:03ID:46QWbCel
香具師age
0978nobodyさん02/10/01 23:19ID:???
加勢するぜ
0979nobodyさん02/10/02 00:13ID:???
火星するぜ
0980nobodyさん02/10/02 13:21ID:???
980
0981nobodyさん02/10/02 15:51ID:???
協力するぜ
0982nobodyさん02/10/02 15:54ID:???
強力するぜ
0983nobodyさん02/10/02 16:28ID:???
983
0984nobodyさん02/10/02 16:29ID:???
参加するぜ
0985nobodyさん02/10/02 18:41ID:???
酸化するぜ
0986nobodyさん02/10/02 19:42ID:???
986
0987nobodyさん02/10/02 21:03ID:???
援助するぜ
0988nobodyさん02/10/02 21:11ID:???
怨除するぜ
0989nobodyさん02/10/03 11:13ID:vcMqf4eP
つーか989
0990nobodyさん02/10/03 15:00ID:???
あとちょい
0991nobodyさん02/10/03 16:42ID:???
もうちょい
0992nobodyさん02/10/03 22:11ID:???
992。
あと一息だ。
上げちまおうっと。
0993nobodyさん02/10/03 22:13ID:???
人いない板なのに、次スレ早く立て過ぎたようだね
0994nobodyさん02/10/03 22:32ID:???
な、なんだよ・・・
0995nobodyさん02/10/03 22:33ID:???
次スレ
http://pc.2ch.net/test/read.cgi/php/1032704121/l5
ちゅーか100超えてるじゃん(w
0996nobodyさん02/10/03 22:42ID:???
はぁ?
0997nobodyさん02/10/03 22:42ID:???
よいしょ                 
0998nobodyさん02/10/03 22:43ID:???
どう?
 
 
                          
0999nobodyさん02/10/03 22:43ID:???
はい
10001000ゲタ-02/10/03 22:43ID:???
ますっ!!

 
 
                             
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。