CGIだけど、なんか質問ある?part3
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
2001/05/01(火) 23:37ID:???print<<HTML_END;
<a href="http://tako.2ch.net/test/read.cgi?bbs=perl&key=984388283" target="_blank">旧スレ</a>
HTML_END
0002名無しさん@お腹いっぱい。
2001/05/01(火) 23:38ID:???403 名前:名無しさん 投稿日:2001/05/01(火) 19:20
CGIって、アクセスのたびにプロセスを生成して、
アクセスが増加するとオーバヘッドが大きくなるっていいますよね?
ここで、処理するCPUを複数にして分散処理させてやると、
負荷を減らすことはできるんでしょうか?
その際、別プロセスを生成しないPHPなんかと比べるとどんな感じでしょうか。
0003名無しさん@お腹いっぱい。
2001/05/02(水) 01:07ID:???最初の3つと最後の1つを除いて、<> を , に置換する正規表現は
どう書いたらいいですか?
0004名無しさん@お腹いっぱい。
2001/05/02(水) 01:32ID:jafDK2R2xdsl053090.211015.metallic.ne.jp
なるほど・・・
スレたてた人のHOST名が分かるのか。初めて知った。。。
0006ブチ
2001/05/02(水) 02:05ID:???print $_."\n";
@array = split(/<>/,$_);
$_ = join('<>',@array[0..3]).','.join(',',@array[4..$#array-1]).'<>'.$array[$#array];
print $_."\n";
こんな感じ?
$_ = 'A<>B<>C<>D<>E<>F<>G<>H<>I'<>;
だとちょっと違う動作するけど。
0007名無しさん@お腹いっぱい。
2001/05/02(水) 02:11ID:???$_ = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
の場合は
A<>B<>C<>D,E,F,G,H,I<>
になってほしいです。
0008名無しさん@お腹いっぱい。
2001/05/02(水) 04:07ID:c..OqfwQhttpサーバを巡回して情報を集めるスクリプトを作っています。
1つのプログラムで、複数のサイトと同時にソケット通信を行う
方法教えていただけないでしょうか?
今作ったものだとソケット通信するときに終了するまで待機
してしまうため、効率が悪いのです。お願いします。
print SOCKET "GET /index.html HTTP/1.0\r\n\r\n";
while(<SOCKET>) {$d .= $_;}
close(SOCKET);
#<SOCKET>のところで待機
0009ブチ
2001/05/02(水) 07:32ID:???後尾が <> になってないのでそのデータなら問題ないはず。
>>8
http://X68000.startshop.co.jp/~68user/net/index.html
の並行アクセスのことかな
0011名無しさん@お腹いっぱい。
2001/05/02(水) 09:25ID:???$_ = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
$_ =~ /^([^<>]*<>[^<>]*<>[^<>]<>)(.*)(<>[^<>]*)$/;
$t1 = $1;
$t2 = $2;
$t3 = $3;
$t2 =~ s/<>/,/g;
$_ = $t1.$t2.$t3;
もっと簡単で確実な方法はないものか・・・。
>>6さんの変形で
$_ .= "\0";
@array = split(/<>/,$_);
$_ = join('<>',@array[0..3]).','.join(',',@array[4..$#array-1]).'<>'.$array[$#array];
$_ =~ s/\0$//g;
の方が確実かな?
0013ブチ
2001/05/02(水) 12:27ID:???>>11 < と > がデータに含まれないと仮定するなら [^<>] か . 使って
先頭と後尾を待避させる >>11 の上半分のが確実だね。
それでいいと思う。訂正ありがとう。
0014名無しさん@お腹いっぱい。
2001/05/02(水) 16:45ID:WP2JLVukforkしてみるとか。
0015名無しさん@お腹いっぱい。
2001/05/02(水) 20:32ID:zg.ymw9.@string = ( 'あ','い','う','え','お',
'か','き','く','け','こ',
'さ','し','す','せ','そ',
'た','ち','つ','て','と',
'な','に','ぬ','ね','の',
'は','ひ','ふ','へ','ほ',
'ま','み','む','め','も',
'や','ゆ','よ',
'ら','り','る','れ','ろ',
'わ','を','ん',
'が','ぎ','ぐ','げ','ご',
'ざ','じ','ず','ぜ','ぞ',
'だ','ぢ','づ','で','ど',
'ば','び','ぶ','べ','ぼ',
'ぱ','ぴ','ぷ','ぺ','ぽ');
ここからランダムに五文字取り出して表示するには
どうしたらいいんですか?
0016名無しさん@お腹いっぱい。
2001/05/02(水) 21:03ID:MW8G6.HA0017名無しさん@お腹いっぱい。
2001/05/02(水) 21:34ID:???srand;
print "$string[rand($#string)]$string[rand($#string)]$string[rand($#string)]$string[rand($#string)]$string[rand($#string)]";
0018名無しさん@お腹いっぱい。
2001/05/02(水) 21:38ID:???http://tako.2ch.net/test/read.cgi?bbs=perl&key=972028779
こんなスレがある。
そこで自分にあうのを探してみな。
001916
2001/05/02(水) 21:51ID:Ey898xBoおー、あんがとね
0020名無しさん@お腹いっぱい。
2001/05/02(水) 23:20ID:CcUogTb.多分+1しないと最後のが拾えないと思う。もしくは scalar(@string) かで。
あと int でくくっておかないと少数も拾われると思う。
ついでにループ5回にしておけばエレガントかと
for(my $i=0 ; $i < 5 ; $i++){
print $string[int(rand($#string+1))];
}
002215
2001/05/03(木) 00:18ID:VrIHsOYcありがとうございました。
0023コブラ
2001/05/03(木) 08:39ID:wH5A8qUQこれじゃダメかね?
#!/usr/bin/perl
$s = 'A<>B<>C<>D<>E<>F<>G<>H<>I';
$s =~ s/(.<>.<>.<>.)<>(.)<>(.)<>(.)<>(.<>.)/$1\,$2\,$3\,$4\,$5/;
print "$s\n";
exit 0;
省略すりゃたった4行にもできる(プ
ゲスト募集 http://www.guestbook.de/yasg.cgi?X=52084
0024コブラ
2001/05/03(木) 09:25ID:TOMIoyvMムゥ〜、ならこれでどうかね?
#!/usr/bin/perl
$s = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
@q = split(/[a-zA-Z]</, $s);
if($#q == 8){
$s =~ s/(.<>.<>.<>.)<>(.)<>(.)<>(.)<>(.<>.)/$1\,$2\,$3\,$4\,$5/;
}
elsif ($#q == 9){
$s =~ s/(.<>.<>.<>.)<>(.)<>(.)<>(.)<>(.)<>(.<>)/$1\,$2\,$3\,$4\,$5\,$6/;
}
print "$s\n";
exit 0;
00257
2001/05/03(木) 11:32ID:???ネタ? ならこっちの方が短いぞ
$_ = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
$_ = 'A<>B<>C<>D,E,F,G,H,I<>';
print;
いちおうマジレスもしとくとAとかBとかCとか書いてあるのは単なる例で、
実際には <> を除く任意の長さの任意の文字列の組み合わせが入りう
る。当然1文字とも限らない。また <> の個数も7個か8個とは限らない。
だからダメ。
0026コブラ
2001/05/03(木) 12:23ID:TOMIoyvMハァ!?
一応、二行分はサービスしといたる (プ
#!/usr/bin/perl
#$s = 'A<>B<>C<>D<>E<>F<>G<>H<>I';
$s = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
$s =~ /(.+?<>.+?<>.+?<>.+?<)(.*)(.+<>)/;
#$s =~ /(.+?<>.+?<>.+?<>.+?<)(.*)(.+<>.+)/;
$h = $1; $t = $3; $d = '<'."$2"; $d =~ s/<>/\,/g; chop($h);
$a = $h.$d.$t;
print "$a\n";
exit 0;
0027名無しさん@お腹いっぱい。
2001/05/03(木) 12:30ID:mkvgKrag0028名無しさん@お腹いっぱい。
2001/05/03(木) 15:37ID:???気持ちはわかるが不要な波風は立てんでくれ。
>>26
データが空だった場合( <><> )とデータ数が変わる場合(<>の数が変化)の対応が不足していると思う。
区切り文字が<>とかある場合は大抵データ数は可変な。11 の前半で問題ないはず。
002928
2001/05/03(木) 15:41ID:???00307
2001/05/03(木) 17:52ID:???マジでネタかと思ったんで煽ったつもりはなかったんだけど…
11の前半は < や > が単独で出現した場合に対応できないからダメ
だってば。
今のところ問題なさそうだったのは11の後半だけ。
0031山田十
2001/05/03(木) 21:20ID:9MBPUkuQチェックするツールが欲しいor作りたいんですけど、ソケット技術(知識皆無)必須ですか?
ソケットって勉強してみるべきでしょうか?
>>27
htmlにするとロムチェックができなくなるよ。
それでもいいならあると思う。
0032コブラ
2001/05/03(木) 23:03ID:TOMIoyvM#!/usr/bin/perl
$s = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
$s =~ /(.*?)(<.+?[a-zA-Z])(.*?)(<.+?[a-zA-Z])(.*?)(<.+?[a-zA-Z])(.*?<)(.+[a-zA-Z])(
<.*>)/;
$a = $1; $b = $2; $c = $3; $d =$4; $e = $5; $f = $6; $g = $7;
$h = '<'.$8; $i = $9;
$h =~ s/(<>)+/\,/g;
chop($g);
$x = $a.$b.$c.$d.$e.$f.$g.$h.$i;
print "$x\n";
exit 0;
0033名無しさん@お腹いっぱい。
2001/05/04(金) 01:06ID:???$_ = 'A<>B<>C<>D<>E<>F<>G<>H<>I<>';
1 while( s/((<>.*?){3})<>(?=.*?<>)/$1,/ );
print;
つーか、なんで11で満足しないんだよ。問題ないだろ?
あと、人に物を訊く時の態度を身につけてくれ。
0034名無しさん@お腹いっぱい。
2001/05/04(金) 01:35ID:???s/<>(?=.*?<>)/$i++<3 ? '<>' : ',' /eg;
ほれ、>>33より速いぞ。
0035名無しさん@お腹いっぱい。
2001/05/04(金) 03:07ID:???それをCGIでやりたいって事?
作るんならソケットの知識は必要だよ。
既成の物を使うんならいらないだろうけど、俺は知らない。
0036名無しさん@お腹いっぱい。
2001/05/04(金) 03:11ID:h.IoSR6U下のPJ2.34なんですが、自分ではどうしてもSNMPチェックができません。
項目自体が出て来ないんです。
http://gogogobaku.hypermart.net/cgi-bin/up/data/176.txt
http://vivit.freeshell.org/cgi-bin/p234.cgi
↑ここのように普通にSNMPチェックがしたいのに。
$szSNMPFile = 'snmp.txt';と入れて
&snmp_check() if( $szSNMPFile ne 'snmp.txt' );
とすればいいんですよね?
どうしたらいいか教えてください。
00377
2001/05/04(金) 03:42ID:???すみません。
つーか私は11の後半で終わりかと思ってたのにいきなり23で変なレス
付け始めたからネタかと思ったんですけど。
>>33 >>34
わーを。
0038名無しさん@お腹いっぱい。
2001/05/04(金) 04:03ID:SjuK53b20039名無しさん@お腹いっぱい。
2001/05/04(金) 06:05ID:pso/dl7Y様々な手段がある事を知らしめる意味でも様々な意見が必要だ。
その中から、私は最善と思われる手段をパクらせて頂く (プ
0040名無しさん@お腹いっぱい。
2001/05/04(金) 12:02ID:9451pGWM「&」が「&」で
「"」が「"」で
「<」が「<」で
「>」が「>」
は判ったんですが、「:」と「/」はどういうやつか教えてもらえませんか?
また、これについて詳しいページないでしょうか。
0041名無しさん@お腹いっぱい。
2001/05/04(金) 12:06ID:9451pGWM$value =~ s/,/&#44;/g;
$value =~ s/&/&amp;/g;
$value =~ s/"/&quot;/g;
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
ときて、
$value =~ s/:/??/g;
$value =~ s/\//??/g;
??に入るのが知りたいんです。
0042名無しさん@お腹いっぱい。
2001/05/04(金) 12:31ID:???何故実体参照が必要になる事があるのか考えた事があるのか?
0043名無しさん@お腹いっぱい。
2001/05/04(金) 13:00ID:???ほれ。
http://www.w3.org/TR/html4/HTMLlat1.ent
http://www.w3.org/TR/html4/HTMLsymbol.ent
http://www.w3.org/TR/html4/HTMLspecial.ent
0044名無しさん@お腹いっぱい。
2001/05/04(金) 16:49ID:PNAoQ0rcえと、怪しい文字は避けろとかそんな感じでしょうか。
ごめんなさいよく判ってません。
>>43
これを使えばいいんですね。ありがとうございます。
使い方勉強します。
004543
2001/05/05(土) 01:48ID:???半ば嫌がらせのつもりだったのに、そう素直にお礼を言われると罪悪感が。
ここ見るといいです。
http://www.ne.jp/asahi/minazuki/bakera/html/reference/charref
0046初心者
2001/05/05(土) 06:12ID:Yzwz4hOM$ENV{'TZ'} = 'JST-9';
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$day = ('日','月','火','水','木','金','土')[$wday];
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d:%02d",$year+1900,$mon+1,$mday,$day,$hour,$min,$sec);
}
時間・分・秒表示をしたくない時はどれを削ればいいのでしょうか?
$sec,$minを消しただけだと日付けなどがでたらめになってしまいました。
0047山田十
2001/05/05(土) 06:17ID:???$ENV{'TZ'} = 'JST-9';
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$day = ('日','月','火','水','木','金','土')[$wday];
$date = sprintf("%04d/%02d/%02d(%s)",$year+1900,$mon+1,$mday,$day,);
}
でいいと思うよ。しかしオタクくさい構文書くね。>作者の人
0048名無しさん@お腹いっぱい。
2001/05/05(土) 06:20ID:?????
004946
2001/05/05(土) 06:54ID:Yzwz4hOMありがとうございました!!
答えだけ聞きたい初心者ですみません。
おかげさまで他の部分もちょっとわかった気がします。
作者はかなり前ですが旧CGI板にたまーにいらしてた方です(^^;;;
0050名無しさん@お腹いっぱい。
2001/05/05(土) 17:08ID:Yzwz4hOMスクリプト中の自動リンクの表示色を変えたいのですが。
どうしてもbodyのテキスト色になるらしく、それだと都合が悪い部分があって
違う色にしたいのです。autolinkが出てくる部分を抜き出してみたけど
どこを変えたら色が変わるのかわかりません。
#自動リンク(1 → on, 0 → off)
$autolink = 1;
と初期設定にあり、それ以外にautolinkが出てくるのは下だけです。
---------------------------------------------------------
if ($autolink){
$com =~ s/(https?|ftp|gopher|telnet|whois|news):\/\/([\w|\!\#\$\%\&\'\(\)\=\-\^\`\\\|\@\~\[\{\]\}\;\+\:\*\,\.\?\/]+)/<A href=\"$1:\/\/$2\">$1:\/\/$2<\/A>/g;
$com =~ s/([\w|\!\#\$\%\'\=\-\^\`\\\|\~\[\{\]\}\+\*\.\?\/]+)\@([\w|\!\#\$\%\'\(\)\=\-\^\`\\\|\~\[\{\]\}\+\*\.\?\/]+)/<A href="mailto:$1\@$2">$1\@$2<\/A>/g;
}
0051名無しさん@お腹いっぱい。
2001/05/05(土) 17:19ID:???ボディタグでリンクカラーを指定してる?
0052名無しさん@お腹いっぱい。
2001/05/05(土) 18:07ID:???とりあえずHTMLの勉強から始めると良いと思われ。
0053名無しさん@お腹いっぱい。
2001/05/05(土) 20:01ID:LWKdQI1E<img src="himicode.cgi?$ENV{'REMOTE_PORT'}">
でいいんですか?
0054名無しさん@お腹いっぱい。
2001/05/05(土) 20:09ID:???ヒミコードって何だよ?
ここはアンタの質問だけに答える場所じゃないんだ。
0055名無しさん@お腹いっぱい。
2001/05/05(土) 20:18ID:???そうですそれです。
リンク色もテキストも全部同一色にしてるからこんがらがってました。
あたりまえですが自動リンクの色がスタイルシートのA:linkと同じ色になってしまうんですね。
この自動リンクの時だけ単独で変えられたらなーと思っていたのですがアホな質問でした。
もうちょっと基本を勉強してきます、、
0056山田十
2001/05/05(土) 21:31ID:???ただ
<FONT color="#xxxxxx"><A link="xxx">hoge</A></FONT>
になるようにすればいいだけ。
もしかして
<A link="xxx"><FONT color="#xxxxxx">hoge</FONT></A>
だったかも。
0057山田十
2001/05/05(土) 21:35ID:???確認したらところ、
<A href="xxxx"><FONT color="#000000">hoge</FONT></A>
のほうだった。スマソ。
0058名無しさん@お腹いっぱい。
2001/05/06(日) 00:10ID:???.autolink { color: #xxxxxx }
<A class="autolink" href="">hoge</A>
でいいじゃん。
これ以上はWeb製作管理板逝け。
0059名無しさん@お腹いっぱい。
2001/05/07(月) 20:33ID:KRRI..560060ミ,,゚Д゚彡
2001/05/07(月) 20:59ID:???直接は無理だけど、カウントすれば分かるよ。
$i = 0;
foreach (@array){
#何か処理
$i++;
}
0061名無しさん@お腹いっぱい。
2001/05/07(月) 21:32ID:???こういうのでもいいかな
foreach $i (0..$#array){
$_ = $array[i];
}
0062名無しさん@お腹いっぱい。
2001/05/07(月) 22:07ID:CxY5LMqkhttp://hogehoge.com/bbs.cgi?123
見たいな感じのヤツです。
0063名無しさん@お腹いっぱい。
2001/05/07(月) 22:24ID:???>見たいな感じのヤツです。
どんな感じよ。
0064ミ,,゚Д゚彡
2001/05/07(月) 22:46ID:???#!/usr/bin/perl
use LWP::Simple;
getprint 'http://hoge.hoge.com/bbs.cgi?123';
__END__
0065タコ初心者
2001/05/07(月) 23:15ID:7eckYoL2自分の使っているwin98にJPerl for Win32を
インストールし(MS−DOS、C:\windows\perl -v コマンドで、
this is perl,version 5.003_07・・とメッセージ出力を確認済み)
anHTTPdも入れました。
簡単なperlスクリプトを、httpdサーバを起動させ
httpdのディレクトリ下に置いて、そのperlスクリプトを
IE5.01で確認すると、きちんとスクリプトが解釈されてブラウザに
表示されるのですが、その他のディレクトリにスクリプトを
置いた場合などの、つまりwebサーバ機能が働かない状態で
スクリプトを動かそうとしても、一瞬DOS画面が現れてすぐ消え、
ブラウザも立ち上がらず、思った通り表示されません。
perlスクリプトは、webサーバ機能が無いと
無意味なのでしょうか?
perlをwindowsにインストールしたとしても、
通常アプリケーションのように単体で動かないのでしょうか?
いろいろ調べまわったのですが、イマイチ不明なもので・・・
詳しい方、よろしくお願いしますm(_ _)m
それと、anHTTPdでCGIとして動けば、
そのスクリプトはプロバなどのUNIX上でおおむね動くと考えても
よろしいのでしょうかね?
ほんと、スイマセン。。
0066名無しさん@お腹いっぱい。
2001/05/07(月) 23:26ID:???>通常アプリケーションのように単体で動かないのでしょうか?
単体で動きます。
がcgiスクリプトをダブルクリックしてもブラウザは立ち上がりません。
ブラウザで見るにはWebサーバが必要です。
>UNIX上でおおむね動くと考えても
「おおむね」なら考えても宜しいかと
0067タコ初心者
2001/05/07(月) 23:44ID:7eckYoL2ありがとうございます!m(^^)m(_ _)m
perlでも、例えばブラウザを使わない構造できちんと
(例→)データベースソフトを作ったりすれば、delphiや
Cで作ったものと同じように動く、
というような解釈でよろしいのでしょうか?
ホント、助かりました。
ありがとうございました!
0068名無しさん@お腹いっぱい。
2001/05/08(火) 00:00ID:???"Perl"関係の本読めや
"CGI"関係の本じゃねーぞ
006961
2001/05/08(火) 00:21ID:???嘘書いちまった。
$_ = $array[i];
じゃなくて
$_ = $array[$i];
だった。
>>67
66 じゃないけどそう。実行ファイルは吐き出さないけどね。
俺はログの集計とかサイトのページ書き出すのに使ってる。
007059
2001/05/08(火) 01:08ID:FOcYLUh.ありがとう。
たしかにそれでわかりますね。
もっと柔軟に考えればよかった…
0071名無しさん@お腹いっぱい。
2001/05/08(火) 10:08ID:???0072名無しさん@お腹いっぱい。
2001/05/08(火) 11:40ID:JEntHDFgCGI掲示板の設置を試みました。CGIのソースの始めのperlへのパスも
正確に設定しました。しかし、いざブラウザで確認すると、CGIの掲示板
の中身(ソース)が表示されてしまいます。これは、なにが原因なのでしょうか?
perlのバージョンとか関係あるのでしょうか?お願いします。。
パーミッションの設定もちゃんとできてます。。初心者ですので、
初心者にもわかるようにお願いします。。勝手ながら。。
0073名無しさん@お腹いっぱい。
2001/05/08(火) 11:45ID:???そのサーバはCGI使えますか?
0074名無しさん@お腹いっぱい。
2001/05/08(火) 12:00ID:???>nobody(とかwww)の環境変数
環境変数?
$ENV{REMOTE_ADDR} = 'hoge.hoge.ne.jp';
みたいな感じで変えれるよ。意味無いけど。
それともファイルの所有者?それは環境変数とは言わないよ。
変更はrootで
chown user file
それともCGIの実行ユーザ?これも環境変数とは言わないよ。
suexecならconfigureしなおしな。
ただ単にhttpdの動作ユーザ変えるだけなら、httpd.confの
User nobody
Group nobody
ってトコを変えてhttpdをrestartさせればOK。
0075名無しさん@お腹いっぱい。
2001/05/08(火) 12:07ID:???Perlのパス云々と言ってるからCGIは使えるんじゃないかな?
>>72
サーバー上で見てる?
http://○○/××.cgiで。
エクスプローラーでダブルクリックしているというオチはないよね?
あとサーバーによっては拡張子.plが使えない事もある。
拡張子が.cgiになっているかも確認しよう。
できることならそのサーバーのURLくらい出してもらえると
みんな助言がしやすいと思うぞ。
個人のURLまで出さなくていいから。
007675
2001/05/08(火) 12:08ID:???配布されている掲示板なら、配布元URLと、どの掲示板かも
教えてもらえると嬉しい。
007771
2001/05/08(火) 12:19ID:???いえ、所有者や実行ユーザではないです。
$ENV{PERL5LIB}や$ENV{PERL5OPT}などの環境変数が
予め設定されているようにしたいのですが…。
今はrequire "BEGIN{/home/hoge/config.pl";}という風にしていますが、
いちいちそんな事をしなくとも良い様にしたいのです。
0078名無しさん@お腹いっぱい。
2001/05/08(火) 12:34ID:JEntHDFg0079名無しさん@お腹いっぱい。
2001/05/08(火) 12:38ID:???0080名無しさん@お腹いっぱい。
2001/05/08(火) 12:40ID:???適当な CGI を置いて動けば使える。動かなければ使えない。
だめなら .htaccess をいじる。.htaccess のいじり方が
わからないようならばそもそも CGI など使おうと考えるな。
0081名無しさん@お腹いっぱい。
2001/05/08(火) 12:42ID:???FAQ見りゃ解る事なんだから、人様の鯖で実験は止めれ。
0082名無しさん@お腹いっぱい。
2001/05/09(水) 01:58ID:XLZw469cHTTP 要求ヘッダを使って設定できますか?
用は CGI を呼び出す html で
環境変数を指定できればいいのだけど
0083名無しさん@お腹いっぱい。
2001/05/09(水) 02:27ID:7z0rEdP2SetEnvIfでどう?
http://httpd.apache.org/docs/mod/mod_setenvif.html#setenvif
Apacheドキュメント、モジュールによっては日本語化されてきてのね。
0084名無しさん@お腹いっぱい。
2001/05/09(水) 10:42ID:0Xn.6zpEPerlを使ったCGIでORACLEにアクセスするようなのを作っているのですが、
DBIモジュールでアクセスするのとOraperlでアクセスするのは、
どちらが一般的(?)なのでしょうか?
DBIだと
$hDb = DBI->connect("dbi:Oracle:ORCL", "orcl/orcl") or die "Cannot connect: " . $DBI::errstr;
$hSt = $hDb->prepare($sql);
$nRes = $hSt->execute;
while(@aRes = $hSt->fetchrow_array()) {
push(@data,"@aRes\n");
}
$hSt->finish;
$hDb->disconnect;
って感じだけど。Oraperlだと
$lda = &ora_login ( "", $ENV{'ORACLE_DBA'}, $ENV{'ORACLE_PWD'} );
以下略
構文的にはOraperl使わないほうが楽そうですが・・・
よろしくお願いします。
0085名無しさん@お腹いっぱい。
2001/05/09(水) 15:23ID:0Xn.6zpEPCでアクセスしてきた場合、HTTP_REFERERでリンク元が得られますが
i-mode端末からだと取得できません。
何か特別な方法が有るのでしょうか?
ご存知の方いましたら、ご教授ください。
0086名無しさん@お腹いっぱい。
2001/05/09(水) 17:04ID:???DBはよく知らんのでパス
i-modeはUserAgentがReferer吐いてないとかじゃないだろか。
0087名無しさん@お腹いっぱい。
2001/05/09(水) 18:57ID:???DBI
#ってかoraperlってまだあったのか・・・
008882
2001/05/10(木) 01:58ID:5JL.ZTMMでもこれってサーバーの設定だよね?
えっと実は biglobe での cgi なんだけど
biglobe では自分の web ページからしか cgi を
呼べないことになってます
これをローカルのページからも実行したいなと
ネットスケープからだったら ftp でアップする前の
自分のローカルハードディスクのファイルを開いて cgi を
実行できてしまうのですが
IE はできないので多分 cgi の実行前に HTTP_REFERER を
チェックしてるだけかと思っています
だから html からブラウザに HTTP_REFERER を出さないように
命令?できれば良いんだけどできます?
長くなってすみませんが教えてください
0089名無しさん@お腹いっぱい。
2001/05/10(木) 02:37ID:???htmlからは無理でしょう。WinユーザだったらProxomitronを
入れればHTTP_REFERERはいじれるんじゃなかったっけか。
ProxomitronについてはWindows板にスレッドが立ってると思う。
0090名無しさん@お腹いっぱい。
2001/05/10(木) 19:56ID:.vx/JzU2あるリンク先のバナーがCGIで書かれていて、イメージを呼び出すと
カウンタのようにリファラー取られてしまっているんですけど、この
イメージタグを含むリンクのページをCGIにすれば詐称することがで
きますか?
色々あってバナーを持ち帰るのはできません。
ご教授ください。
009190
2001/05/10(木) 20:07ID:???CGI使ったところで無理そうですよね。
リンクページを全部テキストリンクだけに書き換えようと思います。
0092Σ(゚д゚|||)デキナイ〜
2001/05/10(木) 22:17ID:zT8kYQucCGIの中でクッキーを設定したいのですが、一度に2つの情報をセットするには
どうすればいいのでしょうか?(JAVAは使わないでCGIだけでやりたいです)
たとえば、A = 5000 をクッキーにいれたいときは、
print "Set-Cookie: A=5000; expires=曜日, 日付-月-年 時刻 GMT; domain=****; path=/; secure";
これはうまくいきました。
一度に2つセットしたいとき
たとえば、A = 5000 と B = 6000 を一度にいれたいときは、
print "Set-Cookie: A=5000; B=6000; expires=曜日, 日付-月-年 時刻 GMT; domain=****; path=/; secure";
としても、Aには値が入っていますが、Bには値が入っていませんでした。
どうしたら一度に複数のデータを記録できるのでしょうか?
0093名無しさん@お腹いっぱい。
2001/05/10(木) 22:56ID:8zuGcixUSet-Cookieヘッダを2回出力すれば大丈夫。
print "Set-Cookie: A=5000; expires=・・・";
print "Set-Cookie: B=6000; expires=・・・";
RFCとかを見たわけじゃなくて経験則だけどね。
0094Σ(゚д゚|||)デキナイ〜
2001/05/10(木) 23:03ID:zT8kYQucそれでもうまくいかなかったです。
サーバの問題ということはないのでしょうか?
他に手はありませんか?
0095Σ(゚д゚|||)デキナイ〜
2001/05/10(木) 23:17ID:???うまくいきました!! ヘッダの最後に\nを付けわすれていました。
ありがとうございました。
0096名無しさん@お腹いっぱい。
2001/05/11(金) 00:39ID:???別の方法
#--
sub set_cookie{
my %set_cookie = @_;
$set_cookie{id} ||= $Me;
$set_cookie{life} ||= 0;
my (@p,$ncs, $key, $val, $exp);
while (($key, $val) = &escape(each %{$set_cookie{cookie}})){
push(@p, $key.':'.$val);
}
$ncs = join('&', @p) or return "";
$exp = &time_fmt(gmtime((time() + $set_cookie{life} * 86400))) . " GMT" if $set_cookie{life};
$exp = $exp ? "expires=$exp" : "";
return "Set-Cookie: $set_cookie{id}=$ncs; $exp\n";
}
#Usage: &set_cookie(cookie => \$cookie, life => LIFE_DAY, id => ID);
#&escapeと&time_fmtは自分で実装してくれや
#--
値を取り出すには
#--
sub get_cookie{
my $cookie = shift || {};
my $id = shift || $Me;
foreach (split(/; /, $ENV{'HTTP_COOKIE'})) {
my ($name, $value) = split(/=/);
if ($name eq $id) {
foreach (split(/&/, $value)) {
($name, $value) = &unescape(split(/:/));
if ($name =~ /^[jJ]/){
Jcode::convert(\$value, 'euc');
}
$cookie->{$name} = $value;
}
last;
}
}
return $cookie;
}
#Usage: &get_cookie(\$cookie)
#&unescapeも同様
#--
つぶれたインデントはソース見てくれや
0097Σ(゚д゚|||)デキナイ〜
2001/05/11(金) 04:14ID:???有り難うございます。勉強しておきます。
0098名無しさん@お腹いっぱい。
2001/05/11(金) 13:14ID:K2MfodUs最大レコード数とかあるんでしょうか?
追加登録してるうちにファイル容量が8Mくらいで
動かなくなってるんですが、、、
0099名無しさん@お腹いっぱい。
2001/05/11(金) 13:48ID:???最大レコードが有るかどうかは分からんが、
以前20000件30MBくらいのを作ったことがあるから結構大丈夫かと思われ。
1レコードの制限は1024KBくらいだったような(違ったらスマソ)
0101名無しさん@お腹いっぱい。
2001/05/11(金) 13:59ID:???いやレコードのサイズは桁が全然違う可能性ありです。
かなり少ないと思った記憶があるので多分1KBが正解かと(;´Д`)
0102名無しさん@お腹いっぱい。
2001/05/11(金) 15:47ID:???ってあるのかな??
0103名無しさん@お腹いっぱい。
2001/05/11(金) 16:40ID:???ウィナーの俺にとってはSDBMだけが標準
0104_gunzip
2001/05/11(金) 17:43ID:???http://www.perldoc.com/perl5.6/lib/AnyDBM_File.html
が参考になると思います。
>>99
SDBM_Fileのキー、値の上限はデフォルトの状態では1kですよ〜
>>102
標準では付属されていないけれど、DB_File(高速&ブロック長制限無し)がお薦め。
http://www.sleepycat.com/かCPANから取ってきて自分でビルドするか、
ActivePerlなら ppm DB_File とするだけでOKだよ。
0105_gunzip
2001/05/11(金) 17:45ID:???正>ppm install DB_File
だね。すみません。
010699
2001/05/11(金) 18:45ID:???ありゃ、よく見ればAnyDBM_Fileにもラクダ本にも書いてあった(;´Д`)<1K
スマソ98
_gunzipさんサンクスコ
0107Σ(゚д゚|||)デキナイ〜
2001/05/11(金) 18:47ID:???一部の漢字だけ化けます。なぜでしょうか?
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n";
print "<BODY>\n";
print "うまく行くかな〜?<P>\n";
print "可能か不可能か<P>\n";
print "なんだこりゃ?ばける!化けるうぅぅ!<P>\n";
print "表示できない。<P>\n";
print "</BODY><P><BR>\n</HTML>";
実行結果-----------------------------------
うまく行くかな〜?
可狽ゥ不可狽ゥ
なんだこりゃ?ばける!化けるうぅぅ!
侮ヲできない。
-------------------------------------------
・・・・というふうに、「能」や「表示」の部分だけが化けました。
文字化けを回避するにはどうすればいいのでしょうか?
0108_gunzip
2001/05/11(金) 18:55ID:???-----------
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n";
print "<BODY>\n";
print "うまく行くかな〜?<P>\n";
print "可能\か不可能\か<P>\n";
print "なんだこりゃ?ばける!化けるうぅぅ!<P>\n";
print "表\示できない。<P>\n";
print "</BODY><P><BR>\n</HTML>";
-----------
↓ここも参考に
http://www.psl.ne.jp/perl/pdojo00c.html
0109Σ(゚д゚|||)デキナイ〜
2001/05/11(金) 19:08ID:???おおっ、即レスどうもです!
さっそくブックマークしました。
文字によって化けたり化けなかったりで困っていたところでした。
ありがとうございました。m(_ _)m
0110名無しさん@お腹いっぱい。
2001/05/11(金) 19:28ID:???print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n";
print "<BODY>\n";
print "うまく行くかな〜?<P>\n";
print '可能か不可能か';
print "<P>\n";
print "なんだこりゃ?ばける!化けるうぅぅ!<P>\n";
print '表示できない。';
print '<P>\n";
print "</BODY><P><BR>\n</HTML>";
こんな手もあるし
print <<'PRINT_AREA';
Content-type: text/html
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
うまく行くかな〜?<P>
可能か不可能か<P>
なんだこりゃ?ばける!化けるうぅぅ!<P>
表\示できない。<P>
</BODY><P><BR>
</HTML>
PRINT_AREA
こんな手もある。
ただし、変数を含まない事が前提だよ。
変数を含むなら\を使うのが面倒だけど間違いはない。
0111110
2001/05/11(金) 19:29ID:???上の例、一箇所タイプミスがあった。
下から2行目の「'」は「"」に置き換えてくれ。
0112名無しさん@お腹いっぱい。
2001/05/11(金) 19:43ID:???require 'jcode.pl';
print jcode::sjis(<<EUC_STRING);
表示可能
EUC_STRING
use Jcode;
print Jcode->new(<<EUC_STRING)->sjis;
表示可能
EUC_STRING
0113つーか
2001/05/11(金) 19:45ID:???0115名無しさん@お腹いっぱい。
2001/05/13(日) 00:16ID:YXpjZl3Yどうしたらいいでしょうか?
0116名無しさん@お腹いっぱい。
2001/05/13(日) 01:50ID:KhD43/0ojcode.plを最新版に変えろ。
0117名無しさん@お腹いっぱい。
2001/05/13(日) 02:44ID:mWjW2GW.フォームのHTML、CGIの処理、CGIの出力すべてEUC-JPに統一する。
jcode.plはShift_JISの半角カナは無視するがEUC-JPの半角カナは
きちんと見分けるから。
0118名無しさん@お腹いっぱい。
2001/05/13(日) 06:40ID:KhD43/0oeucを広めたいunix厨が勝手なことを言っているが、
漢ならShift_JISを断固として用いるべき。
0119名無しさん@お腹いっぱい。
2001/05/13(日) 08:57ID:dxsYpXBI何でもいいけど、とりあえず、
Shift_JISでやるメリットを言ってくれ。
0120名無しさん@お腹いっぱい。
2001/05/13(日) 10:25ID:???出力はShift_JISで
やってるよ。
0121名無しさん@お腹いっぱい。
2001/05/13(日) 11:07ID:wzciJvwkそれってjcode.plにとって最悪な組み合わせじゃん・・・。
0122名無しさん@お腹いっぱい。
2001/05/13(日) 11:24ID:???getcode()だけ都合の良いようにチェーンナップしてあるからOK
0123名無しさん@お腹いっぱい。
2001/05/13(日) 13:22ID:Y0ES4yVQ以前あった世界幼児語化計画のように
ネット上のファイルを読み取ってCGI上で扱うにはどうしたら良いですか?
0124JAPU
2001/05/13(日) 14:36ID:???http://search.cpan.org/
0125名無しさん@お腹いっぱい。
2001/05/13(日) 14:51ID:???use LWP::Simple;
print get('http://2ch.net/');
__END__
0126123
2001/05/13(日) 15:25ID:kYPS1.W2多謝です。
自分の考えてたことは全く違っていたので質問して良かったです^^;。
0127名無しさん@お腹いっぱい。
2001/05/13(日) 21:58ID:???先頭に追加したいのですが、どうすれば良いのでしょうか?
レベルの低い質問かもしれませんが、どなたかご教授願います。
0128名無しさん@お腹いっぱい。
2001/05/13(日) 22:05ID:???単にファイルポインタを先頭に戻すだけならseek()すれば良い。
0129121
2001/05/13(日) 22:23ID:???なるほど。そうなんかー。
おれもjcode.plのgetcodeを改造しようとしたことが
あるんだけど、結局Shift_JISで半角カナを使うのはあきらめたのさ。
0130名無しさん@お腹いっぱい。
2001/05/13(日) 22:40ID:nnXImtqM0131名無しさん@お腹いっぱい。
2001/05/13(日) 22:54ID:???さあ? サーバには残ってるけど。 http://corn.2ch.net/test/jcode.pl
0133名無しさん@お腹いっぱい。
2001/05/13(日) 23:27ID:???スマン。
0134名無しさん@お腹いっぱい。
2001/05/13(日) 23:42ID:???0135名無しさん@お腹いっぱい。
2001/05/13(日) 23:45ID:???ログファイルを2つ用意して、Aに書き出し→BをAの末尾につなげる→AをBにリネーム…
75氏のが普通だろうけど。
あるいは末尾に追加して、呼び出す時に後ろからn行取り出すとか…
0136127
2001/05/14(月) 00:06ID:???いろいろと参考になりました。
書き込みの件は>>132さんのやり方でやってみることにします。
本当にありがとうございました。
0137115
2001/05/14(月) 00:09ID:GEJzHA/g>>116,>>117ありがとうございました。
>>118漢になることを諦めて、EUCを使いました。
0138名無しさん@お腹いっぱい。
2001/05/14(月) 11:21ID:ltgKBd82"テスト書き込み"→"テスト書き込・/B>"
みたいに化けるんですが、どこが悪いんでしょうか?
教えていただきたいです
0139名無しさん@お腹いっぱい。
2001/05/14(月) 11:46ID:???CGIスクリプトが悪い。
0140名無しさん@お腹いっぱい。
2001/05/14(月) 11:48ID:???0141名無しさん@お腹いっぱい。
2001/05/14(月) 11:49ID:???んなヘタレスクリプト使うなよ。
解決策:
他のCGIスクリプトに変える
0142138
2001/05/14(月) 11:52ID:ltgKBd82http://www.botan.sakura.ne.jp/%7Ewcs/cgi-bin/sample/note/basic/bbsnote.cgi
なんですけど、代替品が無いのでよろしくおねがいです。
0143名無しさん@お腹いっぱい。
2001/05/14(月) 11:55ID:???1:それはキミが作ったスクリプトかい?
2:変なところにchopがないかい?
3:スクリプトをtxtにして公開したり出来ないかい?
答えようがないぞ。
どこが悪いと言われれば、キミの聞き方が悪い。
ちゃんとした聞き方をすればちゃんと答えてくれる人の方が多いよ。
ここはね。
0144名無しさん@お腹いっぱい。
2001/05/14(月) 11:55ID:???作者に訊く。以上。
0145143
2001/05/14(月) 12:00ID:???>>142
配布品なら>>144さんの通り、作者さんに聞いた方がいい。
作者に伝えて問題をなくしてもらったほうが他の人のためにもなる。
知識の少ないキミがやるよりも製作者当人がやったほうが問題が起きない。
キミも余計な手間が減る。
いい事尽くしな気がするけど?
0146138
2001/05/14(月) 12:58ID:ltgKBd820147Σ(゚д゚|||)デキナイ〜
2001/05/14(月) 15:04ID:9ZSccF4Q今日は、「symlink」関数を使ったファイルロックについて質問です。m(_ _)m
$lockfile ... パーミッション707の適当なフォルダの適当なファイルを指定。
(例)$loclfile = "./tmp/file.lock";
sub file_lock {
local($retry) = 10;
# try to create symbolic link.
while (!symlink($$, $lockfile)) {
# timeout (abort)
if (--$retry <= 0) {
unlink($lockfile);
&fl_error("error on exclusion control.");
}
# wait a few second and retry.
sleep(1);
}
}
上記のサブルーチンをつかって、ファイルのロックをしてみようと思うのですが、
複数の種類の書き込みについて、上のファイルロックを使いまわしてよいのでしょうか?
例えば、
(1)掲示板のメッセージを書き込むときに &file_lock使用。
(2)アクセスカウンターの読み書き部分で &file_lock使用。
(3)ログ記録を取る際に&file_lock使用。
などのように使いまわした場合、(1)(2)(3)の処理が同時に起こったら、
$lockfileで指定したファイルが壊れることはないのでしょうか?
もしそれがダメなら、(1)(2)(3)でそれぞれ $lockfileの部分を
(1)(2)(3)で使い分ければ安全でしょうか?
0148名無しさん@お腹いっぱい。
2001/05/14(月) 15:11ID:???問題は$lockfileが壊れる事よりも
(例えば)カウンターへの書き込みと同時にBBSに書き込むことで
無駄な時間を消費しなければならない点にある。
$lockfileの名前をスクリプト毎に変えるべし。
0149Σ(゚д゚|||)デキナイ〜
2001/05/14(月) 15:18ID:???これだとリトライが発生しやすくなるということですね。
使い分けてみますm(_ _)m
助言、ありがとうございました。
0150Σ(゚д゚|||)デキナイ〜
2001/05/14(月) 15:35ID:9ZSccF4Q(さきほどのfile_lockの中身で$lockfileの部分を$_[0]にしています)
sub file_lock {
local($retry) = 10;
# try to create symbolic link.
while (!symlink($$, $_[0])) {
# timeout (abort)
if (--$retry <= 0) {
unlink($_[0]);
&fl_error("error on exclusion control.");
}
# wait a few second and retry.
sleep(1);
}
}
こうしておいてから、BBSやログやカウンター用のロックファイルを
$bbs = "./bbs.lock";
$log = "./log.lock";
$counter = "./counter.lock";
と決めておいて、
実際にファイルロックを使うときは
BBSの場合は
------------------------
&file_lock($bbs);
BBSの書き込み処理
unlink($bbs);
------------------------
ログ書きの場合は
------------------------
&file_lock($log);
LOGの書き込み処理
unlink($log);
------------------------
アクセスカウンターの場合は
------------------------
&file_lock($counter);
アクセスカウンターの読み書き処理
unlink($counter);
------------------------
という感じに使い分けてみました。こんな感じで大丈夫でしょうか?
0151名無しさん@お腹いっぱい。
2001/05/14(月) 18:04ID:???待てよ…?
もしや同じスクリプト内でのカウンターやらログやらなのか?
もしそうならLockfileを分ける必要は無いと思うぞ。
違うならそれでヨシ。
しかしそれは何処から拝借したルーチンだ?
随分書き方が古臭いが…。
0152Σ(゚д゚|||)デキナイ〜
2001/05/14(月) 20:34ID:???このロック方式は、ここからパクってきました。↓
ttp://north.ug.to/columns/cgi_lec/cgi03.html
それと、「同じスクリプト内」での処理です。
このロック方式は、DBMのアクセス(読み書き)には
つかえるのでしょうか?
flockを使ってロックしているのですが、不安でして・・・。
0153名無しさん@お腹いっぱい。
2001/05/14(月) 21:09ID:???不安なら耐久テストしてみれば良いだろ。
flockではまずいという環境があるのは事実だが、
テストもせず他人の(flockを使わない)ロックルーチンを拝借するのは
アフォであると言わざるを得ない。
0154名無しさん@お腹いっぱい。
2001/05/14(月) 23:43ID:???日本語を含む文字列に対し、パスワードとして数文字の半角英数字を与えることで
暗号化したり複合化したりできたらカコイイと思ったのですが、いかなる方法で実現可能か、
ヒントもらえませんか。
0155名無しさん@お腹いっぱい。
2001/05/15(火) 01:05ID:???ぐらい書いたところで、書き込めなくなるのですが、これは
ブラウザ側の仕様なのでしょうか?もっと無尽蔵に書き込む
方法は有るのでしょうか。
0156名無しさん@お腹いっぱい。
2001/05/15(火) 02:06ID:???maxlengthをでかい数値指定してみるとか。
0157名無しさん@お腹いっぱい。
2001/05/15(火) 03:56ID:???CPANの↓このあたりに暗号化・複合化のモジュールがいくつか。
http://cpan.valueclick.com/modules/by-category/14_Security_and_Encryption/Crypt/
何がどんなモジュールか全然しらないんですが。
0158名無しさん@お腹いっぱい。
2001/05/15(火) 21:37ID:YeE71NT2$ENV{'REMOTE_HOST'}でホスト名が取れないサーバなので
gethostbyaddrを使ってるんですけどそれでもとれません。
どうしてでしょうか?
0159名無しさん@お腹いっぱい。
2001/05/15(火) 22:19ID:???0160名無しさん@お腹いっぱい。
2001/05/16(水) 01:02ID:???どうすればリモートホストを取れるようになるよ?
0161名無しさん@お腹いっぱい。
2001/05/16(水) 01:46ID:cQQ4PmNkサーバ管理者に土下座して「逆引きさせてくだせ〜」と頼む。
それがいやならNet::DNSモジュール等を利用して、
どこかの利用可能なDNSに問い合わせる。
0162158
2001/05/16(水) 21:11ID:7GWmKzdUgethostbyaddrが使えないということではないようなんですけど…
サーバ(hi-ho)がちょっと特殊らしいんですけど、それが原因なんでしょうか。
0164名無しさん@お腹いっぱい。
2001/05/16(水) 21:21ID:???他のCGIはhi-hoに置いてホスト名取れてんの?
ならhi-hoのせいじゃなく、君の(CGIの)せい。
0165158
2001/05/16(水) 22:04ID:7GWmKzdU>ならhi-hoのせいじゃなく、君の(CGIの)せい。
やっぱりそうですよね…
あやしいとしたら、どのあたりが考えられるでしょうか。
もう自分の力ではわけがわからないので…
ちなみにCGIはefstatです。
0166名無しさん@お腹いっぱい。
2001/05/16(水) 22:30ID:???たぶん、32K制限の理由はそれですね。
NN4.06のTEXTAREAを調べたら「Editコントロール」という
旧世代の部品を使ってた。
0167名無しさん@お腹いっぱい。
2001/05/16(水) 22:34ID:kXzD2IvUefstatのサポート掲示板で聞いてみたら?
0168名無しさん@お腹いっぱい。
2001/05/17(木) 02:00ID:VtK2bQ4Y色を変えるCGIスクリプトだれかおしえてくれませんか?
0169名無しさん@お腹いっぱい。
2001/05/17(木) 02:04ID:???マルチポスト馬鹿は氏んでください
http://tako.2ch.net/test/read.cgi?bbs=perl&key=989925275&st=14
017040-41
2001/05/17(木) 19:33ID:Ts7RJcK6超亀レスすいません。
あれからしばらくネット環境に居なかったもので。
教えて頂いてありがとうございました。
0172名無しさん@お腹いっぱい。
2001/05/18(金) 04:31ID:Gh/rMrrAとりあえず、ここの
http://tohoho.wakusei.ne.jp/www.htm
この掲示板に
http://tohoho.wakusei.ne.jp/soft/wbord262/readme.htm
このカウンター
http://tohoho.wakusei.ne.jp/soft/wcnt311/readme.htm
をつけたいのですが、
<IMG SRC="wwwcount.cgi?gif" WIDTH=96 HEIGHT=18 ALT="Counter">
をwwwboard.cgiのどこに入れて良いかわかりません。
自分で考えて試してみたのですが、
自分で画像ファイルをどこかに入れたwwwboard.cgiをアップするとエラーが出てしまいます。
どうかよろしくお願いします。
0173143
2001/05/18(金) 07:28ID:???中身は見てないけど、
<IMG SRC='wwwcount.cgi?gif' WIDTH=96 HEIGHT=18 ALT='Counter'>
に変えて試してみな。
ダブルクォーテーションの中ではダブルクォーテーションは使えないから。
使う方法もあるけど。
0174173
2001/05/18(金) 07:30ID:???鬱。
ついでだからダブルクォーテーションを使う方法。
<IMG SRC=\"wwwcount.cgi?gif\" WIDTH=96 HEIGHT=18 ALT=\"Counter\">
0175名無しさん@お腹いっぱい。
2001/05/18(金) 09:44ID:???print qq{<img src="">};
print<<EOD;
<img src="">
EOD
の方が好きだ。
0176173
2001/05/18(金) 13:01ID:???俺もその方が好き。
だけど改造もままならない>>172にはちょっと厳しいかなと思って。
もしきちんとわかってるならすまない。>>172
0177名無しさん@お腹いっぱい。
2001/05/18(金) 21:05ID:BJcdRv7cwwwboard.cgiの</h2>の下あたりに入れてみたら?
0178172
2001/05/19(土) 01:10ID:???無事解決しました。
ありがとうございました。
根本的な「""」の間は「""」が使えない、という知識が欠落してました。
0179ルーキー
2001/05/22(火) 10:08ID:S.XMVYxw見積&発注cgiを書いています。
1ページ目:入力フォーム -> post
2ページ目:見積書&発注チェック -> sendmail
3ページ目:発注完了メッセージ
という構成です。
1ページ目で、希望商品と発送先などのデータを取って、
2ページ目で、それぞれの商品に発注確認のチェックボックスを設けて、
print "<input type=checkbox name=item_1 value=on>口紅\n";
print "<input type=checkbox name=item_2 value=on>マスカラ\n";
print "<input type=checkbox name=item_3 value=on>マニキュア\n<br>";
その結果を、1ページ目:入力フォームで作った
read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'});
に格納してメール送信したいと考えていますが、
2ページ目のデータを$formdataへ追加する方法が判りません。
どなたか助けてください。よろしくお願いします。
0180名無しさん@お腹いっぱい。
2001/05/22(火) 10:30ID:???隠しフィールドを使って選択した商品を送信する
print qq{<input type="hidden" name="selected_item" value="$selected_item">};
0181ルーキー
2001/05/22(火) 10:59ID:S.XMVYxwありがとうございます。
しかし、イマイチ判りません。
判らないことその1
print "<input type=checkbox name=item_1 value=on>口紅\n";
print "<input type=checkbox name=item_2 value=on>マスカラ\n";
print "<input type=checkbox name=item_3 value=on>マニキュア\n<br>";
から
print qq{<input type="hidden" name="selected_item" value="$selected_item">};
へどうやって変数の引継ぎをするのか?
判らないことその2
どこに
print qq{<input type="hidden" name="selected_item" value="$selected_item">};
を置くのか?
多分、
print "<a href=$filename?$formdata\&send=sendmail>\n";
print "<font size=5>この内容で注文する</a></font>\n";
の直前かと思うのですが・・・
よろしくお願いします。
0182名無しさん@お腹いっぱい。
2001/05/22(火) 11:24ID:???逆に聞きたい。
2ページ目はformデータじゃなくて、アンカータグを使いたいのかい?
だとしたら>>180さんのやり方はできないよ。
2ページ目のデータも
print qq(<form method=POST action=$filename>\n);
print "<input type=checkbox name=item_1 value=on>口紅\n";
print "<input type=checkbox name=item_2 value=on>マスカラ\n";
print "<input type=checkbox name=item_3 value=on>マニキュア\n<br>";
print qq(<input type=submit value="この内容で注文する"\n);
print qq(</form>\n);
みたいにしないとデータは送信できない。
print "<a href=$filename?$formdata\&send=sendmail>\n";
print "<font size=5>この内容で注文する</a></font>\n";
このやり方だと、チェックボックスの意味がなくならないかい?
0183ルーキー
2001/05/22(火) 11:48ID:S.XMVYxwアンカータグには固執していません。
ただ、
print qq(<form method=POST action=$filename>\n);
を宣言しますと、
冒頭に、
if($QUERY{'send'} eq 'sendmail') { &sendmail; }
elsif ($QUERY{'action'} eq 'estimation') { &psge2; }
else { &page1; }
を設定してあるので、2ページ目から1ページ目に戻ってしまいます。
2ページ目でチェックボックスを選択した後は、sendmailにしたいのです。
ごめんなさい。自分でも説明になって無い気がします。
よろしくお願いします。
0184名無しさん@お腹いっぱい。
2001/05/22(火) 12:49ID:???#!/usr/bin/perl
use strict;
my @items = qw(item1 item2 item3);
my %page = (
page1 => \&start_page,
page2 => \&send_mail,
page3 => \&end_page,
}
parse_query(POST => \%q);
if($page{_stat}){
$page{_stat}->(\%q)
}else{
&error;
}
sub start_page{
&入力フォーム出力;
}
sub send_mail{
my $select = shift;
my $selectitem = join "&", @{$select}{@items};
print<<"**SENDMAIL**";
content-type: text/html;charset=$charset;
<title>発注確認</title>
<p>以下の内容で送信します。</p>
<form action="$filename" method="post">
<input type="hidden" name="selected" value"$selectitem">
<!--他、送信ボタンなど-->
</form>
**SENDMAIL**
}
sub end_page{
my $data = shift;
&メール送信;
&発注完了メッセージ出力;
}
__END__
0185182
2001/05/22(火) 13:12ID:???print qq(<input type="hidden" name="send" value="sendmail">\n);
をフォームの中に入れたらいいんじゃないかな?
そうしたら$QUERY{'send'}にsendmailが入って、メール送信処理に行くでしょ?
違うのかな?
0186ルーキー
2001/05/22(火) 13:42ID:tyzDAZII基本的に182さんのでやろうかと思ってます。
さっき、
print qq(<input type="hidden" name="send" value="sendmail">\n);
をフォームの中に入れたらいいんじゃないかな?
をやってみたんですが、何故かエラーになるんです。sendmailすると。
184さんのも、「なるほど」と思うのですが、作り変える自信と理解が足りない気がします。
結果がでたらまたご報告します。
(トロイので時間かかりそうです。。)
0187ルーキー
2001/05/22(火) 14:01ID:tyzDAZIIエラーの原因がわかりました。
page1で格納された$formdataの最後部分に、page2で取得された変数を足して
sendmailしたいのですが、page2からPOSTするとpage1のデータがリセットされてしまいます。
何か良い解決法がありましたら教えてください。
0188182
2001/05/22(火) 14:22ID:???foreach(keys %QUERY){
print qq(<input type=hidden name="$_" value="$QUERY{"$_"}"\n);
}
を<form></form>の間に入れてみそ。
余計なデータも多分入っちゃうけど。
$formdataをそのまま送りたいんだよね?
キミはどういうやり方をしてるのかな?
多分そのやり方がまずいと思うんだけど、もう少し説明をもらえるかな?
少しHTMLの勉強もした方がいいかもしれない。
0189182
2001/05/22(火) 14:23ID:???自己レス。
記入ミスがあった。
foreach(keys %QUERY){
print qq(<input type=hidden name="$_" value="$QUERY{"$_"}">\n);
}
0190ルーキー
2001/05/22(火) 16:42ID:0Hl.W4fEごめんなさい。ずっと悩んでました。
foreach(keys %QUERY){
print qq(<input type=hidden name="$_" value="$QUERY{"$_"}">\n);
}
を<form>と</form>の間に入れてみたけど、エラーになってしまいます。
>多分そのやり方がまずいと思うんだけど、もう少し説明をもらえるかな?
以下のように書いてあります。(perlです・・)
print "<form method=POST action=$filename>\n";
print "<font size=-1 color=red>必要な商品を選択してください(複数可)</font><br>";
print "<input type=checkbox name=item_1 value=on>口紅\n";
print "<input type=checkbox name=item_2 value=on>マスカラ\n";
print "<input type=checkbox name=item_3 value=on>マニキュア\n<br>";
foreach(keys %QUERY) {
print "<input type=hidden name=$_ value=$QUERY{$_}>\n";
}
print "<input type= hidden name= send value= sendmail >\n";
print "<input type=submit value=この内容で注文する\n";
print "</form>\n";
}
else {
print "<font size=4 color=blue>この内容で資料請求する場合は、前画面で連絡先を入力してください。</font>\n";
}
ご面倒かけます・・・
0191182
2001/05/22(火) 17:01ID:???こっちも聞き方悪くてスマン。
$formdataはきちんと%QUERYに分けられてるんだよね?
↓こんな感じで。
@pairs = split(/&/,$buffer);
foreach $pair (@pairs){
($key,$value) = split(/=/,$pair);
$QUERY{$key} = $value;
}
あと、
foreach(keys %QUERY){
print qq(<input type=hidden name="$_" value="$QUERY{"$_"}">\n);
}
をそのままコピペしてないよね?
見やすいように全角スペース使ってるから、そのままコピペしたら当然エラーが出るけど。
それと、キミの書き方を見ていると入力されたデータに関わらず
口紅やマスカラとかが選択されているようにも見えるんだけど、
その辺は抜かりないよね?
あとは・・・、なんだろう?
なんとなく基本的な部分がヌケてるように思えて。
0192ルーキー
2001/05/22(火) 17:34ID:0Hl.W4fE流れは以下のとうりです(長文ごめんなさい)。
#!/usr/local/bin/perl
require './jcode.pl';
#もろもろの初期設定
#データエリア
#クッキーを格納する名前を設定する
#===入力データの格納($formdataに)======================
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }
#===入力データの分解〜不用文字列のデコード〜S-JIS変換〜連想配列に格納======
@pairs = split(/&/,$formdata);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\n//g;
$value =~ s/\,//g;
&jcode'convert(*value,'sjis');
$QUERY{$name} = $value;
}
#===CGIが呼び出された条件によって処理を分岐=============
if($QUERY{'send'} eq 'sendmail') { &sendmail; }
elsif ($QUERY{'action'} eq 'estimation') { &psge2; }
else { &page1; }
#===入力画面を生成===========================
sub page1 {
$count = @DATA;
&html_head;
print "<form action=$filename method=POST>\n";
print "<input type=hidden name=action value=estimation>\n";
中略 もろもろ入力
print "<p><input type=submit value=試算書作成></p>\n";
print "</form>\n"; 後略
exit;}
#===試算結果作成============================
sub psge2 {
&html_head;
中略 各アイテムの料金を計算させて、表示。
print "<form method=POST action=$filename>\n";
print "<input type=checkbox name=item_1 value=on>口紅\n";
print "<input type=checkbox name=item_2 value=on>マスカラ\n";
print "<input type=checkbox name=item_3 value=on>マニキュア\n<br>";
foreach(keys %QUERY){
print "<input type=hidden name=$_ value=$QUERY{$_}>\n";
}
print "<input type= hidden name= send value= sendmail >\n";
print "<input type=submit value=この内容で注文する\n";
print "</form>\n"; 後略
#===メールメッセージを生成========================
#===メール送信サブルーチン(&sendmail)====================
>見やすいように全角スペース使ってるから、そのままコピペしたら当然エラーが出るけど。
??直したつもりなんですが・・
上記のとおりです。
ホントにお手数かけます。
0193182
2001/05/22(火) 19:05ID:???print "<input type=hidden name=$_ value=$QUERY{$_}>\n";
}
を削除したらエラーが出ないよね?
それでもエラーが出るならエラーの原因は別。
(エラーが出る場合は、まず色んな所を削除してみて、
どこを削った時にエラーがなくなったかを調べるのが
原始的だけど確実。)
もし例の部分を削除してもエラーが出ないなら(そこに原因があるなら)
foreach(keys %QUERY){
print "<input type=hidden name=$_ value=$QUERY{$_}>\n";
}
こう変える。
こうしてくれないとエラーが出る。
全角スペースと半角スペースの違いはわかるよね?
タブを使うとHTMLでは表示されないから、俺が全角スペースを
使ってたんだけど、gun_zipさんみたいに 使った方が
良かったな。
打ち込み面倒だから全角スペース使ってたんだ、悪かった。
それ以外の部分についてはあまり問題を感じない。
(わざわざダブルクォーテーションを使う理由はわからないが)
少なくともそれをコピペして(一部修正して)試した所、
こっちではエラーが出てないんだけど、そっちでは
どんなエラーが出てる?
まず自分で色々試してみてくれ。
こっちは全貌が見えないんだ。
デバッグの基本は色々試す事。
人に聞くのもいいけど、もう少し色々自分で試してみてくれ。
色々やって手の打ちようがなくなったら、検索サイト行き。
それでもどうしてもダメなら人に聞く。
それが一番勉強になるしね。
自分の教え方の悪さを棚上げしてこれってのもなんだけどね。
むしろ俺が何か大きな勘違いしてるような気すらしてきた。
手間かけさせて悪い。
0194名無しさん@お腹いっぱい。
2001/05/22(火) 19:09ID:ofJMUrRgTHE ROOMのアクセスランキングで難しくてわからないことがあるので教えていただけませんか?Ranking Link Ver.1.70のcgiですが、管理人ページの登録情報表示(sub list1)で頭文字でsortするのではなくアクセス数でsortして表示するようには出来ないものでしょうか?
0195名無しさん@お腹いっぱい。
2001/05/22(火) 19:21ID:???検索してソース落として回答して検討してくれる親切な人が現れるのを待つ
2.そのアクセスランキングを偶然知っていて
検索してソ(中略)親切な人が現れるのを待つ
0196名無しさん@お腹いっぱい。
2001/05/22(火) 19:22ID:???0197名無しさん@お腹いっぱい。
2001/05/22(火) 19:27ID:???ソートの処理を行ってるサブルーチンを探して、頭文字にあたる変数
をアクセス数にあたる変数に入れ替えてみる。
0198ルーキー
2001/05/22(火) 19:27ID:0Hl.W4fEできました。
>もし例の部分を削除してもエラーが出ないなら(そこに原因があるなら)
foreach(keys %QUERY){
print "<input type=hidden name=$_ value=$QUERY{$_}>\n";
}
こう変える。
この部分が原因でした。
次回お会いしたときは、もっと成長してるよう、頑張って勉強します。
ありがとうございました。
0199名無しさん@お腹いっぱい。
2001/05/22(火) 20:30ID:???まずはその配布スクリプトの配布元URLをみんなに教える。
0200名無しさん@お腹いっぱい。
2001/05/22(火) 21:33ID:ofJMUrRghttp://dream.lib.net/room/cgi/e_ranklink.html
のrl_admin.cgiのサブルーチンのlist1です。
197さんへ
ID.datファイルをソートして表示するようなので、アクセス数にあたる変数にいれかえてみてもうまくいきません・・・
0201名無しさん@お腹いっぱい。
2001/05/23(水) 15:55ID:AMvalJ9Mhttp://www.geocities.co.jp/Bookend-Akiko/3814/newspro/newspro_cgi.txt
という海外スクリプトで日本語を扱えるようにしたいのです。
たぶん、line 754-915のあたりで
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
みたいなデコードのサブルーチンを加えればいいのだとは
思うのですが、どこにどう加えたらいいのかがわかりません。
基本的には、フォームから入力したデータをnews.txtに吐き出し、それをSSIで
表示するというニュースサイト構築用のスクリプトなんです。
(http://www.amphibianweb.com/newspro/)
今まで日本語のスクリプトしか扱ったことがない初心者なのでお手上げ状態です。
ヒントだけで構いませんので、光を与えてください。
0202名無しさん@お腹いっぱい。
2001/05/23(水) 16:16ID:???であって、その"$value =~ tr/+/ /"などの処理とは無関係だぞ。
0203名無しさん@お腹いっぱい。
2001/05/23(水) 16:20ID:???nplib.pl の 180行目あたり見れ。
0204201
2001/05/23(水) 21:02ID:epsCb6tE私がデコードと思い込んでいたのは>>202で指摘されているようにただのURLエンコードで、
それは>>203で指摘されているようにライブラリで既に実行されている、と。
http://www.geocities.co.jp/Bookend-Akiko/3814/newspro/nplib_pl.txt
結局問題は、フォームから日本語で「テスト」と入力すると、news.txtには
テスト
と出力されてしまうのです。これがUnicode番号による数値実体参照だとろいうところまでは
わかったのですが、これはどうやったらEUCやShift_JISになるのでしょう。
やっぱり私ごときのレベルじゃ無理なのかな・・・
0206名無しさん@お腹いっぱい。
2001/05/23(水) 21:52ID:???そういう情報はとっとと出しましょう
#!/usr/bin/perl
use 5.6.0;
use Jcode;
$str = '???';
$str =~ s/?(\d{5});/pack('U*', $1)/eg;
print Jcode->new($str)->sjis;
__END__
0207名無しさん@お腹いっぱい。
2001/05/23(水) 21:54ID:???$strの中身が化けてしまったが、文字参照ね。念の為。
0208T女の竹田
2001/05/23(水) 21:54ID:???とりあえず、print "Content-type: text/html\n\n";
のところを、
print "Content-type: text/html; charset=x-euc-jp\n\n";
みたいにしてみたら?
0209名無しさん@お腹いっぱい。
2001/05/23(水) 22:11ID:???(゚Д゚)ハァ?
まだx-euc-jpを薦める奴なんて居たのか…(驚)
0211201
2001/05/23(水) 23:29ID:???ええと、これをテキストファイルにコピーして拡張子を.plで保存して、それから
どうすればいいんでしょう。あとこれってJcode.pmが必要なんじゃないんでしょうか。
$strの中身が化けたとのことですが、化ける前が推測できません・・・
教えてチャン厨房ですみません。もう少しだけお付き合いください。
0212名無しさん@お腹いっぱい。
2001/05/23(水) 23:51ID:???正解
>>211
化ける前のは"テスト"を数値文字参照化させたもの。
>>204に書いてあるやつな。つーかそれ以外に何がある?
で、"use Jcode"と書いてあるからには当然Jcode.pmが必要
use 5.6.0は不要かもしれん
関係ないが質問に答えてほしければageろや。
sageで書いて無視されても文句いえねーぞ。
0213201
2001/05/24(木) 00:50ID:sL7IkDYkわーごめんなさい。
結果報告です。
あれからJcode.pmを落としてインストールし、nplib.plの186行目以下に
use 5.6.0;
use Jcode;
$value =~ s/&#(\d{5});/pack('U*', $1)/eg;
$value = Jcode->new($value)->sjis;
を付け加えて、An HTTPD上で実行したら成功しました!
皆様のご指導の賜物です。本当にありがとうございました。
が。ローカルで成功したもののサーバーに載せたらやはり動かない・・・
Jcode.pmがないって言われてしまうんですが、これはサーバーにインストールするしか
ないのでしょうか。jcode.plと勝手が違うので戸惑ってます。
0214212
2001/05/24(木) 00:58ID:???Telnet可能ならJcode.pmのインストールも出来るだろ。
ちょいと古いがモジュールインストールの参考サイト
http://x68000.startshop.co.jp/~68user/net/ext-module.html
0215名無しさん@お腹いっぱい。
2001/05/24(木) 03:21ID:gHUnUmaM0216名無しさん@お腹いっぱい。
2001/05/24(木) 10:13ID:R30YzE8Aサンプルで教えてください。
0217antique
2001/05/24(木) 10:45ID:???当然フォームに入力された内容が送られる。
↓に適当なFORMからPOSTで送信してみれ
----------------------------------------------
#! /usr/local/bin/perl
my $query;
read STDIN, $query, $ENV{CONTENT_LENGTH};
print "Content-Type: text/plain\n\n";
print $query;
0218antique
2001/05/24(木) 10:46ID:???当然フォームに入力された内容が送られる。
↓に適当なFORMからPOSTで送信してみれ
----------------------------------------------
#! /usr/local/bin/perl
my $query;
read STDIN, $query, $ENV{CONTENT_LENGTH};
print "Content-Type: text/plain\n\n";
print $query;
0219antique
2001/05/24(木) 10:48ID:???0220名無しさん@お腹いっぱい。
2001/05/24(木) 11:58ID:Dq/jNNBMgetcwd()・・・getcwd(3),getwd(3)を再実装
fastcwd()・・・chdirで戻って来れないようなディレクトリにchdirする可能性があるので
最も危険。
と本に書いてありますが、fastcwd()がどの位の危険性があるのか教えてください。
0221名無しさん@お腹いっぱい。
2001/05/24(木) 12:51ID:Xg3o9H/Iテストしながら作ってるんですが、i-modeの
CGIって出力する時は必ずContent-lengthを明示
しなくちゃならないんですか?
あと、i-modeだと入力フォームの中に
半角スペースが入ると、スペース以降の入力は
無視されるってホントですか?
0222名無しさん@お腹いっぱい。
2001/05/24(木) 12:57ID:Xg3o9H/Iたとえば名前と年齢を入力するフォームがあった時、
GETメソッドだと、サーバーには
GET /test.cgi?name=yamada+tarou&age=20 HTTP/1.0
Referer: tekito.html
User-Agent: tekito
こんな感じで送られる。POSTで送ると
POST /test.cgi HTTP/1.0
Referer: tekito.html
User-Agent: tekito
Content-length: 24
name=yamada+tarou&age=20
こんな感じ
0223perlで
2001/05/24(木) 16:30ID:???0224名無しさん@お腹いっぱい。
2001/05/24(木) 16:31ID:???0225名無しさん@お腹いっぱい。
2001/05/24(木) 16:31ID:???0226perlで
2001/05/24(木) 17:20ID:???複合検索。
1.Aからひとつ選択。→検索→結果表示
2.Aからひとつ選択。さらにBから1つ(ここで絞り込み)→検索→結果表示(1よりも絞りこまれた)
3.さらにこんどはCからも。するとさらに絞りこまれた検索結果が。
というような。アタマ爆発しそうです助けて。
0227名無しさん@お腹いっぱい。
2001/05/24(木) 18:27ID:???2(hiddenの情報に加えて)さらにBから1つ(ここで絞り込み)→検索→結果表示(ついでにhiddenで必要な情報をを出力)
3.(hiddenの情報に加えてさらにこんどはCからも。するとさらに絞りこまれた検索結果が(ついでにhiddenで必要な情報をを出力)
0228201
2001/05/24(木) 19:48ID:sL7IkDYkほとんど途中までは
http://orange.ep.sci.hokudai.ac.jp/~dongury/gontamrr/Jcode.pm.memo.txt
と同じ工程をたどったのですが、MIME-Base64のインストール中に「権限がない」と
言われてそれっきり。共用レンタルサーバでroot権限なんてないよう。
しかし、もうこれ以上はCGIとは関係のない相談になりそうなので、ここらで「済み」と
いたします。今回はいろいろ初体験ができて、いい経験になりました。
最後になりましたが、ご助言いただいた方に深くお礼申し上げます。
0229名無しさん@お腹いっぱい。
2001/05/24(木) 21:30ID:ZqhZs8E6web_analyzer の方は、ちゃんと取得できてる。
xylog 試しに入れてみたが、これもリモホが取れてない。
他の時間、リファラー、UAなんかは取れてる。
自分でperl と Apach の仕組みを全部勉強して理解してからソースを見れば解決するだろうけど、2年くらいかかるだろう。
それまでの間、リモホが見れないとなると鬱だ。
0230名無しさん@お腹いっぱい。
2001/05/24(木) 21:39ID:???makeの引数に何か指定すれば個人のディレクトリ内にインストールできるはず。
0231名無しさん@お腹いっぱい。
2001/05/24(木) 21:41ID:???リモホを取得するにはちと負荷が掛かるんだよ。
取れなくなったのはその鯖の管理会社の判断だろう。
0232名無しさん@お腹いっぱい。
2001/05/24(木) 21:51ID:???HostNameLookups on
って入れてみ。
0233名無しさん@お腹いっぱい。
2001/05/24(木) 22:06ID:ZqhZs8E6アドバイスありがとうございます。
実は、2,3日前に、そのプロバイダーのサーバーの移転工事があったんで、それと何か関係があるのかなーと少し考えてました。
不思議なのは、web analyzer では、きっちりリモホが取れているのに、ほかのcgiなどでは取れなくなったことです。
web analyzer とほかのプログラムの間に、リモホを取得する方法になにか違いがあるのだろうと思いますが、それを理解するのに2年くらいかかりそうです。
>>232
アドバイスありがとうございます。
.htaccessだったら、おそらく1週間くらい勉強すれば設置できそうです。
そのコマンドは、たぶん、リモホを強制的に取得する呪文ですね?
うちのサーバーは、indexes を設定しようとしたときに、なんとかのオーバーライドはできない、って言われたので、その制限にひっかからなければいいんですが。
とにかくやってみます。
ありがとうございます。
0234名無しさん@お腹いっぱい。
2001/05/24(木) 22:59ID:ZqhZs8E6http://www.rfs.co.jp/server/apache/07.html
「Apache 1.3では、HostnameLookupsの初期設定はOff。
この設定だと、DNSルックアップによる余分な処理がなくなるから、HTMLファイルが表示されるまでの時間がぐっと短くなる。」
とあります。
つまり、サーバー移転の際に、アパッチの設定を初期状態に一回戻したのではないかと。
0235201
2001/05/24(木) 23:47ID:sL7IkDYkわーんあきらめかけてたのにー。ありがとうございます。
上手くいきました。>>214のサイトをもう一度読み直して、CPAN経由で個人ディレクトリに
インストールできました。ホントに楽だった。
が、今度は「パスが通っていない(@INCにない)」と言われてしまい途方にくれてます。
ちなみにcgiが返した@INCの現在の要素は、
/home/(アカウント名)/html/****/newspro
/usr/lib/perl5/i386-linux/5.00404
/usr/lib/perl5
/usr/lib/perl5/site_perl/i386-linux
/usr/lib/perl5/site_perl
で、Jcode.pmがインストールされているディレクトリは
/home/(アカウント名)/p5-module/
なんですが、これって
push(@INC,"/home/**_**/p5-module/");
という一文をnplib.plかnewspro.cgiのどこかに付け加えるだけじゃダメなんでしょうか。
やりたいことに近づいてるんだか遠ざかってるんだか…遠い道のりだなぁ。
0236名無しさん@お腹いっぱい。
2001/05/25(金) 00:05ID:???0237名無しさん@お腹いっぱい。
2001/05/25(金) 00:12ID:wtGhDgwQいや近づいているよ。ガムバレ
@INCパスを通す方法
1. BEGINブロック内で@INCをいじる( BEGIN{ push @INC, '/home/hoge/perl5lib'; } )
2. use libプラグマを使う( use lib '/home/hoge/perl5lib'; )
0238201
2001/05/25(金) 19:04ID:IhXtwXHMありがとうございます。2のuse libで対処し、無事パスは通りました。
が、今度は「Uってなんじゃいボケ」とか言われています…
(Untrapped Error: Invalid type in pack: 'U' at nplib.pl line 192.)
どうも、
$value =~ s/?(\d{5});/pack("U*", $1)/eg;
のことらしいんですが、確かに今日参考書籍スレを見て買って来た
「CGI&Perlポケットリファレンス」のpack関数の型指定文字列には
大文字のUはないんですよね。ローカルでは動いたくせに。
0239名無しさん@お腹いっぱい。
2001/05/25(金) 19:08ID:.fPzJFjkUが使えるのはPerl5.6以降でなかったっけ?
日本語だけなら"U"の部分は"n"で代用できないかな?
できないかも。
0240名無しさん@お腹いっぱい。
2001/05/25(金) 19:22ID:z/gmREzA「最近、アクセス解析で、リモートホストが取れなくなったプログラムがあるのですが、サーバー側では特に何も設定とかはいじってないですよね?」
「申し訳ありません。
サーバー側で Hostname Lookup を off にしております。
サーバーの負荷軽減のための措置ですので、ご理解くださいますよう、お願いいたします。」
それならそれで、連絡くらいしてほしかったなあ。
こっちは CGI の不具合かと思って、再インストールしたり、他の CGI 入れてみたり、5時間くらい悩んだんですよぉ〜。
ところで、サーバー側でoffにされていても、ユーザーが個人で .htaccess で on にしたら、そっちのほうが強いんですか?
0241名無しさん@お腹いっぱい。
2001/05/25(金) 19:28ID:Xm4KUCxEうぃ、その通り。
212を書いた直後に気づくものの、書いてなかった。
よって「use 5.6.0は不要かもしれん」の一文は不適切だったな。スマソ
0242名無しさん@お腹いっぱい。
2001/05/25(金) 19:40ID:???その話題多いね。
実は俺のとこもそうだし(笑)
一斉にやってんのかな?
質問はわからないのでsage
試しにやってみたらどうよ?
0243名無しさん@お腹いっぱい。
2001/05/25(金) 19:45ID:???を
$host = gethostbyaddr(pack("C4",split(/\./,$ENV{REMOTE_ADDR})),2) or $ENV{REMOTE_ADDR};
に変えれば済むんだから、鯖側が嫌がることは止めとけば?
0244201
2001/05/25(金) 20:02ID:IhXtwXHM>Uが使えるのはPerl5.6以降でなかったっけ?
ああ納得。ローカルにインストールしたPerlは5.6でしたから。
(>>212を読んでuse 5.6.0はコメントアウトしてました)
やっとあきらめがつきそうです。
結局cgiは動かなかったけど、Perlのことが少しわかったことは大きな収穫でした。
これから勉強して、いつの日か自分で動かせる日が来るのを待つことにします。
つまらない質問にお付き合いいだだき本当にありがとうございました>all
0245名無しさん@お腹いっぱい。
2001/05/25(金) 21:57ID:eb.ywCSo静的なHTMLの中にラジオボタンが数個あり
選択されたラジオボタンごとに
ジャンプさせる先を
CGIで制御するにはどうしたらよいのでしょうか?
また、未選択だとエラーページを表示したいんですが
0246名無しさん@お腹いっぱい。
2001/05/25(金) 22:27ID:???SELECT: foreach (CGI->new->param('radiobutton')){
lc eq 'a' and print redirect('page_a.html');
lc eq 'b' and print redirect('page_b.html');
print redirect('error.html');
}
print header(-charset => 'Shift_JIS'),
start_html( -title => 'hoge', -lang => 'ja'),
h1('何か選択しろ'),
# フォームをごちゃごちゃと
end_html, "\n";
__END__
0247名無しさん@お腹いっぱい。
2001/05/26(土) 16:34ID:mRkT8Xi2数項目にそれぞれ数個のチェックボックスが数個付き
チェックボックス自体はどれを選択しても
ジャンプ先には関係ないのですが
(実際はラジオボタンだけが振り分けるようになっていて)
各項目未選択だとエラーページにて
その未選択な項目を提示したいのですが?
どうすればよいのでしょうか?
0248名無しさん@お腹いっぱい。
2001/05/26(土) 19:25ID:???そいつをJavaScriptで実装してアプするとかしたらどうよ?
そうすれば的確な回答が得られる確率が跳ね上がると思うぜ。
0249名無しさん@お腹いっぱい。
2001/05/26(土) 19:27ID:???「すべての項目に対し、オーバーライドは認めていない」
と言われた。
終わったな。
0250247
2001/05/26(土) 19:27ID:mRkT8Xi2CGIで制御したいのですが
0251名無しさん@お腹いっぱい。
2001/05/26(土) 23:30ID:???Perl言語の前にまず日本語を理解できるようになってから出直してください
0252名無しさん@お腹いっぱい。
2001/05/27(日) 00:26ID:???0253247
2001/05/27(日) 05:15ID:d3zuE6.gすみません、誤解していました。
http://www.geocities.com/sayapion/
にJavaScriptで実装してアプしました。
完全ではないけど
エラー表示はCGIでは未入力の項目を動的にHTMLで出力し、
全てチェックされた状態で送信ボタンを押すと
各項目の確認画面を出してから、選択された項目のページへ
ジャンプする(振り分けはチェックボックスのみ)したいです。
よろしければ、ご指導よろしくお願します。
0254名無しさん@お腹いっぱい。
2001/05/27(日) 05:21ID:???0255名無しさん@お腹いっぱい。
2001/05/27(日) 11:03ID:???use CGI qw/:noxhtml :standard/;
@ISA = qw(CGI);
use strict;
=pod
form部分はこんな感じ
<form action="$0" method="POST">
<div class="a">
<input type="checkbox" name="a-1" value="true">
<input type="checkbox" name="a-2" value="true">
</div>
<div class="b">
<input type="checkbox" name="b-1" value="true">
<input type="checkbox" name="b-2" value="true">
</div>
<div class="c">
<input type="radio" name="c" value="1">
<input type="radio" name="c" value="2">
</div>
</form>
=cut
my @a = qw(a-1 a-2);
my @b = qw(b-1 b-2);
my $form = new CGI;
$form->is_checked(@a) or &error('a');
$form->is_checked(@b) or &error('b');
$form->param('c') or &error('c');
#checkbox-a, checkbox-bの値を元に処理をする
$form->c();
sub is_checked{
my $q = shift;
my @names = shift;
local $_;
my $i;
foreach (@names){ $q->param($_) and $i++; }
return $i;
}
sub error{
my $error_type = shift;
#エラーメッセージを出力
}
sub c{
my $q = shift;
my $c_value = $q->param('c');
#c_valueの値を元に結果のページを出力
}
__END__
・A項目(@a)の何れかが真であることを確認する さもなくばエラーa
・B項目(@b)の何れかが真であることを確認する さもなくばエラーb
・C項目が真であることを確認する さもなくばエラーc
・Cの選択によって出力内容を変える
0256お悩み君
2001/05/27(日) 14:47ID:52TCocto良く、自動登録の出来るリンク集などが有り、その場合、logフォルダーの中に、データファイルが1個ずつ増えていきますね。
ここからが質問です。
logフォルダーの中のデータファイルを、001.log、002.logと言うように増えていくファイルの中の、一番最後のlogデータファイル(一番数字の大きなもの)の数字を読み取り、そのlogファイルの数字に1足したファイル(その時点ではまだ存在しないファイル)にハイパーリンクを張ることは可能でしょうか?
要するに、logファイルが、001.log、002.logしか無い場合、003.logファイルにアクセスしたいのです。
どなたか教えてください。
0257名無しさん@お腹いっぱい。
2001/05/27(日) 15:06ID:???use IO::Dir;
my($l) = sort{ $b <=> $a } map { (/(\d+)\.log$/) } IO::Dir->new('LO_DIR')->read;
print ++$l, "\n";
__END__
>>256
0258micky
2001/05/27(日) 22:53ID:???0259247
2001/05/28(月) 01:25ID:zbIEQa5kCGIとして操作させるにはこれだけでよろしいのでしょうか?
色々試してみたんですけど、駄目みたいです。
で、ラジオボタンの部分(c)はどうやって別のHTMLファイルにジャンプ
するようにしたら良いのでしょうか?
0260名無しさん@お腹いっぱい。
2001/05/28(月) 11:24ID:???もちろん>>255だけじゃなにも起きないだろうよ。
入り口のページを用意しなきゃいけないし
飛んだ先のページも用意しなきゃいけない。
>>255がやっているのは、
項目Aと項目Bがそれぞれ最低一つチェックされていることを確認して、
かつ、項目Cもちゃんと選択されている事を確認する
それだけだからな。
全て書くとなると
0261名無しさん@お腹いっぱい。
2001/05/28(月) 11:27ID:???全て書くとなると、長くなりすぎるしウザイから、
残りは自分でやってみてくれ。
「ここをがどうしても分からない」ってのならそう書きゃまた誰かが何とかしてくれるさ。
0262名無しさん@お腹いっぱい。
2001/05/29(火) 19:53ID:???説明書通りにパーミッションも設定したのに、
Wrire Error
count.dat書き込みできません。
todemasu.
何故でしょう?
0263名無しさん@お腹いっぱい。
2001/05/29(火) 19:58ID:???そんな妙なエラーメッセージを出されても困る。
$!を出力してくれ
0265262
2001/05/29(火) 22:29ID:???0266262
2001/05/29(火) 22:30ID:???0267262
2001/05/29(火) 22:31ID:???0268名無しさん@お腹いっぱい。
2001/05/29(火) 22:36ID:???ディレクトリのパーミッション書いてみろ
0269262
2001/05/29(火) 22:41ID:???+ delete.pl (705)
+ info.pl (705)
+ index.pl (705)
+ jcode.pl (705)
+ lib.pl (705)
+ regist.pl (705)
+ revise.pl (705)
+ search.pl (705)
+ view.pl (705)
+ vip.pl (705)
+ write.pl (705)
+ count.dat (606)
+ アクセスログファイル (606)
+ (707)
+ 中身は空です。
+ (707)
+ 中身は空です。
です。
0270名無しさん@お腹いっぱい。
2001/05/29(火) 22:53ID:???count.datが入ってるディレクトリのパーミッションはどうよ?
0272お悩み君
2001/06/01(金) 21:33ID:???すいません説明不足。
logフォルダーの中のデータファイルを、001.log、002.logと言うように増えていくファイルの中の、一番最後のlogデータファイル(一番数字の大きなもの)の数字を読み取り、そのlogファイルの数字に1足したファイル(その時点ではまだ存在しないファイル)にハイパーリンクを張ることは可能でしょうか?
要するに、logファイルが、001.log、002.logしか無い場合、003.logファイルと言う有得ないファイルにハイパーリンクを張りたいのです。
ttp://123.~abc/arienai.cgi
とし、logファイルも同じフォルダーに置いた場合で、
arienai.cgiの中に、
$new = sprintf("%03d.log", &count() + 1 );
<A HREF="ttp://123.~abc/$new">有り得ないページ</A>
とした場合、ttp://123.~abc.003.logにアクセスできるでしょうか?
0273257
2001/06/01(金) 21:59ID:???説明不足も何も無茶苦茶じゃねーか。
ハイパーリンクがどう関係するんだ?
有り得ないページにアクセスしたことあんのか?
普通はブラウザが落ちたりせず、NotFoundページにアクセスできるだろうが(藁
そいつを好きなフィアルにする事はもちろん可能だが、
そんなことしてしてどうする気だよ?
必要ならその場で作れば良いだろ。
0274257
2001/06/01(金) 22:01ID:???0275お悩み君
2001/06/01(金) 23:19ID:yjQBx9AY別にブラクラを作りたいわけではなく、NotFoundを出したいわけでも有りません。
と言うより、大きな間違いに気付きました。
存在しないファイルにアクセスするのではなく、
たとえるなら、ひとつの書き込みごとにIDをつけ、ひとつのlogファイルに保存します。
書き込みの時のID番号と、logファイル名を同じにし、
新しい書き込みをする場合、
logファイル内のまったく新しい(存在しない)IDに直接アクセス(リンク)したいのです。
要するに、Yahoo!の掲示板のように、書き込みボタンをクリックすると、一度、logフォルダー内のファイル数を数え、そのファイル数に1を足した因数を導きだし、<A HREF="ttp://123.~abc/bbs.cgi?id=$因数">書き込み</A>
としたいのです。
この質問てやっぱり超〜初心者?
0276257
2001/06/01(金) 23:36ID:???それなら、
書き込みボタンがクリックされた時にlogディレクトリの中のファイル数を数え、
そのファイル数に1を足した因数を導き出せばいいだろ。
0277お悩み君
2001/06/02(土) 00:23ID:0cBgSTx6そのやり方が解りません。
スクリプトを教えてください。
0278むぎ茶
2001/06/02(土) 01:26ID:???↑
ネタ。
0279名無しさん@お腹いっぱい。
2001/06/07(木) 15:36ID:???0280minima
2001/06/07(木) 18:41ID:???>>277 さん
解決するにあたって,非常に簡単な方法があります。
1. www.google.com で "opendir" を検索します。
2. およそ30万件ヒット。
3. がんばってください。
0281名無しさん@お腹いっぱい。
2001/06/07(木) 20:35ID:7evOf8Wk$room = $in{'room'};
これの意味を。
この一行が原因でエラーが出ます。
どういう時に、こんな一行が原因でエラーが出るんでしょうか?
0282名無しさん@お腹いっぱい。
2001/06/07(木) 21:06ID:???・$roomはtieされているが、STOREメソッドが存在しない
・$in{room}はtieされているが、FETCHメソッドが存在しない
・$roomに何かオブジェクトが入っていて、代入によりDESTROYが発生。
そしてそのDESTROYが例外を発生させる。
0283282
2001/06/07(木) 21:08ID:???0284名無しさん@お腹いっぱい。
2001/06/07(木) 21:20ID:7evOf8Wk小生、Perl歴1年。ただし改造がメインで、基礎ガタガタ。
で、$in{'room'}; これって、ハッシュなんですかね?
>・$roomはtieされているが、STOREメソッドが存在しない
tieとは?
対応づけのことですか?
>・$in{room}はtieされているが、FETCHメソッドが存在しない
FETCHメソッドとは? そもそも FETCHとは?(^_^;)
>・$roomに何かオブジェクトが入っていて、代入によりDESTROYが発生。
> そしてそのDESTROYが例外を発生させる。
これも意味が、、、(^_^;)
>・use strictの元で、$roomはvars/our宣言されていないグローバル変数である
use strictとは?
vars/our宣言されていないグローバル変数とは?
基礎的なこと?ばかりでスミマセン。
で、これらの場合、どうすれば、解決できるんでしょう?
0285282
2001/06/07(木) 21:35ID:???まぁ>>282はネタだ。tieを使ったCGIスクリプトなんて聞いた事無いな。
ただtieはPerlの非常に面白い部分の一つなので興味があったら調べてみるといい。
しかしPerl歴1年でuse strictを知らないというのは如何なものか。
use strictとは危険な構文、曖昧な構文を制限するプラグマだ。
vars/ourはそれに関係するが書くと長くなるので自分で調べな。
で、今回の件はどちらも違うようだな。
$room = $in{room}
の一文だけでは分からない。
CGIスクリプトならKCatch.pmを使ってみろ
http://www.kawa.net/works/perl/catch/news.html
0286名無しさん@お腹いっぱい。
2001/06/08(金) 12:03ID:gNerhrec一般ページと分けるたけのREMOTE_HOSTではんだんしてるのですが
HOSTどんな感じになるかわかりますか?
*.pipopa.ne.jpってかんじでしょうかね?
0287名無しさん@お腹いっぱい。
2001/06/08(金) 13:47ID:???2. ただし「&」はそのまま
というのをエレガントに書く方法はありますか?
※かちゅ〜しゃの人はブラウザで見てください
0288名無しさん@お腹いっぱい。
2001/06/08(金) 14:08ID:???0289名無しさん@お腹いっぱい。
2001/06/08(金) 14:08ID:???s/&(?!;)/&/g;
0290名無しさん@お腹いっぱい。
2001/06/08(金) 17:47ID:???s/&(?!;)/&/g;
でうまくいきました。産休
※例によってブラウザで
0291カメハメ歯並び〜
2001/06/10(日) 13:10ID:???スイッチなのか? 教えてくれ〜。 アクチブパール6 なんだけど。
0292名無しさん@お腹いっぱい。
2001/06/10(日) 16:38ID:???0293名無しさん@お腹いっぱい。
2001/06/10(日) 18:25ID:???0294カメハメ歯並び〜
2001/06/10(日) 23:04ID:???ねーぞ。 ゴルルルルァ!!
0295倉庫番
2001/06/13(水) 21:48ID:???やってみましたよ。
http://green.jbbs.net/computer/bbs/read.cgi?BBS=20&KEY=985954204&START=400&END=400&NOFIRST=TRUE
400 名前: 倉庫番 投稿日: 2001/06/13(水) 21:39
古い方 http://corn.2ch.net/entrance/kako/991/991902157.html
新しい方(test)
http://corn.2ch.net/entrance/kako/test/991902157.html
で、直ったかな?
0296名無しさん@お腹いっぱい。
2001/06/13(水) 23:46ID:???あ、わざわざ出張ありがとうございます。
サーバ監視所のほうにも書きましたが直ったみたいです。
0297名無しさん@お腹いっぱい。
2001/06/14(木) 02:02ID:???が、ユーザ権限で動作するためか、
環境変数REMOTE_ADDRがサーバのIPになってしまいます。
アクセス者のIPアドレスを得る方法はないものでしょうか。
0298名無しさん@お腹いっぱい。
2001/06/14(木) 02:17ID:XRIaTlTQこれ試してミソ
0299名無しさん@お腹いっぱい。
2001/06/14(木) 02:20ID:XRIaTlTQ$host = gethostbyaddr(pack("C4", split(/\./, $ENV{'REMOTE_ADDR'})), 2);
print"Content-type: text/html\n\n$host";
__END__
0300名無しさん@お腹いっぱい。
2001/06/14(木) 02:21ID:XRIaTlTQ0301名無しさん@お腹いっぱい。
2001/06/14(木) 02:22ID:???上手くいったようです。ありがとうございました。
0302名無しさん@お腹いっぱい。
2001/06/15(金) 21:34ID:???$test{'test1'} = "a";
$test{'test2'} = "b";
$verd = 1;
foreach(0..$verd){
print "$test{'test$verd'}";
$verd += 1;
};
で、処理結果がabになるようにしたいのですが、どうやってもうまく行きません。
どうすれば上手くいくのか、よければ教えてもらえないでしょうか?
0303名無しさん@お腹いっぱい。
2001/06/15(金) 22:24ID:???$test{'test1'} = "a";
$test{'test2'} = "b";
$verd = 1;
foreach(0..$verd){
print qq($test{"test$_"}); # ダブルクォーテーションじゃないと変数展開がされない
}
0304名無しさん@お腹いっぱい。
2001/06/15(金) 22:53ID:???303さん、どうもありがとうございました。
0305perl初めて
2001/06/16(土) 02:22ID:???初めてCGIを勉強しはじめたど素人なんですが
9行目付近が間違っていると
perlチェッカーで出るのですがさっぱりわかりません
どう間違っているのかご指摘いただけませんでしょうか
よろしくお願いいたします
#!/usr/bin/perl/
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title>げすとぶっく♪</title>\n";
print "</head>\n";
print "<body bgcolor="#FFFFFF" text="#000000">\n";
print "<CENTER>\n";
print "<p>\n";
print "<font size=2 color=white>げすとぶっく♪</font>\n";
print "<br>\n";
print "<font size=1 color=white>あしあとぺたぺた</font>\n";
print "</CENTER>\n";
print "<HR>";
print "(半角カナは使用しないでね♪)\n";
print "<form method=\"post\" ACTION=\"guestbook.cgi\">\n";
print "<font size=1 color=white>あなたのお名前:</font><INPUT NAME=\"name\" TYPE=\"text\" SIZE=30><br>\n";
print "<font size=1 color=white>Eめーる:</font><INPUT NAME=\"email\" TYPE=\"text\" SIZE=40><br>\n";
print "<font size=1 color=white>こめんと:</font><TEXTAREA cols=40 ROWS=4 NAME=\"comment\"></TEXTAREA><br>\n";
print "ほーむぺーじ:";
print "<INPUT NAME=\"url\" TYPE=\"text\"VALUE=\"http://\"SIZE=40<br>\n";
print "<INPUT TYPE=\"submit\" VALUE=\"かきこみ♪\">\n";
print "</form>\n";
print "</body>\n";
print "</html>\n";
_END_
0306rubbish_lister
2001/06/16(土) 02:27ID:???ヒアドキュメントが載っていないような本は捨てましょう。
print <<EOD;
Content-type: text/html
<html>
…
</html>
EOD
__END__
0307( `.∀´)<逝ッテヨシ
2001/06/16(土) 05:19ID:gZwvTOW.print "<body bgcolor="#FFFFFF" text="#000000">\n";
この行を見て何も感じない不感症なキミは逝ってよし
0308ドキュソ
2001/06/16(土) 06:00ID:yBowf1qkエディターを変えればわかるかも。
0309名無しさん@お腹いっぱい。
2001/06/16(土) 12:23ID:???0310perl初めて
2001/06/16(土) 13:14ID:C1nY1sAgこんな方法があったのですね!
昨日検索かけてたくさん調べてみました
凄く便利なので使わせていただきます!
>>307さん
大文字小文字が混じってて気持ち悪いと言うことでしょうか?
>>308さん
今はEMエディターで拡張子をいちいちtxtからcgiに変えてやっているので
秀丸エディターに変えてみます
>>309さん
えっと最初の行はサーバーに合わせて書いたつもりなのですが
おかしいのでしょうか?
最後は__END__でよろしいでしょうか?
初歩的なことですいません
0311名無しさん@お腹いっぱい。
2001/06/16(土) 17:12ID:???↓
print "<body bgcolor=\"#FFFFFF\" text=\"#000000\">\n";
0312ドキュソ
2001/06/16(土) 17:18ID:k9nU2Pm6ヒアドキュメントにすると通るので、なんで通るのか考えてみよう。
0313名無しさん@お腹いっぱい。
2001/06/16(土) 17:55ID:???『\』の使い方も載ってないのにホントに入門本なのか?
0314ドキュソ
2001/06/16(土) 18:16ID:k9nU2Pm6ここが今日のポイントだ。試験に出すから覚えとけよ〜。
0315perl初めて
2001/06/16(土) 18:51ID:C1nY1sAgご丁寧にありがとうございます
\が抜けてたんですね、本に書いてある通りではなく
そこは少し自分で変えていました
本にはprint "<body bgcolor=WHITE>\n";とかいてありました
私のミスだと思います。
>>312さん
ヒアドキュメントにすると通るわけですね
調べてみます、結構丸暗記でやっているので
理解しながらやった方がいいですよね。
>>313さん
はじめての人のためのと書いてあったので買いました
\の使い方はいまいち私がまだわかってないだけだと思いますので
じっくり勉強します。
>>314さん
はっはぁ・・・
0316名無しさん@お腹いっぱい。
2001/06/16(土) 19:27ID:???あと、\がたくさんついてると気持ち悪いのは俺だけか
最初はしょうがないかもしれないけど
0317perl初めて
2001/06/16(土) 19:46ID:C1nY1sAgとりあえずこの本に書いてあることぐらい
簡単に理解できるように頑張ります
ちなみに間違っている点は
一番最初の行の#!/usr/bin/pirl一番最後につけていた/の
ためにエラーが出ていたようでした
皆様いろいろご指導いただきありがとうございました
Perlは色々な書き方があるから、本屋とかで立ち読みして見比べたら良いかと。
率直に言おう。"" の中で "" を使うとエラーになります。
' (シングルクォート)と使いわけよう。
0320perl初めて
2001/06/16(土) 20:02ID:???はい、いろいろと読み比べてから本は買うようにします
いろいろありがとうございました
>>319さん""の中で""を使うときは'を使い分けていくわけですね
では\を使って""の中に""を使うやり方は違うのでしょうか?
それともこれでも良いのでしょうか?
とりあえずいろいろ調べてみます!
0321名無しさん@お腹いっぱい。
2001/06/16(土) 21:18ID:Xw9raK02Perlだけなかなか正常に動いてくれません。
cgi実行すると「Internal Server Error」が出てしまいます。
DOSプロンプトから直接実行は問題ありませんでした。(>perl test.cgi)
cgiスクリプトの1行目のperlパスの指定も間違ってません。
(#!D:/Server/Perl/bin/perl ←インストールディレクトリ)
でもApacheエラーログでは、
malformed header from script. Bad header=test: d:/server/apache/cgi-bin/test.cgi
と1行目が間違ってるという風に言われます。
httpd.conf の設定も大丈夫だと思うのですが・・・
ほかにどのような原因がありうるでしょうか?
お助けくだされ・・・。
0322名無しさん@お腹いっぱい。
2001/06/16(土) 21:31ID:???0323名無しさん@お腹いっぱい。
2001/06/16(土) 21:44ID:Xw9raK02むむっ!!もう少し詳しく教えてください。
0324S
2001/06/16(土) 21:56ID:QjdpSRZc0325名無しさん@お腹いっぱい。
2001/06/16(土) 22:04ID:Xw9raK02どうもです。でもまだ分からない(w
もう少し教えてください。
具体的にどこをどのように見直すべきですか?
0326名無しさん@お腹いっぱい。
2001/06/16(土) 22:24ID:???悪いが君はプログラムに向いてないのかもしれない。
もちろん努力すれば何とかなるけど、今の態度を見るにあまり期待も出来ない。
""の中になぜ"を使ってはいけないか?
考えてみなさい。
print "a"b";
とあって、printは
全体の""の中身であるa"bをprintするべきか
最初の""の中身であるaをprintするべきか
最後の""の中身であるbをprintするべきか。
どれだと思う?
答えは2番目だ。
最初の"からその次に現れた"までを""の中身と判断する。
ではそうなったらb"はどうなるか?
どうにもならない。
ただb"って書いてあるだけとしか思ってくれない。
そしてそれは構文になっていない。
結果として構文エラーになる。
\"を使うのは「これは"の終わりではない文字列としての"ですよ」という目印だ。
print "a\"b";
と書けば、真中の"は文字列として認識されるから、そこで"が終わらない。
つまり、そういう事。
'を使えば大丈夫なのも、「"から"まで」という認識の邪魔をしないからだ。
これは「知ってなきゃわからない」事かもしれないが、「考えてわからない」事じゃないと思う。
それを考えてわからないなら、君はそのセンスがないのかもしれない。
もしPerlを本格的にやりたいなら、センスを磨きな。
長文スマソ。
0327関係無いのでさげ
2001/06/16(土) 23:23ID:???http://script.lovely.to/bbs/infolng.cgi?print+200106/01060024.txt
今後はマルチポストはやめるように
0328名無しさん@お腹いっぱい。
2001/06/16(土) 23:31ID:???0329名無しさん@お腹いっぱい。
2001/06/16(土) 23:33ID:3vKwuoqUprint "Content-Type: text/html\n\n";
こういう出力をしてないとか、ケツの改行が1個しかないとか。
0330名無しさん@お腹いっぱい。
2001/06/16(土) 23:43ID:???これ見てワラタ
0331名無しさん@お腹いっぱい。
2001/06/16(土) 23:48ID:???ニドトクンナ!ペッペ!!
,, .: 。
\( ゚´3゚)- = 。 ゚
( )` :: .
ノ \
0332名無しさん@お腹いっぱい。
2001/06/17(日) 00:09ID:cAWaiwrsうまくいきません。(IPアドレスが表示されます)
他のCGIではgethostbyaddr()でホスト名が取得できているので
サーバがgethostbyaddr()が使えないということではないと思うんですが…
どのような原因が考えられるでしょうか?
0333名無しさん@お腹いっぱい。
2001/06/17(日) 00:14ID:???CGIのミス。
0334332
2001/06/17(日) 00:25ID:cAWaiwrsどの辺がおかしいでしょうか?
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq "" || $host eq "$addr") {
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
}
if ($host eq "") { $host = $addr; }
0335325
2001/06/17(日) 05:09ID:555t4a6oまさにそのとおりでした。
どうもありがとうございます。
助かったdeath.
0336名無しさん@お腹いっぱい。
2001/06/17(日) 11:58ID:???Netfirmsは、gethostbyaddr()関数を使えない。
0337332
2001/06/17(日) 12:40ID:4s/tVhGYNetfirmsっていうのはサーバのことでしょうか?
うちはhi-hoのサーバを使っています。
0338名無しさん@お腹いっぱい。
2001/06/17(日) 12:41ID:???(画像の中にCGIを埋め込むには?の方が言い方としては正しいのかな?)
0339名無しさん@お腹いっぱい。
2001/06/17(日) 12:56ID:???AddHandler cgi-script .jpg
を加える。
0340名無しさん@お腹いっぱい。
2001/06/17(日) 14:13ID:???(゚Д゚)ハァ?
0341名無しさん@お腹いっぱい。
2001/06/17(日) 14:45ID:???おれも>>339を最初に思いついた。
あるいはPATH_INFOから引数をとるような画像表示CGIを作り、
拡張子なしのファイル名を付けて、URLでごまかす。
>>340
┐(´ー`)┌
0343名無しさん@お腹いっぱい。
2001/06/18(月) 12:32ID:Ai/io0AAユーザディレクトリではsuEXECで動いているんだけど、
/usr/local/apache/cgi-binではwwwで動くんだよね。
0344名無しさん@お腹いっぱい。
2001/06/18(月) 12:43ID:???httpd.confの
User www
Group www
の権限で動きます。
0345名無しさん@お腹いっぱい。
2001/06/18(月) 16:12ID:Ai/io0AAんじゃぁ、ユーザーディレクトリをエイリアスに設定させれば
動くかな?
Alias /test/ "/home/test/public_html/"みたく
0346
2001/06/19(火) 16:29ID:.3uKdYEEヤフーのチャットをおいてたけど、いろいろ不満もあって・・・。
いい、チャット知ってたら教えてください。
0347名無しさん@お腹いっぱい。
2001/06/19(火) 16:32ID:???0348名無しさん@お腹いっぱい。
2001/06/19(火) 16:39ID:.3uKdYEEそれってHPにおいて使えるんですか?
では、早速やってみます。
ありがとうございました。
0349名無しさん
2001/06/19(火) 22:44ID:???0350逝って良し
2001/06/20(水) 07:25ID:???0351名無しさん@お腹いっぱい。
2001/06/20(水) 19:49ID:pmjBvxSsどうすればいいのですか?
0352名無しさん@お腹いっぱい。
2001/06/20(水) 19:56ID:???HTMLとスタイルシートの勉強をする
0353名無しさん@お腹いっぱい。
2001/06/20(水) 19:56ID:???0354332
2001/06/21(木) 21:44ID:06pi5Po2まだ解決していないのです・・・
0356名無しさん@お腹いっぱい。
2001/06/21(木) 22:28ID:???Perl がおかしい?
0357名無しさん@お腹いっぱい。
2001/06/22(金) 02:50ID:XQWf5jh2データの保存形式はどうしたらいいだろう?
俺的には、
設定情報+記事ファイル
会員情報はSQL
みたいな感じだけど。
設定と記事は分けた方がいいかな?同じにすればファイルを2度開かなくてもいいかなと思ってるんだけど。
因みに、設定は10項目くらいタブで区切るつもり。
0358名無しさん@お腹いっぱい。
2001/06/22(金) 06:26ID:???$hairetu[$hensuu]ではなく、
$haieretu 変数 [1] という風にしたいのですが。
0359名無しさん@お腹いっぱい。
2001/06/22(金) 10:54ID:MTHVeG4o0360名無しさん@お腹いっぱい。
2001/06/22(金) 11:58ID:uKEGoNlk0361名無しさん@お腹いっぱい。
2001/06/22(金) 12:15ID:???${hairetu}{$hensuu}[1]
${$hensuu}[1]
0362358
2001/06/22(金) 19:35ID:???回答ありがとうございます。
さっそく試してみます。
0363名無しさん@お腹いっぱい。
2001/06/22(金) 21:51ID:???Perlで掲示板をつくってprohostingのサーバに置きました。めでたく書きこみが出きるまでになりました
そこで一つわからないことがあります。
その掲示板でリロードしようとすると、ダイアログが開いて「このページは
再送信しないと更新できません」とでるのです。それに従って更新すると、
同じ内容の書きこみが二つになってしまいます。このようにならないように、
リロードするにはどうしたらよいでしょうか
0364名無しさん@お腹いっぱい。
2001/06/22(金) 21:54ID:???1:アンカータグでリロードボタンを作る
2:フォームでリロードボタンを作る
3:書き込みが終わった後Locationで移動させる
4:書き込み後に「書き込みが完了しました」とクッションページを置く
0365名無しさん@お腹いっぱい。
2001/06/22(金) 22:07ID:???ありがとうございます。
IEの更新ボタンで更新できるようにしたいのですが(2たんねるのように)
その場合は3.のでよいですか?
0367名無しさん@お腹いっぱい。
2001/06/23(土) 00:28ID:MdTHDgYc特定のIP&プロ串経由でのアクセスをピンポイントで制限するというCGIをPerlでつくり、
WAKWAKのサーバーに置き、ちゃんと動作してくれたので、旧INFOWEBのサーバーに設置してみたところ
「Internal server error」 が出てしまいました。
あるサーバーでは上手く動作しても、あるサーバーでは上手く動作しないということは、
CGIスクリプトと、鯖との相性なんでしょうか?
0368名無しさん@お腹いっぱい。
2001/06/23(土) 00:31ID:???偶に、perlのパス確認せずに騒ぐドキュソも居るけど(w
0369名無しさん@お腹いっぱい。
2001/06/23(土) 00:32ID:???1:Perlにパスが通ってない
2:requireなどのパスが通ってない
3:Win鯖とUnix鯖だったりする
4:Perlのバージョンが違う
5:サーバーで許されている関数に違いがある
6:.plファイルのCGI起動を許可されていない
7:cgi-binに入れないと動かない
後はなんだろう?
0370名無しさん@お腹いっぱい。
2001/06/23(土) 00:35ID:/3Jg8tz.2chのIDのようにIPに基づいて成り立つIDをPERLで作成するにはどうしたらいいのでしょうか
0371名無しさん@お腹いっぱい。
2001/06/23(土) 00:43ID:???>>368
Perlへのパスは何度も確認してます。
>>369
わっかりました。
もう一度、ソースを見直してみます。
0372名無しさん@お腹いっぱい。
2001/06/23(土) 00:47ID:???srand($ENV{'REMOTE_ADDR'});
$xx = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
. "abcdefghijklmnopqrstuvwxyz"
. "123456789./";
foreach(1..8){
$ID .= substr($xx, int(rand(65)), 1);
}
srandにIPを入れることで常に同じ結果が返される。
あくまでサンプルとしてね。
他にも色々と方法はあると思う。
0373370
2001/06/23(土) 00:55ID:???できました!
ありがとうございます!
0374名無しさん
2001/06/23(土) 08:25ID:vckxBx8o0375名無しさん@お腹いっぱい。
2001/06/23(土) 09:12ID:???(゚Д゚)ハァ?
0376名無しさん@お腹いっぱい。
2001/06/23(土) 12:18ID:9TJHVS520378名無しさん@お腹いっぱい。
2001/06/23(土) 12:46ID:9TJHVS52も少し具体的に教えてください。
あと、やらせてください。
0379名無しさん@お腹いっぱい。
2001/06/23(土) 13:01ID:/dnaAWAM2chのIDってcryptで生成していると思ってた。
0380370
2001/06/23(土) 13:48ID:jCLGsch.IPが違っても同じIDになることがたびたびあります。
初心者なもんで全然わからないんですが、どう対処したらいいのでしょうか
0382372=初心者に毛の生えた程度
2001/06/24(日) 07:47ID:???その方が効率的かも。
サンプルきぼん。
0383名無しさん@お腹いっぱい。
2001/06/24(日) 10:13ID:???print crypt($packip);
とか。
0384名無しさん@お腹いっぱい。
2001/06/24(日) 15:39ID:???location文をどのように挿入すればよいかわからないです
どなたか教えていただけないでしょうか
0385名無しさん@お腹いっぱい。
2001/06/24(日) 16:10ID:PvagkePYContent-type:と同じやりかたでオッケー
0386名無しさん@お腹いっぱい。
2001/06/24(日) 16:34ID:???locationを試してみたところ、リロードしてもcgiが読み込まれなくなってしまいました
サーバはProhostingです
0387名無しさん@お腹いっぱい。
2001/06/24(日) 17:38ID:???Sendmailが使えないサーバなら、Socketもまず使えないだろう。
0388372=初心者に毛の生えた程度
2001/06/24(日) 23:04ID:???そのままコピペして試したら鰓出たんで自分なりにアレンジしてみました。
$packip = join "", map{ chr } split /\./,$ip; # ,を入れてみた
print substr(crypt($packip,$ip),2,8); # saltを入れてからsaltの分を削除してみた
こんな感じでいいのかな?
0389名無しさん@お腹いっぱい。
2001/06/24(日) 23:45ID:???って書けますか?
0390名無しさん@お腹いっぱい。
2001/06/25(月) 01:21ID:k5UlKqNo<input type=hidden name="get" value="143242341324">
<input type=submit value="abcd">
</form>
これをTELNETで見ようと思ってもサッパリ分かりませんでした
いま将棋にはまってます
このCGIの出力結果を見るにはどんな文ををサーバーに送れば見ることが出来ますか?
詳しく分かりやすく専門用語を使わずに教えてくださいおしえてください
0391名無しさん@お腹いっぱい。
2001/06/25(月) 03:32ID:5VbEnasM中途半端なコードが1個でもあったら、それ以降すべて削除。
というの作ってみた。
$re_sjis_zen = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
$re_sjis_han = '[\xA1-\xDF]';
$re_ascii = '[\x20-\x7E]';
$s =~ s/^((?:$re_sjis_zen|$re_sjis_han|$re_ascii)*).*/$1/;
0392名無しさん@お腹いっぱい。
2001/06/25(月) 09:39ID:???君の場合「専門用語を使わず」にとか言う前に、
日本語を勉強した方が良いと思われ。
0394名無しさん@お腹いっぱい。
2001/06/25(月) 19:21ID:ZSLnqgJ.はないディレクトリにアクセスした場合はindex/xxxという
ファイルの一覧になりますよね。
ここをファイル一覧にはせずに、そのままFile Not Foundの
ようなエラーページに飛ばす方法はApacheにはあるのでしょう
か?いろいろ見たけれどわからないです。
@niftyなんかはこういう風な仕組みになってますが、あれは
CGIとかでやれるのでしょうか?
0395電動ナナシ
2001/06/25(月) 21:36ID:???0396名無しさん@お腹いっぱい。
2001/06/25(月) 22:14ID:???http://www.mikeneko.ne.jp/~lab/cgi/htaccess/directory.html
0398370
2001/06/26(火) 04:53ID:AyIlniPs$ID .= substr(crypt($packip,$host),2,8);
これでできたIDからIPに戻すとかはできます?
0399JAPU
2001/06/26(火) 05:18ID:???# DES を使用している場合でも、単なる一方向性関数としての利用です。
0400名無しさん@お腹いっぱい。
2001/06/26(火) 05:36ID:???ネットを切ること無しに多重投票ができる方法はありますでしょうか?
また、効率のいい投票方法、ツールなどありましたら教えてください
0401名無しさん@お腹いっぱい。
2001/06/26(火) 05:45ID:???方法はあるけど…
多重投稿をして欲しくないから、そういう機能があるのだと思われ。(ワラ
あきらめて逝ってください。
0402名無しさん@お腹いっぱい。
2001/06/26(火) 08:54ID:???アンケート荒らしは死ね。
0403名無しさん@お腹いっぱい。
2001/06/27(水) 16:27ID:Me2B1mgQhttp://member.nifty.ne.jp/hippo2000/perltips/perlmail.htm
0404名無しさん@お腹いっぱい。
2001/06/27(水) 18:41ID:???リロードによる二重書き込みが無くなりました!!!
なんとお礼を言っていいやら・・!!ありがとう
0405名無しさん@お腹いっぱい。
2001/06/27(水) 18:44ID:???/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、どういたしまして。
|| | | | \ ┃ ┃/ \________
| || | |  ̄  ̄|
0406名無しさん
2001/06/28(木) 06:33ID:a55aZI4U同時に使おうとするとなにか問題があるんでしょうか?
変数名がかぶるとか回避できますよねえ。
0407名無しさん@お腹いっぱい。
2001/06/28(木) 13:25ID:???同時に使おうとすると判定処理が増えるからじゃない?
0408名無しさん@お腹いっぱい。
2001/06/28(木) 15:46ID:m7F35MBU同じデータをPOSTでもGETでも受け付け可能にするってこと?
掲示板なんかでPOSTとGETの両方オーケーにすると
<img src=".../bbs.cgi?text=hoge">みたいなリンクを貼りまくる
荒らし厨房がわいてきそうでいや。
別々のデータをPOSTとGETで分けて受け取るスクリプトの話なら、
まえにそういう掲示板
(テキストをPOSTで受けて、動作モードをQUERY_STRINGで指定)
を書いたけど、そのときは問題なかった。
Apache以外のWEBサーバだと、問題あるらしいとの噂も聞いたが。
0409370
2001/06/28(木) 15:57ID:d9KcmRW.そうですか〜
ありがとうございます。
0410406
2001/06/28(木) 21:03ID:a55aZI4Uまさにそれです。Perl勉強中なんで問題があるのかと、、、
# フォームからのデータを連想配列に格納
read(STDIN, $buffer1, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer1);
foreach $pair (@pairs)
{
($name,$value) = formdec(split(/=/, $pair)); # フォーム形式のデコード
if(exists($FORMS{$name})) { # 既にキーが存在した場合
$FORMS{$name} = $FORMS{$name}.",".$value; # FORMSに, 区切りで格納
} else {
$FORMS{$name} = $value; # 連想配列FORMに格納
}
}
# クエリーからのデータを連想配列に格納
@pairs = split(/&/, $ENV{'QUERY_STRING'}); # 引数を格納する
foreach $pair (@pairs)
{
($name,$value) = formdec(split(/=/, $pair)); #フォーム形式のデコード
if(exists($QUERYS{$name})) { # 既にキーが存在した場合
$QUERYS{$name} = $QUERYS{$name}.",".$value; # QUERYSに, 区切りで格納
} else {
$QUERYS{$name} = $value; # 連想配列QUERYSに格納
}
}
# クッキーデータを連想配列に格納
@pairs = split(/;\s*/,$ENV{'HTTP_COOKIE'});
foreach $pair (@pairs)
{
($name,$value) = formdec(split(/=/, $pair)); # フォーム形式のデコード
if(exists($COOKIES{$name})) { # 既にキーが存在した場合
$COOKIES{$name} = $COOKIES{$name}.",".$value; # COOKIESに, 区切りで格納
} else {
$COOKIES{$name} = $value; # 連想配列COOKIESに格納
}
}
# フォーム形式のデコード
sub formdec {
,,,
Multipulなのはsplitして使うと。
0411名無しさん@お腹いっぱい。
2001/06/28(木) 21:52ID:???問題は要するに「POSTしたときもQUERY_STRINGは有効なのか?」
ってことだけど、
こりゃCGIスクリプトじゃなくてWEBサーバの動作の問題だね。
経験則だけど、Apacheはオーケー。
他のWEBサーバは知らないけど、たぶんApacheコンパチでないの?
>>408の「Apache以外で問題あり」なんて話は聞いたことない。
0412名無しさん@お腹いっぱい。
2001/06/29(金) 00:25ID:Cs3QYnzUデータファイル(ログファイルやデータベース用のテキストファイル)の漏洩問題に
対処するためにこのデータファイルをドットファイル(拡張子部分は固有名詞を使わない
任意の文字列)にすれば、ある程度データファイルのセキュリティーは高まるのでしょう
か? どのくらいの安全性なのか、あるいは危険性はあるのか、どうか教えてください(
本の知識です)。 よろしくお願いします。
ちなみに別板で最初に書きこんだ時のその板の皆様のご返答は・・・
・貸し金庫よりドットファイルは安全だ。
・パーミッションを640にしろ。
・拡張子を.cgiにして保存しろ。
・この板(このスレの板)に逝って質問しろ。
でした。悩める厨房にどうか教えてください。混じれ酢希望です。
0413名無しさん@お腹いっぱい。
2001/06/29(金) 00:32ID:???基本的はドキュメントルートの外に置けばいいんじゃない?
0414名無しさん@お腹いっぱい。
2001/06/29(金) 00:52ID:???>>413
早速有難うございます。ただその外に置く方法が分からないのです。
今使っている鯖(レンタル)は、やり方は分からないのですが、そ
の「/」の上の階層にファイルを置けないようなのです。マジでセキ
ュリティーのことを考えて色々思考錯誤しているのですが・・・。
一つ一つ勉強ですが、回りに詳しい人間もいず、本で読んでも
理解するのが遅すぎて。。。だけど有難うございます。
他にはどうでしょうか?いい機会(迷惑?)ですので教えて下さい。
0415名無しさん@お腹いっぱい。
2001/06/29(金) 01:06ID:???そのサーバはHTMLやCGIを「/」の下に置くようになってんですか?
public_htmlがあるなら、そこが「ドキュメントルート」だよ。
つまりpublic_htmlディレクトリの外にデータを置けばいいということ。
0416名無しさん@お腹いっぱい。
2001/06/29(金) 01:26ID:???てゆー問題もあるね。
CGIが所有者権限で動くWEBサーバなら、データのパーミッションを600に。
そうじゃないWEBサーバなら、あきらめる。
0417名無しさん@お腹いっぱい。
2001/06/29(金) 02:26ID:???>>415
そうなんです。/の下にcgi-binディレクトリを置いたりやHTMLファイルを転送します。ただtelnetがその鯖では使えず、普通のftpソフトでは/より上に行くことができませんし、鯖の方も許可していないようで
す(←ただ私の言うことですので信用できないかもしれませんが・・・)
こういう鯖ではルート以外におく方法の次善の手としてどういう方法があるのでしょうか(←416でパーミッション600という手を教えて頂きました)?
>>416
はい、共有鯖です。外に置いたら(というか置けると仮定したら)、やはり他人に見られますよね。そう言う場合600にすれば確かに最も安全ですよね。 ただこのデータファイル、不特定多数の人間が実行するスクリプトから
読みこんだり書きこんだりする代物ですので、600だとちょっと不都合が・・?
結局、
>そうじゃないWEBサーバなら、あきらめる。
やはり「外に置く」以外のセキュリティーはどれも似たり寄ったりなのですか?
0418名無しさん@お腹いっぱい。
2001/06/29(金) 03:28ID:???>普通のftpソフトでは/より上に行くことができません
あー、そういう設定か。確かにそういうサーバありますね。
困ったもんだ。せめてもう一個上まで行けるように
設定しといてくれればいいのにね。
>不特定多数の人間が実行するスクリプトから
>読みこんだり書きこんだりする代物ですので、600だとちょっと不都合が・・?
「CGIが所有者権限で動くWEBサーバ」なら、600で不都合は
起きないから大丈夫です。
誰が実行しても、CGIファイルの所有者(あなた)が読み書き
してるのと同じことになります。
>やはり「外に置く」以外のセキュリティーはどれも似たり寄ったりなのですか?
いや、外に置くのも拡張子を".cgi"にするのも結局似たようなもので、
共有サーバの別ユーザから見られる危険性は一緒。
ひとつだけその危険がないのが、パーミッション600です。
とにかくそのサーバで、CGIが所有者権限で動くか
(別の言い方すると、CGIがSUEXECで動いてるか)を確かめるのが先ですな。
0419名無しさん@お腹いっぱい。
2001/06/29(金) 07:51ID:PEj2qvtM丁寧なご返答有難うございます。(感謝
渦巻いていた疑問が晴れました。
こんな厨房の意見に混じれ酢をして頂いて本当に恐縮です。
鯖の設定と手元の本をもう一回確認して色々と試してみます。
ありがとうございました。
0420名無しさん@お腹いっぱい。
2001/06/29(金) 14:37ID:???ドットファイルが安全というのはどういう意味か分からん。
WINDOWSのHIDDEN属性と近藤しちゃいないか?
↑の説を言い出したのが412氏じゃないことは分かっているけど。
0421名無しさん@お腹いっぱい。
2001/06/29(金) 15:14ID:???ようになってるという話と混同してるのでは?
0422名無しさん@お腹いっぱい。
2001/06/29(金) 17:08ID:qvcgEcjUやらなかったのか
どっちかな
0423名無しさん@お腹いっぱい。
2001/06/29(金) 21:04ID:???______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (9 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 600デキナイサーバカリナイジョウシキ
|| | | | \ ┃ ┃/ \________
| || | |  ̄  ̄|
0424名無しさん@お腹いっぱい。
2001/06/30(土) 01:02ID:???皆さんレス遅れてすいませんでした。そして有難うございます。
>>420
ドットファイル(例:.hogehoge1233455)にすると、.txt .log .csvなどに
比べて外部からのアクセスによる不正なデータ閲覧を少しは防げる、というもの
でした。早速試したところ、確かにブラウザでの閲覧(ファイルを直接URLで指
定)を試みると、見れません。またファイル転送時にバイナリにすると良い様でし
た。ただいかんせん私のレベルは皆さんから見ればお粗末なもので・・・皆さん
にかかれば、あまり意味のない防御方法かもしれません。
>>421
例えば.hthogehoge1232344のようにすれば、上記の様なファイル名よりかは
安全性が高まると言うことでしょうか?う〜ん?もしよろしければ詳しく教えて
下さい。お願いします。
>>422
ルートディレクトリの外に置けるサーバーではありませんし、600にしたらスク
リプトが動きませんでした。従って
>>423
さんのように、よ〜〜〜〜く調べて鯖を変えなくては逝けないかもしれませんね。
しかしどうやったら調べられるんでしょうか??
0425名無しさん@お腹いっぱい。
2001/06/30(土) 04:34ID:???Apacheのデフォルト設定で、
.hogehoge1233455 → ブラウザのURL直接指定で表示できちゃう
.hthogehoge1232344 → URL直接指定でエラーになって見れない
となってた時代があったんよ。
こういうのApacheのバージョンによってころころ変わんだけど、
もしかして現在のApache1.3.20だとドットファイルは全部アクセス不可?
なんにせよ、これはあくまでもデフォルト設定であって、
あとでいくらでも変えられるので、サーバごとに事情は異なる。
「ドットファイルは絶対アクセス不可」と思ってはいけない。
ただし自分で.htaccessを書いて「ドットファイルはブラウザからアクセス不可」に
設定することはできる。
レンタルサーバでデータのパーミッション600が可能か調べるには
そこのサポートにメールして聞けばいいんじゃない。
「CGIはsuEXECで動作してますか?」で相手はわかると思うよ。
0426名無しさん@お腹いっぱい。
2001/06/30(土) 23:28ID:???>>425さん、ありがりがとうございます。かなり理解が深まりました。
正直、セキュリティー(今回のドットファイルも含め)に関する情報って、
結構見つからないですよね(当たり前なんですけどね。ヘタレ厨房がス〜グ
悪用するから)。だから情報集めてそれを自分で噛み砕くのは本当に大変で
す。
ありがとうございました。また分からないことがあったらこちらで質問
させて下さい。
# >そこのサポートにメールして聞けばいいんじゃない。
# サポートがなっていない鯖も多いようですので参考にしながら
# 別板・別スレで情報を集めます・・・。
0427名無しさん@お腹いっぱい。
2001/07/01(日) 12:53ID:???☆┌|∵|┘♪└|∵|┐♪┌|∵|┘ ☆(∂v∂)☆(ノ^0^)ノ☆\(^○^)/☆(∩.∩)☆(〃^∇^)o_彡☆(V)o¥o(V)
↑このような文字列を入れるとアンカータグが閉じられずに、他の発言にも
リンクが及んでしまいます。これを改善するにはどうしたらよいでしょうか?
# Emailからタグを作成
if ($mymail ne '') {
$mymail = "<A HREF=mailto:\"$mymail\"><b>$myname</b></A>";
}else{
$mymail = "<font color=\"#228b22\"><b>$myname</b></font>";
}
# 一行に変換する
&auto_link($mycomment);
$mycomment =~ s/\r\n/<BR>/g;
$mycomment =~ s/\n/<BR>/g;
$mycomment =~ s/<BR><BR>/<BR> <BR>/g;
# 書き込みメッセージ構成
$message = "<dt>$mymail <font size=\"2\">投稿日:$datestr</font><dd>$mycomment<P>";
0428427
2001/07/01(日) 13:13ID:???http://www30.tok2.com/home/muchm/bbstok2.cgi
0429427
2001/07/01(日) 13:41ID:???&nbsp;&quot;のような文字(&は半角)がそのまま出てしまいます
このように書きました
$mymail =~ s/</</g;
$mymail =~ s/>/>/g;
$mymail =~ s/"/"/g;
$mymail =~ s/ / /g;
$mymail =~ s/&/&/g;
0430427
2001/07/01(日) 13:50ID:???最後に”&”を置き換えてました
0431名無しさん@お腹いっぱい。
2001/07/02(月) 14:11ID:pXSk7yhshttp://〜/cgiwrapDir/cgiwrap/sakura.cgi?new
とよけいな/cgiwrapDir/cgiwrap/という文字列がくっついてしまうのですが
どこを書きかえればよいですか。
0432名無しさん@お腹いっぱい。
2001/07/02(月) 14:13ID:???$ENV{'SCRIPT_NAME'}
0433431
2001/07/02(月) 14:30ID:pXSk7yhsこれですがどなたかおしえてください。
0434名無しさん@お腹いっぱい。
2001/07/02(月) 16:53ID:W6DVOuys0435名無しさん@お腹いっぱい。
2001/07/02(月) 17:17ID:???そういうライブラリ探すべし。
検索キーワードは「C言語」「ライブラリ」「URLエンコード」
0436名無しさん@お腹いっぱい。
2001/07/02(月) 22:26ID:???<form action="./temp.cgi" method="post">
<input type="text" name="name">
<input type="submit" name="submit" value="書き込む">
</form>
temp.cgi 側
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
my $query_string = undef;
my (@m_elements, $m_element, $name, $value);
use vars qw(%FORM);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
@m_elements = split(/&/, $query_string);
foreach $m_element (@m_elements) {
($name, $value) = split(/=/, $m_element);
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
}
print <<"EOT";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META CONTENT="TEXT/HTML; CHARSET=SHIFT_JIS" HTTP-EQUIV="CONTENT-TYPE">
<TITLE>出力結果</TITLE>
</HEAD>
<BODY>
<H3>出力結果</H3>
本文 $FORM{'name'} です。<BR>
実行 $FORM{'submit'} です。
</BODY>
</HTML>
EOT
exit;
0437minima
2001/07/02(月) 22:28ID:W/GXWllYhttp://www.coara.or.jp/~tkuri/DOWN/urled.cpp
バグあったらごめんなさい。
0438名無しさん@お腹いっぱい。
2001/07/03(火) 08:42ID:???type=submit って、見えたっけ?
0439431
2001/07/03(火) 12:40ID:OhZUTkuw0440名無しさん@お腹いっぱい。
2001/07/03(火) 13:53ID:???Sakura Upload Board なんてマイナーなCGIをソースも出さずに
何処直しゃ良いなんて教えられるわけねーだろ。
お前が知ってるCGIは全員知ってるとでも思ってんのか?
0441名無しさん@お腹いっぱい。
2001/07/03(火) 13:54ID:???さんきゅさんきゅさんきゅ
0442名無しさん@お腹いっぱい。
2001/07/03(火) 14:31ID:???ttp://www.cec.co.jp/usr/hasegawa/Docs/CGI/form-example/two_button.html
0443
2001/07/03(火) 14:49ID:NUoQLxF.フォーム入力で「aaaa"bbbb」と入力されたとする。
CGIのデコードで
~s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge;
として、確認画面で「name=aaaa"bbbbです」と表示した。
その同画面で
print "<input type=\"hidden\" name=\"name\" value=\"$name\">\n";
と言う風に出力し(仕様)、さらに表示させようとすると
valueの中身が「aaa」で切れてしまう。
これを解決する方法を教えてください。
0447431
2001/07/03(火) 15:05ID:???はい。
0448443
2001/07/03(火) 15:15ID:4CbQmAdwありがとうございます。
このようにやると、
name=aaaa"bbbbと表示されますが、ソースは
<input type="hidden" name="name" value="aaaa&quot;bbbb">
となりますよね?
これはまた&quot;を元に戻す処理を入れ、ファイルなりに落とすという
方法(ファイルに落としたい)をとるしかないのでしょうか。
0449名無しさん@お腹いっぱい。
2001/07/03(火) 15:42ID:???0450名無しさん@お腹いっぱい。
2001/07/03(火) 15:44ID:???ソース上は「"」になりますが実際に送られるのは「"」です。
つーかまず試してから物言え。
0451438
2001/07/03(火) 16:40ID:???サンクスコ
見えるんだ…シラナカッタヨ
>>436
お詫びにこっちの環境で動作テストしてみたよ。
上のForm部分を HTMLに入れて、
下のソースは temp.cgiとして実行。
環境[ Apache 1.3.14 + Perl 5.2.2 ]
で…問題なく見えたけど。
ボタンを複数にした場合も、それぞれの Value値が渡ってきたよ?
ソース以外に問題がある可能性が高いと思われ。
0453436
2001/07/03(火) 18:59ID:???当方 VirtualAvenue です。
$FORM{'name'} しか見えません。
0454名無しさん@お腹いっぱい。
2001/07/03(火) 20:02ID:???実験に使ったブラウザの名前を書けよ
0455名無しさん@お腹いっぱい。
2001/07/03(火) 21:36ID:???は ?
CGIが出力したHTMLに何も書いてないから
何も表示されないわけで,ブラウザとは無関係だろ...
0456438
2001/07/04(水) 00:19ID:???「あるはずない」って断言するのはどうだか知らんがね。
そもそもブラウザがデータを渡してない可能性がある…ってことか?
だったらそう言えや。
IE5.5 と NC4.75で確認したけど、どちらも動作を確認。
ちなみに、俺の婆茶のアカウントで試したが、やはり動作を確認。
Freewebアカウントでも動作を確認。
仕事でやってるなら、更に IEバージョンごとにテストするところだが、
今は面倒なのでやらない。(ワラ
結果、>>436 氏の環境の問題である可能性が高くなった。
これで満足か?
0457436
2001/07/04(水) 10:28ID:???それで、同じ作業を(単にフォームに適当な文字を記入して送信)
繰り返してると、たまに
実行 書き込む です
が見えるようになりました。
同じ文字を入力しても、見える時と見えないときがあります。
私の IE がウソコなんでしょうか?
それとも IE の設定に関係あるんでしょうか?
0458名無しさん@お腹いっぱい。
2001/07/04(水) 20:23ID:???format c:
0459名無しさん@お腹いっぱい。
2001/07/04(水) 21:11ID:???つまんないから氏ねよ
0460436
2001/07/04(水) 23:04ID:???サブミットボタンをマウスでクリックすると上手く逝き、
リターンキーで送信すると上手く逝きませんでした!!
私は Win では殆どマウスを使わないので
(ショートカットキーやタブで済ます)、気付きませんでした。。。
原因が暫く掴めなかったので、Linux に
Apache 2.0.16 βとMozilla 0.9.2 を入れてローカルでも
実験しました。それでも$FORM{'submit'} が
たまにしか表示されないので、もう諦めて
回線切って氏のうかと思ってましたが、
解ってよかったです。お騒がせしました。
0461名無しさん@お腹いっぱい。
2001/07/04(水) 23:48ID:???あぁ、それが原因だったのか。
よく考えたら俺も昔同じ事に引っかかってた事があった。(w;
気付かずスマソ。
0462名無しさん@お腹いっぱい。
2001/07/05(木) 01:06ID:iTVp4ylE数字1文字か2文字、または、半角カタカナだったら真、
それ以外は偽、という正規表現ではまってます。
どなたか、お答えお願いします。
0463名無しさん@お腹いっぱい。
2001/07/05(木) 06:29ID:???ttp://www.din.or.jp/~ohzaki/perl.htm#JP_Trans
あたりを読むと良い鴨。
0464名無しさん@お腹いっぱい。
2001/07/05(木) 15:58ID:???拡張子を他のものに変更したいんですが、、無理でしょうか
よく掲示板なのにindex.htmlとかありますよね?
あれってどうやるんですか?
0465名無しさん@お腹いっぱい。
2001/07/05(木) 16:10ID:???書き込みをされる度に、データファイルと一緒にindex.htmlを書き換える。
それでその中に<form action=bbs.cgi>と入れておく。
書き込み記録はCGI。
記入欄はHTML。
わかるかな?
0466名無しさん@お腹いっぱい。
2001/07/05(木) 18:18ID:CmVrVJtE掲示板を作ったはいいんですが、ログファイルを
直リンとかURL直入力で落とされない様にする為にはどうしたらいいですか?
IPアドレスを記録していますので、管理者(=自分orSU)以外から見られないように
何らかの方法で設定したいのです。
ちなみに、サーバは skipup.com です。
0467JAPU
2001/07/05(木) 18:22ID:???たとえば、~/public_html/ 以下のみが見られるようなら、
~/log/ にでも置きましょう。
0468466
2001/07/05(木) 19:04ID:CmVrVJtE早速ありがとうございます。
その方法を試してみたのですが、skipup.com では無理でした…
/web/* にHTML文書があり、/web/cgi-bin/* にCGIをおくというのが
skipup.com の設定なのですが、
どうやらCGI上でも/web/と同レベルの他ディレクトリ(/cgi-data/*)には
アクセスできないようです。
念の為絶対パス指定も相対パス指定も試したのですが、ダメでしたxx
IPアドレスは暗号化して、IP調査はダウンロードして復号する、という方向で
外的な匿名性を持たせる方向ですすめます。
0469昆布茶
2001/07/05(木) 19:48ID:???0470名無しさん@お腹いっぱい。
2001/07/06(金) 00:38ID:.S0aJ5pEを自動的に割り当ててくれますが、スクリプトを作る場合は
これに素直に従い、サブルーチン等に自分でパッケージ宣言
しない方が吉なんでしょうか。
0471名無しさん@お腹いっぱい。
2001/07/06(金) 01:40ID:dC0yYHsk2、SJISのエンコードは %XX で言いと思うんですが、他の文字コードのエンコードは
どうやってやるのでしょうか?
UNICODEとかの場合は %XXXX で良いのでしょうか?
0472名無しさん@お腹いっぱい。
2001/07/06(金) 02:06ID:???まずは試してみろ。
うまくいかなきゃまた聞きに来い。
0473名無しさん@お腹いっぱい。
2001/07/06(金) 07:54ID:???試すのはいいけどローカルでな。
自分で試すことによって他の問題が出た時も対処がしやすくなる。
頑張れ。
0474名無しさん@お腹いっぱい。
2001/07/06(金) 18:05ID:YlE0Cv3o0475モヘンジョ
2001/07/12(木) 01:10ID:Li6mv1JkKentのは重いって聞いたんですけど、実際他と比べてどうなのかなと。
0476名無しさん@お腹いっぱい。
2001/07/12(木) 01:36ID:???times()
0477モヘンジョ
2001/07/12(木) 21:50ID:.DP5dWOk0478名無しさん@お腹いっぱい。
2001/07/12(木) 22:05ID:???http://www.google.com/search?num=100&hl=ja&safe=off&q=perl+use+Benchmark+times%28%29&lr=lang_ja
0479名無しさん@お腹いっぱい。
2001/07/12(木) 22:18ID:???478に禿げしく同意。
せめて検索くらいしましょう。
それから、perldocくらい自分で見れるようになってください。
0480名無しさん@お腹いっぱい。
2001/07/13(金) 02:56ID:9y1whwlEHTML::Templateモジュールとかのオブジェクト指向でないスクリプト
で良い物ってありますか?
0481名無しさん@お腹いっぱい。
2001/07/13(金) 03:33ID:???自分で掲示板作るんだよね?
モジュールって基本的に再利用可能でカプセル化されたものだから、
オブジェクト指向はついて回ってくるというか。
Exporterで関数指向にしてしまう。これは改変だけど。
自分で作る。
こんなとこかしら。答えになってないようで悪いが。
せっかく便利なものがあるんだから、使ったほうがいいと思うよ、でも。
0483名無しさん@お腹いっぱい。
2001/07/13(金) 12:14ID:???俺はリファレンスを理解する方が苦労したYO!
0484奈々氏さん
2001/07/13(金) 15:12ID:i.TxHOnwフォームが表示されたときに、特定のテキストエリアにフォーカスが
行っていて、マウスでクリックしなくても、入力を始められるようにする
にはどうすれば良いでしょうか?
0485名無しさん@お腹いっぱい。
2001/07/13(金) 15:48ID:???JavaScriptの勉強をしよう。
0486484
2001/07/13(金) 18:07ID:i.TxHOnwJavaScript の勉強をしてみました。
<input type=text name=text1 onLoad="this.focus()">
ここまで書いてみて挫折。うまく移ってくれません。
onLoad というのが違うようなのですが…。
0487名無しさん@お腹いっぱい。
2001/07/13(金) 18:10ID:???onLoad()は<body>に書くがよろし。
つーか板違いか、これ(w
詳しく聞きたいならWeb製作板にいきましょう。
0488名無しさん@お腹いっぱい。
2001/07/13(金) 18:10ID:???JavaScriptスレに逝け。
0489484
2001/07/13(金) 18:23ID:???皆様ありがとうございました。
0490名無しさん@お腹いっぱい。
2001/07/14(土) 10:40ID:???テストはもちろんローカルで行っています。
そこで、もし無限ループに陥った場合は再起動すればいいのでしょうか?
0491名無しさん@お腹いっぱい。
2001/07/14(土) 10:54ID:???俺はPerl.exeを強制終了させてる。
0492名無しさん@お腹いっぱい。
2001/07/14(土) 16:14ID:???0493名無しさん@お腹いっぱい。
2001/07/14(土) 20:31ID:.p5/Qjswトップページのアドレスが長くするのを防ぎたいんですが
フレームを使う以外の方法ありませんかね?板違いだったらスマソ
0494名無しさん@お腹いっぱい。
2001/07/14(土) 21:35ID:???<form acrion="foo.cgi"></form>
0495名無しさん@お腹いっぱい。
2001/07/14(土) 21:35ID:???0496名無しさん@お腹いっぱい。
2001/07/15(日) 00:47ID:???0497名無しさん@お腹いっぱい。
2001/07/15(日) 00:52ID:???俺もわからない
0498493
2001/07/15(日) 04:38ID:SggsQjA6CGIをトップページにもってくると、ページのアドレスが
ttp://www.XXX.ne.jp/~XXX/cgi-bin/(スクリプト名)/XXX.cgi
っていう風に長くなっちゃうんですが、
ttp://www.XXX.ne.jp/XXX
という風に短くしたいのですが。
0499名無しさん@お腹いっぱい。
2001/07/15(日) 06:34ID:gUXi0obQ.htaccess
0500名無しさん@お腹いっぱい。
2001/07/15(日) 11:17ID:???アレってファイル名じゃなくてディレクトリ名まで指定できるの?
0501名無しさん@お腹いっぱい。
2001/07/15(日) 18:15ID:???DUKEってなんですか?
これって何に使うの?
0502名無しさん@お腹いっぱい。
2001/07/15(日) 18:18ID:???cgi-binでしかcgiが動かない設定なのか?
0503名無しさん@お腹いっぱい。
2001/07/15(日) 18:48ID:???厨房が自分の力を誇示する為に使うツール。
DUKEを使う=ゴリラのドラミング(胸を叩くアレ)のようなもん
0504なー
2001/07/15(日) 19:27ID:???0505なー
2001/07/15(日) 19:33ID:???できるよ。
DirectryIndex ./cgi-bin/hoge/hoge.cgi
とかね。うちのtopは掲示板だし(わ
0506nuc
2001/07/16(月) 01:57ID:mntjpSsQflock(FILE, 2);
truncate(FILE, 0);
seek(FILE, 0, 0);
print NOTE @DATA;
close(NOTE);
↑こういうふうにopenとflock,truncate,seekの
ファイルハンドルが違っていてもOKなんでしょうか?
ファイルハンドルを合わせなくても正常に動作しているような
気はするけど、実際のところが知りたいす。
0507名無しさん@お腹いっぱい。
2001/07/16(月) 02:07ID:???$b *= 2;
$b -= 5;
↑こういうふうに"+="演算子と"*=", "-="演算子の
変数が違っていてもOKなんでしょうか?
変数を合わせなくても正常に動作しているような
気はするけど、実際のところが知りたいす。
*a = *b
とすれば正常に動くがな。
0508名無しさん@お腹いっぱい。
2001/07/16(月) 02:40ID:???意味不明。日本語で書いてください。
0509名無しさん@お腹いっぱい。
2001/07/16(月) 02:54ID:???507は506を馬鹿にしてるだけだと思われ。
0510名無しさん@お腹いっぱい。
2001/07/16(月) 21:44ID:hw6Oxuecx.cgi ->(実行ファイル)と
y.pl -> (環境設定ファイル)があったとして、
実行ファイルに環境設定ファイルを読み込ませる場合、普通に
require './y.pl';
としてる物と、サブルーチンで設定変数の読み込みをさせてる物とがあるが、
どっちの方がいいか?
またそれぞれのメリットなど教えて下さい。
0511名無しさん@お腹いっぱい。
2001/07/17(火) 00:25ID:???の、アプロダを設置しようとしても500エラーが出てしまいます
アスキーでftp転送し、パーミッションもあってるはずなんです。
原因として考えられることををご教示ください。
すれ違いなら素直にそういってください。夏厨房でスマソ
0512nuc
2001/07/17(火) 00:37ID:wxI8qTz.配布されていたスクリプトがなぜかファイルハンドルを
別にしていたので1年くらいずっとそのままで使っていた。
わざわざスイマセンした。
0513名無しさん@お腹いっぱい。
2001/07/17(火) 00:44ID:???>>510
どっちでも大差ないと思うが。
というか「サブルーチンで設定変数読み込み」ってなんだ?
open-parse-closeで値を取得するくらいならrequire/doの方が早いと思うぞ。
>>511
一行目が違う。
それでもだめならKCatch.pmを使え。
0514名無しさん@お腹いっぱい。
2001/07/17(火) 00:47ID:???一応…広告ちゃんと入れてる?
0515名無しさん@お腹いっぱい。
2001/07/17(火) 13:59ID:???無理じゃない?
わしはあきらめた。
0516CGIヲタク
2001/07/17(火) 22:01ID:YSWaJfE20から教えてください。
0517名無しさん@お腹いっぱい。
2001/07/17(火) 22:09ID:???0518CGIヲタク
2001/07/17(火) 22:10ID:05GVs.SU0519名無しさん@お腹いっぱい。
2001/07/17(火) 22:46ID:???…と、その前に滝に当たった方がいいだろうか?
0520CGIヲタク
2001/07/17(火) 22:53ID:05GVs.SU本当に困っているんです。
0521名無しさん@お腹いっぱい。
2001/07/17(火) 22:59ID:???まず頭を剃らなくては。
0522名無しさん@お腹いっぱい。
2001/07/17(火) 22:59ID:???ならまず
#!/usr/bin/perl
0
__END__
これをやってみろ。
0523名無しさん@お腹いっぱい。
2001/07/17(火) 23:05ID:???そこまで言うならマジレスするけど、貴方の質問には不足が
有り過ぎです。
・『0から教えてください』って、自ら努力しない人に教えるほど人は
出来てないの、私は。
・どう言うシチュエーションなのさな?コードくらい書いて例示しろっての。
・そもそも『CGIのデコード処理』って何の事よ?
少なくとも、らくだ本の前に国語の教科書を見なおしてくれ。
0524名無しさん@お腹いっぱい。
2001/07/17(火) 23:20ID:???逝って良し!!
0525名無しさん@お腹いっぱい。
2001/07/17(火) 23:21ID:???0から教えてください。
0526not 523
2001/07/17(火) 23:27ID:???(プ
CGI:
WWWで, WWWブラウザからの要求に対してサーバが別のプログラムを起動実行し,
結果をWWWブラウザに返す処理を行なうためのインターフェイス.
コイツをデコードしてどうするつもりだよ(ワラ
0527名無しさん@お腹いっぱい。
2001/07/18(水) 01:34ID:???http://www.google.com/search?num=100&hl=ja&safe=off&q=%43%47%49%20%83%66%83%52%81%5B%83%68&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
って,このくらいは調べたんだよね…調べた上での質問だよね….
いやしかし,調べたら 0 よりは進歩してそうな気もするし….
0528名無しさん@お腹いっぱい。
2001/07/18(水) 09:52ID:???自分の命がかかった場面でもなお相手とのやり取りでそういう構文エラー出してみせるなら
その時は褒めてやるけどね。
0529526じゃないよ
2001/07/18(水) 15:48ID:???自分の命がかかった場面でもなお相手とのやり取りでそういう日本語と
態度を出してみせるなら その時は褒めてやるけどね。
0530名無しさん@お腹いっぱい。
2001/07/19(木) 05:11ID:???0531名無しさん@お腹いっぱい。
2001/07/19(木) 13:56ID:TX55hRGoJ-SKY対応のメールフォームCGIを探しています。
どこかのサイトで配布していませんか?
おしえてください!!
0532名無しさん@お腹いっぱい。
2001/07/19(木) 15:12ID:d2nShnpo掲示版やチャットなどでよく使うので質問します。
クリプトの塩って、どうやって決めればいいのですか?
0533名無しさん@お腹いっぱい。
2001/07/19(木) 15:23ID:???0534名無しさん@お腹いっぱい。
2001/07/19(木) 15:39ID:d2nShnpo漏れはユーゼ名を塩にしてパスをCRYPTしてるが、塩を忘れないからいいのでは。
0535名無しさん@お腹いっぱい。
2001/07/19(木) 15:58ID:???time()とか[a-zA-Z0-9/.]とかかな、俺は
0536名無しさん@お腹いっぱい。
2001/07/19(木) 16:15ID:3AQoVu6gですが、教えてくださいませ・・・・
0537名無しさん@お腹いっぱい。
2001/07/19(木) 17:09ID:???http://corn.2ch.net/test/read.cgi?bbs=php&key=988777987&ls=100
0538名無しさん@お腹いっぱい。
2001/07/19(木) 17:16ID:SOCZ4ghs無知って怖いねー
クリプト=crypt
塩=salt
ネタだったらスマソ
ってかこれで間違っててもスマソ
0539名無しさん@お腹いっぱい。
2001/07/19(木) 17:30ID:???るとは思えんのだが
ネタだったらスマソ
0540名無しさん@お腹いっぱい。
2001/07/19(木) 17:59ID:???そうすると、たとえばユザー認証用のファイルを作るとすれば
username, crypted pass, salt
ってかんじでいいのかな。
ちなみに、saltがばれたり容易に推測できるのはやばいのかな
phpマニュアルでは、saltに乱数使ってるよ。
0541名無しさん@お腹いっぱい。
2001/07/19(木) 18:01ID:???0542名無しさん@お腹いっぱい。
2001/07/19(木) 18:06ID:???saltの保管は照合するため?
通常はcrypted passの頭2文字がsaltだから要らない気が。
MD5とかだったらちょい違うけど。
って外してたらスマソ
0543JAPU
2001/07/19(木) 18:25ID:???でも、照合するときには crypt の第2引数にそのまま入れればOK。わざわざ salt を抜き出すのは移植性の低下につながります。
die "sage" if(not crypt($input_passwd, $crypted_passwd) eq $crypted_passwd);
わざわざ salt を使うのは /etc/passwd が誰でも読めた時代の名残か? (単なる一方向性関数だけだと、たまたま同じパスワード使っている場合にヤバそう。)
0544名無しさん@お腹いっぱい。
2001/07/20(金) 15:09ID:1f3fgK9Yシンプルな掲示板CGIを探しています。
・スタイルはTcup風。ごちゃごちゃしていない。
・過去ログ生成を自動でやってくれる。
・ドコモ、Jフォンからもアクセスできる。
・URLやメアドがそのままでない。(「URL」「Mail」とかいう文字にリンクしてくれる)
・文中に書き込んだURLはオートリンクされる。
もうずっといろいろ探してるんですが、
これらの条件を満たすものが見つかりません。
どなたかこういった掲示板CGIに心当たりありましたら教えてください。
0545名無しさん@お腹いっぱい。
2001/07/20(金) 16:13ID:???こちらへどうぞ。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988777987&ls=50
0546名無しさん@お腹いっぱい。
2001/07/20(金) 19:57ID:wVCDVsI.http://www2.to/03F
http://www2.to/01F
http://www2.to/02F
http://www2.to/04F
0547名無しさん@お腹いっぱい。
2001/07/22(日) 01:46ID:vWoEzwQkアクセスしてきたクライアントのIPアドレスはわかるのですが、windows機のログインユーザ名を取得するにはどうしたらいいですか?
0548名無しさん@お腹いっぱい。
2001/07/22(日) 10:10ID:QqOnPr.6コンパイルしたオブジェクトの拡張子を.cgiにしてもエラーが出てしまうのですが・・・・
0549名無しさん@お腹いっぱい。
2001/07/22(日) 13:21ID:???ログインユーザ名?
認証かかってるページへのユーザ名の事?
それなら環境変数 REMOTE_USERでとれる。Apacheのログにも残る。
Winが立ち上がった時にでるヤツのは知らん。
つかそんなモンセキュリティ上取れるのか?
ってIEの事だから穴突いたりしたら取れるんだろなぁ・・・。
>>548
PerlのCGIを動かす場合、IISは拡張子.cgiのファイルに対し、
c:\path_to_perl\perl.exeを使って実行する。
つことはCで作ったCGIも拡張子.cgiにすると、c:\path_to_perl\perl.exe
を使って実行しようとしてしまう。
んでCは単体で動くから多分拡張子は.exeにすれば良いと思う。
0550名無しさん@お腹いっぱい。
2001/07/22(日) 14:19ID:???初回のアクセスでVBスクリプトなどでコンピュータのユーザ名を取得(わからないけど、VBスクリプトだったら、Win固有のことができるのでは?
で、そいつをクッキーでもらう。次回からそのクッキーを使ってアクセス管理。
VB使いの人、教えてやってくれ。
0551名無しさん@お腹いっぱい。
2001/07/22(日) 15:33ID:QqOnPr.6レスありがとうございます。
しかし拡張子を.exeにしても
「CGIエラー 指定された CGI アプリケーションは、HTTP ヘッダーを 一部しか返していません。返されたヘッダーは:」
というエラーが英語で出てしまいます。
しかしパーミッション・ヘッダーに誤りはないと思います。
試しに実行ファイルをループさせたり色々実験しましたが
どうやら実行すらされていないようです。
色々調べた結果、Pathが設定されていない場合にもこのエラーが表示されるようですが・・・・
(例えばc:\path_to_perl\perl.exeを使って実行するように設定してあるがperl.exeが存在していなかったり、
.dllが存在しなかった場合)
win2000+IIS+C言語でCGIを実現できた方アドバイスお願いします。
コンパイラはgccを使っています。
0552名無しさん@お腹いっぱい。
2001/07/22(日) 16:46ID:???ちゃんと環境に合わせたコンパイルをしたんでしょうか?
例えば、LinuxでコンパイルしたものはLinuxでしか動きません、通常は。
0553名無しさん@お腹いっぱい。
2001/07/22(日) 17:47ID:???0554竹村健一
2001/07/23(月) 20:38ID:LfLDUuSI中身を替えた後もう一度CGIファイルのままで変更の設定を保存するにはどうすれば良いのでしょうか?
素人なので申し訳御座いませんが教えて頂けないでしょうか。
0555名無しさん@お腹いっぱい。
2001/07/23(月) 21:43ID:???$ mv foo.txt foo.cgi
C:\> ren foo.txt foo.cgi
0556竹村健一
2001/07/23(月) 22:01ID:LfLDUuSI0557名無しさん@お腹いっぱい。
2001/07/23(月) 22:29ID:???ネタじゃないならWin使ってるならWin、Unix使ってるならUnix、
MS-DOS使ってるならMS-DOS、BeOS使ってるならBeOSの勉強しろ。
Macは俺が嫌いだから捨てろ。
0558名無しさん@お腹いっぱい。
2001/07/23(月) 22:46ID:???0559名無しさん@お腹いっぱい。
2001/07/23(月) 22:51ID:0Wghze/M例 "abcd.cgi"。 これをしないと abcd.cgi.txt となる。
0560竹村健一
2001/07/23(月) 22:52ID:???0561名無しさん@お腹いっぱい。
2001/07/23(月) 23:25ID:???標準エラー出力を標準出力に変更するということらしいのですがそうする意味がわかりません。
ちなみにこれはあるスクリプトから他のスクリプトを実行させる物のようです。
open(EXEC,"| abc.cgi 2>&1");
while (<STDIN>){
print EXEC;
}
それとこのとき、実行されたスクリプトがはき出した内容を受け取るにはどうすればいいのでしょうか。
0562名無しさん@お腹いっぱい。
2001/07/23(月) 23:26ID:7GeYowA60563JAPU
2001/07/24(火) 00:07ID:???man sh すれ。
[n1]>&n2
duplicate stdout (or file descriptor n1) to file descriptor n2
(FreeBSD General Commands Manual より)
0 = stdin
1 = stdout
2 = stderr
なので、標準エラー出力を標準出力にリダイレクトすることを表す。
0564564
2001/07/24(火) 01:00ID:1Q8OCeBA別鯖にデータファイルのみを転送したいと思っています。
Perlで可能でしょうか?
0565名無しさん@お腹いっぱい。
2001/07/24(火) 01:20ID:???ということは単に実行するスクリプトがはき出したstderrも一緒に出力するため
っていうことでいいのでしょうか?
後の方の質問ですが
$_ = <EXEC>;で普通に読み出すことができました。
これで読み出さなければ勝手に標準出力に出力してしまうのでどうやって
読み出すのか迷っていました。これはperlの仕様なのでしょうか??
0566名無しさん@お腹いっぱい。
2001/07/24(火) 01:27ID:???0567JAPU
2001/07/24(火) 01:29ID:???書き忘れた。
IPC::Open2 を使いなさい。
SYNOPSIS
use IPC::Open2;
$pid = open2(\*RDR, \*WTR, 'some cmd and args');
# or
$pid = open2(\*RDR, \*WTR, 'some', 'cmd', 'and', 'args');
(man IPC::Open2 より)
open3 もあるので、用途によって適当にどうぞ。
0568561
2001/07/24(火) 02:16ID:???perldocを見てみましたがなぜ勝手に出力するのかについては書いていませんでした。
かなり適当なコードを書いても動いてしまうので曖昧な理解で終わってしまいます。
自分のマニュアルの読み方がまずい&UNIXに関する知識が乏しいせいかもしれませんが・・・。
>>567
調べてみたところこれは直感的でいい感じですね。
教えていただいてありがとうございます。
0569名無しさん@お腹いっぱい。
2001/07/24(火) 18:04ID:???何か対策出来ないものでしょうか。(http://www.portland.co.uk/)
VirtualAvenueやHypermartでは問題なく使う事が出来ます。
0570名無しさん@お腹いっぱい。
2001/07/24(火) 18:43ID:???Perlのパスが違うというオチは勘弁。
0571名無しさん@お腹いっぱい。
2001/07/24(火) 20:49ID:???改行コードが違うってオチは禁止。
0572名無しさん@お腹いっぱい。
2001/07/24(火) 21:35ID:4urEwZxYいえ、どちらも大丈夫です。
Our machines are very strict when executing Perl, and bad code is always rejected.
こう書いてあったので、「悪いコード」があるって事らしいのですが、
他で使えたものでどこが悪いのか分からなくて・・・。
ものはYY-BOARDです。
0573名無しさん@お腹いっぱい。
2001/07/24(火) 22:37ID:???デフォルトで-wTとかで動くようになってるとか。
0574名無しさん@お腹いっぱい。
2001/07/24(火) 22:59ID:???KCatch.pmを使え
0575名無しさん@お腹いっぱい。
2001/07/24(火) 23:22ID:nE97sqD.これって、何も出ない方が良いんですよね・・・?
見るのも嫌なほどぎっしり埋まってくれてます・・・
0576名無しさん@お腹いっぱい。
2001/07/25(水) 11:18ID:???0577名無しさん@お腹いっぱい。
2001/07/25(水) 16:45ID:???Location問題解決のためにmetaタグでrefleshをするのですが、[書き込む]→[refleshページ]→[掲示板表示]のとき
[掲示板表示]でのみcookieが文字化けしてしまいます。解決する方法はあるでしょうか
perlソースの日本語に関係している部分です↓
# &init_form('euc');
sub init_form {
local($query, @assocarray, $assoc, $property, $value, $charcode, $method);
$charcode = $_[0];
$method = $ENV{'REQUEST_METHOD'};
$method =~ tr/A-Z/a-z/;
if ($method eq 'post') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
$query = $ENV{'QUERY_STRING'};
}
@assocarray = split(/&/, $query);
foreach $assoc (@assocarray) {
($property, $value) = split(/=/, $assoc);
$value =~ tr/+/ /;
$value =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, $charcode);
$form{$property} = $value;
}
}
0578名無しさん@お腹いっぱい。
2001/07/25(水) 16:54ID:???とりあえず
jcode::convert(\$value, $charcode);にしたら?
直るかどうかは別として。
0579名無しさん@お腹いっぱい。
2001/07/25(水) 22:48ID:???0580超初心者
2001/07/28(土) 22:58ID:???http://zurubon.virtualave.net/upload.txt
240〜270行目までのパスワード設定についてよくわかりません。
投稿者がパスワードを設定して自由に自分がアップしたものを削除でき、
且つそれを管理者も自由に削除できるようにしたいのですが
うまくいきません。
どっちも使用するにすると、投稿者のファイルを管理人が
管理パスワードで削除しようとすると
「削除禁止ファイルです」等、エラーが出て投稿者以外削除できなくなります。
http://zurubon.virtualave.net/crypt.cgi
ここの設定が悪いのでしょうか。
$val = crypt( , );は空白が2つありますけど
どっちに何を入れたらいいのですか?
表示されるInput: Seed: Out: の三つのうち、どこに何を入れたらいいのですか?
よろしくお願いします。
# 投稿ファイル削除パス生成時の'種'
$del_seed = 'z8';
# 投稿ファイルの管理者削除
$admindel_enable = 0;
# 管理者パスワード
$adminpass = '';
# 管理者パスワードの'種'
$adminseed = 'z8';
0581名無しさん@お腹いっぱい。
2001/07/28(土) 23:09ID:???0582名無しさん@お腹いっぱい。
2001/07/28(土) 23:25ID:5DaHUFuo-----------------------------**********
Content-Disposition: form-data; name="aaa"
aaa
(以下略)
のようなものが入ると思うのですが、これはどのブラウザでも同じ書式(?)なんでしょうか?
どうか教えて頂きたいです。
0583超初心者
2001/07/29(日) 00:07ID:???そんなー(゚д゚)
アップローダーつったらこれが殆どみたいだし、
使ってる人も多ければ教えてもらえるかな、と思ったのに・・。
0584名無しさん@お腹いっぱい。
2001/07/29(日) 00:26ID:???0585名無しさん@お腹いっぱい。
2001/07/29(日) 00:40ID:???スクリプトはよく見てないけど、
crypt(パスとして使いたい文字列,z8);
として、出てきたものを管理者パスワードとして設定すればいいんじゃないかな。
0586名無しさん@お腹いっぱい。
2001/07/29(日) 02:28ID:18Lus0borequire '../libdir/hoge.pl' してmod_perl(Apache::Registry)で
動かしているのですが、時々最初のサブルーチンを呼ぶところで、
Undefined subroutine が出て困っています。require をフルパス
指定にしたり、startup.plで use lib qw(/full/path/libdir) 等
を試しているのですが、不定期にエラーが出続けています。
何か原因推定できるでしょうか。
動作環境はApache-1.3.20 + mod_perl-1.26 + perl-5.6.1(スレッド
オプション無し)で Solaris8で使用中。
0587名無しさん@お腹いっぱい。
2001/07/29(日) 03:46ID:???名前空間の問題じゃなかろうか。
そんな話を耳にした記憶が。
詳しくはmod_perlのドキュメントでも見てくれ。
0588超初心者
2001/07/29(日) 10:28ID:???ありがとうございます。
でもhttp://zurubon.virtualave.net/crypt.cgi には
$val = crypt(ココ ,ココ);みたいに空白が2つありますけど。
何を入れたらいいのか教えてください。
0589名無しさん@お腹いっぱい。
2001/07/29(日) 14:02ID:???$val = crypt ( 暗号化する文字列 , 種 );
Seedを$adminseed、Outを$adminpassに設定
0590
2001/07/29(日) 15:34ID:Qc8mCzXUつーか、@nifty 使うのはシロート?
0591名無しさん@お腹いっぱい。
2001/07/29(日) 23:40ID:f21NlnVQCGIを書いてます。(ドキュメントルートに置きっぱなしにして、直リン
されたら困るようなファイルを、その都度送信してあげるようなCGIです。)
Content-typeとContent-Dispositionの並び順は次で正しいのでしょうか?
1行目;Content-Disposition: attachment; filename=hoge.bin
2行目;Content-type: application/octet-stream<CR><CR>
IE5.5(SP1非適用)だとこの順番でないとダウンロードのダイアログに
表示されるファイル名が"hoge.bin"にならず,CGIのファイル名になって
しまうのですが、なんとなく本当は逆?のような気がするのですが。
0592586
2001/07/29(日) 23:52ID:iMPG7BfYmod_perlのドキュメントは、いろいろ見てはいるんですけど、
英語ドキュメントばかりで、なかなか進まない。(泣
特にpackage宣言はしていません。サブルーチンのファイルは、
mod_perl用のスクリプトでは無い、普通のCGIスクリプトからも
共有でrequireしてるのがマズイのか?鬱だ。
0593591
2001/07/30(月) 00:01ID:neeKDwG6一行目の最後にも改行コードが入ってます。
0594名無しさん@お腹いっぱい。
2001/07/30(月) 02:20ID:???Perlはrequireとか順番に実行しないような気がした。
BEGIN { require '../libdir/hoge.pl' };
でどう?
0595名無しさん@お腹いっぱい。
2001/07/30(月) 03:52ID:???参考になるかも。
http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl.html
http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl1.html
0596JAPU@コミケに行こう
2001/07/30(月) 14:24ID:???順番は関係ない。
ただし、改行コードは CR じゃないぞ。
厳密に言えば、CRLF である必要がある。
空行に関して言えば、LF でも構わない。
IEは微妙に変なので、http://example.com/cgi-bin/hoge.cgi/hoge.bin
みたいに呼び出してやればok。
ZZ
0597名無しさん@お腹いっぱい。
2001/07/30(月) 17:07ID:H421xe6wHTTP_REFERER は取れる。
@niftyで取れないのは、REMOTE_HOST。
0598591
2001/07/30(月) 23:52ID:nDJaYIZI情報感謝です.
>>IEは微妙に変なので、http://example.com/cgi-bin/hoge.cgi/hoge.bin
>>みたいに呼び出してやればok。
こういう呼び方は始めてみました。
クライアントはドキュメントルート上のファイルをGETするのと同様に振舞える
わけですね。
しかしこの場合、CGI側はどうやって自分にGETリクエストが来たことと、
"/hoge.bin"を知るのでしょうか?
うむ、基本をわかってないことを実感(TT
0599名無しさん@お腹いっぱい。
2001/07/31(火) 00:03ID:???0600棺@マターリ週間
2001/07/31(火) 00:30ID:???付け加えてアクセスしてみましょう。
CR -> 復改
LF -> 改行
0601586
2001/07/31(火) 03:13ID:y761.lo6>>595 あ、そこ見てます。下のページの2.が、なんか不吉な感じ
がしますが。
今日気づいたのですが、ここが関係してるのかも知れない。
http://stason.org/talks/apachecon2000/OR093/html/porting.html#Name_collisions_with_Modules_and
>>587氏指摘の通りかな?とりあえず、実験してみます。
0602JAPU@12日は蔵大平山で宴会だ
2001/07/31(火) 04:03ID:???PATH_INFO
0603587=595
2001/07/31(火) 04:45ID:???同一人物です。が、そんなことはいいとして。
多分requireしてるライブラリに問題が、でしょう。
OOPなモジュールに書き換えてuseするのが吉かと。
頑張ってください。
0604名無しさん@お腹いっぱい。
2001/07/31(火) 16:49ID:???sendmailを使って自動的にメールを送るようにしたいんですが、
もしメールアドレスが存在しなかった場合、
サーバーエラーが出たりするのでしょうか?
0605iモードの名無しさん。
2001/07/31(火) 23:01ID:???SPAM送信ツールが、丸見えになってました。
ココ的にこのプログラムのできはどうですか?
■トップページ
ttp://onyanko.org/summer/
■SPAMツール
ttp://www.onyanko.org/svpro/
0606while(0)
2001/08/01(水) 00:12ID:P0HzbCeY0607名無しさん@お腹いっぱい。
2001/08/01(水) 00:37ID:???0608名無しさん@お腹いっぱい。
2001/08/01(水) 00:48ID:???http://www.onyanko.org/svpro/log/sendlog.txt
アドレステキスト晒しアゲ
0609591
2001/08/01(水) 01:47ID:7nllhseE試してみますー。ありがとでした。
0610名無しさん@お腹いっぱい。
2001/08/01(水) 02:38ID:???0611名無しさん@お腹いっぱい。
2001/08/01(水) 20:29ID:???ココの利用者晒しさげ
0612586
2001/08/01(水) 23:06ID:oQT0JWR6結局名前空間の問題のようです。601のリンク先に従い、
requireされている側でpackage宣言して、サブルーチンと
グローバル変数をエクスポートし、呼出しをrequireから
useに変えて(要はモジュール化した訳ですが)1日順調に
動いています。ダーティなスクリプトの書き換え優先で
OO化までは手が回りませんが、>>587,>>603で指摘された
通りと言うことで、どうもありがとうございました。
0613名無しさん@お腹いっぱい。
2001/08/02(木) 00:11ID:FK1JacWw0614名無しさん@お腹いっぱい。
2001/08/02(木) 00:30ID:DguDE1y6どこに届くかはReturn-Pathの設定によるね(藁
0615名無しさん@お腹いっぱい。
2001/08/02(木) 01:10ID:???http://onyanko.org/platinum.zip
CGI一式発見!!
0616名無しさん@お腹いっぱい。
2001/08/02(木) 04:39ID:???0617名無しさん@お腹いっぱい。
2001/08/02(木) 10:51ID:???するにはどうすればいいのでしょうか?
HTMLに記述?それともcgiでやるの?
0618名無しさん@お腹いっぱい。
2001/08/02(木) 11:10ID:???ダウンロード回数とか調べる必要が無いならHTMLで。
0619名無しさん@お腹いっぱい。
2001/08/02(木) 12:28ID:???0620名無しさん@お腹いっぱい。
2001/08/02(木) 12:39ID:???<a href="hogehoge">hoge</a> きっとこれだ! w
0621名無しさん@お腹いっぱい。
2001/08/02(木) 12:56ID:???確認の為に聞く。
ダウンロードは、自分のPCにDLするんだよな?
だとしたら>>620で右クリックでもして「対象を保存」で十分。
ただし、Win鯖の場合exeファイルをDLできないことがあるので注意。
実行されちまったりするからな。
もしA鯖のファイルをB鯖にDLしたいんだとしたら、LWPかSocketだな。
この場合DLと言わないと思うが。
0622名無しさん@お腹いっぱい。
2001/08/02(木) 13:12ID:lELrWrZMttp://ipveov.virtualave.net/hope/index.html
ここの「素敵メーラー Ver0.7」をomosiro.comに置くと
check.htmlが表示されるところで
formのactionが
<form method="POST" action="included://***.omosiro.com/cgi-bin/mail.cgi" enctype="multipart/form-data">
このようになってしまいます。
どうにかして対策できないでしょうか
0623名無しさん@お腹いっぱい。
2001/08/02(木) 13:22ID:???0624617
2001/08/02(木) 13:24ID:???「クリックするとサーバにのってるデータをcsv形式で
サーバのどこかに一回保存して、それを自分のPCに
名前を付けて保存」
しようと考えたのだ。
いいや、できそうにないんでFTPでやるから。
0625名無しさん@お腹いっぱい。
2001/08/02(木) 13:38ID:???あるとしてFTPならできるのか?
馬鹿?
0626名無しさん@お腹いっぱい。
2001/08/02(木) 13:41ID:???CGIでやりたいことは出来るかと思いますが。
0627T女の竹田
2001/08/02(木) 15:28ID:???0630名無しさん@お腹いっぱい。
2001/08/03(金) 02:01ID:???いや、文章をよく理解する能力を付けた方がよかった。
鯖にアプロードする事かと思ったんよ。
0631コメント無しさん
2001/08/03(金) 13:56ID:DhQExyssアプロードもできると思うが。
0632名無しさん@お腹いっぱい。
2001/08/03(金) 15:15ID:???frontpage extension とか mod_dav などが入ってるの前提?
0633名無しさん@お腹いっぱい。
2001/08/03(金) 15:21ID:???0634殺
2001/08/03(金) 15:55ID:???自動でファイルを転送するプログラムを組みたいのですが、
<INPUT TYPE="FILE" NAME="filename" …
のタグの部分のパラメータをうまく渡すことが出来ません。
他のHIDDEN等と一緒に filename="c:\index.html"&… のようにしているのですが
どこか間違えているのでしょうか?
0635名無しさん@お腹いっぱい。
2001/08/03(金) 16:10ID:???0636名無しさん@お腹いっぱい。
2001/08/03(金) 17:06ID:???それはセキュリティに問題が出るので出来ないことになってます。
例えば特定のファイルを決めうちで設定してJavaScriptとかで
OnLoad時にsubmit()やられたら勝手にファイルもってかれちゃうでしょ
0637636
2001/08/03(金) 17:12ID:???タグの部分のパラメタってなに?
渡すとはどっちからどっちへ?
0638殺
2001/08/03(金) 17:53ID:???>>636 なるほど・・・
パラメタは NAME と VALUE 。つまりアプするファイル名情報。
渡すのは、こちらのプログラムによって「ローカルHDD」から「サーバー」へ。
うーん、説明下手でスマソ。。
0639名無しさん@お腹いっぱい。
2001/08/03(金) 18:10ID:???あーわかったよ
FILEだから、ENCTYPE="multipart/form-data" なんだよね?
標準入力を全部表示して見りゃわかるとおもうが、
ライブラリ等使用してるなら、multipart/form-dataのときの
値の取り出し方をライブラリのドキュメントとかでさがしてみたらいいかも。
そゆことでない?
0640名無しさん@お腹いっぱい。
2001/08/04(土) 00:31ID:???↑こわれてる? 解凍できないけど
0641名無しさん@お腹いっぱい。
2001/08/04(土) 00:50ID:???http://onyanko.org/summer/infomng.cgi
ん、、こんなSPAM送ってくるところに、
よくこんなに登録するやついるよな?
0642名無しさん@お腹いっぱい。
2001/08/04(土) 04:11ID:???それが不思議なんだけど、いるからSPAMが絶えないんだよな
0643名無しさん@お腹いっぱい。
2001/08/06(月) 00:37ID:???「出会いの場を提供してくれる素敵なメール」
なのではないかと。
0644名無しさん@お腹いっぱい。
2001/08/06(月) 13:55ID:r1Q1kj2Iローカルサーバーをたてて、カールさんの掲示板CGIをデフォルトのまま
各所定のファイルをおいて設置してる最中なのですが、
設置したアドレス
http://192.168.0.10/cgi-bin/bbs/che.cgi
に、アクセスすると真っ先にデフォルトの文部省にとばされます。
検索したところ同じような事例があったのですが、解決できませんでした
http://mentai.2ch.net/hp/kako/957/957253797.html
この方と同じ状態です。
解決方法ご存じの方は教えてください。宜しくお願いします
0645名無しさん@お腹いっぱい。
2001/08/07(火) 03:02ID:???0646名無しさん@お腹いっぱい。
2001/08/08(水) 13:27ID:???http://www.futomi.com/library/accs.html
の、ログ解析を設置したのですが、なぜか
「対象のが1件もありません」と言われて困っています。
最初acc.cgiのパーミッションが704では動かなかったので705に変えて見たら動きました。
704に戻すと高負荷になる原因があるかプログラムミスがあると出てしまいます
他は変更なしでも今のところ動くようです。
ログが1件もないと表示されるだけで・・・・すみません、動いてないです。
設置したいところはhttp://www.lovelys.net/で借りたところです。
どこをミスってるんでしょか。。
以前も失敗して再チャレンジしてみましたが力尽きてしまいました。
どうかお願いしますです。
0647名無しさん@お腹いっぱい。
2001/08/08(水) 16:46ID:hfCNj1DoGETでCGIに渡すとき、カンマ区切りの一つの文にしてCGIに
送り、サーバ側でカンマで分割させるのと、"?xxx=yyy&fff=aaa"
とひとつひとつ30項目GETのクエリで渡すのとどちらが
サーバ側に負担をかけないでしょうか?
0648名無しさん@お腹いっぱい。
2001/08/08(水) 17:27ID:???製作者にメールで聞いたら?
正しい答えが返ってくる可能性一番高いよ。
0649名無しさん@お腹いっぱい。
2001/08/08(水) 17:35ID:???どっちかというと前者の方が負担は少ないと思うが、
差は気にするほどじゃないと思われ
0650名無しさん@お腹いっぱい。
2001/08/08(水) 19:39ID:???a-men.dat(たぶん)が0バイトのファイルじゃないと飛ばされる。
改行一個でもあると空文字がマッチする。
…だったと思うヨ。
0651肉
2001/08/08(水) 20:04ID:el4UUDvgクソページ
0652名無しさん@お腹いっぱい。
2001/08/09(木) 14:28ID:???それが質問は受け付けてないとのお答え
いっそのこと金払ってサポート受けるのがいいんでしょうかね。w;
0653名無しさん@お腹いっぱい。
2001/08/09(木) 23:57ID:yQqDsehEWebのフォームに入力して、送信ボタンで指定アドレスにメールを送るんですが、
ネスケのメーラーで受信した時だけ文字化けしてしまいます。
Outlook, Outlook Express, EdMax は大丈夫でした。
「ネスケは無視」で済ませられないので何とかお願いします。
誰かこんなケース知らないでしょうか?
0654名無しさん@お腹いっぱい。
2001/08/10(金) 00:04ID:???文字コードちゃんとしてるか?
0655名無しさん@お腹いっぱい。
2001/08/10(金) 00:11ID:rALdiy7oっていうかそれにしたって他のメーラーでは大丈夫でネスケメーラはダメ
ってのはなんなんでしょう。
他のメーラーは文字コードが不正(というか変)でも補正してくれるんだろうか…
0656名無しさん@お腹いっぱい。
2001/08/10(金) 01:17ID:???そういうメーラーもある。
0657名無しさん@お腹いっぱい。
2001/08/10(金) 10:31ID:SGYXQF82無視してくれやがりますがどうしたらいいですか?
4.xだとちゃんと動くのに・・
0658657
2001/08/10(金) 10:34ID:SGYXQF82Content-Disposition: filename=
でのファイル名指定っす。
0659少し頑張った人
2001/08/10(金) 11:56ID:???色々やったけどもう忘れちゃった w
0660少し頑張った人
2001/08/10(金) 11:59ID:???この辺見れば何となく解るかも、ちょっと古いとおもうけど
http://www.tsden.org/ryutaroh/fileupload-j.shtml
http://www.hk.airnet.ne.jp/~ahero/cgi/cgiex11.html
イチゴのスレ
http://www22.big.or.jp/~15ch/readres.cgi?bo=proglam&vi=0005
知ってると思うけどRFCは無視ね (ワラ
0661名無しさん
2001/08/11(土) 00:33ID:1T8I2FC6そして、ためしに、定番のhallo.cgiなどを
ブラウザ経由で、表示してみると、見事成功するようになりました。
(hello worldとでる)
しかし、
次に、ある本に入っていた掲示板用cgiスクリプト(discussion.cgi)
を/cgi-bin/におき、
ブラウザ経由で、
/localhost/cgi-bin/discussion.cgi
にアクセスすると、
Internal Server Errorとおこられます。
しかし、terminalで
%perl discussion.cgi
とすると、
問題なく、html形式のソースをはいてくれました。
そのhtmlファイルを用いてブラウザで表示するとちゃんと、掲示板
がでてきました。
そこで、困ったと思い、いろいろ調べ、
http://www2.startshop.co.jp/~68user/webcgi/intro-perl.html
にある、wrapper.cgiをcgi-bin/にいれて、
(僕のlocalサーバのルートのサブディレクトリにcgi-binはあります)
/localhost/wrapper.cgi/cgi-bin/discussion.cgi
としてみると、
Not Found
The requested URL /wcgi-bin/discussion.cgi was not found on this server.
といわれます。
どこがだめなのでしょうか?
0662名無しさん@お腹いっぱい。
2001/08/11(土) 00:41ID:???ネタ?それとも、エラーメッセージも読めない厨房?
厨房なら逝ってよし!
0663名無しさん@お腹いっぱい。
2001/08/11(土) 00:43ID:ktzGqCic掲示板の入力フォームにパスワードを入れるテキストを作り、トリップのようなその人専用のIDを作りたいです。
どなたかトリップ部分のサンプルお願いします。
0664名無しさん@お腹いっぱい。
2001/08/11(土) 00:43ID:???ヘッダは吐いてたの?
Cotent-type・・・・ってやつ
0665名無しさん@お腹いっぱい。
2001/08/11(土) 00:44ID:???0666名無しさん@お腹いっぱい。
2001/08/11(土) 00:45ID:???スレ違いかな?
http://corn.2ch.net/test/read.cgi?bbs=php&key=988777987&ls=50
0667名無しさん@お腹いっぱい。
2001/08/11(土) 00:49ID:???ネタにマジレス(w
カコワルイヨ
0668名無しさん
2001/08/11(土) 00:52ID:1T8I2FC6Content-type: text/htmlのことですね。
はいています。
>>662
どういうことでしょうか?
そうそう、エラーメッセージ
The requested URL /wrapper.cgi/cgi-bin/discussion.cgi was not found on this server.
でした。
これは、上であげたページにのっていたんですが、
cgiファイルでのブラウザからのアクセスは
このような、アクセス法でいいみたいなんです。
一見wrapper.cgiがディレクトリみたいになってますが。
0669661
2001/08/11(土) 00:53ID:1T8I2FC6僕は初心者なので、みなさんからみたらネタレベルの
低レベルなことを尋ねているのかも知れませんが。
0670名無しさん@お腹いっぱい。
2001/08/11(土) 01:01ID:???それだと意図した様に/discussion.cgiがPATH_INFOに入ってないと思う。
/wrapper.cgi はちゃんと動くよね??
"foo.cgi をデバッグしたい場合は、〜〜〜"って出てる?
つーか他のスクリプト(既存の)は動くの?
お役に立てそうにないかな、、
0671名無しさん@お腹いっぱい。
2001/08/11(土) 01:04ID:???0672名無しさん@お腹いっぱい。
2001/08/11(土) 06:14ID:???そもそもrootディレクトリにcgiの実行権限を与えてるの?
/localhost/wrapper.cgi/cgi-bin/discussion.cgi
hallo.cgiを動かしたときには、どのように実行したの?
ちなみに、hello.cgiじゃないんだよね(w
あなたの設定環境などが我々には分からないのだから、
もうちょっと詳しくApatchの設定内容等書かないと
レスつけても勘違いになることがあるかも知れないので
これ以上書きようがないよ。
0673名無しさん@お腹いっぱい。
2001/08/11(土) 06:53ID:???0674名無しさん@お腹いっぱい。
2001/08/11(土) 07:21ID:???http://www.google.com/search?q=Apatch&btnG=Google+%8C%9F%8D%F5&hl=ja&lr=lang_ja
何となく思うんだけど、PATHの設定とかhttpd.confをもう一度良く
見直した方が良いんじゃ無いかな。
notfound出るのはおかしいよ、servernameとかExecCGI辺りが上手く
設定出来るか、良く調べてみて。 ちょと板違いだけど w
もうどっか行っちゃったかな?
0675661
2001/08/11(土) 08:09ID:1T8I2FC6apacheの設定は、
1、httpd.confにおいて、
<Directory "/usr/local/www/*">
からはじまるところにある、
全てのOptionsにExecCGIを付け加えた。
2、ScriptAlias /cgi-bin/ "/usr/local/www/data/cgi-bin/"
もかいた。
3、AddHandler cgi-script .cgiもかいた
3、/data/cgi-binのパーミッションを755にした。
というところです。
>>672
>そもそもrootディレクトリにcgiの実行権限を与えてるの?
>/localhost/wrapper.cgi/cgi-bin/discussion.cgi
http://www2.startshop.co.jp/~68user/webcgi/intro-perl.html
によると、wrapper.cgiはcgi-binに放り込め。と書いてあります。
このcgi-binにだけ、実行権限は与えてあります。
/localhost/wrapper.cgi/cgi-bin/discussion.cgi
というのは、上のページを参考にして、このような、
ファイルへのアクセスのしかたでいいように思われました。
一応/localhost/cgi-bin/wrapper.cgi/discussion.cgi
としても同じ結果がでます。
そもそもwrapper.cgiを使っているのは間違いなのでしょうか?
hello.cgiは/localhost/cgi-binにあります。
ソースは、
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><body>";
print "Hello world.";
print "</body></html>";
で、
ブラウザからみると、ちゃんと、
Hello world.とでてきます。
0676名無しさん@お腹いっぱい。
2001/08/11(土) 12:30ID:E74820vk0677真夏の名無しさん
2001/08/11(土) 18:04ID:???067818才の芸能人
2001/08/12(日) 00:17ID:6KogsX6Ihttp://www.futomomo.com/netidol/sister/megu/
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
wdewter
0679名無しさん@お腹いっぱい。
2001/08/12(日) 00:44ID:t2EXh9wMどなたか分かる人お願いします。
0680名無しさん@お腹いっぱい。
2001/08/12(日) 01:56ID:???まず、wrapper.cgiはちゃんと動いてるの?
http://localhost/wrapper.cgi
だけ入れるとそれなりにエラーメッセージが出るはずだからそれを確認すべし。
実は、
http://localhost/cgi-bin/wrapper.cgi
だったりしない?
0681名無しさん@お腹いっぱい。
2001/08/12(日) 02:49ID:???パスミスとか鯖名が通ってないとか確認してるの?
まずhtmlを表示→hello.cgi動作確認 で、自作のは置いといて
出来合いのスクリプトもうちょっと動かしてみて
つか404出ますとか言われると 仮想パスとか解ってないのかなぁ
と思って 説明以前にもどっちゃうのね
0682名無しさん@お腹いっぱい。
2001/08/12(日) 02:52ID:???> %perl discussion.cgi
これじゃダメ、実行権限与えて(7**)
%./discussion.cgi これで動く?
perlのパスはあってる? perl5とかになってない?
0683名無しさん@お腹いっぱい。
2001/08/12(日) 03:02ID:???で、500 Internal Server Errorってことだから、
定番で #!/path/to/perl が間違ってるか、CRLFの問題。
とりあえず、disccussionの先頭行を
#!/usr/bin/perl --
(最後の--が重要)にしてみよう。
0684名無しさん@お腹いっぱい。
2001/08/12(日) 04:36ID:???0685661
2001/08/12(日) 09:35ID:t2EXh9wM682さんのおっしゃるように、
#!/usr/bin/perl --
で動きました。
#!/usr/bin/perl
ではずっとinternal server errorがで続けていました。
この--ってどういう意味なのでしょうか?
0686名無しさん@お腹いっぱい。
2001/08/12(日) 12:14ID:SCAUF9dUCGIの中にあるURLのアドレスがわかりません。
具体的にいうとチャットの中にあるアドレスがわからないのです。
プロパティをみても正確でないし、ソースをみてものっていません。
これはHP製作者が隠していると思うのですが、場所を知る方法ありませんか?
別に変なことにつかうのでは全くありません。
0687名無しさん@お腹いっぱい。
2001/08/12(日) 12:43ID:???0688683
2001/08/12(日) 13:26ID:???要は、改行コードの問題なんだけど。
FreeBSDだとLFが改行だけど、WindowsだとCR+LFが改行になる。
#! から改行の前までに書いてあるコマンドを実行しようとするから、
/usr/bin/perl(LF)
ってのを実行しようとして、そんなコマンドないよ→Internel Server Error
で、 -- をつけると、これ以降の文字が無視されるから大丈夫になる。
まぁ、自分で「CGI 改行コード」とかで検索したほうがいいとおもうけど。
0691名無しさん@お腹いっぱい。
2001/08/12(日) 23:46ID:latsU6.6を教えてください。こんな感じでよいですか↓
10 POSTされたメッセージを解析
20 削除要求があれば 50,なければ次へ
30 書込要求があれば 60,なければ次へ
40 100へ
50 指定されたメッセージを削除して 100へ
60 指定されたメッセージを追加して 100へ
100 BBSをHTML化110 終了
0692名無しさん@お腹いっぱい。
2001/08/12(日) 23:52ID:U63Q6.4.いいんですか?
今755にしてるんですが外部からみえまくりです。
掲示板設置してるんですけど、600にしたら掲示板みえなくなっちゃうんです。
お手数ですが教えて下さい。
0694名無しさん@お腹いっぱい。
2001/08/13(月) 00:07ID:???http://permission.jp.org/
ほれ。
0695名無しさん@お腹いっぱい。
2001/08/13(月) 00:08ID:YW6jxcOgディレクトリに制限かけるなら".htaccessの設定方法"で検索してくれ
0697名無しさん@お腹いっぱい。
2001/08/13(月) 01:05ID:???0698名無しさん@お腹いっぱい。
2001/08/13(月) 01:07ID:???ディレクトリの内容を読みたいCGIとかだと705の方じゃなきゃだめだったりするよ。
(中身見えちゃうけど)
あと、suexecとかで動いてるところなら700にするとか。
705でindex.htmlを置いておくのが安定だと思う。
0699名無しさん@お腹いっぱい。
2001/08/13(月) 01:14ID:???700でも動くところはあるし、777でもログ等のファイルは見られないようにしてあるところもあるし。
動く範囲でなるべく低くすれば良いんじゃないかと。
まぁ、ファイルを直接見られたくないのなら
そのファイル自体のパーミッションを変える方が適切だけど。
0700657
2001/08/13(月) 15:39ID:JzeNXb.kめちゃくちゃ遅レスですがありがとうございました。
会社2チャンネラなもんで。えへ。
で、リンク先を参考にしたらうまい事動きました。
Content-Disposition: filename=hoge.hog
じゃなくて
Content-Disposition: form-data; filename=hoge.hog
にすれば動きました。書式が間違ってたとは・・
前者でもIE,NN4.xだとちゃんと動くんで気付きませんでした・・
0701名無しさん@お腹いっぱい。
2001/08/13(月) 22:03ID:MjrwvjYs質問させてください。
FTPを使わずに直接パーミッションを変更する方法は
どうやるのでしょうか?
意味不明だったらすみません!
0702名無しさん@お腹いっぱい。
2001/08/13(月) 22:14ID:???telnetまたはchmod()関数
0703名無しさん@お腹いっぱい。
2001/08/13(月) 23:40ID:???0704UUDH
2001/08/13(月) 23:47ID:???あそこはとにかくドンドンデータが壊れていくです (-、- )
ちょと鼬外だからリンク
http://natto.2ch.net/test/read.cgi?bbs=perl&key=981081855
0705名無しさん@お腹いっぱい。
2001/08/13(月) 23:48ID:???0706名無しさん
2001/08/14(火) 01:51ID:NydWBwmoパスワードをかけて開けないようにできませんかね?
たとえば、zipみたいにデレクトリー事とか...
0707名無しさん@お腹いっぱい。
2001/08/14(火) 02:52ID:???> たとえば、zipみたいにデレクトリー事とか...
この行の意味が全然わからないけど・・・
サーバ管理者は何でも出来るので無理。
0708名無しさん@お腹いっぱい。
2001/08/14(火) 20:07ID:vuYvfUZY何のログファイルか知らんけど、掲示板とかだと
利用者が投稿(データ送信)した時の全てのデータが鯖のログに残るからどうしようもないと思う
普通 サーバー管理者は見ないだろうけど・・・・
0709名無しさん@お腹いっぱい。
2001/08/14(火) 20:11ID:???これしかないでしょ。
0710名無しさん@お腹いっぱい。
2001/08/14(火) 22:08ID:???ログデータに crypt かけて保存とか。
それ以前に信用できない鯖管のいるところは止めるのが先だな。
0711名無しさん@お腹いっぱい。
2001/08/14(火) 22:26ID:y4lUcYi6ブラウザの文字コードをいろいろ変えてもだめです。
qkcで文字コードをためしに、
qkc -eu *.cgi としたり
qkc -ms *.cgi としても、
どうやっても文字化けします。どうしてでしょうか?
0712JAPU
2001/08/14(火) 22:33ID:???crypt(3) は不可逆。
crypt(1) (aka enigma)を使うにせよ、鍵は平文で保存する必要があるので無駄。
>>711
CGI ファイルを何でどのようにして見たのですか?
0713名無しさん@お腹いっぱい。
2001/08/14(火) 22:58ID:y4lUcYi6をみて掲示板をためしに、つくっています。
ソースコードは、ほとんど上のページと同じにしてつくってみましたら、
掲示板の最初の画面(入力する前の画面)では、送信ボタン
以外文字化けします。(掲示板という文字等が、化けます)
しかし、いったんフォームに文字入力後に送信すると、
全てちゃんと日本語で表示されるようになります。
どうしたところが問題なのでしょうか?
0714名無しさん@お腹いっぱい。
2001/08/14(火) 23:07ID:???charsetを吐いてみるとか
0715名無しさん@お腹いっぱい。
2001/08/14(火) 23:33ID:y4lUcYi6charsetってどうやってはくのでしょうか?
0716チュー
2001/08/14(火) 23:47ID:7g0MfT7Y◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/
◆◆◆(新)芸能人彼氏とH芸能界の表裏画像動画大公開◆◆◆
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/
;o;:o:op
0717名無しさん@お腹いっぱい。
2001/08/15(水) 00:04ID:???#など
0718Anonymous
2001/08/15(水) 17:44ID:8YDvnSrY会員制のページを作りたいと思います。会員登録ページでパスワー
ドを登録するとcrypt()によりhtpasswdファイルにユーザー名とパス
ワードを追加するプログラムまでは簡単にできました。
次にログインするときに、htaccess制限されたディレクトリの中に、
パスワードダイアログではなくて、フォームにユーザー名とパスワ
ードを入力させてログインさせることってできますか??
デザイナーの方、お願いします。
0719名無しさん@お腹いっぱい。
2001/08/15(水) 21:14ID:???0720名無しさん@お腹いっぱい。
2001/08/16(木) 05:15ID:???できるけど、普通に認証しときなさい。
0721Anonymous
2001/08/16(木) 20:02ID:/svhuBqYデザイナーの方はデザインにこだわるので、認証ダイアログのような無機質な
ものを嫌うと思ったからです。
どちらかといえばやっぱりログオン画面もきれいな方がいいですよね?
それと、会員の入会した週によって飛ぶページを変えたいのです。なので、ど
うしてもCGI処理する必要があり、上のような質問になりました。
もちろん、デザイナーの方でなくてもかまいません。
0722JAPU
2001/08/16(木) 22:36ID:???単に Cookie 使えば良いんじゃない?
でも、こういう話もあるので十分注意してね。http://www.japu.org/cgi/security/session_vulnerability.html
0723名無しさん@お腹いっぱい。
2001/08/16(木) 22:53ID:???┃ ただいま、ラウンジで大盛り上がりのブラウザ戦争ゲーム! . ┃
ビビー ______________
[>>8888888 ‖|*ENDLESS BATTLE@2ch*|‖ . \冂/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ . E´∀` ヨi /7
逝って良し!を発動。 . ミ从、;、;从 彡 ボシュッ .()) 「/~'ー'~~ 7/ ̄ |
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ http://wwwwwwwww ===二]匚ト〈‐〈iテ〈〈c iエコ
∧ ∧ [》∞∝ 彡゙ ゙/;´ミ ∧∧∧∧ []v/□ || ╋|
冂(,,゚Д゚) ウマー ボンッ | |(*゚Д゚)| <覚醒中!> | j | |.|| ┃|
| ̄\つ∧二ヽ ∩ >->_>->_<要塞に > 几0(几)L二!
\_匚i_|∪∪i] ((_(∴ヽヽ\(∴|当たる!> ∠三ヲ/i二iヽ
\_/二/ 〜〜 /oヽヽ ,>─>ヽ ∨∨∨∨ __∧___
[》∞∝ く。◎◎)=)__/)=) ψ ζ させるかあ!
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
恨み!復讐!英雄の誕生!生身の人間とのどろどろした戦闘!
┃http://corn.2ch.net/test/read.cgi?bbs=entrance&key=997943180 .┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
0724名無しさん
2001/08/16(木) 23:33ID:???0725名無しさん@お腹いっぱい。
2001/08/17(金) 23:35ID:8DRJj08ENULL文字のTEXTファイルをWin98のメモ帳で
表示させる方法って無いでしょうか?
よろしくお願いします。
0726名無しさん@お腹いっぱい。
2001/08/18(土) 00:28ID:???NULL文字のTEXTファイルとは何ですか
0727725
2001/08/18(土) 00:41ID:???レス有難うございます。
Mac愛用者の知人からもらったファイル(NULL文字の)なのですが。。。
Winだと何も表示されないのです。
0728名無しさん@お腹いっぱい。
2001/08/18(土) 07:26ID:???>>727
>>ファイル(NULL文字の)
ってなんだ?
0729名無しさん@お腹いっぱい。
2001/08/18(土) 07:45ID:???きっとファイル名から内容からNULL文字(\x00)で埋まってるファイルだ
おいらマカーだけど作れないことはない。
0730名無しさん@お腹いっぱい。
2001/08/18(土) 11:14ID:???0732名無しさん@お腹いっぱい。
2001/08/18(土) 13:51ID:???0733名無しさん@お腹いっぱい。
2001/08/18(土) 21:54ID:???0734名無しさん@お腹いっぱい。
2001/08/20(月) 18:13ID:iIodgiMg反応時間(速さ)を知るためにはperlではどうしたら値を取得
できるでしょうか?
流れとして 時間の取得 ⇒ ENVチェック ⇒ 2回目の時間の取得
として 2回目の時間−1回目の時間の取得とすればOKと思って
たんですがこれだとENVチェックにかかった時間しか取得できま
せん。あたり前ですね。
くだらない質問ですがお願いします。
0735頼むよ
2001/08/21(火) 01:47ID:KxW7lOz6http://shortmessage.hypermart.net/
でIPかホストを取得してログファイルから参照できるようにしたいのだが、
どのような文をどこに注入したらよいのか教えてくれ。
自力でやったが無理だった。
0736名無しさん@お腹いっぱい。
2001/08/21(火) 02:11ID:???改造はここかと。
スクリプト改造工房 Part3
http://corn.2ch.net/test/read.cgi?bbs=php&key=988808396
0737名無しさん@お腹いっぱい。
2001/08/21(火) 02:32ID:Tv58Rzyg普通はPINGとかじゃないかな。
サーバー間の接続環境で変わるからあんまあてにならんけど。
使ったことないけどNet::Ping.pmあたりでできない?
0739名無しさん@お腹いっぱい。
2001/08/21(火) 19:31ID:fmPYJ6Igどの様にすればいいのでしょうか?
がいしゅつ?
0740JAPU
2001/08/21(火) 19:38ID:???<input type="text" name="hoge" style="font-family: monospace;" />
次からはこっちでね: http://natto.2ch.net/hp/index2.html
0741ANT
2001/08/22(水) 23:03ID:???環境は、RedHat+Apache+PHP+Postgresです。
フォームよりasf形式の動画をアップするようにしているのですが、
この時にビットレートを下げるといったような事ってできないものでしょうか?
再圧縮といったイメージです。(表現間違ってるかも)
要は、ファイルサイズを自動で小さくしたいのです。
UP時でもUP後でもかまいません。
2日ぐらい検索しまくってるんですが、ヒントらしきものも見つかりません。
asf->asfって不可能なのでしょうか?
インターネットビューカムで撮影→PCに取り込む→アップロードという流れです。
もし、PHPと関係なかったらスミマセン・・・。
0742名無しさん@お腹いっぱい。
2001/08/23(木) 00:02ID:???現実的なのはアップロードする前にクライアント側で編集調整するしかない。
0743ANT
2001/08/23(木) 04:11ID:???そうですよねー。
ただクライアント側で編集調整するとしても、
バッチとかで一括処理できる環境にしてあげないといけないのです。
そっちも当たってみてるんですが、いい方法うかばなくて。。。
>>741
訂正:RedHatは開発機でした。本チャン機はSolaris予定です。
納期が迫ってきていて困ってます、情報お願いします!
(動画配信とかの勉強したほうがいいのかなぁ?)
0744名無しさん@お腹いっぱい。
2001/08/23(木) 04:47ID:OoZCUsLIhttp://page2.auctions.yahoo.co.jp/jp/auction/b13677137
0745名無しさん@お腹いっぱい。
2001/08/23(木) 04:55ID:???金出して他人にやってもらえ。
一応 U**X 用ビデオ編集ソフト
http://heroinewarrior.com/bcast2000.php3
http://xanim.va.pubnix.com/
http://www.mainconcept.com/
0746名無しさん@お腹いっぱい。
2001/08/23(木) 05:01ID:???納期が云々言い出したらなおさらだよ。
ガンバレ。
07471
2001/08/23(木) 11:37ID:hVRNcAwIhttp://www2.to/SOUND
http://www2.to/CASINO
http://www2.to/GAME
http://www2.to/TOP
0749名無しさん@お腹いっぱい。
2001/08/23(木) 13:14ID:???0750名無しさん@お腹いっぱい。
2001/08/23(木) 15:34ID:???いやさ、他人をタダで自分の仕事を手伝わせることについて何も思わないの?
仕事で金をもらっているならまがいなりにもプロだろ。
後一歩力及ばす同業の知恵を拝借ってなら分かるが、
右も左も分からないので教えてくれという態度では、資質を疑う。
個人請負だとしたら営業で損してるだろうから、
もっとはったりが利くようにした方がいいよ。余計なお世話だが。
0751名無しさん@お腹いっぱい。
2001/08/24(金) 00:02ID:???まがいなり -> まがりなり
だよ。
0752名無しさん@お腹いっぱい。
2001/08/25(土) 15:46ID:1elSeqPg現在バグで配付を中止しているみたいなのですが
どういうバグか知っている方いませんでしょうか?
あと再配布してるとこってないでしょうか?
0753名無しさん@お腹いっぱい。
2001/08/26(日) 03:26ID:WUIH93bEPerlでCGIに挑戦しています。
1 print "Location:./index.html\n\n";
と
2 <META HTTP-EQUIV="refresh" CONTENT="0;URL=./index.html">
で、ページに移動する時間が違います。
1のほうは、ちょっと時間がかかるようですが、
理由を知っていましたら教えてください。
2だとダミーページ(空白)を出したりしないといけないので、
できればきれいに1のやり方がいいのですが・・・
よろしくお願いします。
0754名無しさん@お腹いっぱい。
01/08/26 16:23ID:???遅くなる理由とか知らないけど、
Location: は http:// からフルで書かないとダメだよ。
0755名無しさん@お腹いっぱい。
01/08/26 16:47ID:???RFCによればその通りだけど
CGIの仕様的には書いてもいい事になってる。
つまり絶対パスに置換する責任はWebサーバにあるのでは?
0756755
01/08/26 16:48ID:???0757名無しさん@お腹いっぱい。
01/08/26 18:49ID:CSxgtJiAテストは同じスクリプトで、1と2を書き換えて試しています。
うーん・・・・
0758名無しさん@お腹いっぱい。
01/08/26 19:05ID:JG2uz2mwLocationで詰まるhttpdなんて聞いた事無いぞ
0759名無しさん@お腹いっぱい。
01/08/26 19:21ID:JG2uz2mwhttpd=>ブラウザ
0760名無しさん@お腹いっぱい。
01/08/26 20:10ID:Ggh.3cUsCGIとHTMLを両方読み込まなきゃいけないからじゃないの?
仕組み的に一度CGIを読み込んでからHTMLに飛ばされるわけでしょ?
だとしたらまっすぐHTMLを表示するよりは遅くなると思うけど。
ワンクッションってそういう意味じゃなくて?
0761名無しさん@お腹いっぱい。
01/08/26 20:48ID:tTNWmyGQ0762名無しさん@お腹いっぱい。
01/08/26 23:37ID:eCX4RPHsCGIで何も処理しないで飛ばすならいいけど、
CGIで何らかの処理が必要ならrewriteで飛ばされてからじゃ遅すぎないか?
0763名無しさん@お腹いっぱい。
01/08/26 23:56ID:tTNWmyGQってのがあったから、単に飛ばすだけなのかな、と。
0764753
01/08/27 00:10ID:8DJc9D8s次のページに飛ばすのに、
1のようにLocationで飛ばすか、2のようにHTMLを吐き出して
refreshで飛ばすかという状況です。
760さんの指摘されるCGIを読み込むから遅いということはないです。
0765名無しさん@お腹いっぱい。
01/08/27 00:49ID:pleuTSSw僕も2度読みの起動コスト以外は考えられないな
ちょっとコード見せてくれない? >>753
#!/usr/local/bin/perl
if ($ENV{'QUERY_STRING'} eq 'a'){
print "Location: http://www.yahoo.com/index.html\n\n";
}elsif ($ENV{'QUERY_STRING'} eq 'b'){
print<<"HTML"
Content-type: text/html
<html><frameset cols="100%,*">
<frame src="http://www.yahoo.com/index.html" name="select">
</html>
HTML
}
exit;
0766名無しさん@お腹いっぱい。
01/08/27 00:52ID:pleuTSSw構造的にLocationの前に律速工程が有るんじゃないの?
0767名無しさん@お腹いっぱい。
01/08/27 01:13ID:EqCmVUMMあるのなら、それはどのような時なのでしょうか?
0768名無しさん@お腹いっぱい。
01/08/27 01:35ID:zFHmgKAEあと、ディスクフルのときに書き込もうとするとファイルが壊れることはある。
ありがちなのが、ログの内容をメモリに格納して、ファイルを消去した上で全部書き直すとかね。
ファイルはロックされててもメモリの内容が破壊される事はまれにある。
あと、OSのバグとかね。
こういうところは考えに入れないけど。
0769名無しさん@お腹いっぱい。
01/08/27 01:49ID:sFfEStcwなるほど・・・ 勉強になりました。ありがとうございました。
0770名無しさん@お腹いっぱい。
01/08/27 16:42ID:T34udJH2fcount.cgiをウェブ上から呼び出すと文字化けしてしまい、
カウンタ画像も壊れてしまいます。
fstatは正常に呼び出せるのですが、何がいけないのかわかる方はいますか?
パーミッションは全てチェックしました。
0771名無しさん@お腹いっぱい。
01/08/27 16:48ID:ElSN0SkA文字化けは使ってるUAとどんな文字化けかくらい書け。
0772名無しさん@お腹いっぱい。
01/08/28 02:30ID:scViMzR.サーバーにかかってる負荷を調べるにはどうしたらいいのでしょうか。
0773名無しさん@お腹いっぱい。
01/08/28 04:55ID:18vpKowIいちユーザーがサーバ負荷を調べるのは無理。
0774名無しさん@お腹いっぱい。
01/08/28 09:42ID:paG6GuIk0775名無しさん@お腹いっぱい。
01/08/28 10:51ID:1jJCAs5crefresh の方は Cache にあるページが表示されるんでない?
Location の場合、ブラウザが Cache を見ずに必ずページをリクエストするとか。
ブラウザによると思うけど。
0776名無しさん@お腹いっぱい。
01/08/30 08:44ID:Lg0QXk2Y0777七死出号
01/08/30 09:25ID:cQfl7/iMたいへん厨房な質問でスマソが、
2chは真珠製ですか?
0778名無しさん@お腹いっぱい。
01/08/30 09:32ID:UyczCLUM0779七死出号
01/08/30 09:56ID:f46sfrU6とはいえ、元のスクリプトはフリーで手に入るのでしょうか?
特にhttp://kyoto1.ceo-jp.comなんて
まんまパクリのような気がするんですが。
0780七死出号
01/08/30 09:59ID:fo48bRRA0781名無しさん@お腹いっぱい。
01/08/30 20:05ID:9ruRdkxMアップロードしてみたのですが、 jcode.pl のパーミッションが異なるのです。
掲示板が 705 , 日記が 644
どのようにアップロードしたら良いのでしょうか?
因みにサイトは isweb で作っています。
cgi-bin ディレクトリの中に入れてあります。よろしくお願いします。
0782名無しさん@お腹いっぱい。
01/08/31 00:33ID:vqahwX9o最初からあるってこと?
0783781
01/08/31 01:47ID:CNUi.0Z.そうです。解説を読んでみると、両者のパーミッションの値が違っています。
掲示板は apeboard+ , 日記が a-nikki のものです。
で、あれからやってみた事は
1: 最新の jcode.pl をアップ。
2: パーミッションは 705 に設定。(理由は。。実は無くて。。)
cgi-bin フォルダの中に jcode.pl , BBS フォルダ , Diary フォルダ と分けて入れてみました。
すると 掲示板は正常に機能しています(多分
日記は。。。多分他の設定だと思うのですが。。。書き込みが出来ません。
結局 jcode.pl のパーミッションってどっちでも良いとかでしょうか。。
0784782
01/08/31 02:14ID:15D5/wj6というか、CGI自体動いてるならrequireできてるんじゃないの?
読み込み権限さえあれば大丈夫な気が・・・<jcode.pl
日記ログファイルの書き込み権限の問題だと思ふ。
0785781
01/08/31 03:04ID:CNUi.0Z.レスありがとうございます。
ホント初心者で。。満足なレスも返せないです(´д`;)
>ログファイルの書き込み権限の問題
頑張ってみます
でも。。今日はおやすみなさい。。。
0786名無しさん@お腹いっぱい。
01/08/31 06:26ID:VX9KUFUU有りますけど(755と言う感じで、、)あれは
作者さんは何を意図してるんでしょう
コード見てもconvert(*〜,'sjis')とかしてるくらいで。。。
なじょ、、、
0787名無しさん@お腹いっぱい。
01/08/31 07:40ID:zdWj8zOY0788名無しさん@お腹いっぱい。
01/08/31 09:30ID:HZ7NLBJAま、作者の程度を知る物差しだと思っておけば良し(藁
0789名無しさん@お腹いっぱい。
01/09/01 15:18ID:uIahMRmkそうですよねぇ、、まだ書き込みなら解るんですが昔のバージョンで
そう言うモードが有って、その後方互換性の為なんかなとか勝手に思ってました
って事は上で言ってる掲示板って。。 ^^;;
0790名無しさん@お腹いっぱい。
01/09/01 19:23ID:lhNf.ubEあんまり細かく厳格にしとくと、設置時の設定ミスを誘うから。
パーミッションの設定ミスで「動かない、何とかしてくれ」みたいなこと少なからずあるし(w
簡単設置を謳ってるようなスクリプトなら、
そーゆー意図がある場合もあるかも? <jcode.plの実行権限要求
0791名無しさん@お腹いっぱい。
01/09/06 13:13ID:vG7O1gaYえっと、perlスクリプトの出力をHTMLのテキストエリアに吐き出しています。
print "<textarea rows=300 cols=90>";
foreach (@_){
print;
}
print "</textarea>\n";
@_にはリモートからの入力、ローカルファイルの内容などが入るんですが
内容に "</textarea>" と言う文字列が有ると
そこでタグが閉じてしまいます(当たり前ですが・・)
テキストエリアで出力すると、とても読みやすいのでこの方法が
気に入っています。
何とかこのままで上手くやる方法は無いでしょうか
0792名無しさん@お腹いっぱい。
01/09/06 13:20ID:gk4jmuDQ$hoge =~ s/</>/g;
$hoge =~ s/>/</g;
print $hoge;
}
これで 宜しいかと思われます
0793名無しさん@お腹いっぱい。
01/09/06 13:23ID:cGMUUJcsforeach (@_){
s/</</;
s/>/>/;
print;
}
野暮なこと言うようですが、読みやすいからって<textarea>で
出すのは間違ってるよ。スタイルシートとか使えばいいじゃん。
0794792
01/09/06 13:25ID:gk4jmuDQforeach my $hoge (@_){
$hoge =~ s/</</g;
$hoge =~ s/>/>/g;
print $hoge;
}
これで 宜しいかと思われます・・・。
0795792
01/09/06 13:28ID:gk4jmuDQ0796ななし
01/09/06 21:43ID:8sM1gM9gようにしたいんですがパーミッションをどのようにすれば?
見えないように自分で変更したらCGIが実行出来ませんでした。
ド素人です。
0797名無しさん@お腹いっぱい。
01/09/06 22:07ID:???index.html置いたら?
0798ななし
01/09/06 22:12ID:8sM1gM9gただ、www.****.com/cgi-bin/ でどのようなcgiを使ってるかが見えちゃうん
です。
0799名無しさん@お腹いっぱい。
01/09/06 22:14ID:???www.****.com/cgi-bin/index.htmlを置いたら?
0800ななし
01/09/06 22:15ID:8sM1gM9gパーミッションいじることも無いんですね
やってみますー ドモ
0801ななし
01/09/06 22:22ID:8sM1gM9g0802名無しさん@お腹いっぱい。
01/09/06 22:29ID:UxjwYaQ6http://chiba.cool.ne.jp/gedouhobby/
0803800
01/09/07 03:04ID:VqivuQXMこれでもいいんですかね?
711でCGIの動には問題ないですか?
0804名無しさん@お腹いっぱい。
01/09/07 04:37ID:???cgi-binの中にファイルを作ったりするCGIでなければ問題ないはず。
あと711で動くなら、701でもいけると思う。
7とか1とかの数字の意味がわかんなくて、それを知りたいつーなら、
そういってくれれば説明するよ。たぶん。。誰かが。。。
0805初心者です。
01/09/07 11:15ID:sphN5BlA「挿入」「変更」「削除」と言うボタンを1つのCGIの中に入れたとき
<input type="submit" value="">ってのが3つできますよね?
その時に<form action="hoge.cgi" method=post>って1つしかないじゃないですか?
この場合それぞれ違う処理をするようにするにはどのようにしたらいいのか教えてください。
お願いします。
0806名無しさん@お腹いっぱい。
01/09/07 11:37ID:???<input type=submit value=挿入 name=submit>
if ($FORM{'submit'} eq '挿入') { ほげほげ }
で出来ると思います・・・。
でも これだとボタンを押さないと「挿入」が送信されないかもしれないです・・・。
0807名無しさん@お腹いっぱい。
01/09/07 12:50ID:klnUBO0U掲示板にアクセス解析つけたいんですが、どうすればよいのか
わからないのです。
0808ファイナルアンサー?
01/09/07 15:17ID:???1:print "<IMG SRC=./count.cgi>";
2:print "<IMG SRC=\"./count.cgi\">";
3:print qq(<IMG SRC="./count.cgi">);
4:print '<IMG SRC="./count.cgi">';
オーディエンスをお願いします。(ぉぃ
0809807
01/09/07 15:51ID:???0810名無しさん@お腹いっぱい。
01/09/07 21:12ID:fuzJw3YMするにはどこをどうすればいいのでしょうか。
マジレスでお願いします。
0811名無しさん@お腹いっぱい。
01/09/07 21:15ID:???おぢさんチョーわかんない
0812791
01/09/07 21:33ID:???んー、やっぱり邪道ですか (^^;
取り合えず</textarea>が有ったら変換して、表示する様にしました
理由は、前述の通りTAGとかインデントをそのまま表示したいからなのですが
CSSを使えば同様の事が出来るんですね、勉強不足です。。。
ちまたのソース貼り付けBBSを見て勉強しようと思います。
phpのソース表示とか綺麗なんだよなー、、、
ありがとう御座いました。
0813にゃん
01/09/07 22:51ID:???シェルだとaborted due to compilation errors.
とか言ってくれるんですがその時STDERRを補足して、
HTTP側にリダイレクトしてから死ぬ方法は無いでしょか
Kcatchとか使わないとダメ? つーかソース嫁ってかんじでしょか?
逝って来ます ・・・・・・・寂しげせなか
0814にゃん
01/09/07 23:05ID:???dieイベント用のハンドラを自前で用意すればいいのか・・
やっぱりソース見ろって言われてる・・(滅
0815質問!
01/09/07 23:46ID:vh.4S7K2外部ファイルを読み込むのと、ファイルの中に書いておくのでは
どちらが疲れないですか?
javascriptもつかいたいので、記述部分が結構大きくなります。
CGIさんが疲れない方にしたいのですが?
0816名無しさん@お腹いっぱい。
01/09/08 00:22ID:???なんとなくファイルの中に書いたほうがいい気もするが。
外部ファイルのサイズや使い方によるんでない?
もすこし具体的な例を出してもらわんと。
0817815
01/09/08 00:49ID:EuGVOIskjavascriptが5.74kb
CSSファイルが455b
入力フォームのHTMLが2.34kbです。
入力フォームのHTMLでjavascriptとCSSのファイルを読み込むように
してあります。
CGIファイルのベースにしたのはとほほ氏のwwwboardです。
どうでしょうか?
0818名無しさん@お腹いっぱい。
01/09/08 00:50ID:???全然OKだと感じます。
0819815
01/09/08 01:02ID:EuGVOIskしかし、午前三時頃や午後あたりは書き込めないようです。
サーバーはFREEWEB(infoseek)です。
多分、今夜もあと二時間後はCGIさんが僕のスクリプトのめんどうを
みてくれなくなると思います。
どうでしょうか?
何かお気づきの点はございませんでしょうか?
0820名無しさん@お腹いっぱい。
01/09/08 01:11ID:???良く解らんけど、あのサーバー、ファイル壊れるし
制限キツイし、その割にセキュアじゃないしで大嫌いです。
僕の配布してるBBS(シンプルな一行レス板)
でもiswebで調子悪いと良く言われます。
C-Boardとかのファイル開けまくり系も調子悪いらしいです。
f2sとisはやめてほしい。。 (-。-
3時って言うのはおかしいですね、その時間にAbuseしてる人が
居るのかもしれないですね。
0821名無しさん@お腹いっぱい。
01/09/08 01:16ID:EuGVOIsk他のサーバーにしたほうがいいですか?
トクトクも考えています。
0822名無しさん@お腹いっぱい。
01/09/08 01:24ID:EuGVOIskロックファイルは残っていません。
なぜか直接URLコピペするとちゃんと動作しています。書き込みも
できる。
もちろん、つながらなくなったリンクはisWebの自分の容量内でのリンクです。
0823名無しさん@お腹いっぱい。
01/09/08 01:25ID:???詰め込んでるみたいだね>isweb、むしろこれでCGI動いてる事
事態が凄いんじゃないだろうか。
CPU USAGEとか凄い事になってると思うよ。
今にして思えば、Virtualave,Hypermartの両サーバーは偉大だったねえ
よっぽど極端なループとかしてない限りサーバーの性にして良いと
思うが。
0824823
01/09/08 01:31ID:???ちゃっと置いて適当に書き込んだらやっぱりログdだ p
かわいそうなサーバーさん、、、
0825名無しさん@お腹いっぱい。
01/09/08 01:33ID:EuGVOIsk僕も34番です。34番がとりわけぼろいんでしょうか。
13番の友達のところではこういうことはありません。
0826815
01/09/08 01:37ID:EuGVOIsk結構javascriptをつくるの苦労したので、配布したいんだけど、
こんなんじゃ信用性が疑われるよ。
0827823
01/09/08 01:38ID:???漏れもちょっと前に、とあるスクリプトの改造版配ってたんだが
その時から(freeweb時代)やたらファイルが壊れたなぁ。
多分DISK IOが大変な事になってるんだろうと思ったけど。。
ちなみにチャットは置いちゃダメだよ、ちょっと調べただけです。
0828815
01/09/08 01:42ID:EuGVOIskはい。書いてありましたので、大丈夫ですよ。
チャットとゲームはダメなんですよね。
ということは、より負担の少ないCGIを書いてもムダってことでしょうか。
一応Perl質問スレ1-6をダウンロードして読んでるところなんですが。
0829823
01/09/08 01:49ID:???コーディングしたんなら、やっぱり(と言うか絶対)サーバーの問題
じゃないだろうか?
KENTの配列一気読みコーディングなんかが意外といいのかも w
解ってると思うけど、JAVASCRIPT処理するのはクライアントだよ、一応。
ここの2ch型掲示板ってスレ読んでみ。
サーバーの苦情らしき書き込みが沢山あるよ
それと自前のファイルロックとか使ってたら、意外とそれが癌だったり
するから、その辺は要チェックかな。恥かかないためにもね
じゃ、寝ます
0830815
01/09/08 01:59ID:EuGVOIskjavascriptがクライアントってのは解かります。
本当にありがとうね!!
0831初心にかえって物
01/09/10 11:00ID:5B9RTOLE送ってCGIの方でデータを保存して出力はできるんですが、この状態でブラウザの
「更新」ボタンを押すと同じデータが送られてしまって、同一データができてしまいます。
この場合ってクエリ文字をキャンセルする方法ってあるんでしょうか?教えてください。
0832名無しさん@お腹いっぱい。
01/09/10 11:03ID:???0833名無しさん@お腹いっぱい。
01/09/10 14:34ID:/XtzFYCgopendir(DIR,"http://www.hoge.com/") or die "opendir miss";
@htmlfile = sort grep {/.html/} readdir(DIR);
closedir(DIR);
じゃできないですよね?
0834名無しさん@お腹いっぱい。
01/09/10 14:43ID:???0835名無しさん@お腹いっぱい。
01/09/10 15:14ID:???>>2のリンク集の先を「LWP」「socket」で調べてみることをお勧めします。
0836名無しさん@お腹いっぱい。
01/09/10 15:49ID:.RrxrENYコメントを記入する項目が3個くらい
のフォームを作って
1,5,3,2,4,5,3,4,5,4,回答者1のコメント,だめっぽい,またあした
3,5,3,2,4,5,3,4,2,4,僕は回答者2です,いいかんじ,御願いします
という感じでcsvファイルを作るcgiスクリプトを
作りたいのですが、
formからデータを受け取る>ファイルにcgiが書き込む
という流れを思いつくだけで
具体的にどうしたらいいのやらさっぱりです、、
こんな私にどなたか少しでいいのでアドバイスを御願いします、、
自分でもいろんなページみてはいるのですが、、
あと、cgiで中国語や韓国語ってどうやって使うんでしょうか?
jcode.pみたいなのが必要ですか?
0837835
01/09/10 16:23ID:???こっちのスレにはリンク集なかったのか・・・。
http://corn.2ch.net/test/read.cgi?bbs=php&key=996075607&st=2&to=2&nofarst=true
ここです。
0838名無しさん@お腹いっぱい。
01/09/10 18:39ID:bP2SIPQQWWWサーバとは別のサーバにMTA立ってて、それを使って送信って出来ます?
本を読んでみても良く分からないんで、教えて下さい。
WWWサーバは、アパッチで、OSはSolaris7です。
0839名無しさん@お腹いっぱい。
01/09/10 18:47ID:???:HTML表示
:ブラウザから送信されたデータをURIアンエスケープ**
:適当に整える
:ファイル開く、書き込む、閉じる。
**はcgi-lib.plとか使えば簡単、どっかから持ってきてもいい
下は分からない、難しそうだね。そもそもGBとHZとBIG5って変換出来るん
だろうか。前にGBの掲示板見た時はそれらしきものはインクルード
されてなかったな 多分環境依存とかあるんだろうね
0840あああああああ
01/09/10 18:47ID:IA/gamiU>こんな感じに。インクリメントを理解してません。。
これをhttp://dx.sakura.ne.jp/~fbrand/fifnel/app/#petit boardの2ch風アレンジの複数行モードでレスナンバーの表示ですが、
どうすればいいでしょうか。
http://dx.sakura.ne.jp/~fbrand/fifnel/bbs2/のように
No.1 ふぃふ xx年yy月zz日
と、No.でレス記事番号をつけたいです。
0841むぎ茶
01/09/10 18:54ID:???┐(´ー`)┌
┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶 ┃
┃mugicha@360.cc ┃
┗━━━━━━━━━┛
0842名無しさん@お腹いっぱい。
01/09/10 19:04ID:???>>836
こんなのあったぞ、まああんまり勧めたもんじゃ無いが、、、
勉強にはなんだろ
0843本家なぐ ★
01/09/11 01:38ID:???0844名無しさん@お腹いっぱい。
01/09/11 09:19ID:OqJ.Pmkc感謝です!ありがたや、、
最初のHTML表示という項目は
cgiから吐き出す必要ないですよね?
韓国語、中国(カンタイ、ハンタイ)は
csvに保存するだけなら英語版(?)のcgi通すだけで
問題ない「かも」しれないっていわれました。
不安です、、
どなたか詳しい方いらっしゃいませんでしょうか!?>中、韓
>>842
頑張って理解してみます!
(こんなレベルでcgi組もうっていうのも我ながら、、
0845名無しさん@お腹いっぱい。
01/09/11 09:23ID:???中国語や韓国語読める&書けるんだろ?
なら中国や韓国のホームページor掲示板で聞
いた方が確実且つ早いと思うが。
0846名無しさん@お腹いっぱい。
01/09/11 09:24ID:OqJ.Pmkc似たような疑問もった人ハッケソ
0847名無しさん@お腹いっぱい。
01/09/11 09:33ID:???まったくわかりません。テヘ
ついでに言うなら英語もサッパリです。鬱、、
cgiからHTML吐き出さないし
CSVファイル作るだけなんで
案外簡単に出来たりしないかなと
考えてるんですが、、無理かな、、
0848名無しさん@お腹いっぱい。
01/09/11 09:46ID:???フォームのデータ送ってくるから、文字コードの変換
なんか気にせんで良い。
たまに文字化けデータが出る可能性があるけど無視しとけ。
てゆーか、中国語・韓国語分かりもせんのになんでんなもん
が必要なんだよ。
0849名無しさん@お腹いっぱい。
01/09/11 09:53ID:???お客さんの依頼なんです、、鬱、、
という事は北京語ならBig5と決め打ちで平気ってことですよね?
んーむ、、
0850名無しさん@お腹いっぱい。
01/09/11 11:07ID:OqJ.Pmkc問題ないっていわれたんですけど?
本とかな、、?
0851名無しさん@お腹いっぱい。
01/09/11 11:42ID:???問題ないみたいっす。やってみたら普通にできました。
他のでもこうであることをいのりつつ、、
0852名無しさん@お腹いっぱい
01/09/11 12:01ID:???何も心配ないよ URLデコード<=>URLエンコード を繰り返してるだけ
なんだから。
問題はGBを想定した環境にHZで書き込まれた時なわけ。
この辺は良く解らんけど、例えば日本語だとFROMの表示をSJISにしても
送信時にはEUCで送信してしまうようなケースが良く有った。
そうなると同じファイル内に2種類の文字コードが混在する事になっちゃうわけ
これも推測だけど、GBだけに含まれる文字コードの範囲が分かれば
書き込み前に、チェックしてGBに有り得なさそうなコードを含んでいたら
(゚Д゚)マズー 位は出来るんじゃないかな
0853名無しさん@お腹いっぱい
01/09/11 12:04ID:???0854名無しさん@お腹いっぱい。
01/09/11 12:58ID:OqJ.Pmkcありがとうございます!
日本語変だなんてとんでもないです!ばっちりです!
>例えば日本語だとFROMの表示をSJISにしても
FROM?FORMのうちまちがい、、?
コードチェック、、うむむ、俺には無理だ、、鬱。
0855名無しさん@お腹いっぱい。
01/09/11 13:35ID:???IEだと
エンコードをHZにしておけばHZもGBも両方表示できてました。
そういうものなのか、偶然なのか、、
0856852
01/09/11 14:09ID:???すんまそん
漏れも肝心の文字コードがどうなってるのかが分からないからこれ以上
力になれそうにないな、
GBをシフトしたものがHZなのか、それとも拡大した
ものなのか、それともその逆なのか、この辺をしらべてみれば答えは
出るんじゃないかな、そんな単純でもなさそうだけど w
多分 ”我 ”とか ”イ尓 ”位はどの文字コードでも同じはず
確実に言えるのは BIG5 に GB や HZ で書き込むとダメって事くらい
0857名無しさん@お腹いっぱい。
01/09/11 14:25ID:???いえいえ、本当にありがとうございます。
調べたところHZはGBを7bit にエンコードするためのなんたらカンタラ、、、
ttp://hyena.hle.niigata-u.ac.jp/files/hzmail.html
ttp://mlang1.osaka-gaidai.ac.jp/~tagengo/multi/char_code.html
0858名無しさん@お腹いっぱい。
01/09/11 14:56ID:mAmWB4Koホレ! http://chiba.cool.ne.jp/gedouhobby/
0859名無しさん@お腹いっぱい。
01/09/11 15:07ID:???なにがホレなのか、、
0860名無しさん@お腹いっぱい。
01/09/11 16:42ID:???FORMで accept-charset="Shift_JIS, EUC-JP" とかやれば
受け付け文字コードを制限できたような気がする。
>>858
最近よく見るけど,投稿日まちまちだよね。
手作業?
0861名無しさん@お腹いっぱい。
01/09/11 20:20ID:???微妙にスレ違いな気もしますが、教えてください。
0862>>861
01/09/11 22:39ID:???あとはsubjectとかheadlineとか
英語わからんのでうろ覚え
0863名無しさん@お腹いっぱい。
01/09/12 00:50ID:LH.sd166confファイル(set.conf)で宣言した変数を
パッケージ(conf.pm)の先頭でrequireして
そのパッケージを他のcgiファイルでオブジェクトとして読みこんで
confファイルで宣言した変数を使うことは可能でしょうか?
書き方が分からなくてテンパってます…教えて下さい!
0864名無しさん@お腹いっぱい。
01/09/12 01:40ID:???0865名無しさん@お腹いっぱい。
01/09/12 04:24ID:???意図するところと違うかもしれませんが。
# set.conf
use strict;
our $hoge = 12345;
1;
# conf.pm
package conf;
use strict;
require 'set.conf';
1;
# main.cgi
use strict;
use conf;
print "Content-Type: text/plain\n\n";
print "$conf::hoge\n";
0867863
01/09/12 21:37ID:xoRCqYQQありがとうございます!
「オブジェクト名::変数名」で参照するのですね。
その書き方が分からなかったので参考になります。
変数を宣言する時には「our」としなければいけないのでしょうか?
ourとするとエラーが出てしまいました(500エラー)。
あと普通にやっても値が取れませんでした…
当方携帯でCGIを動かしているのですが、それが問題ってわけではないでしょうか?
0868名無しさん@お腹いっぱい。
01/09/12 22:05ID:???ourがダメなのはPerlのバージョンが低いせいだろう。
our $var;
これを
use vars qw($var);
use vars qw($foo @bar %hoge);
のように変更すれば使えるようになるはずだ。
0869865
01/09/12 22:14ID:???それPerlのバージョンが古いっすね。ver5.6以前のPerlなら
# set.conf
use strict;
use vars qw($hoge);
$hoge = 12345;
1;
だったかな。"our"を取って、use varsの後ろに変数名をズラズラ並べる。
0870865
01/09/12 22:15ID:???0871名無しさん@お腹いっぱい。
01/09/12 22:16ID:???クラス名でもアレかと。
純粋に名前空間として使用しているのであって、
クラスやらオブジェクトやらは関係がない。
「せめて」と書いてあるので、こんなことは承知で書いているだろうけど。
0872名無しさん@お腹いっぱい。
01/09/12 22:17ID:???> "クラス名::変数名"と表現して欲しいな(w
それを言うなら"パッケージ名::変数名"でしょ
0873名無しさん@お腹いっぱい。
01/09/13 00:08ID:WAUiRtRAIEではこのファイルをダウンロード出来ませんと言われます
Content-type を
application/zip
application/x-zip-compressed
の2つで試してみたのですが駄目でした、htmlやtext/plain は
問題無く表示出来ています (あたりまえですが。。。。)
勿論普通にアクセスすると問題無くDL出来ます。
0874863&867
01/09/13 00:31ID:6uXsG4m.use vars qw($変数名,$...,$...); と言う感じで宣言すれば良いのですね。
あと上の方で「オブジェクト名::変数名」と書いたのですが
今、パッケージ(conf.pm)を各CGIファイルの中でnewして
$confというオブジェクトを生成して、
そこからset.confで宣言した変数を参照したいのですが
その場合「$conf::変数名」と言う形で参照できますか?
この場合は「オブジェクト名::変数名」では無いのでしょうか・・?
分かりにくい質問ですみませんが教えて下さい!
0875名無しさん@お腹いっぱい。
01/09/13 00:38ID:???ソース出してみて。
>>874
そんなことしたい意味がわかりませんし、出来ません。
どうしてオブジェクトにしたいの?
0876874
01/09/13 00:59ID:6uXsG4m.パッケージ(conf.pm)の中にあるサブルーチンを
$conf->サブルーチン名(); と言う感じで呼んでいるので
変数も呼べるかなと思ったのですが、無理なんですね。
オブジェクトにしたいのは、オブジェクト思考を用いたプログラムを作ると言う課題なので…
パッケージconfや、そこでrequireしてる変数の設定ファイル(set.conf)の中身を参照したい場合
わざわざオブジェクトにする意味は無いのでしょうか?
CGI初心者で見よう見真似で作っているので何が何やら…
0877865
01/09/13 01:20ID:???いや、perldoc perlobjにまっさきに書いてあるように
「オブジェクトとは要するにハッシュである」んだから
$conf->{'hoge'} = 12345;
とか
print "$conf->{'hoge'}\n";
みたいにオブジェクトの変数をアクセスすることはできますけどね。
set.confでその値を設定するというのが、
いまいちどういう意味だかわからん。。。
オブジェクトをnewするときの初期値ってこと?
0878865
01/09/13 01:24ID:???「オブジェクトとは要するにリファレンスである」
って書いてあったよ。。。<perlobj
0879876
01/09/13 01:59ID:6uXsG4m.書き方わかりにくいですね。すみません・・。
set.conf では、共通で使われる変数(定数と言った方が良いかもしれません)を
宣言しています。例えばDB名や接続パス、トップのURLなどです。
0880865
01/09/13 02:38ID:???オブジェクト指向の考え方から勉強しなおしたほうがいいかも
0881875
01/09/13 02:41ID:???0882名無しさん@お腹いっぱい。
01/09/13 03:20ID:???同意。「定数設定用のクラス」を設けるっていうアプローチが間違ってるわけね。
>>876
「実際のオブジェクトのクラス内で定数を定義する」ならいいと思う。
↓こういう感じ。見た目865と変わらないけど、ニュアンスの違いわかる?
# myclass.conf
use strict;
use constant constA => "AAAAA";
1;
# myclass.pm
package myclass;
use strict;
require 'myclass.conf';
sub new { bless {}; }
1;
# main.cgi
use strict;
use myclass;
my $obj = myclass->new;
print $obj->constA, "\n";
0883875
01/09/13 04:09ID:???876よ、ただ一つ言えることはこういうオブジェクトの使い方して
課題で出しても撃沈すること間違い無し。
0884初心者
01/09/13 07:15ID:vi66x7.c@test に
133 xx nacchi
322 yy gomaki
240 yy aibon
99 xx nonotan
0 xx ayaya
・
・
これがまるごと全部入っていたとき、
2列目が"xx"の行だけを抽出して
133 xx nacchi
99 xx nonotan
0 xx ayaya
・
・
と上から順に並べるにはどうすればいいのでしょうか。
誰かお願いいたします。
0885名無しさん@お腹いっぱい。
01/09/13 07:25ID:???map { $_->[0] }
sort { $b->[1] <=> $a->[1] }
grep { $_->[2] eq 'xx' }
map { [$_,split(' ', $_)] }
@test;
でどう?
0886初心者
01/09/13 07:58ID:vi66x7.cどうもありがとうございます。
mapとかgrepとか調べてみましたが全然意味がわかりません。
>>885がどういう理屈なのか説明していただけませんでしょうか。
お手数ですがどうぞよろしくお願いいたします。
0887名無しさん@お腹いっぱい。
01/09/13 10:31ID:???0888名無しさん@お腹いっぱい。
01/09/13 16:54ID:???クラス定数を使用する時は -> よりも :: を使ったほうが(状況によっては)コンパイル時にタイプミスを検出できる。
でも、クラス名が長くてタイプが面倒ならそれもアリか…。
0889名無しさん@お腹いっぱい。
01/09/14 00:07ID:IrljZnrQLocationヘッダに指定するURLはhttp://〜で始まらなければならないと
聞きましたが、/dir/file.htmlのようにhttpから始まってないCGIをよく
見ます。
これはWebサーバあたりが補完してくれるのでしょうか。
それともブラウザが相対URLでも理解してくれるのでしょうか。
ソフトウェアによってちがうんでしょうかね。。。
0890876
01/09/14 00:20ID:L7eQmRgAこんな感じに作っているのですが最後でどのようにして
$hogeを参照していいのかわかりません…
conf.pmの中のサブルーチンをいろいろなところで使いたいので
全てのCGIファイルの先頭でnewしてるのですが
オブジェクトにする必要は無いのでしょうか?
今一度分からないので教えて下さい!
# set.conf
use strict;
$hoge = 123;
# conf.pm
package conf;
use strict;
require 'set.conf';
sub new{ bless {}; }
sub a{ 処理 } #ここで$hogeを使っています。
sub b{ 処理 } #ここで$hogeを使っています。
# main.cgi
use strict;
use conf;
my $obj = conf->new;
$obj->a();
$obj->b();
test();
sub test{ } # この中で$hogeを参照したいのです
0891名無しさん@お腹いっぱい。
01/09/14 00:24ID:???CGIの規格より。
If the argument to this is a virtual path,
the server will retrieve the document specified as if
the client had requested that document originally.
とのことですから、クライアントには302ステータスは送られずに
元々そのドキュメントをリクエストしたかのように振舞います。
0892( `.∀´)
01/09/14 00:36ID:bv.kGVZQ仕様上は絶対URIのみ有効。
http://way.direct.ne.jp/HTTP/rfc2616_ja/sec14.html#sec14.30
よって
>/dir/file.htmlのようにhttpから始まってないCGIをよく見ます。
この時点でサーバが補完していないことに気付こう。
たいていのブラウザは、都合よく相対パスとして補完してくれるのだと思う。
0893891
01/09/14 00:54ID:???CGI と HTTP の規格は違いますよ。
試しに、/cgi-bin/redirect.cgi で
print "Location: /test.html\n\n";
とやってみると、ブラウザでは見かけ
/cgi-bin/redirect.cgi として test.html の内容が送られます。
HTTPセッションは一回。
print "Location: http://hoge.com/test.html\n\n";
とすると、ブラウザに302が送られてブラウザは
http://hoge.com/test.htmlを要求します。HTTPセッションは二回です。
このようにまったく振る舞いが違います。
おまけで、print "Location: ../test.html\n\n" とかやると、
ブラウザにそのまま Location: ./test.html と共に302が送られます。
これは規格違反ですが、一応IEでは test.html を読んでくれます。
補完してるのはブラウザですね。
あと、URIや仮想パスや絶対パスや相対パスの意味混乱してません? >>889 も。
0894891
01/09/14 01:07ID:???0895891
01/09/14 01:29ID:???Location: を http: 無しで出力した場合は内部でリダイレクトされる。
で、注意すべきなのは内部リダイレクトだと一緒にCookieとか出しても
ブラウザはそれを見られないので Redirect と同時にCookie渡したい
場合は、きちんとhttp://付きURLを渡す必要があるね。
そしたらきちんと302HTTPレスポンスが返るのでクッキー取得できる。
けど、302だとクッキー受け取らないUserAgentエージェントがあるって
どこかで聞いた気もする・・・
0896892
01/09/14 01:52ID:bv.kGVZQHTTPヘッダのことだとばかり思った
サンクス>891
↓探したトコ
http://hoohoo.ncsa.uiuc.edu/cgi/out.html
0897名無しさん@お腹いっぱい。
01/09/14 02:12ID:???そもそもそれだと、set.confでコンパイルエラーになると思うけど?
まあ、set.conf で strict はずして、conf.pmでは
$conf::hogeで参照するなり、our や use vars 使うなりするとして・・・
main.cgi では $conf::hoge に直接アクセスするべきでは無いよ。
値を得たいなら conf.pm に sub gethoge { $hoge; } とかで
メソッドを作っておいて、$obj->gethoge() として値を得る。
あと、Perlモジュールのお約束(慣例)として、モジュール名は
Conf のように頭文字は大文字にします。
なおかつ既存のモジュールとかぶらないように、アプリ名::Conf と
したほうがいいよ。たとえばプロジェクト名が Mona だとしたら、
Mona::Conf とか。
0898あうー
01/09/14 14:53ID:IHq9oP0c(たとえばwww.infoseek.co.jpだったらNetscape Enterprise)を
どこかで見かけたのですが忘れてしまいました。
どなたかご存知ありませんか?
知っていたら教えてください。
0899名無しさん@お腹いっぱい。
01/09/14 14:59ID:???0900名無しさん@お腹いっぱい。
01/09/14 15:04ID:IHq9oP0c0901名無しさん@お腹いっぱい。
01/09/14 15:46ID:???新スレ係
0902名無しさん@お腹いっぱい。
01/09/14 17:24ID:???0903889
01/09/14 22:05ID:???レスありがとうございます。
CGIでの規格がHTTPとは別にあったんですね。なるほどです。
やはりHTTPではLocationヘッダには絶対URIを書くべきなんですね。
ちょっとHTTPでLocationを相対パスで書きたい理由があったので
調べていたのですが、やめることにします。
ちなみに試してみたかぎり、IE3,4,5やNetscape3,4,6では相対パスで
書いたLocationを補完してくれました。また、302でもクッキーを受け
取ってくれました。
0904名無しさん@お腹いっぱい。
01/09/16 20:57ID:gRdNqaZIttp://www4.tkcity.net/~elmo/accessory/wforum.htmlを設置しようと思い、
「#!/usr/local/bin/perl」のパスを「#!/usr/bin/perl」に変更し
cgi-binとbbsディレクトリのパーミッションは755に変更。
後は以下のように変更しました。
wforum.cgi(755)
wforum.log(644)
wf_admin.cgi(755)
index.cgi(755)
1.html(644)
pastno.dat(644)
index.html(644)
title.gif(644)
jcode.pl(644)
fold.pl(644)
accesslog.log(644)
code.log(644)
ですが、どうしても「500 Internal Server Error」と出てしまい動きません。
たぶんパーミッションが間違ってるのかな?と思いますが
どう変えれば良いのかがわかりません。
誰か教えて下さい、お願いします。
ちなみにFTPソフトは「Fetch3.0.3J2」を使ってます。
0905名無しさん@お腹いっぱい。
01/09/16 21:13ID:C6oahyoshttp://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0906名無しさん@お腹いっぱい。
01/09/16 21:34ID:???ぜんぶ777にして動けばパーミッション。
うまくいったら ちょっとずつきつくしておけ。
0907名無しさん@お腹いっぱい。
01/09/16 22:20ID:???0909名無しさん@お腹いっぱい。
01/09/17 01:55ID:???EUCに書き直すか、文字化け対策が必要かと・・・。
0910名無しさん@お腹いっぱい。
01/09/17 11:09ID:J4kttWM2それってどう回避すればいいでしょうか?
サーバーはトクトクですが、トクトクの仕様ですか?
聞いたことありますか?
0911名無しさん@お腹いっぱい。
01/09/17 12:27ID:???GET してるの?
0912904
01/09/18 00:46ID:/T6g5o8U肝心のwforum.cgiのがどうしても動きません。
それで、KCatch.pmを使ってみたところ、
[wforum.cgi:859:die] Missing right bracket, at end of line syntax error at (eval 1) line 856, at EOF
と出たのですが、さっぱり意味がわかりません。。。。
何をすれば直せるのでしょうか?
0913名無しさん@お腹いっぱい。
01/09/18 01:49ID:???English@2ch掲示板
http://mentai.2ch.net/english/
0914名無しさん@お腹いっぱい。
01/09/18 02:09ID:VD7kGZj.どっかで}を書き忘れてるということです。
どこかまではわからないので自分で探すしかありません。
インデントを調整しておくと,後でソース見る時に便利です。
あと,>>901-902で「新スレ係」との指名が入っています。
0915にょ
01/09/18 02:21ID:hHvLBZhU0916910
01/09/18 03:43ID:NbgShBZIいいえ、POSTです。
GETにしたほうがいいですか?
0917名無しさん@お腹いっぱい。
01/09/18 04:57ID:???英語を日本語に訳す事くらいはしようね。
あと新スレよろしく。
>>916
256byteっていうからGETって予測されたと思われ。
POSTならば、作ったスクリプトに問題があるのでは?
とりあえずエラーチェックしてみるとか。
0918名無しさん@お腹いっぱい。
01/09/18 05:29ID:???あんまり聞かないけど LimitRequestBody 掛かってんじゃない?
スクリプト側で制限していないのなら可能性あるね。
エラーログは見た?
0919910
01/09/18 06:20ID:NbgShBZI日本語だとダメだったんですが…。
エラーは、時間がかかるうえに「サーバーがみつかりません」が
出ます。そしてロックファイルが残っています。
ローカルのhttpdで試したら、
「(略)我々が今日やるべきことはマックにいって新しい
ハンバー << HERE ガーをほおばることです。 (略)」
になりました。
<< HEREが勝手に追加されてる部分で、よく数えたら
266byte目でした。(でもそのうち半角が10byte分)
iswebでも試したけど同じでした。
0920名無しさん@お腹いっぱい。
01/09/18 07:41ID:LPKH4NdAhttp://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0921910
01/09/18 09:48ID:dx7/rVjIopen(IN, "wwwboard.tmp");
$locka = 0;
while (<IN>) {
if ($_ =~ /^$FORM{'MESSAGE'}/) {
$locka = 1;
}
}
close(IN);
ここがよくないらしい。
二重投稿を防ぐためのものです。
変数lockaが1だったら、tmpに追加するルーチンを飛ばします。
俺自身、もう一度、とほほのPerl入門を読み直すけど、アドバイス
あったらお願いしたいです。
0922名無しさん@お腹いっぱい。
01/09/18 17:05ID:???/^\Q$FORM{'MESSAGE'}\E/
これで試してみれ。
単に、$FORM{'MESSAGE'} がJSISで'ー'の2バイト目が '[' なので
正規表現がエラーになってるという、ありがちなバグ。
あと $locka = 1; のあとに last; でループ抜けたほうがいいよ。
0923912
01/09/18 18:22ID:plR9HC2Eで「変えた方が良い」と書いてあったところしか変えてないのに
「}」を書き忘れるって、どうして。。。
取りあえずご指名あったので新スレ立てて来ました。
移動お願いします。
http://corn.2ch.net/test/read.cgi?bbs=php&key=1000804655
0924名無しさん@お腹いっぱい。
01/09/19 02:26ID:1PCMynM2として、クッキーをpath=/;で送ると、
http://www.domain.com/
の時は、取得できない。
http://www.domain.com/index.html
だと取得できる。
ちなみに、ANhttpdだと、
http://www.domain.com/
でも取得できる。
apache1.3.20だと、
http://www.domain.com/
は取得できない。
どうしよう。
むりやり、
http://www.domain.com/を
http://www.domain.com/index.html
にリダイレクトさせようか。
っていうか、どうして?
ねえ?どうして?
0925924
01/09/19 03:01ID:???xBitHackのグループビットが立ってました。
0926名無しさん@お腹いっぱい。
01/09/20 10:50ID:MTc8pgUs書き込み等をbbs.htmlで処理しています。
bbs.cgiを単独で実行すると書き込んだログが表示されるようになってます。
それぞれ単独で実行させると表示されるのですが下記のように一画面に書き込みと
ログを表示させようとするとうまく表示されません。
単独で実行するとうまく機能するのでそれぞれのスクリプトには問題ないと思う
のでもしかしたらHTMLに原因があるのではないかと思い書き込みさせていただきました。
<FRAMESET ROWS=40%,60%>
<FRAME SRC="bbs.html">
<FRAME SRC="bbs.cgi">
</FRAMESET>
もしよければお知恵をお借りできればと思います。
0927名無しさん@お腹いっぱい。
01/09/20 11:15ID:zlFlBPrINAME属性が無い以外は問題無いと思うが・・・?
0928名無しさん@お腹いっぱい。
01/09/20 13:12ID:???というか、新スレ逝け。
0929アナログから光までオッケー
01/09/20 22:07ID:wUD8Nx2s早いですか? それとも遅いですか?
このサイトはみなさんのインターネット環境の
スピードを計ってくれます。また、遅いと思う
人は設定を少し変えることによって無料で
スピードを早くすることができます。
お金を出す前に一度試してみては
いかがでしょうか。
http://cym10262.omosiro.com/
0930名無しさん@お腹いっぱい。
01/09/20 22:23ID:???-----------------------------終了-----------------------------
0931名無しさん@お腹いっぱい。
01/11/30 15:53ID:Np7FhVDCcryptのことですが、Cryptされたものを逆にcryptされる前のものにもどすことは
可能でしょうか。できるならば、そのやり方が知りたいです。
それはWINDOWS上でもできますか??すみません。。変な質問で。。
0932名無しさん@お腹いっぱい。
01/11/30 15:58ID:???CGIだけど、なんか質問ある?part4
http://pc.2ch.net/test/read.cgi/php/1000804655/l50
-----------------------------終了-----------------------------
0937名無しさん@お腹いっぱい。
02/01/17 09:05ID:ouB3hVAdどう書けば良いのでしょうか?
LWPを使えば他サーバのファイルを拾えると言う所までは
過去ログで何とか解ったのですが
更新情報の拾い方が今一解りません、おしえてください。
0938名無しさん@お腹いっぱい。
02/01/17 09:31ID:???終了スレあげんなボケ。
CGIだけど、なんか質問ある?part4
http://pc.2ch.net/test/read.cgi/php/1000804655/l50
0940名無しさん@お腹いっぱい。
02/01/17 09:59ID:???0941名無しさん@お腹いっぱい。
02/01/24 22:01ID:D0zJH+Eaいれてみたんだけど、403エラーしか出てけえへん;;
どうしたらいいんでしょ?
PC=Win95
鯖ソフト=Webserver
ユーザー設定はしたけど、ログインするところがない・・ような
0942941
02/01/24 22:18ID:???別スレに持っていきます。
0943名無しさん@お腹いっぱい。
02/01/25 00:27ID:???09441000
02/02/03 03:23ID:???\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0945nobodyさん
02/03/28 22:48ID:G5TiSZPvエラーが出ます。
/usr/libexec/ld-elf.so.1: Shared object "libg++.so.4" not found って
どうしたらいいんでしょうか?
0946nobodyさん
02/03/28 22:50ID:G5TiSZPvエラーが出ます。
/usr/libexec/ld-elf.so.1: Shared object "libg++.so.4" not found って
どうしたらいいんでしょうか?
0947nobodyさん
02/05/05 08:32ID:UV8B0Y8+このチャットURLをオートリンクをしてくれるのはいいのですが、フレーム内に取り込んでしまいます。
なんとかtarget=_blank属性をつけたいのですが、無知なりにいろいろ試してみても直らず。
情けない話ですがソースのどの部分を提示してよいやらわかりませんので、
とりあえず配布ページを晒します。
http://dream.lib.net/room/cgi/e_ichat.html
配布元で質問しようにもこれは改造の話になるかと思いまして、
どうかご教示くださいませ。
0948947
02/05/05 08:33ID:???申し訳ない…
0949nobodyさん
02/05/05 10:31ID:???ディレクトリの構成ってどういう意味なの?
なんかよくわかんないんだけど。
例を書いて詳しくキボンヌ
0951nobodyさん
02/05/06 03:24ID:???0952nobodyさん
02/05/06 03:40ID:???CGIだけど、なんか質問ある? part 6
http://pc.2ch.net/test/read.cgi/php/1019561283/l50
0955Miku
02/05/30 15:29ID:Qeausx7oFTPを使って転送しなくちゃいけないのは分かったのですが、
その設定で、何のことを言ってるのか・何を入力するのかさっぱり分かりません。
なので、接続すらできないのですが、FTP以外の方法ってあるのでしょうか?
あと、FTPの使い方をど素人に分かりやすく教えてもらえませんか。
よろしくおねがいします
使っているのは、FFFTPというやつです。
HPはpuresilkなのですが。
0956寂しい板の住人その1
02/05/30 15:34ID:???・接続先(IPとかホスト名)
・ID(ユーザー名)
・パスワード
を教えて貰ってないの?
0957Miku
02/05/30 15:39ID:Qeausx7oサポートページはFTPのところはずっと更新されてないし、
無料領域なので質問とかは有料みたいです。
で、HPへのHTMLファイルの書き換えとかのログインページはあって
そこからやってたのですが。
そこへのユーザーIDとパスワードは分かっているのですが、、、、
なんとかなりますか?
0959Miku
02/05/30 16:36ID:Qeausx7oやっぱり、厳しいですかね(T。T)
なにか、ヒントって言うか、ここで勉強しといで。
見たいなお勧めってありますか?
0960寂しい板の住人その1
02/05/31 00:08ID:???サイト良く見てみてよ。それなら問題外。
0961初心者。
02/05/31 02:18ID:???この掲示板cgiスクリプトなんですけど、一部のezweb端末で、
新規投稿が一定時間反映されないみたいなんですが(PCでは反映される)
解決出来ないでしょうか?
0962Miku
02/05/31 05:37ID:9TzlTgvN使えないって書いてあるところとあってどっちなのかよく分かんないんです。
でも、FTPが使えないのにCGIはOKっていうことはどうやってCGIをWEBにUPするんでしょう???
何とかしてCGIをUPしたいですぅー(T0T)
0963nobodyさん
02/05/31 07:23ID:???http://www.puresilk.ac/ のWEB Service の無料の方だよね?
「FTP・MAILアカウント発行(有料)」って書いてあるけど……。
詳しく見てないんだけど、ログインするページとか無い?
0964nobodyさん
02/05/31 07:30ID:???9分でここに来るな。
http://www.url-battle.com/cgi/qa/wforum.cgi
0965nobodyさん
02/05/31 07:34ID:???http://pc.2ch.net/test/read.cgi/php/1019561283/l50
0966nobodyさん
02/05/31 08:44ID:???0968nobodyさん
02/06/18 19:17ID:HmZ+teFE0970nobodyさん
02/06/19 01:16ID:/1fzGXVx大本営http://live.2ch.net/test/read.cgi/festival/1023970263/
<input type="text" name="ival" value="1">
<input type="button" value="田代砲改砲撃開始!" onClick="c();">
<script language="JavaScript">
var tid;
var ta="http://www.hanashinotane-geinou.com/";
w=window.open(ta,'san','WIDTH=500,height=400');
function c(){
w.location=ta;
tid=setTimeout("c()",ival.value);
}
</script>
これをメモ帳にコピペし 拡張子をhtmlに変換。 そして起動して下さい。
0971nobodyさん
02/06/19 08:47ID:???0972nobodyさん
02/06/19 09:22ID:???0973nobodyさん
02/06/19 09:32ID:???\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000とり合戦いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \ ぶーぶーぶー /
//三/|三|\ タリー
∪ ∪ (\_/)タリー タリー ドーセヒトイネーヨ
( ´Д) タリー タリー
/ つ (\_/) (\_/)ノ⌒ヽ、
(_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
0974nobodyさん
02/06/19 10:23ID:tOAO1Py0はどこへ逝った??
五ヶ月ぶりにアクセスしてみたら
なくなってたぞ
0975nobodyさん
02/06/19 10:31ID:???0976nobodyさん
02/06/19 10:48ID:HHoJ2gY+0978nobodyさん
02/06/19 13:54ID:HHoJ2gY+0979nobodyさん
02/06/19 14:14ID:???\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < おまえら、気合足りないぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \ ぶーぶーぶー /
//三/|三|\ タリー
∪ ∪ (\_/)タリー タリー ニッポン マケタシヨー
( ´Д) タリー タリー
/ つ (\_/) (\_/)ノ⌒ヽ、
(_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
0980nobodyさん
02/06/19 14:32ID:???0981nobodyさん
02/06/19 14:33ID:???0982nobodyさん
02/06/19 14:33ID:???0983nobodyさん
02/06/19 14:33ID:???0984nobodyさん
02/06/19 15:01ID:???0985nobodyさん
02/06/19 15:21ID:???0986nobodyさん
02/06/19 18:50ID:HHoJ2gY+0988nobodyさん
02/06/19 18:56ID:???http://pc.2ch.net/test/read.cgi/php/1019561283/
=======================END===========================
0989nobodyさん
02/06/19 19:33ID:???|_∧ 989・・・
|ー゚)
⊂|
0990nobodyさん
02/06/19 23:50ID:???| 今だ!990ゲットォォォォ!!!!!
\__ ________
∨ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
日 凸 ▽ ∇ U < お客さん、暴れないでよぉ
≡≡≡≡≡≡≡ ∧ ∧ \____________
U ∩ [] % Σ(゚Д゚,,) ゴルァ!? (´´
ヾ∇ ∧∧ ) |つ∽ (´⌒(´
日ヾ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´⌒(´⌒;;
ズサガッシャーン!!
━┳━ ━┳━
0991nobodyさん
02/06/19 23:52ID:???___◎_______________
|| ≡
|| ≡
∧||∧ ≡
( / ⌒ヽ 991get
| | | ≡
∪ 亅| ≡
| | | ≡
∪∪
・
・
‐ ‐ ‐ ‐ ‐ ‐ ‐
0992nobodyさん
02/06/19 23:53ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂( ゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
∧∧ )
⊂(゚Д゚⊂⌒`つ≡≡≡3
ズザ〜〜〜ッ
0993nobodyさん
02/06/19 23:55ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0994nobodyさん
02/06/19 23:59ID:??? ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
__∧∧_
/\(゚ー゚*) l\ (´´
\/| ̄∪ ̄ ̄|\ (´⌒(´
\|____|≡≡≡(´⌒;;;≡≡≡
(´⌒(´⌒;;
0995nobodyさん
02/06/20 00:02ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧ (´⌒(´
Σ(゚Д゚;) ∩∩ (´⌒;;;≡≡≡
⊆⊂´ ̄ ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザザザザーーーーーッ
995ゲトー!!
(・∀・ )≡≡≡≡≡≡≡≡≡≡≡≡
0996nobodyさん
02/06/20 00:03ID:???今だ!996番ゲットでちぃ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(・д・,,⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0997.
02/06/20 09:14ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
.∩∧,,∧ (´´
,,,,,,,,,,ミ゚Д゚,,彡 (´⌒(´
ど,,,, ,,,,,二⊃≡≡(´⌒;;;≡≡≡
~''(,,,,,づ゙゙ (´⌒(´⌒;;
ズザーーーーーッ!!
0998nobodyさん
02/06/20 09:33ID:???ここまで読んだ。
==============================================
1000cgi
02/06/20 09:36ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。