1 :
nobodyさん :
03/03/26 22:47 ID:44KxXtaW
5 :
4 :03/03/27 02:52 ID:q8+u0yHc
4GETされた・・・
7 :
nobodyさん :03/03/27 16:12 ID:iTCmw4qj
質問です。 今、オリジナルのアクセスログを作っていて、 回線速度の統計を取りたいのですが、 うまい方法ありませんか?? 今、JAVAで試していたのですが、 1回目は良いのですが、2回目以降にキャッシュが効いて、 超高速の人ばかりになってしまいます・・・(汗; 何か良いアイデアがありましたら、ご教授ください。 お願いします。
Java とキャッシュがどう関係あるんだかわからん。 Servlet ってこと? どのみちスレ違い。 回答を求めるなら、計測しようとしている「回線速度」とやらを おまい自身の言葉で定義してからにしる。
10 :
8 :03/03/27 16:47 ID:???
11 :
nobodyさん :03/03/27 17:41 ID:OfSB210s
こんなコードってもっと簡単にできると思うんですが、 どういう風に書いたらいいですか? if ($value eq "hoge") { forearch (@hogehoge){ ながーーい処理 } } elsif ($value eq "foo") { forearch (@foofoo) { 上のと同じ処理 } }
>>11 連想配列作って、
$rensou["hoge"]に@hogehogeを
$rensou["foo"]の@foofooを持たせて、
foreach($rensou[$value])
>>11 たぶんね。たbybん
if($value eq 'hoge') {
&shori(@hogehoge);
} elsif ($value = "foo") {
&shori(@sikosiko);
}
sub shori {
foreach $i (@_) {
ながーいしょり
}
}
>>11 その長い処理はサブルーチンには出来ないの
15 :
11 :03/03/27 17:49 ID:???
なんかわかった気がしますありがdです # {}←こうですよねぇ?
あ、いっぱいレスしてくれてたんですねthx えっと、できるだけサブルーチンにしたくないんです 皆さんのを参考に色々やってみます
>>16 「サブルーチンにしたくない」という理由がわからん。
面倒だから?
>>17 機能分割と呼ぶのもバカらしいが同じ処理を同じ関数の2箇所で行わなければいけない。
虚しい。
>>18 >同じ処理を同じ関数の2箇所で行わなければいけない
ん?その「同じ処理」をサブルーチンにすればいいのでは?
>>19 理解できんところは評価しないって悪い癖だよ。
>20 オレにはあんたのいってることが理解で金。 ので評価もできない。
全く同じ処理があるなら、
そこは抽出してサブルーチンにリファクタリングするのが、
怠惰なプログラマーの行き着く手法じゃないのか?
それが嫌だと言う理由がよくわからん。
>>16 はこたえてくれんのか。
23 :
16 :03/03/28 01:06 ID:???
えっと、私は16までしかレスしてません で、サブルーチンにしたくないって言ったのは、 特に理由はないです。 なんとなく流れで、 「できればここをサブルーチンにしたくない」 ってこと・・・ないですね。私だけですよね で、できればサブルーチンじゃない方向で っていう理由です。しょうもない理由ですいません
もうね、あ(ry
>>23 バグに悩んだ経験がないからそういう風に思うんだろうな。
「よく似ているがほんのちょっと違うソース」によるバグとか経験したら、
絶対にそんなことは言えなくなると思うんだがな。
まあ、お前の人生だ好きにしろ。他人の経験から出た教訓を踏み潰すのもお前の自由だ。
>>23 同じ処理をサブルーチンにせずに2回書くことのメリットは?
とりあえずいくつか書いてください。
ちなみに俺は一つも思いつきません。冗談ではなく。
処理の規模にもよると思うがな・・・
>>28 そらすまんこって
つまりsubの使い方を勉強汁という事だな。
逆参照でもいいけどや・・・
最初からこの質問は無意味だってこったな
>>29 CGI is Perlか、おめでてぇな。そんな奴がさっきまで偉そうに何かほざいてたわけか。
>>32 誰がそんな事言ったよ。何か勘違いしてないか(w
>>34 多分
>>32 はスレタイと
>>29 の「sub」を見て舞い上がっちゃったんだと思います。
「CGI=Perlじゃない」というのを言いたくて言いたくて仕方ないんだと思われ(それしか知らないから
みなさん助けていただけないでしょうか? apple,青森,40 orange,愛媛,20 strawberry,茨城,30 ↑これがそれぞれ @fluit = ('appe','orange','strawberry'); @from = ('青森','愛媛','茨城'); @price = (40,20,30); こんな感じに配列に入ってるとき、たとえば下のようにすると、、、、 foreach (sort { ($price[$b] <=> $price[$a]) || ($a cmp $b) } 0 .. $#price) { print "$fluit[$_],$from[$_],$price[$_]\n"; } apple,青森,40 strawberry,茨城,30 orange,愛媛,20 ↑こうなると思うんですが、 ソートする条件をフォームから指定させたいんです。 たとえば、($FORM{'jyouken'} eq "fluit")ならfluitでソートって感じに・・・ どのようにすればいいでしょうか?(説明へたですいません)
perlですけど、ここはperlだめなんですか?
perlの質問いっぴい出てるのにだめなのか・・・
答える側がスレの趣旨を理解しないまま回答してるから、
質問する側も各スレの
>>1 さえろくに読まずに安易に質問する。
>>41 いや、そこで発言を止めるなって。
↓はい、CGIに関する次の質問どーぞ。
このスレの質問の半分はperlでできている
>>36 コレどっちかというとスクリプトのもんだいやね
にしても、データの構造が悪いなぁ
@data= (
{fluit=>'apple',from=>'青森',price=>40},
{fluit=>'orenge',from=>'愛媛',price=>20},
{fluit=>'strawberry',from=>'茨城',price=>30}
);
@data = @data[sort{$data[$a]->{$FORM{select}} cmp $data[$b]->{$FORM{select}] } 0 ..$#data];
for (0 .. $#data) {
print "$data->[$_]->{fluit},$data->[$_]->{from},$data->[$_]->{price}\n";
}
自分ならこんなふうに組むかなぁ・・・
>>44 訂正・・・
for (0 .. $#data) {
print "$data[$_]->{fluit},$data[$_]->{from},$data[$_]->{price}\n";
}
遅レスだが、やはり
>>16 は何か勘違いしてると思う。
「同じ処理を二つ書いてなんとも思わない」と言うことは、
「二つ書いても三つ書いても同じ」と言うことであり、
つまり「ソースはコピペするもの」と言う風に発展しそうだ。
コピペ厨がまともなプログラマーとは誰も思わない訳で。
やれやれ。
>>16 がどんな主義主張だろうと俺には関係ないが、俺の目の届かないところにいてくれると嬉しいな、と。
俺は未だに
>>16 が
>で、サブルーチンにしたくないって言ったのは、
>特に理由はないです。
>なんとなく流れで、
のようなことを思った理由がすごくキニナル。
「サブルーチンが増えるから」とかそんな理由でもいいから何か言って( ゚д゚)ホスィ…
>>47 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。 このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
>>47 結局のところ定石の意味を考えずに鵜呑みにするだけじゃ綺麗なコードは書けないと思うけどね。
>>52 春だからでは??
お休みの人も多いだろうし
54 :
nobodyさん :03/03/29 13:47 ID:21Lv88E2
>>26 じゃあいくつか
・処理速度が速い
・コピペするだけなので、コーディング時のタイピング数が少ない
・サブルーチン以外の手法を考察する機会を得る
>>54 ・雀の涙。コンパイルやJIT時に最適化されて結局展開されたり。
・修正する箇所はn倍に。
・まぁ、同意。
最近春休みのせいにする輩が多いな。
>>57 あまり深く考えたくないし、追及したくないし、とりあえず春のせいにしときゃ楽じゃん。
エラーの原因を考えたくないときと一緒だな。
なんでそんな必死なんだ(w
春だから
頼むから、 ・怠惰 ・短気 ・傲慢 の三大美徳の意味を考えてくれよ……。 これはPerlのモットーかも知れんが、他の言語にも当てはまると思うし、 CGI作るのにも役に立つはずだし。
>>62 ・怠惰:無気力
・短気:キレて先生刺したり
・傲慢:はったり
ローカルでCGI-perlの勉強をしている者でつ。 ドキュメントルートはD:\WWWでつ。 こんな場合、C:\WWWフォルダのファイルをオープンすることは可能でつか? open(IN,"$file")||&error; 可能なら、$fileはどんな記述にしたらよいでしょう。
>>64 ドキュメントルートって HTTPサーバのでしょ?
CGI には関係無い。
なので普通に、
$file = "C:/WWW/hoge.txt";
でOK。
C:/WWW/hogehoge.fuck
>>65 \はエスケープしなきゃ。
$file = "C:\\WWW\\hoge.txt";
69 :
68 :03/03/30 10:04 ID:???
あ、よく見たら / 区切りか……ごめん。 うちの環境だと \ がバックスラシュになってるから早とちりしてもた。
70 :
64 :03/03/30 10:06 ID:???
> $file = "C:/WWW/hoge.txt"; できました。 $file = "C:\WWW/hoge.txt";って書いていたお馬鹿な漏れ! さあ、笑ってくれぃ!
ドキュメントルートがどーのこーの言ってたからアレだけど、 もし続きがあるなら Perl スレ逝け。
>>70 $file = "C:\\WWW/hoge.txt";
なら動きそうだけどな。
75 :
nobodyさん :03/03/30 15:55 ID:YbjoSkMy
CGIについて厳密に記述してあるページを教えてください。 知りたいのは、例えば、GETの時のFormDataは環境変数に設定され、 POSTの時のFormDataは標準入力に送られる、というキマリゴトは CGIのレベルの話なのか、単に、Apache等のいくつかのWebServer の実装が、そうなっているだけという話なのか、というあたりが きちっと書かれているページです。
>>75 ええ、Common Gateway Interfaceの仕様です。
HTTPの仕様じゃないかね。
>>77 はい?
GETは本文を評価しない。その代わりURLの後ろにパラメータをくっつけて送ることができる。
POSTは本文にデータを含むことができる。
httpのGETとPOSTっとこの程度の違いだと思われ。
OS依存の標準入力や環境変数なんて使うプロトコルじゃないよ。
80 :
75 :03/03/30 16:28 ID:YbjoSkMy
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79 ありがとうございました。
83 :
75 :03/03/30 16:51 ID:???
The WWW Common Gateway Interface Version 1.1
http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html を読んでみると、
1.4. Terminology
metavariable
A named parameter that carries information from the server to the script. It is not necessarily a variable in the operating-system's environment, although that is the most common implementation.
6.2. Request Message-Bodies
As there may be a data entity attached to the request, there MUST be a system defined method for the script to read these data. Unless defined otherwise, this will be via the 'standard input' file descriptor.
ということなので、CGI1.1的には別に、環境変数じゃなくても、標準入力じゃなくても、いいみたい。
>>83 まぁ、だとしたらMACではCGIが使えないってことになるからなぁ。
最近、ネットワーク系の規格ってどんどんOS非依存になってきてるね。
>>84 Macはしらないんだけど、なぜ?
聞いてみたい。
>>85 標準入出力ないっしょ。それを理由にペンタゴンかどこかはセキュリティ向上のためにMACを採用しているところもあるらしい。
87 :
85 :03/03/30 17:00 ID:???
そうなんだ。 ありがd
88 :
nobodyさん :03/03/30 17:32 ID:2BSCR98U
89 :
lanble :03/03/30 21:03 ID:yF9PwNLZ
Content-type: text/html でhtmlファイルってことになるけど shtmlファイルにするときは Content-type: text/shtml でいいの?
>>89 普通にhtmlで良いと思うけど。
クライアントに返すデータはすでにssiが評価された後のhtmlな訳で。
91 :
nobodyさん :03/03/30 21:07 ID:yF9PwNLZ
infoseekを使ってHPを公開しているわけですが infoseekはshtmlだとバナー広告を表示しないんですよね それをなんとかCGIで行いたいんですけど・・・何か方法 ありませんか?
SSI
93 :
nobodyさん :03/03/30 21:14 ID:yF9PwNLZ
execは禁止されているんですけど?
広告消すな。 はい次の質問どーぞ。
95 :
nobodyさん :03/03/30 21:40 ID:yF9PwNLZ
ブーブー(`ε´)
97 :
nobodyさん :03/03/30 21:53 ID:yF9PwNLZ
ぶっちゃけ方法ないだろ?
99 :
nobodyさん :03/03/31 00:43 ID:XMyQGev4
質問です。 BBSを改造したいのですが、頭に "> (>)" が来る文だけ 色を変えたいのですが、どのようにすればよいでしょうか? よろしくお願いします。
102 :
nobodyさん :03/03/31 01:10 ID:XMyQGev4
>>100 わかりました。
すみません。
ありがとうございます。
ついでにできてしまったようです。
凡ミスでした。
板汚し失礼しました。
103 :
nobodyさん :03/04/02 11:13 ID:iqBWaUXY
SSIからCGIを呼んでるんですけど、[an error occurred while processing this directive]のエラーが出てしまいます。 <!--#exec cmd="./xxx.cgi hoge" --> <!--#exec cmd="./xxx.cgi?hoge" --> <!--#exec cgi="./xxx.cgi hoge" --> <!--#exec cgi="./xxx.cgi?hoge" --> なぜでしょうか。
>>103 <!--#include virtual="./xxx.cgi"-->に変えてみな。
106 :
103 :03/04/02 13:21 ID:???
>>104 ありがとうございます。出来ました!
でも#includeで出来るんだったら#exec cgiの書き方っていらないですよね?
>>105 すごい参考になりました。
>>106 exec cgiならね。でもexec cmdならブラウザから見えない場所においてあるプログラムも実行できるから、
安全性を高めるためにexecを禁止しているところが多い。
>>105 のリンク先
> <!--#exec cmd="cat hogehoge"--> > こういう簡単なのもバツ
ハァ? それはNoEXECにしているからだろ。
108 :
107 :03/04/02 14:33 ID:???
ん?<!--#exec cmd="./cgi-bin/echo.cgi"-->ではできると書いてあるな・・・ うちのApache1.3.27ならできるけど・・・ シェルのサーチパスにcatの置かれているディレクトリが指定されていないってことか?
109 :
107 :03/04/02 14:34 ID:???
それじゃシェルスクリプトでも同じか。回線切って(略
110 :
nobodyさん :03/04/02 17:04 ID:bMMl982B
Web上から、ApacheやSendmailなんかを再起動させたいんですけど、 chown root hoge.cgi chmod u+s hoge.cgi やって、 PerlやCのsystem()でコマンド実行させても、 そのコマンドがroot権限で実行してくれないんです。 どうすれば良いでしょうか? と言うより、もっといい方法があると思うので ご教授下さい。
>>110 webmin あたりでできるんじゃない?
113 :
110 :03/04/02 18:07 ID:bMMl982B
>>111 >>112 linuxをいじれないクライアントに、
再起動やアカウントの追加などをさせたいんです。
Webminみたいに多機能なのじゃなくて、
シンプルなインターフェースで必要最低限な機能を持ったツールを作りたいんです。
Net::SSH Net::Telnet
そんなもん作って踏み台にされたいのだろうか?(謎)
>(謎) キモイ
>>116 キモかろうが、提示している疑問は真っ当なものだ。
>>116 いつも技術的(且つ簡単)な話について来れなくて煽りまくってる人ですね。ご苦労様です。
120 :
nobodyさん :03/04/03 05:20 ID:9W9Efx3S
cgiを1から学ぶのにいいHPないでしょうか? 自分は投票的なシステムをマスターしたいんですが。。
>>120 で、君は今どこまでできるようになってるの?
もしまだ何もできないくせに
>>120 みたいな質問してるんだったら諦めた方がいい。
「いいHP」なんか探してないで手当たり次第やれよ。入門ならいくらでもあるだろう(googleっていうサイト知ってる?
122 :
nobodyさん :03/04/03 05:41 ID:9W9Efx3S
>>121 いろいろ検索して自分にあってるっぽいやつ
て一回作ってみましたがそれが
どうしてもエラーになって、
この際最初からやりなおそーかなーなんて思ってたけど、
やっぱもう一回入門しらべてやってみます。
本買えよ。
どっちかって言うとHTMLの気がしますが。 HTMLのフォームで変数名 ( <INPUT SIZE=35 VALUE="" NAME=> の所のNAME ) が受信者側にて日本語の文字である時、それを送信した際ブラウザはエンコードするのでしょうか? (IEがエンコードすればOKです) もし、ブラウザがエンコードしない場合、CGIでエンコードした文字を受信者側に送ってもマズイ事にはなりませんか? なんかCGI側からの出力文字に2重のエンコード処理がかけられそうな気が…(? そう言った物はCGIに文字列が帰ってきた時、どんな文字だろうと普通にデコードして問題ないですか?
ブラウザが、URLとして認識するもの<a href="...">は、URLエンコードしてあげないといけない。 Formをエンコードして送るのは、ブラウザ側の責任。HTMLを出す側が注意しないと いけないことは、HTMLとして、特別な意味で解釈される文字を"エンコード"すること。
レスありがとう御座います。 >Formをエンコードして送るのは、ブラウザ側の責任。HTMLを出す側が注意しないと >いけないことは、HTMLとして、特別な意味で解釈される文字を"エンコード"すること。 <INPUT SIZE=35 VALUE="" NAME="あああ"> つまり、この部分はブラウザの責任としてエンコードするので普通の文字で問題ないってことですね。 <INPUT SIZE=35 VALUE="" NAME=" "$<a>"> しかし、このような怪しい文字の場合、エンコードされた文字を置かなくてはダメなのですね…。 ですが、これをブラウザが勝手にエンコードして送った場合、2重エンコードになりますが大丈夫なのでしょうか? CGI側でなんらかの工夫は必要でしょうか? (どー工夫すればいいんだろ…困)
>>127 そんな文字をnameに使うこと自体が根本から間違い
>>127 ブラウザは文字参照・実体参照は勝手にデコードしないだろ。多分。
やられた。訂正。 <INPUT SIZE=35 VALUE="" NAME=" "$<a>"> ↓ <INPUT SIZE=35 VALUE="" NAME=" "$&:lt;a>">
>>127 <INPUT SIZE=35 VALUE="" NAME=" "$<a>">
コレはエンコードといわず文字参照をつかいます。
<INPUT SIZE=35 VALUE="" NAME=" "$<a>">
みたいな・・・ そもそも、こうしないとhtmlとしては文法エラーですがね・・・
文字参照自体は、htmlで表示する際にブラウザで該当する文字コードに変換される物で、気にする必要はありません。
文字エンコード
<INPUT SIZE=35 VALUE="" NAME="あああ">
もしくは
<INPUT SIZE=35 VALUE="" NAME="%82%A0%82%A0%82%A0">
等は、cgiでで変換する処理を入れてあるので漢字コードに関しても普通は気にしなくてもよいはず。
但し、自作cgiでは処理を自分で作る必要がありますが・・・どのレベルで話をしてるんでしょうか?
多くのレスありがとう御座います。
>>132 >cgiでで変換する処理を入れてあるので
エンコードを居れた覚えはありません…自分のなんです。
出力文はCGIより出力されます。送信先もGGIです。
なお、私のみが使えればいいのでIEにてフォームのnameがエンコードされるかどうかを正確に知ればそれで満足です。
>>128 ええ、間違いのご指摘は十分承知しています。
ですが他ファイルとの互換のため2バイト文字を使わないとならないんです。
使わないと記述量が膨大になって入力だけで数日かかりそうなんで…。
>>131 実は今気付いたのですが、私もやられてました。
<INPUT SIZE=35 VALUE="" NAME=" "&nbsp;”$lt;">
実はこんなふうに書いた記憶が…。
134 :
133 :03/04/04 05:04 ID:???
…突然ですが書いてる途中で思い出しました。 read(STDIN,$decode_post,$ENV{'CONTENT_LENGTH'}); $decode_get = $ENV{'QUERY_STRING'}; $decode_reach = $decode_post . '&' . $decode_get; foreach $decode_pair (@decode_pairs){ ($decode_name, $decode_value) = split("=",$decode_pair); $decode_value =~ tr/+/ /; $decode_value =~ s/%([0-9A-Fa-f]{2})/pack("C",hex($1))/eg; $form{$decode_name} = $decode_value; } 私日頃から上記のデコードで万事うまく行ってます。(自作ですが変じゃないですよね…?) 中身はデコードしてるのに変数名はデコードしないでうまく行ってるって事は、 初めからブラウザのフォームのnameはエンコードしていないって事では…(?) ところでこんな下らない事でこんな長々とすみません。一言で答えが返って来ると思いこんでましたのでついつい下らない質問をしてしまいました。 実際にブラウザから送信してなにが表示されるかちゃんと確かめます。 アホな質問すみませんでした。
>>134 まあその書き方だとname属性はエンコードされていないことを前提にしてるね。
それはともかく、
>ですが他ファイルとの互換のため2バイト文字を使わないとならないんです。
>使わないと記述量が膨大になって入力だけで数日かかりそうなんで…。
の意味がさっぱり分かりません。
<INPUT SIZE=35 VALUE="" NAME="aaa">
としておいて、
$form{'aaa'} = $form{'あああ'}
とかでもいいんじゃないでしょうか。
>>135 逆でした。
$form{'あああ'} = $form{'aaa'}
ですね。
137 :
126 :03/04/04 11:28 ID:???
あああ…
>>126 の最後の行で書いた、エンコードは、URLエンコードっていう意味ではなくて、
実体参照で書く、ということ。わかると思ったんだけど。。
まあ用語は正確にってこった。 初心者相手だと分かり易くしたつもりが余計混乱させることになることが多々ある。
>>138 激しく同意。
健全な技術は健全な用語から。
確かにそうかもな。 正確な用語で説明して、わからなければググらせればそれも勉強になるし。
>>140 知識のリンクにも有効だ。
ADSL8MとかATA133は133Mとか書いてる奴が両者の速度を比較することはできない。
ログイン・ログオンなどについて熱く語ってるサイトあったら教えてください。 ヤフーのログイン・ログオンはどういう仕組みなのかな?
>142 検索すれ。 >138 禿胴。 最も厄介なのは用語を誤解して覚えてる人間。 それを生むようなのは避けなければならない。
145 :
nobodyさん :03/04/05 14:28 ID:WfuJAlpa
CGIと関係ねー
147 :
nobodyさん :03/04/05 15:36 ID:bE7hV9qb
質問があります。 2ちゃんねるのような、スレッド式の掲示板ってありますよね。 こういうのって、鯖に負荷がかかりやすいって聞いたんですが、 どの程度でしょうか? 実は、プロバイダの自分が持ってるHPスペースに そういう感じのBBSを設置したいんですが まずいでしょうか? 削除されたり、勧告が着たりしますか? 考えすぎでしょうか? 実際、配布もされているんですし、実際にプロバのスペースに設置して 大丈夫だった人とかいますか? 本気で考えているので、どうかアドバイスお願いします。
>>147 2chは負荷を抑えようと努力している。
1スレ1ログだからある程度負荷は抑えられるはず。
KENTのYY-BOARDみたいな仕組みで2chみたいにたくさんの書き込みがあったら高負荷。
それにHTMLファイルを作成して表示してるから表示に関する負荷はある程度抑えられる。read.cgiはともかく。
2chブラウザ使ってればログに直接アクセスするから負荷は抑えられる。
っていうかスレ違い。
149 :
nobodyさん :03/04/05 16:28 ID:HO0gBXG3
>>147 そのBBSに一日に数万アクセスあるなら問題かもしれんが、
数百アクセスなら問題ないと思う。
また、プロバから韓国が来たら、そんとき削除するか、対応すればいいと思う。
<丶`∀´>カムスハムニダ
>>147 自作CGIなどの設置条件の説明がどこかにあるだろ
それでもわからなければプロバイダに聞けばいいのに
153 :
nobodyさん :03/04/07 00:52 ID:X1gprvgQ
WinXPでApacheとActivePerlをインストールしました。 ローカルでCGIの動作確認しようと思っているのですが、 ファイルがForbiddenになってしまいます。 どうやってアクセスを許可すればよいのでしょうか、お願いします。
>>153 そのCGIが直アクセスを禁止する機能を持っているとかじゃなく?
155 :
nobodyさん :03/04/07 01:10 ID:clRraWao
質問させてください。 掲示板で、設定などを書き込んだファイルをブラウザで見れないようにしたいのですが、 拡張子「.cgi」にすれば、見れなくできると聞きました。 で、試しに.cgiにしてみると、確かにエラーが出て見れませんでした。 しかし、本当にこれで良いのか心配です・・・ 拡張子.cgiファイルは、どうやっても見れない物なのでしょうか? よろしくお願いします・・・。
156 :
マリモーマ ◆r6PDGT6Xd2 :03/04/07 03:26 ID:APDWYkFj
はぁ? .cgiは 見れるけど? .htaccessの間違いか?
157 :
マリモーマ ◆r6PDGT6Xd2 :03/04/07 03:29 ID:APDWYkFj
書きもれた .htaccessで 設定できたはず まだ方法は いろいろあるが
>155 最悪そのままにするしかない。 次善の策として、.htaccessでアクセス制限がかけられるなら、 それで制限すればいい。これができるかはプロバイダというか、 ホスティング会社次第。 本来は、要求されるとhttpdが見せてしまうようなディレクトリに、 見せたくないファイルをおいているのが間違い。 public_html より上の階層とかに置くべき。
httpdの外に置く > htaccessで読み取り不可 > 暗号化 > 拡張子cgi > 予測不可の名前 > 適当に名前を変える >>> K○NTの御心のままに て感じなのかな。途中の順番が怪しいな...
>>156 見れるか?
ファイルをテキストとしてだぞ?
見れる方法があるなら、教えてほしい。
161 :
155 :03/04/07 04:40 ID:clRraWao
>>156 >>158 >>159 レスありがとうございます!
一応・・・完成したら配布とかもしたいなぁ〜と考えてます。
なので、汎用性のあるようにしたいのです。
そうなると、やっぱり・・・拡張子.cgiが一番良いのでしょうかね・・・。
パーミションを落とされると、見られる可能性あるわな。 ま、そこまでやられりゃ法に訴える手もあるわけだが。
163 :
マリモーマ ◆r6PDGT6Xd2 :03/04/07 07:12 ID:APDWYkFj
>>160 .cgiて パーミッションを 755にしたら 実行されるはず なにか 勘違いしてるのかな?
164 :
153 :03/04/07 08:26 ID:???
>>154 はい、Hello Worldのようなものですが、.htaccessを設定すればどうにか
なるでしょうか?
そりゃどうにかなるでしょう。
166 :
nobodyさん :03/04/07 09:32 ID:B7NjPx7M
掲示板に張られたURLのref隠しというか、 2ちゃんみたいに いったんどこかのアドレスを経由させる 方法はどこかに出ていますか? (全部imeなんとかになるよね) 2ちゃんスクリプトのスレかどこかで見た気がするけど、 わからなくなった。
単にリンクの途中に ime.nu を突っ込んでるだけだろ
168 :
bloom :03/04/07 09:40 ID:x0IiN6fK
>>161 基礎もわからんやつが、作ったものを配布なんて考えるな。
>>170 いや、スルーの目印になるから別にいーさ
174 :
nobodyさん :03/04/10 10:12 ID:9A9ivQFe
>>167 みちのくを改造しようと思うのだが、オートリンクを書き込んでる場所が
わからないのだ。
見つかったら、line = s/見つかったアドレス/書き込まれたアドレスの"
http:// "を削って頭に"<a href="
http://ime.nu/$ナントカカントカ ">削る前の$なんとかかんとか</a>/g
みたくすればいいんですよね??
場所を見つけるだけで苦労している漏れは前途多難なの。
175 :
nobodyさん :03/04/10 10:13 ID:9A9ivQFe
176 :
nobodyさん :03/04/10 10:16 ID:9A9ivQFe
>>173 別ページへ飛ばして、location にアドを書き込む?
そうするとそのページのurl しか ref に残らない?
それでもいいけど、飛ばすために書き換える段階でコケテマス。
form でアドレス渡したり大変そうだし、飛ばす先のページも
cgiで書いとかなきゃいけないよね(これが大変なので、
ime.nuへただ乗りしようと言う算段なのだ。個人サイトだから
年に何回アクセスがあるか数えられるほどだから許せる?)。
>>174 みちのく落とす気無いのでとりあえず grep 使えば〜?
178 :
nobodyさん :03/04/10 10:20 ID:9A9ivQFe
>>176 でも、このやり方の方が本体をあまりいじらずに
済むなぁ……。
連続カキコ、スマンソン。
179 :
nobodyさん :03/04/10 10:25 ID:9A9ivQFe
>>177 フォームで受け取ったレス内容は$comment に格納される
んだけど、途中messageになったり、
aタグいれるときには$1ってローカル変数? に
いったん入ったりして、ニワカ改造者にはわかりにくいんすよね。
grepしなおししてるうちに訳がわからなくなるのよ。
一遍全部処理の流れを紙に書くとかしないと????
しかもその場所でアドレスを正規表現でチェックしてたりするので
(なら見つけてるじゃんと突っ込まれる? 自信ないの)。
「不可視ON」ってコメント入ってる場所<みちのく使いの方。
180 :
nobodyさん :03/04/10 10:43 ID:hn2nL/9a
grep href * | grep '=~' | grep ... と、思い付いたキーワードをどんどん追加してきゃ、かなり絞り込めるんと違う?
>>181 それ以前に正規表現の勉強したほうがいいんじゃないか?
>>182 え?それは俺(181)に言ってるのかな…
186 :
nobodyさん :03/04/10 12:18 ID:JDxUoo5t
保守age
187 :
nobodyさん :03/04/11 14:59 ID:oWKH4H98
フォームで入力した値をsendmailを使ってメールで送信するスクリプトを使ってるのですが、 受信したメールの、一行の文字列が約2000バイト近くになると一部文字化けして、 以降約2000バイト毎に一部文字化けがはいっていくのですが、 一行に収められるテキスト量に限界があるんでしょうか? sendmailでメールを送信する直前にメール本文をprintでブラウザに表示させて確認しても 問題はないようなので、送信時に文字化けがおこってる様なのですが。 #使ってるスクリプトはperlで、ヘッダのエンコードの指定等もちゃんとやっていて #一行のテキスト量が上記の容量にならなければ問題は起こってません。 #JISコードで7bitを指定してます
>>187 ブラウザ上で確認しただけで満足せずに、テキストに落とすとかしてくれ。
文字化けってどう確認してんの?使ってるMUAが腐ってるとかは?
ここらに問題が無けりゃ、CGI の話じゃないのでは?鯖の管理人に聞いてくれ。
>>187 CRLFを含めて1000バイトまでです。(これはメールサーバの制限)
読むクライアントは80字までしかサポートしていない可能性もあります。
いずれにしてもそんな長すぎるのは非常識です。
>>189 げ、知らなかった。ありがとん。
探してみたら、RFC 2821の4章にありますた。
今時1000バイトじゃ何もできん。
193 :
191 :03/04/11 15:34 ID:???
思いっきり勘違いした。 "一行が"1000バイトまでね。おかしいと思ったよ。。。
194 :
191 :03/04/11 15:35 ID:???
添付ファイルの内容を暗号化したものが数文字で改行されているのはそのため?
>>188 書き忘れてましたがファイルに出力等もやりましたが問題なかったです
>>189 やっぱりメールサーバの制限だったんですね、
非常識だとは思うんですが、自分がメールを受けるので
それでよしとしてました
テキストに落とし込んで添付ファイルとしてうけとることにします。
こういう仕様はなかなか何を調べればよいのかわからなくて
190で出てるRFCなるものを調べるとよいのですか?
さておきありがとうございました。
>>187 関係ないが、古いjcode.plにバグがあって、
一度に2,048byte以上処理しようとすると文字化けする現象があったような気がする。
記憶違いかな?
199 :
nobodyさん :03/04/12 08:55 ID:khJ44NHi
「wwwsech」で、検索結果をたくさん表示させたいんですが、どこをどういじくったらいいですか?
201 :
nobodyさん :03/04/13 12:07 ID:cbDOB3ut
CGIかPerlのどちらで質問していいんかわかりませんからいちおうこちらでやります。 ちがっていたらごめんなさい。 CGI-Perlで日記かいてます。 ログファイルに書き込む時、">>log.dat"っていうふうに追記でやってるんですけど いちど全部読み込んで追記してあらためて書き出すほうがいいんですかね。 いちおう書くのは俺ひとりで読むのは友だち数人ていどなんで ログファイルが飛ぶってことを心配しなくていいですよね。
>>202 >いちおう書くのは俺ひとりで読むのは友だち数人ていどなんで
>ログファイルが飛ぶってことを心配しなくていいですよね。
俺の言えることはお前が糞プログラマだってことだ。
>>203 >俺の言えることはお前が糞プログラマだってことだ。 そうです。 だからきいてるんだけど。
>>202 飛ぶ(消滅する)ことは無いかもしれないけど、同時に書き込みが発生して壊れたり、
不完全なものが読まれたりするかもしれない。
>>206 ありがとうございました
>>206 >同時に書き込みが発生して壊れたり
書き込むのは一人なんだから自分が送信ボタン連打したりしなければ大丈夫なのであ?
>>208 書き込みと表示のための読み込みが重なることを考えないと
>>209 >>208 では>不完全なものが読まれたりするかもしれない
については言及していないのであ?
>>210 うむ。
> 不完全なものが読まれ
る可能性を無くすためには、
ちゃんとロックを使って、書き込んでいる途中では
だれも読み込むことが出来ないようにしないとまずいね。
> いちど全部読み込んで追記してあらためて書き出す
ようなことは、ファイルの最後にデータを追加したい場合に限っては
必要無いんじゃないかな。
追記でかまわないでしょうね むしろ上書きのほうがちゃんと処理しないと危険だし
>>211 >だれも読み込むことが出来ないようにしないとまずいね。
Readは共有ロックで良かろう。
データが崩れてもリロードすればいい話。
>>212 事実関係の裏付けも含めて論理的に説明してくれ。
くずれているとはんだんできないようなくずれかたもあるかと。
215 :
nobodyさん :03/04/14 08:38 ID:qRV7URan
質問させてさせて下さい。 The roomのランキングスクリプトを利用しているのですが 総合カテゴリーを作成したいのですがうまくいきませんでした。 なにか良いアドバイスを頂けませんでしょうか。。
>>215 作者に聞きなさい。
その際、何がどううまくいかなかったのか、をちゃんと述べること。
217 :
nobodyさん :03/04/14 09:44 ID:qRV7URan
216さんご解答ありがとう御座います。 作者様にこの件に付きましてお尋ねしたのですが ご返答の方が頂けず。。。もし同じスクリプトを使用している方が おりましたらとおもい今回の書込みさせて頂きました。 まだ私はCGIを勉強し始めた初心者で皆様のお知恵を拝借したく。。 何卒よろしくお願い致します。
>>217 ↓読んでねーだろ?
>その際、何がどううまくいかなかったのか、をちゃんと述べること。
219 :
nobodyさん :03/04/14 10:07 ID:qRV7URan
216さんご解答ありがとう御座います。 作者様に何度か詳しく訪ねてみたのですがご解答の方が 頂けなく。。そこで皆様にお知恵を拝借させて頂きたく書込みさせて頂きました。 CGIをまだ勉強し始めた程度で改造の仕方等が明確に出来ません。 どうかご助力頂きたく存じ上げます。
220 :
nobodyさん :03/04/14 10:13 ID:2hUYWHgK
パンパン パンパン パンパン パンパン パンパン パンパン
/ ̄ ̄\/ ̄ ̄\/ ̄ ̄\/ ̄ ̄\/ ̄ ̄\/ ̄ ̄\/ ̄ ̄\
| ・ U | ・ U | ・ U | ・ U | ・ U | ・ U | ・ U |
| |ι | |ι | |ι | |ι | |ι | |ι |
/ ̄ ̄ ̄ 匚 匚 匚 匚 匚 匚 匚 ヽ
| ・ U \ \ \ \ \ \ \ ) ))
| |ι \ ノ \ ノ \ ノ \ ノ \ ノ \ ノ \ ノ
U||  ̄ ̄ |||| || || || || || ||
AVと玩具買うならここでつよ
http://lovetec-jp.com/
>>213 では君は上書きをどうやるか書いてみてくれ
>>219 なるほど、俺らに詳しく述べる必要はねーってことか。
チャンチャン
223 :
202 :03/04/14 19:59 ID:???
みなさんありがとうございます。 俺の場合追記でかまわないみたいですね。 書き込んでいる途中でだれも読み込むことが出来ないようにするため 「Readは共有ロックで良かろう。」これをするんですね。 どうやってこれをするのかわかりませんが 検索したらいっぱいヒットしたのでできるとおもいます。 ほんとうにありがとうございました。 まだ議論が続いているみたいなので 参考にします。
224 :
nobodyさん :03/04/14 20:10 ID:ZEuZsw6w
cでcgiを書き始めたのですが、 例えば、<input type="chekbox" name"@" ...> @の部分を動的に設定する方法を教えてください。
>>224 printf("<input type=\"checkbox\" name=\"%s\" ...>",value); /* valueはchar *かchar [N] */
226 :
225 :03/04/14 20:26 ID:???
CでCGIプログラムを書くときは、隣接する文字列リテラルはひとつに連結されるということを覚えておくといいよ。
>/* valueはchar *かchar [N] */ char *value; value = NULL; printf("<input type=\"checkbox\" name=\"%s\" ...>",value); /* valueはchar *かchar [N] */
#ifdef NULL #undef NULL #endif #define NULL "safe"
230 :
nobodyさん :03/04/14 20:49 ID:ZEuZsw6w
>>227 ちょっと聞き方間違えました。
HTMLの質問になってしまうんですが、HTMLでそれを
動的に(変数に入れてみたいなでもいい)ヤルことできますか?
>>230 できる。そういうロジックを書け。探せば何かあるかも知れんが。
232 :
nobodyさん :03/04/15 23:40 ID:h6mkATP2
アクセスカウンター作って、みんなに無料でレンタルするのって、5MBの容量のcgiサーバーで 大丈夫でつか?たぶん無理っぽい予感
>>232 無理です。レンタルカウンタには最低でも2GBは必要です。
235 :
232 :03/04/16 00:01 ID:uR91FW4B
やっぱりっすか。ウンコーー cgi自体を提供することは大丈夫ですよね? やってしまえばそいつらが勝手に自分のサーバーに設置してくれるということで。
>>235 微妙。提供するには最低でもPentium4 2.0GHz以上とGeForece3相当のグラフィックカードが必要です。
Oracleも必要ですので、購入してください。
237 :
232 :03/04/16 00:22 ID:g3p2EJXO
まじで?グァァァァァいじめだな。 てことは例えば秘密屋っていうサイトは数十ギガバイトのサーバーを使っているってことですか? すげぇなぁ。 提供についてはもうちょっと悩んでみます。
Pentium4 2.0GHz以上とGeForece3相当のグラフィックカードが無かった頃は 無料レンタル屋って無かったよな〜。
239 :
232 :03/04/16 00:41 ID:g3p2EJXO
もうひとついいっすか? 提供するのに、何でそこまで早くなければいけないのですか? プログラムをアゲルだけだから、遅くてもいいのではないのですか? まじで初心者質問すみません
無理やりレジストリや/procをいじって、必要スペックに見せかけてた頃が懐かしい。 一応動きはしたが、ありゃひどかったな。メンテ要員が24時間体制で見張ってないと いつ落ちるかわかったもんじゃない。
>>239 自分でよく考えてごらん。分からなかったらまだ提供するレベルに達していないってことだ
242 :
nobodyさん :03/04/16 01:23 ID:yhKtC7fc
>>239 提供する側のpcの性能がcgiに自動的に埋め込まれるので
速いマシンじゃないと提供された側が迷惑するよ。
2.0GHzとまではいかないが、1.5GHzは絶対必須。
>>242 そんな程度のマシンでもまともに動かせるほど軽くなったのか。
>>243 いや、omoikaneシステムのおかげだよ。
245 :
秘密屋 :03/04/16 14:12 ID:j9DCcfuo
>>237 ちなみにウチのサーバーは
PenV933×2
RAM1GB
HD40G×2(一台はbackup用)
てなトコです。
>246 自分でどこまで調べたの? >IE6では、クッキーに関するフォーマットの問題から(?) って判断した理由は? 全部他人に面倒見てもらう気なの?
248 :
山崎渉 :03/04/17 12:00 ID:???
(^^)
>>246 KENT氏のを見ればわかると思いますよ。
>>250 後cookie使う奴とかもあるけどな。まぁ、一般的。
252 :
山崎渉 :03/04/20 06:00 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
叩かれ覚悟で質問です。 yy-bbsを使っているんですが、書き込みをすると Write Error : ./past/1.dat とエラーがでます。修正方法を教えてください。
( ゚д゚)、ペッ なめとんのか!
255 :
253 :03/04/20 23:30 ID:???
失礼しました。 今まで書き込めていたんですが、急にこんなエラーが出たもので… どうやらここは自分が書き込むような領域ではなかったようです。 申し訳ありませんでした。逝って来ます。
つうかまず作者に聞いてくれ。
よく掲示板などで、前もってIDとパスワードが入力されていると、 次にID入れると自動でパスワードが"*****"表示されますよね。 それってどういう仕組みで実現されているんですか? 不思議で夜も眠れません。 諸先輩方にぜひとも教えていただきたいと思います。
>>257 一般的にはcookieを使うことが多い
259 :
nobodyさん :03/04/21 16:05 ID:Xfd3cX7/
IEのオートコンプリートじゃないの?
>>260 それはサーバーサイドからだと操れないだろ。。
<input type="password" name="ayaya">
263 :
nobodyさん :03/04/22 00:39 ID:HIsIiXvD
ほんとにくだらない質問なんですがcgiのカウンタってあぼーんしやすいんですか? 今日自分のページにひょんな理由から4000人も来てしまったので、一日で 自分が確認したかぎり10回近くカウンタがあぼーんされてしまいました。 phpのカウンタに変えたほうが安全なのでしょうか?
>263 連打するとすぐ壊れる。 鯖が脆いとすぐ壊れる。 作り方が下手だとすぐ壊れる。 排他処理スレに行ってらっしゃい。
>>263 PHPもCGIなのだが?
PerlのカウンターからPHPのカウンターに変えようか?って事か?
なぜ、PerlよりPHPの方が安全と思うのか謎だな。おい。
ちゃんとしたカウンター設置しろ。
>>265 flockがシステムコールたたきじゃないだけうれしいが。
267 :
nobodyさん :03/04/22 06:24 ID:JaL9nDaC
WInでActivePerlつかってるんですが、たとえばこんなプログラム作るでしょそして # hello.cgi -- ダミー版 print "Content-type: text/html\n\n"; read(STDIN,$str,$ENV{"Content_LENGTH"}); print<<EOF; <body bgcolor="silver"text="navy"> <h1>CGI TEST</H1> length:$ENV{Content_LENGTH"}<p> date:$str<p> __EOF__ これを実行すると本当は$ENV{"CONTENT_LENGHT"}のところが数字に変わるはずなんですが、結局このように表示されます。 なぜだかわかりません。だれか教えていただけませんか? # hello.cgi -- ダミー版 print "Content-type: text/html\n\n"; read(STDIN,$str,$ENV{"Content_LENGTH"}); print< CGI TEST length:$ENV{Content_LENGTH"} date:$str __EOF__
>>267 httpサーバの設定がおかしいというかなされていない。
>>267 サーバーの設定がされてないだけだね。
だからCGIとしては実行されず、単にソースが表示されてるだけ。
Apacheとかのサーバソフトは入れてる?
PerlだけじゃローカルでCGIは動かせないよ。
まあ、このスクリプト自体、実行しても「ヒアドキュメントの終端がねえぞゴルァ」って
怒られるわけだが……
ちょっと混乱してしまったので質問させてください。 自分で鯖を立てて、(Apache/1.3.27 (Win32) PHP/4.3.1 mod_gzip/1.3.26.1a) とある2chブラウザ対応のPerl掲示板を設置したんですが、 datファイルがShift_JIS+CRLFになってしまいます。 実際はLFでないと、かちゅ〜しゃなどは読み込んでくれないらしいのですが、 LFで改行させるにはどうしたらいいのでしょうか? スクリプトはShift_JIS+CRLFで書かれており、 dat書き込みの際の改行は"\n"が使われています。
>>272 datファイルがCR+LFになってるだけでしょ
275 :
nobodyさん :03/04/22 13:46 ID:JaL9nDaC
たくさん教えていただいてありがとうございます。 大文字と小文字が区別されるとかhttpサーバーを設置するとかEOFのこととか 注意してまたやってみたいとおもいます。
276 :
nobodyさん :03/04/22 13:50 ID:JaL9nDaC
それとね、EOFのことなんですが、色々(何パターン)かやってみたんですが、
僕の使ってる環境では、__EOF__じゃないとそのソースすら表示されないんですね。
だから最後は__EOF__にしてるんですが、だめですか?
>>267 >>275 の続きなんですが・・・
>>273 ファイルの改行コードに合わせてコードって決められるんでしょうか?
とすると、新スレ立てたときはかならずCRLFで改行されることになるんですが、
これをLFでファイル出力するにはどうすれば良いんでしょうか?
>>276 だからEOFと__EOF__は別物だって。
ヒアドキュメントの終端文字は同じものを指定する。
表示されないってちゃんと動く環境を整えていないんだから当然でしょ。
>>277 Winの\nは0D0A
UNIXの\nは0A
Macの\nは0D
\nを0x0Aに書きかえろ
280 :
nobodyさん :03/04/22 14:28 ID:JaL9nDaC
>>278 ってことは上に書いてあるもうひとつも__EOF__にしないとあかんってこと?
>>279 なるほど。
\nは環境に合わせて改行コード吐くんですね…。
だから、UNIXではCRLF吐くのに\r\nを使うと…。
わかってきました。ありがとうございます。
>>280 そう。
print <<EOF;
は「EOF」が出てくるまでprintするって意味
つーかそんなことも知らんでperl書かない方が・・・
まぁもうここで質問しないで、調べてね
>>280 そう、先頭と末尾は同じ語。
なお、__ で囲んだいくつかの語で別の内容に置き返される特殊文字列が
あるから、わからないなら__をつけない語にしといたほうが無難。
284 :
nobodyさん :03/04/22 16:04 ID:JaL9nDaC
287 :
nobodyさん :03/04/22 17:15 ID:JaL9nDaC
ってかちょっと聞いただけやんけ!! ちなみにもう答えてもらわれへんやろ〜けどDOSやとちゃんと行数とDATE入る 欄が出来た。 ホームページビルダーのプレビューでは相変わらずソースの表示になる EOFも書き換えたしソフトも入れたスペルチェックもしたなぜ?
>>287 httpdの設定が必要。
設定の仕方は板違いなので自宅サーバ板にどうぞ。
怒ると語調が変わるようなヤシにはかかわらんほうがいいな。 たぶん実生活でも、いざとなったら脅せばなんとかなると思ってるだろうから。
>287 ちょっとでも聞くな
293 :
nobodyさん :03/04/22 20:12 ID:JaL9nDaC
お前ら全員しね お前らこそまともに人と話せん電脳オタクどもが。。。
おたくねぇ。どうなんだろ。
あれだね・・・ 仕様書読まないで脳内仕様ではなしをすすめるやつってことか・・・ んな奴にパソコン使ってほしくないのだけどど、多いのよね・・・
296 :
nobodyさん :03/04/22 22:51 ID:JaL9nDaC
あんさ〜そんな俺に文句ゆってたのし〜か? 俺がなにしたちゅ〜ねん!! ちょっと質問しただけやんけ!! それとしゃべりかたは俺は関西の下のほうやからもともと柄悪いんじゃ 悪かったな。 ヲタクども氏にさらせ
久々に笑った。 楽しいひとときをありがとう(^▽^)
>>296 文句じゃない、馬鹿にしてるだけ
馬鹿にされたくなかったら勉強せいや・・・
( ´ー`)y-~~ 世の道理だね
ちょっと煽られてキレてるボクがいてるスレはここですか?
なんで切れたのかよー解らんけどな・・・
ヒサヤ大黒堂
303 :
282 :03/04/23 00:30 ID:???
俺も大阪の下の方で、もちろん柄悪いとこにすんでるけど、 ネットで、しかも人に教えてもらおうって時にそんな口の利き方しない。 口の利き方もわからんやつがcgiなんかやろうと思ってくれるな
こうして勝ち組と負け組に分かれていくんだなぁ…
305 :
nobody :03/04/23 04:28 ID:1ax7sgjZ
age
めちゃめちゃワロタ!!
寝てる間に皆で楽しみやがって!
はいはい すいませんでした〜 って嘘じゃヴォケ
>>308 他人のアドレス晒すのは覚悟の上なんだろうね?
消防はほっとくに一票
ほっけ〜
あほぼけかす〜 っておんなの子に言われた仄暗い過去・・・
なすかす〜 続きはこうかな?
天カスは好きです
$a='&It;font color=red&gt;'; を<font color=red>に変換したい場合どう書けばいいでつか おねげえします・・ $a=~ s/&It;----&gt;/--/; という書き方を利用するのはわかりますがその先で行き詰まってまつ
>>315 $a =~ s/>/</g;
$a =~ s/</>/g;
参照してくれのな・・・ $a =~ s/&gt;/</g; $a =~ s/&lt;/>/g; これ
318 :
nobodyさん :03/04/24 17:50 ID:iCyLha++
>>316 ちょっと説明不足ですた
fontタグだけ<,>に変換したいのでつ
どうすたらいいものか
>>318 $a =~ s/&It;(font(?:(?!&gt;).)*)&gt;/<$1>/g;
じゃ、これなんか
320 :
nobodyさん :03/04/24 18:07 ID:iCyLha++
321 :
nobodyさん :03/04/24 18:16 ID:iCyLha++
>>319 すごいでつね
天才かも
でも&gt;を2ついれるのはなんででつか
いいですよ。。
>321 不思議に思ったら自分で調べてみるが吉。 それが勉強になる。 「?:」や「?!」の正規表現時の意味を調べてみるといい。 それから、&It;でなにをしたいんだ? &lt;じゃないのか?
>>325 やはり鯖の設定次第では危険なんでしょうか?
>>328 GIFのアクセスカウンタにしときます。危険なので。
とりあえず
>>322 ,324,327,329
の場合、SSIが危険とかじゃなく、お前みたいなのがCGIとかSSIを使う事の方が危険だと言っておく。
日本語でしっかりコミュニケーション取れるように頑張れよ。
>>330 そうですか?
でも、オンラインショップなど、多数手がけていますが何か?
SSI知らなくてオンラインショップ? 下手な嘘はやめようよ。こっちが恥ずかしい。マジで。
「手がける」だけだったらPCさわれない奴にもできる罠。
>>332 なんでSSI知らないとオンラインショップが作れないの?
別にそんなの必要なかったけど。
336 :
330 :03/04/25 10:14 ID:???
>>334 そんな知識もない(SSIは基本中の基本だ)、自分で調べる事も出来ない、
質問の仕方さえもダメで日本語がまともに出来ない馬鹿が、
まともなオンラインショップなんか作れるわけねーだろ。
ってこったろ。
>>335 例えの話だろ。
>>333 は
「PC音痴でも出来るから、
>>334-335 みたいな馬鹿でも「手がける」だけなら出来るんじゃないか?」
って
>>332 に言ってるだけだろう。
お前ホントに馬鹿だな。SSIとか勉強する前に日本語勉強しようネ。
>>336 日本語勉強しようネ。が口癖の人ですか?
まぁ定番ですね。
>>337 お前の国語力が無いだけだ。
馬鹿はとっとと失せろ。
>>338 実の無いレスばかりでうんざりしました。さようなら。
>>339 二度とこないでくださいね。さようなら。
342 :
nobodyさん :03/04/25 10:31 ID:biO0hI5G
>>341 釣りかしらん?
人間不信な今日この頃。
つくるより借りた方が早いです。
勝手にしろ。
楽しいバカが降臨してますな。ありがたや。
>>344 人を馬鹿にして楽しいですか?
最低ですね。
>>345 バカにしてないよ。自分で勝手にバカになってるだけじゃんw
↓CGIに関する質問をどうぞ。
352 :
nobodyさん :03/04/25 11:58 ID:GLeqJ9Wy
あげ
Apache1.3.27のmod_cgi.cの406行目から418行目がよくわかりません・・・ 誰か詳しく教えてください。
354 :
353 :03/04/25 12:01 ID:???
わりこまれちまった。 というわけで無かったことにして。
356 :
nobodyさん :03/04/25 14:29 ID:hzfR07a7
初心者の言う「作る」は「設置する」と読み替えないとダメだよ。
CGIごときでえばれるスレはここですか?
その、ごときを一から作ってみれ・・・・
↓CGIに関する質問をどうぞ!
>>360 作ってるっつーの。マジでえばってるよ。信じられん。
>>362 痛みに耐えてよく頑張った!
感動した!!
>>363 ∧_∧____
/(゚−゚*) ./\
/| ̄∪∪ ̄|\/
|____|/
威張ってるじゃなく、教えて君を馬鹿にしてるだけだろ。
>>322 =359とか。
普通に質問すりゃ普通に答えるさね。
普通ってなんだよ? おまえらを尊敬し、媚び諂う行為のことか?
>>367 自分でちっとも調べようとしない努力した形跡の無いヤツとか、
必要な情報を書かないヤツとか、
物事をまじめに考えようとしない馬鹿とか
にはマトモに回答が返ってこないって事。
よーするにお前みたいなヤツの事だよ。
>>367 別に媚びへつらう必要もないけど、おたくがいやだったら自分で調べればってだけのことじゃん?
で、質問が嫌なおたくはなんでここでグダをまいてるの?
( ´_ゝ‘)フーン
>>367 媚び諂うのが普通だと思ってるお前の頭は普通じゃない。異常。キチガイ。
ヽ(^▽^)ノ
>>373 ワラタ。ヤシは一日掛けて何をやってるんだ。
377 :
369 :03/04/25 18:48 ID:???
二度ばかり質問したのに答えが返ってこないのだが(ぉ
>>377 ヤシから回答貰うには媚び諂わなきゃダメなんだよ
380 :
369 :03/04/25 19:05 ID:???
>>379 どうして、媚びへつらうのが嫌だとおっしゃってるのに、
私の質問に答えていただけないのでしょうか?
↓CGIに関する質問をどうぞ!!
CGIって何ですか?
>>382 回答:ググってください
↓次の方、CGIに関する質問をどうぞ!!
384 :
282 :03/04/25 19:42 ID:???
>>383 「ググ」ってなんですか?perlかなにかですか?
>>384 回答:それはCGIに関する質問ではないので却下
↓次の方、CGIに関する質問をどうぞ!!
>>380 ヤシは自分が媚び諂うのは嫌だけど、他の人間が自分に媚び諂うのが普通だと思ってる真性DQNだからな。
残念だが諦めておけ。
>>384 ゲルググの略。
漢は!心とアソコにアッガイを持っている!!
女は!木馬でいたぶられるのを待っている!!
390 :
名無し :03/04/26 05:45 ID:???
いつのまにかなんでもありの喧嘩するスレなんったんか?ここ
あっ!!ごめんずれてた レス
#!/local/bin/perl これってUNIXんとき使うやん。 でさ〜Winときってかかんでええん?
393 :
動画直リン :03/04/26 06:29 ID:4lzrogLr
>>392 まず自分で試せ
別に書いといても問題無いでしょ
#!C:/perl/bin/perl.exe
>>390 おまえみたいのが来るからだよ。
AnHTTPdは入れられたのか?
>>395 放置しる
CGIに関する質問のみ相手すれば良い
>>395 あれ?なんかばれてるし・・・
いれたよ〜ん 快適に走行中です。
あんときわすまなんだな〜 ついか〜ってすんのが俺の悪い癖で・・・
まあ、仲良くやろうや
ってかなんでばれたん?
401 :
nobodyさん :03/04/29 19:43 ID:j97vjhfH
CGIの質問です。 1つのCGI(カウンター)を2箇所から呼び出すと、片方が固まっちゃったりしたことがあって 質問するのですが、jcode.plや画像ファイルは、複数のCGIから呼び出しても遅くなりませんか? ロックファイルはもちろん1個ずつですよね?
>>401 >ロックファイルはもちろん1個ずつですよね?
お前本当にロックの仕組み解ってんのかと小一時間
403 :
nobodyさん :03/04/29 20:11 ID:j97vjhfH
flockのファイルですよ? 排他ロックとかじゃなくて・・・
意味ねーじゃん
>>401 > ロックファイルはもちろん1個ずつですよね?
これは、jcode.plや画像ファイルに1個ずつロックファイルを用意するって意味か?
406 :
bloom :03/04/29 20:29 ID:23csOg+c
407 :
nobodyさん :03/04/29 20:43 ID:j97vjhfH
>>407 一応言っておくがここは作る人の板であって使う人の板ではない。
その例えば*.lockってロック用ファイルが、 何を役割を持ってるかってのはわかってるの?
死ねクズドモ
と、401のクズが申しております
このクズの誘導先はソフトウェア板?
413 :
282 :03/04/30 02:32 ID:???
屑に行き場なんてありません
まだ名前の残ってた俺も屑です
やはりクズだな クズ皿仕上げ
画像が化けちゃいます。なぜでしょう? int main(int argc, char* argv[]) { FILE *fp; int ch; fp = fopen("4.gif", "rb"); if (fp == NULL) return -1; printf("Content-type: image/gif\n\n"); while(1){ ch = fgetc(fp); if (ch == EOF) break; putchar(ch); } fclose(fp); return 0; }
大き目のjpegにしたら表示すらされません。なんで? int main(int argc, char* argv[]) { FILE *fp; int ch; fp = fopen("4.jpg", "rb"); if (fp == NULL) return -1; printf("Content-Type: image/jpeg\n\n"); while(1){ ch = fgetc(fp); if (ch == EOF) break; putchar(ch); } fclose(fp); return 0; }
宿題ぐらい自分でやれ それからこのぐらいの書き方覚えれ if (( fp = fopen("4.jpg", "rb") == NULL ) { return -1; } printf("Content-Type: image/jpeg\n\n"); while(( ch = fgetc(fp)) != EOF ) { putchar(ch); }
>>421 君みたいなレベルの人は何行にも分けて書けば?
>>420 なぁ、うまくいかないコードをそのままぎゅっと潰して書いたのには何か意味があるのか?
>>418 int main(int argc, char* argv[])
{
FILE *fp;
unsigned char ch;
fp = fopen("4.jpg", "rb");
if (fp == NULL) return -1;
printf("Content-Type: image/jpeg\n\n");
while(1){
ch = fread(&ch,1,1,fp);
if (ch == EOF) break;
fwrite(&ch,1,1,STDOUT);
}
fclose(fp);
return 0;
}
質問したまま忘れてました。たくさんレスどうも。
んで、
>>425 さんのをそのまま貼り付けてコンパイルしてみましたが
結果は同じでした。
Webサーバーの設定が悪いのでしょうか?
OSはWin2kPro Web鯖はAN HTTPDです。Apacheでも同様でした。
設定はほぼデフォルトです。
>>423 1行で完結しているコードも読めない人はメガネでもかけたら?
428 :
418 :03/05/02 17:33 ID:???
>>419 fgetc()もputchar()も引数はint型なのですが、intではだめですか?
429 :
418 :03/05/02 17:34 ID:???
430 :
418 :03/05/02 17:41 ID:???
ちなみに小さなgifだと問題ありませんでした。
431 :
418 :03/05/02 17:55 ID:???
どうも220バイト以上だと化けたり表示できなかったりするみたいです。
432 :
418 :03/05/02 18:26 ID:???
だめでした。(´・ω・`)ショボーン… int main(int argc, char* argv[]) { FILE *fp; char ch; fp = fopen("4.gif", "rb"); if (fp == NULL) return -1; printf("Content-Type: image/gif\n\n"); while(1){ if (fread(&ch,1,1,fp) < 1) break; fwrite(&ch,1,1,stdout); } fclose(fp); return 0; }
433 :
418 :03/05/02 18:43 ID:???
バイナリモードとかいうやつにしてみました。 だめでした。(´・ω・`)ショボーン… int main(int argc, char* argv[]) { FILE *fp; char ch; fp = fopen("4.gif", "rb"); if (fp == NULL) return -1; printf("Content-Type: image/gif\n\n"); _setmode(_fileno( stdin ), _O_BINARY); while(1){ if (fread(&ch, sizeof(char), 1, fp) < 1) break; fwrite(&ch, sizeof(char), 1, stdout); } fclose(fp); return 0; }
434 :
418 :03/05/02 18:44 ID:???
_setmode(_fileno( stdin ), _O_BINARY); stdoutでした。 できました。
435 :
418 :03/05/02 18:58 ID:???
完成しました。すばらしい。 int main(int argc, char* argv[]) { FILE *fp; int ch; _setmode(_fileno( stdout ), _O_BINARY); fp = fopen("4.gif", "rb"); if (fp == NULL) return -1; printf("Content-Type: image/gif\n\n"); while(1){ ch = fgetc(fp); if (ch == EOF) break; putchar(ch); } fclose(fp); return 0; }
436 :
: :03/05/02 19:03 ID:Pe0a1MwA
>>420 の書き方ってCでは有名でありふれた書き方じゃないのか?(^_^;)
>>437 一般的にはああ書くだろうな。
そうしなければいけないわけじゃないけど、可読性云々を持ち出すのは
ちょっと応用が利かないというか、読解力が足りないというか・・・
コーディングスタイルなんてどうでもいい そんなことを議論スレじゃない おまえら、あほか
二行目がおかしい おまえはあほか つられてみました
そんなことを議論するスレじゃない
つーか、
>>418 の質問にスパッっと答えられないこのスレのレベルって
stdoutの改行モードのせいだとは分かったけど、それに関するwindowsでの関数なんか知らないから。
>>443 いいわけすんなよ
int
とかfwriteにしただけとか
的はずれもいいとこじゃん。
しまいには、コードを詰めただけときたもんだ。
446 :
445 :03/05/02 20:46 ID:???
>>445 例えあんた一人わかっていたとしてもレベルが低いことに変わりはない。
置換演算子について質問です。 $dateっていうのが日時の変数で 2003年4月だったら → 20034 2003年12月だったら → 200312 のように月が1ケタだろうが2ケタだろうが "年+月" で作られるものだとします。 それを再び****年*月というふうに戻すのはどうしたらいいんでしょうか? $date =~ /^(....)(.)/; print "$1年 $2月"; ↑もちろんだめでした。 2ケタの月なると1月とか2月になります。 どうかご教授お願いします。
>>448 年の部分が4桁固定なら・・・・わかるでしょ?
// PerlスレでCGIの質問をする人が多いけど、逆もいるんだなぁ。
450 :
449 :03/05/02 21:02 ID:???
そういう問題じゃないのか。 .+でなにか一文字以上にマッチ
451 :
449 :03/05/02 21:04 ID:???
$y=substr($date,0,4); $m=substr($date,4);
453 :
nobodyさん :03/05/03 01:03 ID:w8OB8lWY
ファイルを読み込み、0と1行目以外をランダムで出力したと考えているのですが… 初めの使用は0行目以外をランダム出力でしたので、 下の様にしていました。 @logs = <FILE>; $rand = int(rand($#logs)); $rand = $rand + 1; print "$logs[$rand]"; 0と1行目以外をランダムするにはどうしたらよいのかお力をお貸し下さい。
454 :
動画直リン :03/05/03 01:10 ID:TBhkUsV+
455 :
369 :03/05/03 01:25 ID:???
>>453 @logs = <FILE>;
@logs = @logs[2 .. $#logs];
$rand = int(rand($#logs));
print "$logs[$rand]";
>>453 @logs = <FILE>;
splice(@logs,0,2);
print "$logs[int(rand($#logs))]";
ではまずい?
&error if @a <= 2; $index = int rand (@a -2); $index += 2;
1: nobodyさん 03/03/26 22:47 44KxXtaW CGIの運用に関する質問スレッドです。 ※CGIは特定の言語に依存するものではありません。 ※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
459 :
453 :03/05/03 14:35 ID:zFeuuQrE
>>455 >>456 ご返答ありがとうございました。
ところが、この後の処理で、
0行目と1行目とランダムで出力した行にカウント値を書き込むので、
@logsの0行目と1行目は削ることができません。
なにか良い方法はないでしょうか?
お力をお貸し下さい。
460 :
わか :03/05/03 14:52 ID:cui/PBhY
特定のポートが空いてるか調べるにはどうすればよいのでつか CGIでできまふか
>>461 なぜCGIで、ポートスキャンをしようとするんだ???
そういうソフト探してきて、自分のパソコンですればいい。
CGIでした所で、サーバに負荷を与えるだけ。
464 :
nobodyさん :03/05/03 16:15 ID:Ojvq+6lQ
シンプルで無料なアクセスカウンタありませんか?
466 :
464 :03/05/03 16:43 ID:???
467 :
nobodyさん :03/05/03 17:37 ID:Mcb8v76L
http://www1.neweb.ne.jp/wb/prof/ 平成15年度 自作板PC環境調査 最新結果(一部抜粋)
★4月分の結果が出ました。現在は5月分に移行しています。★
平均年齢 25.4歳
ネット(2ch含) 78.7%
ゲーム 59.0%
Windows XP Family 46.9%
Windows 2000 Family 34.4%
Athlon 45.3%
Pentium 4 29.7%
平均RAM搭載容量 780MB
平均HDD搭載容量 166GB
nVIDIA 49.2%
ATI 28.9%
DVD-R/RW/マルチ 20.4%
CD-R/RW 75.9%
光ファイバー 8.3%
ADSL/xDSL 64.5%
CRT 74.6%
LCD 25.4%
>>1 質問なんかねーよ!!
糞スレ立てるな!!!
これが噂の自作自演か・・・
471 :
nobodyさん :03/05/04 00:49 ID:t0ATog/r
だれか、まじでおしえてください。 ビンボサーバーでドメイン取ったんですが、CGIを どこにおくかがわかりません・・・。 どこにおけばいいですか?
>>471 貧乏の説明をよく読みましょう。
読んでもわからないならあきらめましょう。
これはマジレス
473 :
369 :03/05/04 05:28 ID:???
>>459 @logs = <FILE>;
@count = @logs[0 ..1];
@logs = @logs[2 .. $#logs];
$rand = int(rand($#logs));
print "$logs[$rand]";
@count のしょりとか
ushift(@logs,@count);
とかでどない?
# 一行目、二行目の取得
$first = <FILE>;
$second = <FILE>;
# ログの取得
@log = <FILE>;
# 表示する行の決定
$line = int(radn()*scalar @log);
# 行の表示
print $log[$line];
# countの処理
$first ...;
$second ...;
# ログの保存
print FILE $first;
print FILE $second;
print FILE @log;
>>473 よりちょっとだけメモリ効率がよくなった。
ま、たいしてかわらんとおもうが。
476 :
nobodyさん :03/05/04 15:44 ID:ZCOzJV+D
@log = <FILE>; # 表示する行の決定 $line = int(radn()*scalar @log); # ログの保存 print FILE $log[0]; print FILE $log[1]; print FILE @log;
477 :
453 :03/05/04 16:25 ID:81Mz2NEW
>>473 >>474 >>476 ありがとうございます。
なんとか下のように導き出していました。
0行目(カウント値A)と1行目(カウント値B)
2行目以降→ランダムで出力
chop(@logs = <FILE>);
$adn = int(rand($#logs + 1 - 2));
$adn = $adn + 2;
($a,$b) = split(/<>/, $logs[$adn]);
※$bはこの行のカウント値
print "$a";
$b = ++$b;
$logs[$adn] = "$a<>$b<>";
$x = "$logs[0]";
$logs[0] = ++$x;
:
教えて頂いた方法でも色々と試してみたいと思います。
478 :
動画直リン :03/05/04 17:10 ID:c6ZqX6LO
perlの話かもしれませんが、一応こちらで質問させていただきます。
ヤフーオークションで出品物が落札され、落札者に金額等のメールを送る際に、
LWP::Simpleで落札されたページを読み込み、落札者のメアドやID金額を得てテンプレに組み込めば、メールの作成がかなり楽になるのでやってみたのですが、
http://page*.auctions.yahoo.co.jp/jp/auction/********* とURLを入れてみても、ログインのページが読み込まれてしまいます。
しょうがないので現状はヤフオクの終了したページをローカルに保存しておいて、
<INPUT TYPE="file">にて保存したページを読み込んでやってます。
でも直に終了のページを読み込めれば楽なので、そうしたいのですが、
どなたか方法をご伝授してください。
485 :
479 :03/05/04 21:08 ID:???
>>485 一応マジレスしとく。
たとえ、URLを直打ちしても、クッキーは鯖に送られる。だから終了画面が出る。
従って、Perlのスクリプトでアクセスする時も同内容のクッキーを送る必要がある。
CGIのことではないんでそもそもがスレ違いなんだけれども、
ヤフオク出品者としては、終了分のページをコピペしてエクセルに貼り付けるのが一番早かった。
エクセルのピボットテーブル使って、誰がいくら落札したのかとかも簡単に出るしな。
そのデータをCSVかなんかにしてPerlで読み込んでメールの形に整形するのであれば、楽かも。
489 :
479 :03/05/05 05:24 ID:???
>でもヤフオクの「クッキー送れ!」をどう判断すればいいのかな? サーバからクライアントに能動的に働きかけることはできない。 って言うかRFC要参照。
>>490 ,
>>491 クッキーはクライアント側が送る件了解しました。
> スレ違いだと言うに…
今回はスレに合う話だといいんですが…
use LWP::Simple;
my $url = '
http://www.yahoo.co.jp/ ';
my $html = get($url);
これでどうやってクッキー送るの?ってのが今朝の段階。
今日仕事中ちょっと調べてみました。
LWP::UserAgentでなにやら参考になりそうなスクリプトが。
以下続く…
493 :
479 :03/05/05 19:23 ID:???
use LWP::UserAgent;
my ($req,$res,$html,$ua,$buffer,$request,$referer);
while(1) {
$ua = new LWP::UserAgent;
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)');
$ua->timeout(120);
$buffer = 'cid=9&mid=mSendVote&poll_id=344&cginh=1&cgint=1&vote=1&submit=Vot
ez';
$request = "
http://team.sports.com/cgi-poll/vote/vote.cgi ";
$referer = "
http://www.sports.com/fr/judo/ ";
$req = new
HTTP::Request POST => $request;
$req->content_type('application/x-www-form-urlencoded');
$req->content($buffer);
$req->referer($referer);
$res = $ua->request($req);
$req = new
HTTP::Request GET => $referer;
$req->content_type('');
$req->content('');
$req->referer($request);
$res = $ua->request($req);
$html = $res->content;
if ($html =~ /Nombre de votes: (\d+)/) { print $1."\n"; }
sleep 1;
}
494 :
479 :03/05/05 19:26 ID:???
この$buffer がクッキーにあたると思うのですが、違いますか? それに、無限ループのせいか$buffer、 $request、$refererを変更してみても動かない…
>>493 cookieの中身がわからんと送れないが
$req->header(Cookie => "name=value");
497 :
479 :03/05/06 19:55 ID:???
>>495 、
>>496 Thx!
でも、クッキーじゃ無理かも。
ローカルに保存されているクッキーをそのまま送ってもダメみたいですね。
クッキー見ても、漏れはname=valueなふうに出来ないから…
それに、クッキー晒すわけに逝かないから…
手詰まり。
498 :
479 :03/05/06 20:25 ID:???
皆様のおかげをもちまして、漏れのヘタレスクリプトからログインすることが出来ました。 クッキーを送ることばかり考えていて、ドツボにはまっていました。 クッキーを受け入れることを考えいればよかったんです。 ありがとうございました。
499 :
nobodyさん :03/05/06 20:56 ID:KEkb5AUG
$countの値を10になった時0に戻したいんですが、 $countの値がずっと増えつづけます これではだめなんでしょうか? if ($count == 10) {$count == 0;} よろしくお願いします.
ネタでしょうか。 $count = 0;
501 :
nobodyさん :03/05/06 21:46 ID:KEkb5AUG
すいません。ネタじゃないです・・・ ありがとうございました。 こんなネタ出してもしょうがないでしょ? 出すならもっといろいろ考えてくるよ〜
>>499 $count %= 10;
にしると条件文が減るでつ。
503 :
nobodyさん :03/05/07 15:26 ID:Lrc20pw6
Hi-HO のサーバで perl で書いてます。 たとえば CGI_Lite.pm の入ってないサーバでそれを使いたいとき、 他所のサーバでは、 unshift(@INC,"CGI_Liteを入れたパス"); use CGI_Lite; などとやれば出来たのですが、Hi-HO ではどうしても できないです。 誰かできた人いらっしゃいませんか? # 出来るところの方が少数派なのですかね。
require
506 :
503 :03/05/08 14:16 ID:g4D/vFQl
>504 これは私への解答でしょうか? require("...../CGI_Lite.pm"); これでいいの? 動作は同じ? >505 これらのサーバにも、非公式に perl5 入っているので、 みんなそっちを使っていると思う。
507 :
505 :03/05/08 16:32 ID:???
アホみたいな質問で申し訳ないですが、 20KB程度のテキストデータを、ただファイルに追記していった場合、 サーバに対して問題になるほど負担になりますか? (「問題になるほど」というのは曖昧ですが、共有サーバで追い出されるほど くらいの意味です。) また、20KBものテキストデータを追記するような処理を行った場合、 どのような問題が起こると考えられますか? (たぶん、データファイルからデータを読み込むときの方がサーバに対しての 負担で問題になると思うのですが、読み込みは行わないです。)
>>508 アホみたいな答で申し訳ないですが、
呼び出される頻度とサーバの性能によります。
>>508 ポインターが最後に来るから>追記の場合
新規に20KB書き込むのも
追記で20KB書き込むのもかわらないんじゃ?
>>508 20MBの間違いじゃないか?
20KBってちっちゃな画像ファイル程度だぞ。
512 :
508 :03/05/09 01:47 ID:???
なんか、ホント、アホっぽいですよね・・・すんません。
>>511 20KBであってるんです。問題ないですかね?
つまり半角で2万文字くらいのデータをFLASHからCGIに送って、
記録させるだけのことなんです。
>>510 あー、そうでした。
自分、いつも一回ファイル開いて、ソートとかさせて書き込んでるんで、
単に追記していく、って考えると軽い処理って印象だったもんで・・・
>>509 仰るとおりですね。すいません、ちゃんとした質問できなくて・・・
とにかく、ありがとうございました。
問題なさそうですね。
同時に複数箇所でFLASH実行すると、データ混ざるけど。 排他処理とかやり始めるとまた問題が複雑化するが・・・。
CGIでデータを下のように記録させたとします。これを$dataとします。 10<>15<>12<>14<>9<>13<>12<>6<>8<>12<>9<>6<>8<>12<>6 <>6<>9<>8<>10<>5<>8<>10<>9<>12<>8<>8<>8<>7<>8<>7<>7 <>5<>5<>5<>6<>7<>5<>6<>9<>7<>10<>5<>12<> CGIならばこれを$data[2]や$data[14]のようにすれば呼び出せるのですが JavaScriptではこのデータをどのように呼び出したら良いのでしょうか? 先頭から順番に呼び出せれば良いのですが。
>>514 CGIはインターフェースの通称で言語ではない。
JavaScriptのスレで聞いたら?
516 :
nobodyさん :03/05/10 18:25 ID:ZT6z8dPV
マルチパートを受け取るCGIを作りたいのですが、 そこで送られたファイルネームを取得したいのです。 Content-Disposition: form-data; name="test_file"; filename="D:\html\file\up\test.jpg" の部分のfilenameの値は、 ディレクトリの区切りの表現が、OSやブラウザによって文字が違うのですよね? どういったものが来ると考えられるのでしょうか???
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] ■グローバル探偵事務所
519 :
516 :03/05/10 19:44 ID:ZT6z8dPV
ふと思ったのですが、、 line.sub!(/^Content-Disposition: form-data; name="(.*?)"(?:; filename="(.*)")?\r?\n/, '') key = $1; filename = $2 として、既にいらない部分の削除と必要な値の取得を行っていたのですが、 実はこのコードが想定していないヘッダフィールドってあったりしますか??? ちなみにRubyで書いてます (^^;
もまいらしつもそです。 CGI/Perlで、csvファイルをzip圧縮したものを吐き出したいと思ってます。 #! /usr/bin/perl print "Content-type: application/x-csv\n"; print "Content-Disposition: inline; filename=ahya.csv\n\n"; print "hoge,hoge\n"; exit; でcsvの吐き出しはできたのですが、 これをzip圧縮して吐き出すにはどうすればいいでしょうか? ファイルをディスクに保存することなく、 上の様に直接ブラウザに吐き出したいのですが。 よろしくおながいします。
出力をフィルターにかける
522 :
369 :03/05/11 15:15 ID:???
>>520 おたくマルチレスしてなかった?
まぁ、いいけど一応理論上は、
#! /usr/bin/perl
print "Content-type: application/x-csv\n";
print "Content-Disposition: inline; filename=ahya.csv\n\n";
print "Content-encoding: gzip\n\n";
・
・
・
でgzipにパイプするとかつかったり、
Compress::Zlib::memGzipを使うなりするんだけど
IEの古いバージョン使うとバグ有るし、
通信状態悪いと内容化けるわで、おおよそ使い物にならんわ・・・
>通信状態悪いと内容化けるわで、 それ、TCP的に失格。
524 :
369 :03/05/11 15:34 ID:???
それ以前に、csvを圧縮して送ったとして、 それをブラウザーに出しても意味ないんでないだろうか?
525 :
520 :03/05/11 17:19 ID:???
>>522 しました。
スマソ…。
ZIPをブラウザに送ると
ダウンロードダイアログでますよね?
もちろん、MIMEタイプの設定はされてる前提で。。
それがやりたいのです。
CSVを出してもいいんですが、
容量がでかいとZIPで落とした方が速いので。。
gzipは
print "Content-type: application/x-gzip\n";
print "Content-Disposition: inline; filename=aheahe.csv.gz\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| /bin/gzip -1 -c");
print "test,test\n";
これでいけましたね。。
/bin/gzip -1 -cをZIP用に書き換えれば完了じゃないのか?応用が利かないやつだな。
527 :
369 :03/05/11 18:30 ID:???
zipにしたとして、アーカイブのファイル名とかどうなるんよ・・・ それ・・・
あぁ、Content-*を直してな。
print "Content-type: application/x-zip\n"; print "Content-Disposition: inline; filename=aheahe.csv.zip\n"; print "Content-encoding: zip\n\n"; open(STDOUT,"| /bin/zip -1"); これでいけない?
530 :
529 :03/05/11 21:48 ID:???
いけねぇ。。
531 :
nobodyさん :03/05/13 10:58 ID:SyWfQmCJ
年齢
532 :
bloom :03/05/13 11:10 ID:rppJJuu/
cssやjsファイルの中にSSIって埋め込めますか? htaccessは弄れます。 クライアント側にバレないようにサーバサイドで CSSやJSのUAによる振り分けがしたいんですよ。 htaccessでcssファイルもSSIっていうことにしたんだけど、 実際に埋め込む方法がわからない・・・。 <!--#cgi execではだめみたいです。
sageちゃったすみません
補足しておきます。 ====hoge.html==== <html> <head> <title>hoge</title> <link rel="stylesheet" type="text/css" href="hoge.css"> </head> <body> <h1>hoge</h1> </body> </html> ====hoge.css==== (ここにhoge.cgiをSSIで埋め込みたい) ====hoge.cgi==== #! /usr/bin/perl print "Content-Type: text/plain\n\n"; print "h1{color:red;}\n"; この3ファイルがあったときに、hoge.htmlを開くと赤い字でhogeと出れば成功です。 ちなみに、hoge.htmlの<link>のところのファイル名をhoge.cgiとすると成功します。 が、それではスタイルシートの変わりにcgiを呼んでいることがバレてしまいよろしくないんです。 また、htaccessでhoge.cssをhoge.cgiにリダイレクトさせても成功したのですが、 それでもhttpヘッダを見るとやはりリダイレクトしてることがバレてしまいます。 まあ普通はバレないとは思うのですが、SSIを使ってCSSの中に埋め込むことが出来れば完全に隠蔽できるのでぜひそうしたいのです。 難しい説明もがんばって理解しようと思いますので、どうかよろしくお願いします。
536 :
梨 :03/05/13 16:57 ID:TFqCBiSs
>>535 text/cssじゃだめ?
じゃなくて、まずはWebサーバの設定で
cssをssiとして読み込めるようにしなきゃいけないのでは。
>>536 もちろんやってますよ
>>533 で書きましたが。
ただ、cssファイル内にどう記述すればいいのかがわからんのです。
538 :
動画直リン :03/05/13 17:10 ID:rppJJuu/
539 :
533 :03/05/13 17:19 ID:???
すみません自己解決してしまいました。 cssファイルには、 <!--#exec cgi="hoge.cgi"--> と記述すればよかったようです。 さっきそれでダメだったのは、 鯖のmimeタイプにcssがtext/plainってなっていたからのようです。 htmlファイル、cgiのcontent-type、さらに鯖のMIMEタイプを どれもtext/cssで統一したらうまくできました。 梨さんがtext/cssじゃだめ?って言ったのは そういう意味だったのですね。ありがとうございました。 どうも私はMIMEに関する理解が足りないようです。 やったーこれで完全サーバサイドのCSS振り分けが完成しそうです。 ありがとうございました。
540 :
梨 :03/05/13 17:35 ID:???
>>539 あらあら。お疲れ様。良かった良かった。
説明不足&読み取り不足でごめんねー。
# SSIなんてまともに使ったこと無かったもんで、と言い訳。
いやいや、梨さんの「text/cssじゃだめ?」という一言が 糸口だったのは言うまでもないですよ。
542 :
nobodyさん :03/05/13 17:57 ID:V26ov8co
>>539 <!--#exec cgi="hoge.cgi"-->での出力を、
<link rel="stylesheet" type="text/css" href="hoge.css">
にして、.cssファイルは、各種、生ファイルで置いておけば?
SSIを複数にしたいときは、
<!--#include virtual="out_css.cgi?main" -->
<!--#include virtual="out_js.cgi?main" -->
というのも出来るし。
544 :
nobodyさん :03/05/13 23:34 ID:wfiXqtGC
CGIを使えば、ページタイトルを毎回違う名前で出せるらしいのですが、 どこにもそんなスクリプトが載っていません。 自分でCGIのプログラムを組む事ができない初心者ですが、どうかやり方を教えてくれないでしょうか。
>自分でCGIのプログラムを組む事ができない初心者ですが 帰ってください。
546 :
:03/05/14 03:48 ID:???
2ch型の掲示板って、なんで「スレッドフロート」って言うの? 英語でどう書くの? 和製英語?
Thread Float
浮動
550 :
:03/05/14 05:11 ID:???
初心者板へ逝け。
>550 googleとか使った事ないのか? 軽く検索かければそれらしいものが山ほどひっかかるが。 「スレッド フロート 用語」で検索かけるとそれらしいものが結構かかるし。
>>552 単に2ch型というだけで、何故にフロートなのかの説明は
なかなか見つからなかったので。
554 :
梨 :03/05/14 10:12 ID:???
茶々です。
>>543 結果的に「hoge.cssを読み込んで表示する」だけでも、
cgi側でopenして読み込んであげた方がスマートでないかな。
あーでも、hoge.htmlがssi駆動出来るなら、
Webサーバの設定をいじるという意味では妥当かも知れないねぇ。
フロート式という名前は既にあめぞうの時から付いていた
556 :
533 :03/05/14 17:54 ID:???
一応来てみたら話が続いてるようなので。 えーと、<link>をSSIで出力するってのは全然ダメなんです。 まず、これまでの全ページのその部分を書き換える必要がある点。 また、今後もメンテが必要になってくる可能性がある点。 さらに、CGIによって出力されたページ関しては 手出しできない点。まあCGIの中にも同じ振り分け処理を 入れればいいのですがスマートじゃないですよね。 CSSファイルはCSSを使う設定のUAだけが htmlとは「別に」リクエストしてくるという点を利用したかったわけです。 そもそもCSSがオフの人や使えない人のためにまでSSIを走らせる 必要もないし、CGIによって吐き出されたhtmlや、全然関係ない ページから勝手に呼び出されても対応できる今回の「CSS内にSSIを埋め込む」という 手法はその点完璧でした。
557 :
nobodyさん :03/05/14 22:38 ID:NykKQ3Es
どなたか、KREMLINの使い方を教えてください
558 :
_ :03/05/14 22:39 ID:???
>>KGBに聞け
560 :
nobodyさん :03/05/14 22:49 ID:NykKQ3Es
559様そうおっしゃらずに教えてください
561 :
nobodyさん :03/05/14 23:50 ID:HhkNaRXo
プログラマーを馬鹿扱いする会社は、 馬鹿なプログラマーしか残らないんだって。 なるほどって思ったよ。
564 :
nobodyさん :03/05/15 00:12 ID:gJFjfLe9
565 :
_ :03/05/15 00:21 ID:???
566 :
nobodyさん :03/05/15 16:59 ID:qzLPbX2N
質問です。 今tripodのCGIを使ってapeboard+を動かそうとしてるんですが、 FTPソフトで転送してもFTPソフトの右側が何故か表示されないので (他のhtmlファイルも転送されるが、右側(ホスト側)が表示されない) tripodのファイルマネージャーを使おうかと思っています。 でもファイルマネージャでは普通パーミッションの設定はできないですよね? いろいろいじってみてるのですが、なかなかできなくて…。 かなり場違いっぽいですが、 もし場違いだったら初心者板へ逝け!と言ってください。 それでは、おながいします。
567 :
動画直リン :03/05/15 17:10 ID:fs87NLJj
>>566 悪いが、初心者板にでも逝ってくれ。
CGI以前の質問までこのスレでカバーできん。
569 :
566 :03/05/15 17:39 ID:???
>568 レスありがとうです。そうします。
プロバイダがYAHOOBBなんですけど、CGI設置できますか?
571 :
nobodyさん :03/05/15 19:52 ID:dUnPB6/j
フォームメールで、メールを送信するとダウンロードページに誘導 しかしダウンロードページのURLは見せないという方法ってありませんでしょうか? Locationを使うと、URLは見えてしまいますよね。
>>571 ダウンロードページそのものをCGIが吐けばいい。
言ってる意味わかるかな?
573 :
nobodyさん :03/05/15 20:17 ID:VJqeIr87
574 :
サンプルです :03/05/15 20:46 ID:ta/vI4VR
575 :
571 :03/05/15 20:49 ID:dUnPB6/j
>572
レスありがとです。
すいません。わかりません。
CGIは、ネットで見つけて設定ができる程度なんで。(汗)
今あるフォームメールCGIを改造すればできるんじゃないかと
思っているんですが、
http://www.rescue.ne.jp/cgi/webform/ よろしければ、具体的にどのようなコードを付加すればいいんでしょうか?
ヒントでもいいので、おながいします。<(_ _)>
576 :
_ :03/05/15 20:53 ID:???
>>575 そのメール送信スクリプトで送信完了メッセージを
出力する部分を探して、そこのHTMLを修正する。PERLなら:
print "ここにHTMLが入る";
あるいは:
print <<"E_O_L";
ここにHTMLが入る
E_O_L
こんな感じの部分を見つける。
578 :
nobodyさん :03/05/16 01:34 ID:bVV9tZkw
biglobeのホームページサービスに perlの標準モジュールは提供していない、ってあるけど、 それって殆どperlが使えないって事でよろしいか???
そうです はい次
>>578 別に標準モジュールを使わなくても、そこそこのものは作れるよ。
配布されてるCGIなんて、ほとんどがモジュールなんて使ってないし。
581 :
nobodyさん :03/05/16 06:45 ID:2FsbEsCc
頂き物のBBS等の上の部分(画面とっぷ)に自分のページのタイトルバーを入れたいのですが どうすればいいでしょうか?
582 :
nobodyさん :03/05/16 06:51 ID:1cd8qGBa
>>581 HTML出力してる所を書き換えればよい。
584 :
bloom :03/05/16 07:10 ID:n/FznajZ
585 :
_ :03/05/16 07:26 ID:???
586 :
571 :03/05/16 09:27 ID:vk9NMPXM
>577 自分で調べて考えてみました。 送信確認ページに、ダウンロードURLだけを出力するより、 cgiが、別に用意したhtmlファイルを読み込んで それを出力させようかと思いました。 別のhtmlファイルを用意する形にすれば、 それをGoliveなどでレイアウトを自由に編集できるし、編集もラクだと思ったからです。 今日、午前中、ちょっと挑戦してみます。 またわかんなかったら、よろすくです。<(_ _)>
588 :
571 :03/05/16 16:32 ID:vk9NMPXM
>587 了解しました。
589 :
nobodyさん :03/05/17 00:17 ID:6SNDWw+M
cgiってperlをインストールしてないと使えないの? 今非常に悪戦苦闘しておりまして・・・。
>>589 そのCGIを書いた言語による
Perlで書いたならもちろん入れてないと動かない
>>589 必要なのはCGIの機能を持ったウェブサーバとCGIプログラムだけ。
Perlを使ってプログラムを書いたのならPerlも必要。
>>590 ありがとうございます。
いろんなサイトを見て回っていたんですが、おそらく基本的過ぎて
書かれていなかったのだと・・・。
>>592 使っているウェブサーバは?
きちんとCGIが使えるように設定してある?
594 :
nobodyさん :03/05/17 00:31 ID:6SNDWw+M
>>593 biglobeを使ってます。
そこの利用規定をじっくり読んで必要なことは施してあるつもりなのですが
(
http://homepage.biglobe.ne.jp/help/shiyou5b.html )
ほいで以下のcgiを起動してみるとforbidenというエラーが出るんですが、
パーミションは755にしてあるので上記のページに書かれてあることはクリアしている
のですが・・・・。
#!/usr/local/bin/perl
print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>テスト</title>\n";
print "</head>\n";
print "<body bgcolor=\"#ffcccc\">\n";
print "テスト \n";
print "</body>\n";
print "</html>\n";
595 :
nobodyさん :03/05/17 00:34 ID:VynWxd2G
複数のファイルをソートするにはどうすれば? データの構成は一緒なんですが。 @date = @date[sort {$tmp1[$b] <=> $tmp1[$a] || $tmp2[$b] <=> $tmp2[$a] || $tmp3[$b] <=> $tmp3[$a] || $tmp4[$b] <=> $tmp4[$a]} 0 .. $#tmp1]; @date2 = @date2[sort {$tmp1[$b] <=> $tmp1[$a] || $tmp2[$b] <=> $tmp2[$a] || $tmp3[$b] <=> $tmp3[$a] || $tmp4[$b] <=> $tmp4[$a]} 0 .. $#tmp1]; これでは別々になってしまうし・・・
>>594 403ってことは直接呼び出しているんじゃないか?
適当なHTMLからリンクで呼び出してみれば?
599 :
598 :03/05/17 00:45 ID:???
レス先が逆になってしまった(鬱
600 :
598 :03/05/17 00:45 ID:???
レス先が逆になってしまった(鬱
602 :
594 :03/05/17 00:54 ID:6SNDWw+M
色々ありがとうございました。 何とかcgiが起動しました。 ようやくアクセスログも取得できてうれしいっす。 これからperlやcgiを弄繰り回すぞっと。
テストは自宅サーバでやれ>602
604 :
ホームページ作ったー :03/05/17 10:57 ID:+purnoJY
メーリングリストもどきのcgiが欲しいです。 中でもグループ分け(男、女;20代、30代などのように)ができるといいのですけど、 何かいいやつ教えてもらえませんか?
606 :
test :03/05/17 15:05 ID:ky8/5cjQ
608 :
nobodyさん :03/05/17 16:30 ID:oD7yzjk5
プログラミングのプの字も知らないようなヤツが箱庭やFFAなどのような 機能盛り沢山のゲームCGIを作るというのは無謀な事でしょうか。
うん。無謀。
>>608 始める前から出来るか出来ないか聞くような人はプログラミングに向いてない。
プログラマーは作ると決めたら出来ない予想図など浮かべない。(システム的に無理なのは別として)
612 :
動画直リン :03/05/17 17:08 ID:w1ZjXwV8
613 :
nobodyさん :03/05/17 18:06 ID:6eJYa860
フリーで配布されてる掲示板に自分のページのタイトルバーを表示させたいのですが cgiのどの部分をいじればいいのでしょうか?
煽る気もなくなる。
>>613 がイタい点
・全てのフリーで配布されているCGIに共通の改造方法があると考えている。
・HTMLの知識がないため、タイトルバーとやらの内容がどこで規定されているかわかっていない。
・CGIが、一般的にはHTMLを吐き出すプログラムのことだと言う知識がない。
まあ、要するに、カエレ!と。
>>615 んもぅ、答え教えちゃうなんて親切なんだから
cgiにおけるセキュリティ対策って どういうのを言うんですか?
>>618 別にCGIに限った話ではないけれども。
クロスサイトスクリプティング攻撃
バッファオーバーフロー攻撃
共用サーバーで自作スクリプトを置くくらいなら、この二つに対策すべきだろう。
後はアクセスログを自前で取って、攻撃を受けた後の建て直しを早くするとかな。
これも共用サーバーでやる場合の話だが。
>>618 >>620 が言うとおり、何もしなければ穴もないと言う。
どっかの大学でサーバーのセキュリティを強化するとかしないとか話をした時に、
年だけ食ったネットとか知らない教授が叫んだとさ。
「そんなに大変なら外部から切り離せ!」
能力のない奴は最初からするなと言う教訓だな。
622 :
618 :03/05/18 04:07 ID:???
レスありがとー。
>>620 クロスサイトスクリプティング攻撃
バッファオーバーフロー攻撃
この2つについて激しく調べまくってきます!
>>621 無能なので、もっと勉強します(;つД`)
623 :
nobodyさん :03/05/18 07:48 ID:+ynHhkj6
皆さんに質問! IEで自分のサイトでCGI中のdat(リンク集だが)を落とせなかった。 他に落とせる方法ってありますか? 最悪のことにFTPのパスは紛失しちゃいました… プロバに問い合わせ中だが、この5日間返事来なし。
>>623 直リンすればダウンロードできるっしょ。
パーミッションとかで制限してれば駄目だが。
わかんなければパスが来るまで我慢しる。
scriptAliases(一般的にはcgi-binディレクトリの中)が効いてる場合も駄目だろうな。
バッファオーバーフロウって・・・・
627 :
nobodyさん :03/05/18 11:52 ID:Mb+lURve
フォームに書き込んだものをまとめて別のページに表示してくれるcgiってどこかにありますか? ただし、書き込まれたものは非公開のやつがいいです。
CGIスクリプトを実行 ってどうやるんですか? 下らん質問ですみません。
>>629 質問が抽象的すぎて誰にもこたえられない。
何をさして言っているのか?
細かい状況を提示せよ。
631 :
629 :03/05/18 13:51 ID:???
>>630 認証パスワードを発行するために"***.cgi"の中にあった記述で、
「このCGIスクリプトを実行して得られた暗号文字列を〜」 の一部だったんですが・・・
これでわかりますか?
>631 どっかのサイトのフォームか?
633 :
629 :03/05/18 13:57 ID:???
>>632 どっかのサイトからフリーでもらったフォームです。
635 :
629 :03/05/18 14:11 ID:???
そう。
>>629 使っているのがWindowsだと仮定して。
1.
ActivePerlがインストールされている状況で
DOSプロンプトを立ち上げ、
そのCGIがあるディレクトリに移動し、
perl ***.cgi
と入力する。
2.
FTPで鯖にアップし、
適切なパーミッションを設定し、
IEなどのブラウザでそのURLにアクセスする。
1.の方法はデバッグのための基本なので覚えるべし。
Perl 入れるならついでに Httpd も入れてしまおう。 標準DESでパスをハッシュ化するスクリプトかな。 パスを発行するってのがどういう意味か分からないけど。
638 :
nobodyさん :03/05/18 15:12 ID:pwwJTDq+
フォルダA フォルダB フォルダC 路ttpdフォルダ 湾erlフォルダ ↑という状態でフォルダAにあるCGIは動作するんですが、 フォルダBやCにあるCGIを動作させようとするとページを表示できませんとなります。 どこの設定が間違ってるんでしょうか?
640 :
629 :03/05/18 15:18 ID:???
ActivePerlがインストールされている状況で DOSプロンプトを立ち上げ、 そのCGIがあるディレクトリに移動し、 perl ***.cgi と入力する。 何もおきませんが。
>>640 パス通ってる?
だめならwebサーバ立てて直接実行してみては。
642 :
629 :03/05/18 15:28 ID:???
webサーバ立てて直接実行?
とりあえず perl と *.cgi をともに絶対パスで指定して見ては > prompt
パスが通ってなければ >'perl' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 こんな感じのエラーが出るはずだけど、何も起きないってことは、実行されてるけど 結果を返してないだけかも。 やっぱりサーバー経由で実行させるのがいいかもしれない。 (ここまで書いておいてなんだが、Windowsから入った人に「パスを通す」っていうのが 理解できるのだろうかといつも思うのだけど)
645 :
629 :03/05/18 15:57 ID:???
C:\〜>***.cgi って入力すると
>>644 のようなエラーがでるけど・・・
てか、認証パス出すだけなのにこんなに厄介なのか?
>645 もう面倒だから鯖にアップしちゃえ。
CGIからもJavaScriptからも同じクッキーに読み書きできますか? CGIからクッキーを使うと、cgi-bin/って名前のクッキーができて、 JavaScriptからだと、〜@localhost/って名前のクッキーが出来る。 これを一つにして、JavaScriptから書き込んだデータをCGIから CGIから書き込んだデータをJavaScriptから読み込みたいです。 JavaScriptはスレ違いですか、よろしくお願いします・・・
>>645 >何もおきませんが。
って言ったくせに。
「期待した結果が得られない=何も起きない」なんだよ。
>>649 だとしたら、典型的な厨房だな。
相手するのも馬鹿らしい。
>>645 厄介なのはお前のおめでたい脳味噌だ。履き違えるなこの野郎。
パスが通ってないならパスを通せ。
それか2の方法は試したのかよ。
寝言はできること全部試してからほざけ。
厨房なのは633あたりで運命的に明らかになってるんだから、 そう熱くならずにそれなり程度にアドバイスすればよいと思う のだよ。
653 :
629 :03/05/18 16:41 ID:???
ディレクトリ変えてやったら***。cgiの中の文章が出てきたけど、 ***.cgiの中身は何も変わらん。
>cgiの中の文章が出てきたけど 出てきたら駄目。 >cgiの中身は何も変わらん あたりまえ。 何がしたかったんだか。あきらめて鯖上で動かしたほうがいいってばよ。
もう放置しろよ スクリプト名とか配布先を出せば話が早いのにそれもしないやつだし
失礼します、Parlスレと迷ったのですが、こちらで・・
ttp://wondercatstudio.com/ のBBS NOTE(お絵描き掲示板)なんですが、質問させて下さい。
半角カナの文章投稿についてなんですけど、
全角-ハンカク-全角
のような文字列の投稿だと問題ないのですが、
ハンカク
のように、一行に半角文字のみの部分があると、そこだけ文字化けしてしまいます。
それでbbsnote.cgiの
&jcode'convert($_,"sjis")if($jcode_pl=~/jcode/);
の部分を削除してみたんですが、文字化けは起こらなくなりました。
ただIEでしか確認していないため、他のブラウザによって起こる不具合が心配です。
他になにかいい解決法ってないでしょうか?
>>656 jcodeLE.plをjcode.plに入れ替えてみれ
requireの修正は忘れずに
>>656 その削除した部分は、ShiftJISへの文字コード変換をしているわけだけど
元の文字コードは自動判別してる。このとき、文字列が半角カナだけだと
自動判別に失敗してしまう。だから文字化けする。
投稿ページが必ずShiftJISで表示されて、なおかつフォームには必ずShiftJISで
入力されるという前提であれば、そのままでかまわないと思う。
たぶん他のブラウザでも大丈夫ではないかと。
>>657 jcode.plに差し替えただけでは、やはり文字化け投稿になってしまいました・・
>>658 IEでは投稿フォームの表示されるページは、
METAタグでcharset=Shift_JISとされているので大丈夫そうですね。
最近の、主に使用されているブラウザなら問題ないでしょうか。
しばらくこれで運用して、様子を見てみようと思います。
ありがとうございました。
660 :
nobodyさん :03/05/19 15:36 ID:9wygWKWp
WindowsXPにActiveperl5.8を入れてるんですけど IISで動くCGIがanHttpdで動かなかったりその逆があったりするんですが どう書き直せばIISで動く、anHttpdで動く、と言うようになるんですか?
どうしても納得できないんだけど、 運用上問題のないレベルで思い通りに動けば良い という考え方でプログラムやスクリプトを組むのってどうなんですか? 仕様上、ブラウザがフォームから送信する文字コードに決まりはないのに 大多数がそうだからといって、文字コード変換を無くしてしまうというのは アリなんですか? 文字コード変換処理ってそんなに重かったりするんでしょうか?
>>661 運用上問題のないレベルで重い通りに動けば良いと思います。
俺も運用上問題なければいいと思うぞ。 とは言え、他サイト様に迷惑かけるようだと話は別だが。
>>661 締め切りとかの関係でどうしてもと言う場合もある。
プログラマーの個人的な美意識とか職人意識として、
その主張はとてもよく理解できるが、
自分一人でやってるわけではない場合には、涙を飲む必要もたまにはあるだろう。
まあ、そういう風に納得できるやつらが 航空機をニアミスさせたり銀行のATM止めたりするんだろうね。納得。
>665 それは運用上問題が出てるだろ。 「運用上問題のないレベル」が前提の話で何を言ってるんだ。
>>665 君がそう思うなら、そうかもしれないね。
>665 航空機は違う、ATMはそうかもしんない、>666に対してはその指摘は妥当する。 車社会で交通事故死亡者が1万人/yくらいいても運用しなきゃいけない、と例えれば納得? >667 君がそう思うなら、そうかもしれないね。
>「運用上問題のないレベル」が前提の話で何を言ってるんだ。 だったら最初から質問にもならないはずなのに。 何らかのかたちで問題が浮上することを頭の片隅で予想できてしまっている ということではないの? そういう状態にOKを出すというのは、とても問題でしょ。 ということが言いたいだけ。
まあ、いいじゃん。問題が出たら直せば
経営者や営業には、プログラマが持つような職人意識はないと知れ。
そんな連中は、
>>671 のようなことを考えてる。
しかも、直すのは自分ではない。だからこそそんな無責任なことが言える。
納期とかなんとかは、本来プログラマたちがストライキを起こしてでも確保すべき資源なんだ。
うまく言いくるめられてるプログラマたちが多すぎ。
基本的にプログラマはマゾです。
>672 経営者や営業ほど問題を嫌がると思うけどな。 問題が起きた時、プログラマはプログラムを直せばいいだけだが、 経営者や営業は顧客の信用回復に奔走させられる。 信用を得るのには1年かかるが、失うのは1日で足りる。 まぁ、そのリスクと納期を天秤にかけた時どっちをとるかはその会社次第だろうが。
妙にスレタイと合致している話題ですね。
676 :
656 :03/05/20 14:39 ID:???
もちろん完璧なプログラムを組むのが理想なんでしょうけど、 私の場合、配布されているスクリプトではお客さんの性質もあり、 半角文字化けが多発するのは運用上の大問題なわけです。。 ここで長々とスクリプトをどう改造すればよいかと聞くのも何ですし、 未知の不具合には目をつぶり、お手軽な方法を取ってしまいました。 でも2ちゃん掲示板等ではしっかりと半角が文字化けせずに投稿できるので、 スクリプトを工夫すればなんとかなるであろうことは、素人の私にも分かります。 これで良しとはせず、もう少し調べてみようと思います。 スレ汚しスマソ
UTF-8が使えるんだったら、eucなりsjisなりの文字列を変換しちまえば 絶対文字化けしないけどな・・・
>678 変換する時にどっちなのか判断間違えて文字化けするんだっつーの。
<form action="cgi" method="post"> : <input type="hidden" name="jcode" value="あ"> : </form> ↓ %form; read(STDIN, $_, $ENV{'CONTENT_LENGTH'}); foreach (split(/&/)) { my ($name, $value) = split(/=/); $value =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/eg; $form{$name} = $value; } if ($form{'jcode'} =~ /\x82\xa0/) {print "S-JISだよ。jcode.pl使わないよ"} if ($form{'jcode'} =~ /\xa4\xa2/) {print "EUCだよ。jcode.pl使うよ"}
SJISのいわゆる半角カナだけの文字列は EUCの文字列と判別不可能なの。
100%化けてはダメという条件であれば100%化けない方法を考えなきゃいけないと 思うし。技術的に95%までしか無理なんだったら、そう営業に伝えて95%であることを 客に飲んでもらわなきゃいかんと思う。 それを自分の技量を棚に上げて、「運用上問題ない」とか判断して注文を 無視しているいる所にむかついてた。
>680 過去に、form内の要素一つずつ 別の文字コードで送ってくるブラウザがあったのでそれでもあてにならん。
2ちゃんはjcode.pl使ってないの?
>684 2chはPerlじゃありませんから。
質問。Locationを使って別のページに飛ばしたいんだが、 飛ぶときと飛ばないときがある。なんで?そんなことってあるの? 調べたところ一部のサーバーではLocation禁止というところも あるみたいだが、うちは飛ぶ。 でも飛ばないときもある…
最近はbbs.cgiもCで書き直したの?
>>687 なんでわかったの??
広告付きの無料スペースだとそういうことがあるんでつか??
>>689 鯖によっては広告がLocationヘッダの邪魔をする場合があるな。
metaに変えるか、htaccessでLayoutIgnoreURI *.cgiやってみるとか。
691 :
山崎渉 :03/05/22 01:55 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
692 :
nobodyさん :03/05/22 19:44 ID:MWXX6xXG
アクセスカウンターについて質問させてください。 アクセスがなくても数分ごとにカウンターの数が増えたり 1回アクセスがあるとランダムで1または1以上カウンターの数が増えるような 胡散臭いアクセスカウンターは作れるでしょうか? どなたかご教授ください。
694 :
nobodyさん :03/05/22 20:13 ID:MWXX6xXG
>>693 さん
ええと、それはごく普通のカウンターのCGIを少し改造すれば可能な事なんでしょうか。
出来ればその方法を少し具体的に教えていただけるとありがたいのですが。
>>694 以下の二つの点で頭が悪すぎです。
1.無駄に訪問者を多くみせかけようとする
2.その程度、人に聞くより自分で考えた方が早い
GWは終わりましたよ?
>>694 まず、
> アクセスがなくても数分ごとにカウンターの数が増えたり
こんな事はしなくていい。
アクセスがないときにカウンタを回して誰が見るの?
> 1回アクセスがあるとランダムで1または1以上カウンターの数が増える
1からあなたが望む数までの数字をランダムで発生させるルーチンを作る。
アクセスがあったら、今までのアクセス数に、発生させた数字を加えて新たなアクセス数として表示する。
697 :
nobodyさん :03/05/22 21:23 ID:4XPxMPwJ
699 :
nobodyさん :03/05/23 07:30 ID:xpCjHE6k
掲示板などで書き込みでどうやったら速く負荷がかかりにくいんでしょうか? 一般的に、書き込む場合 ログを読み込む>内容を変数に入れ>内容の入った変数+書き込む内容>ログに書き込む ような処理をして効率悪く思います。この他にはどういったやり方がありますか?
>>699 そういうことは、他の人の掲示板をDLしてきて、
どんな処理してるのかソースを読みましょう。
>>699 追記モードで書き込めば、読み込みしなくていいぶん負荷は減るかも。
でも普通は書き込みより読み込みのほうが圧倒的に処理回数が多いわけだから
2ちゃんぐらいの規模でもない限り、あんまり効果は期待できない感じがする。
703 :
699 :03/05/23 09:41 ID:J32UtBFo
これでも一応プログラムで飯食べてる者ですが、
なにぶんパールは初心者なもので知ったかでBBS作ってみたのです。
作ったBBSは半年以上触っていませんが、久しぶりに触ってみようかなと・・
>>700 KENTさんのBBS見ても何が悪いのかさっぱりなんです。あれの何処が悪いの?
>703 最初は Kurl で勉強してから perl に移行する。 これ常識。
>>703 何処が悪いって、何処か悪いの?
どれだけ負荷を与えない処理をするか・・・
それは、ログの管理の仕方によっても違ってくるし、
ログの出力の仕方によっても変わってくる。
とにかく、基本的には・・・
いかにファイルからの入出力のデータ量を減らすか。
BBSはこれが一番の課題だと思う。
もちろん、特殊な出力の仕方とかしてたら、
他にも課題はあるだろうけど。
706 :
nobodyさん :03/05/23 11:41 ID:aeupPdc0
>>706 風に吹かれてるようでカッコイイじゃねーか(゚д゚)
>これでも一応プログラムで飯食べてる者ですが、 なのに、「パール」とか書いちゃうあたり・・・ レベル低そー。
>>708 そのへんはみんな見破ってるからいちいち指摘すんなって。
かわいそうだろ。
>>708 献立表にしたがってご飯食べてるって意味なんだよきっと
パ・パ・パパパ♪ パールライス(・∀・)
>699 Cで書け。 プログラムで食ってるなら書けるだろ? Perlでやるより明らかに速いし負荷がかからないよ。
perlは「ペール」って発音するんだよ
716 :
nobodyさん :03/05/23 20:51 ID:hvFYfA6x
TomcatでCGIやっている人いる?
一般的に使われている二文字の漢字が侮ヲという字に化けてしまいます(・ω・)
>717 だからなに? えらいねーってほめて欲しいのかな、ボク?
>>717 すげー!そのテクニックは企業秘密?やはり教えてはもらえんのだろうか。
>>717 やべぇ、気付かなかったよ!ありがとう!\
txtでなんか書きますね。 拡張子をcgiに変えますね。 どうやって開くんですか?てんで初心者で。 教えてください。お願いします。
>>722 日本語での質問が無理なんだったら母国語で書いてもいいですよ。
726 :
nobodyさん :03/05/24 07:55 ID:U+LFnLJJ
( ´_ゝ`)フーン
大手プロバイダを使ってる時点で、CGIを自由に使いこなすことはあきらめたほうが いいと思われ。
729 :
nobodyさん :03/05/24 10:12 ID:s437kJfj
>>726 @niftyはそもそもCGIを設置できたのか?
まあ、調べる気にもならんが。
731 :
nobodyさん :03/05/24 23:57 ID:ifKVZv+d
PCと携帯を振り分けるCGIをつかってるんだけどそれだとindex.htmlに置けないから困ってます index.htmlにCGIを埋め込めるHTML(携帯からでも読み込めるタグ)ってありませんかねぇ? グーグル先生に聞いたけど出ない
733 :
nobodyさん :03/05/25 00:28 ID:Os0pVi9Q
>732 なんで無理なん?
>>731 そんな夢のような「タグ」は存在しない。
つかお前はHTMLをなんだと思ってやがりますか。
http://hoge.ne.jp/~hoge/ こんな風に、URLの末尾をディレクトリにしてアクセスした時に、
PCと携帯を振り分けたいのであれば、方法はいくらでもあるが、
>>731 程度の認識と知識ではどれも不可能だろう。
>>732 は途中をかなりすっ飛ばしているが、結論だけは正しいな。
735 :
nobodyさん :03/05/25 00:51 ID:Os0pVi9Q
736 :
nobodyさん :03/05/25 00:58 ID:Os0pVi9Q
>734 頼むからそれ教えて! さっきからCGI失敗しまくりだから・・・
737 :
_ :03/05/25 01:03 ID:???
738 :
サンプルです :03/05/25 01:05 ID:qXE1ysu+
index.htm を index.cgi にする。
>>739 その書き方は分かってる奴ならいいが、そうじゃないと文面どおり解釈されかねないぞ。
(index.htmlをindex.cgiにリネーム→アップロード→動かない!)
DirectoryIndex 該当するファイル名 example.(com|net|org) 使ってあげなさいよ。RFC 2606
SSI使えばいいじゃん。
743 :
699 :03/05/25 06:54 ID:???
744 :
nobodyさん :03/05/25 10:40 ID:hi9lch0f
アップローダの作り方おしえて
746 :
nobodyさん :03/05/25 11:20 ID:j5yBhsq1
DirectoryIndex 該当するファイル名 って.htaccessに書くんだよね?その書いた.htaccessファイルってどこにうpすればいいんだっけ?
747 :
nobodyさん :03/05/25 11:26 ID:kaO8yXyX
ページを開こうとするとパスワードを入力せよと言うのがでて 正解か不正解によって2つのページに飛ぶ、といったようなものを つくるにはどうしたらいいでしょうか
>>746 有効にしたいディレクトリ。
>>747 「どうしたらいいか」という言葉が、どの程度までの情報を求めているのか分からんので
答えようがない。もうちょっと詳細によろしく。
749 :
nobodyさん :03/05/25 11:37 ID:kaO8yXyX
cgiの全文、またはそれに相当するものが掲載されているサイトのURL 2時間くらい探したけれど見つからなかったので
750 :
746 :03/05/25 11:43 ID:j5yBhsq1
該当するファイル名は絶対パスでもいいんかな?
>>749 「つくる」って、CGIの設置のことかよ。
このスレでつくるっていったらコーディングとかアルゴリズムと思うじゃないか……
その手のCGIはけっこう配布されてるから、探せばすぐ見つかるぞ。
752 :
749 :03/05/25 12:03 ID:kaO8yXyX
>>750 例 DirectoryIndex index.cgi index.html index.htm
ファイル名をつけないURLでアクセスした場合、そのディレクトリの
中から上記の左から順に探して見つかったファイルを表示する。
つーか、もう答えを教わってるんだから書き方ぐらい調べれ。
755 :
nobodyさん :03/05/25 12:14 ID:Jgr8OJqO
756 :
nobodyさん :03/05/25 12:16 ID:9EnXV42Y
終わった言語
>>756 俺もそう思う。CGIはすでに過去の言語。
CGIみたいな汚い言語は駆逐されて当然。
あの〜、CGIって言語じゃないんですが
760 :
10 :03/05/25 13:39 ID:???
得点ランキングを記述するデータを改造したいのですがおしえてください ●やりたいことは、全角(ひらがな、カタカナ)で記述した場合の文字化け対策 データを記述したときに更新をおしたら連続書き込みしてしまうのを連続書き込みしないように したいのですがソースは下記にのせます。 初心者でもうしわけないのですがアドバイスお願いします
761 :
10 :03/05/25 13:41 ID:???
#!/usr/bin/perl # CGIスクリプトから見たベースとなるディレクトリ $base = "./ranking"; require 'cgi-lib.pl'; require 'jcode.pl'; $title = "ランキング";# ウィンドウタイトル $data = "ranking.dat";# データベースファイル $dispranking = 10;# 表示したい上位ランキング数 # ヘッダー出力 print "Content-type: text/html;charset=Shift_JIS\n\n<html><head><title>$title</title></head><body bgcolor=\"FFffFF\">\n"; # 入力データの解析 &ReadParse(*in); $score = $in{'score'}; $name = $in{'name'}; &jcode'convert(*name, 'jis');
762 :
10 :03/05/25 13:42 ID:???
# ランキング抹消コマンド if(@ARGV[0] eq "clear"){ open(FILE, "> $data"); print "\n"; close(FILE); exit(0); } # データベースのデータを読み込む open(FILE, "<$data") || &ferror(); while(<FILE>){ chop; @v = split(/\t/); $mscore[++$#mscore] = @v[0]; $mname[$#mscore] = @v[1]; } close(FILE);
763 :
10 :03/05/25 13:43 ID:???
} else { $index = -1; } # スコアをデータを表示 print "<center><h2><b>最新スコア</b></h2>"; print "<table border=1>\n"; open(FILE, "<$data"); $count = 1; while(<FILE>){ # last if $count == $dispranking + 1; <- これを有効にすると上位5位のみ表示 # 順番を表示 print "<tr><td>$count</td>"; chop; @v = split(/\t/); if($count++ == $index){ # たった今入力されたスコアは色を変えて表示 print "<td><font color=red>@v[0]</font></td>"; print "<td><font color=red>@v[1]</font></td>"; } else { print "<td>@v[0]</td><td>@v[1]</td>"; } print "</tr>\n"; } close(FILE); print "</table></center>\n"; print "</body></html>\n";
764 :
10 :03/05/25 13:44 ID:???
# エラー表示して終了 sub ferror { local($file) = @_; print "<center><h1>$title<br>\n"; print "ファイルが開けません<br></h1></center>\n"; exit(0); } 長くコピペして申し訳ありませんでした。 職人さま教えてください。お願いしますm(__)m
文字化けは コレじゃないかな。
&jcode'convert(*name, 'jis');
連投は面倒なので
>>765 がやってくれるはず
767 :
10 :03/05/25 14:56 ID:???
>>765 さんありがとうございます。
下記のようにかえてもやはり文字ばけするんですよね・・・。
&jcode'convert(*name, 'cue');
perl難しいです。
アドバイスありがとうございます。
得点ランキング完成させたいです。
768 :
_ :03/05/25 15:22 ID:???
769 :
圧縮@初体験 :03/05/25 15:58 ID:0niv9DMs
自分で使う掲示板を色々作ってるのですが 今回、始めて…今ごろになって圧縮を利用しようと 配布されている物を見たり検索してみたのてすが・・・ >>サーバ側の「gzipパス(この場合は/usr/bin/gzip)」にアクセスして圧縮を実行させ >>「gzipパス」はプロバイダによって違うことがあるので、設置の際には調べておくこと usr/bin/gzipを作成しろと言う事なのでしょうか? サーバー(自サーバー)の場合の設定は必要なのでしょうか? 設定を確認してない場合、gzip圧縮をONにしても効果が無いのですか? 色々検索してみたのですが・・・ どうかご教授お願いします。
>>767 ヘッダでSJIS吐いてるのにJISに変換するの?
>>769 /usr/bin/gzip は gzip圧縮をする圧縮プログラム。
Windowsは知らないけどUnix系なら大体入ってるんじゃないかな。
CGIから print "Location: ./test.html\n\n"; でジャンプするとき、フレームを指定すること出来ますか?
一つ識者の見解を伺いたく・・・ 多くのcgi解説サイト等でuriエンコードで、半角スペースを+に変更するってのを記述してあるんだけど、 これって、RFC的に正しいのだろうか? 例えばform文のinput type="text" で、 パラメータに"+"を入力できないってことになるんだけど・・・
>>774 RFC 2396 かな?
まあ、規格は良く知らんが、"+"=>"%xx"、" "=>"+"って考えれば、問題ないと思うが。
>>774 ブラウザ上でフォームに入力された値や、HTML ファイルに
直書きされる値は URL エンコードされる「前」の状態。
submit 時にブラウザが application/x-www-form-urlencoded
形式にエンコードして (
>>775 の変換を行って) サーバに送る。
HTML 的には input 要素の value 属性は CDATA だから
+ が含まれていても OK な筈 (自信なし)。
777 :
774 :03/05/26 16:43 ID:???
>>775-776 どうもありがとう。
その見解であってる模様です。
こっちでも試してみました。
デコードの順番を
$value =~ s/\+/ /g;
$value =~ s/%([\da-f][\da-f])/pack('H2', $1)/egi;
この順番でやってるうちは問題ないっぽい。
>>777 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2',$1)/eg;
こうだろう。
\dはいらないし、それじゃaa-ffしかデコードされない。
>>778 \d が 0-9だし iで大文字小文字両方ともみるのであってると思うが?
処理効率は
>>777 の方がいいとは思うが・・・
780 :
777 :03/05/26 17:06 ID:???
>>779 s/777のほうがいい/778のほうがいい/
だったyo!
どっちでも大丈夫だけど効率って今まで考えたことなかったな
782 :
nobodyさん :03/05/26 18:54 ID:TSTriSzY
スレ違いだったらスマオ。 dionのメール送信CGIを使って、dionのホムペにある見本のタグ以外 (プルダウンメニューなど)のinputタグいれて動作できた香具師いたら、 どうやったか教えて下さい。 so-netのメール送信CGIは、formタグの最初だけ見本通りにすると、あとのinputタグはかなり自由に できたのですが、dionはだめなのでつか? おねがいしまつ。
783 :
bloom :03/05/26 19:10 ID:gUjk1KcM
784 :
914 :03/05/26 19:18 ID:tmRvurLY
785 :
ヱッ’ノ :03/05/26 19:36 ID:zHcI20PH
質問させていただきます。 うちのサーバではゲームCGIを設置しているのですが プラウザのボタンを押すと負担かかるんですよね・・・(涙 ってことでプラウザのボタンをなにかのイベントになるってことは出来ませんか? 例えば更新を押すとイベント発生!!○○にいって 「更新は押さないでください!」 みたいなのが表示されるって感じで、、、 何方かご指摘おねがいます。
786 :
_ :03/05/26 19:51 ID:???
>>782 DIONのメール送信CGIってなーにー?
世の中全ての人間がDION使ってるわけじゃないんだからさー。
URLくらい出せよ。
回答者がわざわざ調べないといけないような質問はすんなよ。
788 :
nobodyさん :03/05/26 20:52 ID:67MeoiMR
>>777 $value =~ s/%([a-fA-F\d]{2})/pack('H2',$1)/ge;
これはどうだろう
789 :
nobodyさん :03/05/26 20:54 ID:67MeoiMR
>>784 やり方は二つ思いつく。
一つはチャットCGIでよく使われる「現在の入室者数」と同様の方法だ。
ゆいチャットのソースでも見て研究しろ。
もう一つはセッションを使う方法だ。
セッションは通常有効無効のステータスがあるので、
有効になっているセッションをカウントすれば、
見ている人間になる。
なお、HTTPプロトコルの性質上、この数値には精度は求められない。
本来は「だいたい**人」としなければ嘘になる。
792 :
nobodyさん :03/05/26 20:56 ID:67MeoiMR
>>784 そういうCGIのコード見たら分かるのでは。
大体が、一定時間(例えば1分)以内にアクセスした人を
数えているのだと思う。
CGIの場合常に見張るのは無理だし。
JavaAppletとかなら確実な人数出せるだろうね。
>>785 プラウザって何?
新しい2ch用語ですか?
>>784 たまに見る所のURLを出せば一発で答えが出ると思うが、
たぶん CGIで一定期間(過去10秒とか)にカウントした人数を出しているだろうね。
htmlファイルに埋め込めるようにJSとセットになっているのも見たことある
795 :
782 :03/05/26 23:44 ID:EsFJ+WYr
>>787 レスつけてくれてありがとうでつ。
ttp://www.dion.ne.jp/support/hp/infocgi/case2/mail/index.html DionのホームページサービスでつかえるメールデコードCGIのことです。
自作CGI不可なのはともかく、見本のタグ以外のinputタグも使いたいのですが、
うまくいきませんでした。(見本通りならオケーだった)
で、DIOnのサポセンでは、見本以外に自分でタグを追加して動作してる例もあるが、
当社として動作確認はしていないので、「上手く行く人もいるらしい」としか言えないといわれて。
なので、その「上手くいった人」がこちらにいないだろうか、
で、もしいたら、どうやったのか教えてもらえればと思ったのでした。
もし分かる人がいたら、よろしくお願いし松。
>>795 自分で試すのが一番早い。間違いない。
それに、そもそもここにいるのは自作する人間ばかりなので、
他人のCGI、それもソースが読めないようなものに興味はない人間が多い。
Web製作版にでも行ってみたらどうだ?
>>795 それCGIじゃなくて、HTMLのレベル。
>>795 CGI自体が見れないから、内部でどんな処理をしてるのかも分からないし、
「やってる人がいる」というのも、試行錯誤して偶然見つけたのかもしれない。
もはや「裏技」といったレベル。
そんなに知りたきゃ、DIONで同じフォーム使っていてそういう裏技を使ってる
ページを見つけてソース見るなり、直接聞くなりすればいい。
「そういうページ知りませんか」とここで聞いて待ってる暇があったら自分で調べれ。
>>795 Web制作板のほうのスレで解決したみたいだね。
ドキュメントをちゃんと読んでなかっただけかよ……
800 :
782=795 :03/05/27 02:10 ID:JdPC8gL6
よくわからんで、こっちにお邪魔してしまってスミマセン。 796さんの誘導どおり、web制作板にいって、質問してみたら、 あっさり解決しました。dionのページの説明文が理解できてなかっただけで、 無事うまくいきました。いちおう、こっちにも書き込んでスレ汚ししてしまったので 解決した報告と、お礼のため書き込みにきました。
801 :
_ :03/05/27 02:21 ID:???
HTMLのFormを使ってCGIに対してPOSTすることを考えています. ここでSubmitした後のページが更新される(CGIからの返り値が表示される) と思いますが,この更新をなくしたいと思っています. 何か方法は無いでしょうか? よろしくお願いします.
>>802 ページを吐き出すようにしなければいいでしょ
804 :
802 :03/05/27 03:42 ID:???
>>803 すみません,具体的にはどのように行えばよろしいのでしょうか?
よろしくお願いします.
>>802 Web制作板で同じような質問をしてた人がいるから
そっちを参考にするとよい。
どのようにって、CGI作ってるんならそれぐらい聞くまでもないはず。 誰かが作ったやつを設置だけしてHTMLで何とかしようとしてるのなら、(・∀・)カエレ!
質問の意図がわからんのだよな 「どんなページが表示されていて」 「どういうデータを送信して」 「なぜページ更新したくないのか」 更新しないようにしようという考え方自体が見当違いで、 もっと適切なやり方があるかもしれないし
Web製作板で質問を見た者なんだけど本当にここWebprog板なの? Perlだったらこう1行書けばいいだけだろ。 print "Status: 204 No Response\n\n"; 意図とか質問するのもいいけどまず技術的にできるんだからその 回答くらいは書いてやってよ。
No Contentじゃねーの?
>>808 それは質問に対する回答と全然違うだろ。分からないんだったらスッコンデロ
なるほど。そうやればいいのか。
って、それじゃ
>>803 とそんなに変わらんのでは……
まあまあ。
>>802 にどの回答を求めていたのか尋ねてみれば。
204返す方法をとるなら、status: じゃなくてHTTP/1.1〜で。 またヘッダ情報はブラウザの解釈に依存するところがあるで、 204お構いなしにデータ出力されたり、エラー画面に飛ばされ ることがある。 とくに携帯相手のサイトをやってる場合おすすめできない。
815 :
山崎渉 :03/05/28 17:04 ID:???
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
816 :
nobodyさん :03/05/29 05:39 ID:G7vzbJ+L
板違いかも知れませんが、質問させてください。 とある本に、 system("$cgi $arg > /dev/null &"); と書いてあるんですが、 > /dev/null & の部分がよく分かりません。 これはどういう意味なんでしょうか?
> system("$cgi $arg > /dev/null &"); $cgiを$argを引数としてバックグラウンドで(&)実行し、標準出力に書き出された内容を/dev/nullにリダイレクトする。つまり破棄する。
818 :
816 :03/05/29 06:37 ID:G7vzbJ+L
>>817 板違いにも関わらず、回答ありがとうございます。
度重なる質問で悪いのですが、
もし$cgi側で標準出力を使わなかったら、> /dev/nullはいらないんですよね?
819 :
nobodyさん :03/05/29 12:01 ID:G7vzbJ+L
aga
820 :
nobodyさん :03/05/29 12:02 ID:G7vzbJ+L
しくった。
>>818 逆だ。いらないからdev/nullに捨ててるんだろうに。
822 :
816 :03/05/29 19:12 ID:DM2XwmWX
>>821 ?標準出力使わない場合なのに/dev/nullにリダイレクトですか?
ワケワカラン。
/dev/null が何なのか調べてみれ。 言語書いてないけど、phpだとリダイレクトしないとブラウザの画面が切り離せない。
824 :
816 :03/05/29 19:38 ID:kZGHbp0S
>>823 言語はperlです。
/dev/nullは、/デバイス/ヌルってことですよね。
>>822 微妙な解釈の違いだな。気にすんな。
>>818 →標準出力に何も出力しない→標準出力を使わない→リダイレクト不要
>>821 →標準出力に出てくるデータは不要→そういうのは捨てる→リダイレクト必要
826 :
816 :03/05/29 23:14 ID:Xobsjh92
>>825 スレor板違いにも関わらず適切な回答ありがとうございました。
なんとなく解決しますた。
827 :
802 :03/05/30 01:07 ID:???
>>805-814 申し訳ございません.
質問したっきりで消えたような感じになりまして.
具体的にはFlashでWebアプリケーションを作成しているのですが,
Flashからファイルをアップロードすることを考えています.
そこでローカルファイル自体はFlashでは選択ダイアログ等を出すことが出来ず,
HTMLのFORMを利用してファイル選択を行わせることを考えています.
その際FlashからはActionScriptを用いてJavaScriptの関数を呼び出します.
そしてファイルをアップロードする祭にSubmitをForm上で行わせます.
この際ページの更新が有りますと,Flashの現在表示している内容も
更新されてしまい不都合となります.
そこでページを更新せずにSubmitを行いたいと考えています.
ターゲットはIE6を考えています.
当方Webプログラムの経験が浅く,意味不明な点があるかと思いますが
よろしくお願いします.
204で返すことによってページが更新されないようなのでそれを試してみようと思います.
submitを別窓で。
>>828 色々調べたところ
FRAMEを用いて別窓でSubmitするという方法がありました.
実は,そちらを試していたところでした.
print "Status: 204 No Response\n\n"; を試したところ,確かにページの更新がなくなりました. 実際この後送信が成功したかどうか(CGIの返り値)を知りたいのですが, 何か方法は無いでしょうか? FRAMEを使った方法の場合はJavascriptで定期的に他のフレームを 監視しようと考えています. よろしくお願いします.
>>830 贅沢な…それだったらformのtargetを別窓に指定して
そこに普通に値を返させその窓を監視するんじゃないの。
もちろん窓とはフレームであってもいい。
832 :
nobodyさん :03/05/30 09:35 ID:AmXGY95O
おーい、cgiで指定した任意の名前で ファイル(*.html)をダウソさせることって出来ますノン? これ見て拡張子を指定できるのはわかったノンですが ファイル名も指定したいノン。 tp://tohoho.wakusei.ne.jp/lng/199903/99030041.htm よろしくお願いしますノン。
>>832 ・・・理解に苦しむ文章・・・
とりあえず、テキストフィールドにファイル名を入れると・・・と、あるが?
834 :
832 :03/05/30 11:47 ID:AmXGY95O
>>833 ふざけた書き方してすまんかった。
要は、cgiを使ってファイルをダウンロードさせたいんです。
また、その時ファイル名を指定してダウソさせたい。
例えば、テキストフィールドでtest.htmlを指定したら、
そのファイル名でダウンロードさせられないかと・・・。
試したところ、MIMEタイプをapplication/octet-streamにすると
ファイルはダウンロードさせられるが、
ファイル名がcgiのファイル名(例:downloader.cgi)になってしまいす。
.htaccessを併用すると拡張子までは指定できるが、
ファイル名の指定が出来ない・・・。
どうにかこれを実現する方法はないでしょうか?
もしかして、漏れ素っ頓狂なこと言ってるのかな・・・?
835 :
nobodyさん :03/05/30 11:49 ID:bJuQNR3f
>>834 Content-Disposition
ブラウザの種類やバージョンによって挙動が変わるらしい。
838 :
837 :03/05/30 13:55 ID:???
うぉおお! 言い忘れてたけど、この方法は実に危険で、 セキュリティに穴開ける可能性あるぞ! 取り扱いに気をつけること!!
839 :
nobodyさん :03/05/30 14:59 ID:GJ3EZgkY
NewsProってゆうスクリプトがあるらしいのだが、 今でも配布してるのだろうか?
841 :
直リン :03/05/30 15:10 ID:KvuUHxNV
842 :
832 :03/05/30 15:37 ID:???
>>836 以下のように出力したらでけますた!ありがっつです!
>>837 の方法は漏れには何がどうなってるやらわからないです。
せっかく教えていただいたのに理解できなくて、すんまそん。
厨房は使っちゃいけない魔法だとおもいますた。でも、ありがとです!
テストの内容と結果:
cgiからの出力:
----
Content-type: application/octet-stream
Content-Disposition: attachment; filename=test.html
〜ファイルの中身〜
----
結果:
ブラウザ ダウンロード ファイル名
IE v6 OK OK(test.html)
Opera v7.01 . NG N/A // 普通にページが開かれちゃた('A`) ギシギシ> |
Mozilla v1.4b OK NG(test.html.cgi)
バランバランの結果にはなりましたが
IE、Mozillaで成功してるので問題なさげでした。
あと、教えていただいたことを検索して出てきた参考データ:
tp://tohoho.wakusei.ne.jp/lng/199903/99030058.htm
以上。
お礼とご報告でした。助かたYO!貴様らに幸あれ!
843 :
nobodyさん :03/05/30 16:48 ID:r7RRScOt
>>834 Content-disposition: attachment; filename=XXX
844 :
832 :03/05/30 20:52 ID:???
Opera V7.01(EN) & V7.03(JP) (on win2k sp3) に勝利しますた。 Content-type: application/x-msdownload 強制ダウンロード作戦成功なり・・・。
Macで試した?
846 :
832 :03/05/30 21:05 ID:???
>>845 mac は持ってないので試してないです。
誰かに試してもらえるとうれしいかもです。
847 :
nobodyさん :03/05/30 22:00 ID:bW877X68
うへ〜ん。 FTPのパスワード忘れちゃったよ… どうやってCGIデータをダウンロードすればいいんだ。 せっかくエクセルデータにしようとしたのに・・・ アクセスしても Forbidden You don't have permission to access /cgi/logo/bkup.cgi on this server. -------------------------------------------------------------------------------- Apache/1.3.20 Server at www.教えないよ!.com Port 80 何かいい方法ありますか?
>847 身分証もって管理者の座敷に上がりこめ。
httpでアクセスしてるようにしか見えない。 >847
FTPが無理だったのでデータファイル(bkup.cgi)をブラウザで呼び出そうとしたんじゃないかな?
パスワードを教えてくれるサービスが無ければ、
>>848 が真っ当なやり方かと。
ブラウザから表示できるディレクトリにログファイルを置いてるの?
頭おかしいんじゃねーの。
というか、「FTPのパスワード忘れちゃった」といってコピペしてきたのが
ブラウザのエラー画面(しかも
ftp://でアクセスしたとは思えないもの )で、
どうしろと言って欲しいワケ?
ディレクトリ指定が "logo" になってるのはtypoですか、とか言って欲しいの?
実は他人のサイトだったりして
853 :
802 :03/05/31 04:44 ID:???
Flashでファイルアップロードを作っております. ページの更新をフレームで実装しました. FRAME1にはFlashを FRAME2にはFormをおきました. これにより FRAME1からみて parent.frames[1].document.form1. ... にJavascriptを介してアクセスしてSubmitを行うことが出来ました. この送信を行った後にFRAME2は更新されます. (更新されたページには更新前同様にFormがそんざいします. そこで,次に更新をしたページの値を取得しようと parent.frames[1].document.form1. ... にアクセスしたら「アクセスできない」 といわれてしまいました. これはページの更新によるものなのでしょうか? これを回避して再度Formにアクセスする方法は無いでしょうか? ご教示願います. 環境はIE6です
>>853 板違い
クライアントサイドの話はWeb制作板で
855 :
nobodyさん :03/05/31 13:13 ID:SOHJfLax
2ch型掲示板の英語版CGIってどっかで配っているかにゃ?
856 :
_ :03/05/31 13:32 ID:???
857 :
nobodyさん :03/05/31 14:20 ID:OdjsmUrQ
>>855 日本語版CGIを英語版CGIに改造すれ。
つーか、機能削減くさいから自分でできるだろ。
日本語メッセージをぜんぶ英語に書き換えるだけだな。 日本語関連のコード指定とかも削除すれば完璧だ。
age
861 :
動画直リン :03/06/01 13:10 ID:FDrVWEME
日本語で書きこむ ↓ 英語に翻訳されて表示される ↓ (゚Д゚)ウマー ではないのか。そかー。
2ちゃんねる用語の英訳ってどっかにまとまったのある? 逝ってよし→You can go. てなわけには逝かないよな。
日本語が使われてるとこってレス書き込みの部分ぐらいだな。 後、エラーメッセージがあるか。 外人さんてアバウトだから適当に SorryとかOopsとか書いておくとか。
865 :
nobodyさん :03/06/02 02:10 ID:Ski1sS48
うんこちゃんな質問で悪いんですが、 ブラウザ側でCookieをOffにしてるとき、 環境変数からHTTP_COOKIEを取得した時って、 やっぱり中身はnull? ど う な ん だ Y O !
867 :
nobodyさん :03/06/02 02:27 ID:YkiHze2n
なんか、有り得ない。
869 :
816 :03/06/02 15:28 ID:???
またまた、疑問発生。 system($cgi > /dev/null)としたときSTDERRで出力されたのも捨てるんですか?
>>870 違うんじゃない?
shなら 2>/dev/null ってしないとダメでは?
何度も同じような質問してないで、UNIX系のshellの本でも読めよ>869
Apache スレで解決しなかったのでチョットここを読んでいる方にアドバイスをお願いします。
NT4+SP3 で apache 使ってるんですが、他の PC の共有ディレクトリを apache に認識さ
せる方法ってありますか?
Alias /hogehoe/ "//server_name/share_name/dir/"
<Directory "//server_name/share_name/dir">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
↑こんな感じで、 クライアント(ブラウザ)から、
http://saba/hogehoge/ ってやるとディレクトリとかファイルにアクセスさせたいんですが…。最終的には、このサーバー内の
プログラムから hogehoge の共用させたファイル/ディレクトリにアクセスしたいんです。
Apache スレで頂いた解答からネットワークドライブ接続を試しても
(22)Invalid argument: cannot read directory for multi: x:/
とのエラーが出て、うまくいきませんでした。エクプローラーなどを使った
通常のファイルアクセスはうまくいきます。
Apache を動かしてる鯖
NT4 + SP3
Apache 1.3.26
hogehoge
w2k Workstation Professional + SP3
>873 かけらもCGIとは関係ない罠。 だいたい、NT4のディレクトリツリーに別マシンの共有をマウントしたい、 ということなら純粋にWindowsNTの話だろ。Apacheスレでもかなり板違いじゃネーノ? Windows板行ったら? 一応マジレスしておくと、 Win2Kで物理ドライブならディレクトリにマウントできる(NT4は知らん)。 でも共有をネットワークドライブにしたものじゃできないような気がする。
>>873 ちょっと考えれば何が足りなくてできないかわかるだろう
わからないならやめとけ
むしろ、タイミングじゃないか?
879 :
nobodyさん :03/06/04 18:24 ID:Tvd/Cgmb
881 :
nobodyさん :03/06/06 23:10 ID:+r8FS3t3
CGIの出力(文字コード:EUC)ですが,文字化けしてしまいます. 一応,以下の対策はとってあります. 1. <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> 2. <HTML>の直後に<!-- 顰蹙 --> 他の方法をご存じの方が見えましたらお教え下さい. Perl5.6.0 Apache2.0.46 IE6.0
レスポンスヘッダに Content-Type: text/html; charset=EUC-JP を吐くとか。
883 :
881 :03/06/06 23:18 ID:+r8FS3t3
>>882 早速のレス,ありがとうございます.
Perlで
print "Content-type: text/html charset=EUC-JP\n\n";
ということでOKでしょうか?
試してみます.
882が一番よい。
886 :
881 :03/06/06 23:20 ID:+r8FS3t3
>>884 -
解決しました,ありがとうございましたm(_ _)m
>>881 その情報だけじゃ、出力してる文字列がEUCであるという保証はないしなぁ。
たとえば、CGIはちゃんとEUCで書かれていたとしても、データファイルがShiftJISで
書かれている場合、それを読み込んでそのまま何もしないでcharsetとかだけEUCにして
出力すれば当然化ける。その点は大丈夫?
なんだ解決したのか……(´・ω・`)
889 :
881 :03/06/06 23:23 ID:+r8FS3t3
>>887 CGIはEUCで書いていますし,データファイルもEUC(jcode.plの設定)にしてあります.
ご丁寧にありがとうございます.
890 :
nobodyさん :03/06/07 17:56 ID:MhaSlAaY
2ch掲示板CGIスクリプトってどっか配ってないかい?
>>891 おい!ちょっとまてこの化す野郎!
何も知らない初心者に知った風な顔で暴言吐きやがって!!
そんなことじゃ、生んでくれた両親に恥ずかしくて顔見せできないと思わないのか?
恩師や、今までおまえを支えてきた友人知人、こんなおまえを見たらさぞ悲しむだろうな。
宅の子がご迷惑をおかけしました。世間様に顔向けできません。(ご両親:涙ながらに語る)
在学中、私が彼のことをもっと良く見てあげなかったばかりに・・・。(恩師:口惜しそうに語る)
最近、あいつが何か気に病んでいたことは知っていた。もっと耳を傾ければよかった。(友人:拳を硬く握り締めながら・・・)
えー!?あいつがそんな事を!?メールが来てうざかったからスルーしてたんだけど
相手してあげればよかった!(知人:突然の出来事に戸惑いながら・・・)
あの子は、普段とってもいい子だったのよぉ!両親の面倒はしっかり見てるしぃ、
ごみの餞別だってちゃんとやっていたのにぃ・・・。
人は見かけに寄らないのわねぇ。(近所のおばさん:やや興奮気味に語る。早朝だというのにメイクはばっちり。)
だがなぁ、俺には何もかもお見通しなんだぜ?
さぁ、ぶっちゃけてみろよ?
貴方、いい人よね?それもチェルノブイリ級の!?
つまらん
ごみを餞別にくれるとは、大したいい子だな〜。
リモートホストが取得できないっぽいサーバを利用しているのですが、この場合でも、リモホの取得が出来る、と聞きました しかし、よくわからないので具体的なヒントみたいなの欲しいです
>>896 Perlだと、gethostbyaddr()が使えるかも。
>>896 取りあえずnslookup。
それでダメならそもそもドメイン持ってない。
900 :
nobodyさん :03/06/09 23:00 ID:/GOVX3gU
Lightweight Language Satuday ってどうよ?
901 :
_ :03/06/09 23:07 ID:???
903 :
直リン :03/06/09 23:10 ID:GjkKVS2A
904 :
nobodyさん :03/06/10 06:22 ID:kaHFWY5K
そのとおりだけど、なんですか?
906 :
896 :03/06/10 12:38 ID:???
まぁ
>>898 はちょいとアドバイスとしては的確さに欠けるからいいだろ(藁
あの質問に「とりあえずnslookup」つーのはいかんだろ
909 :
nobodyさん :03/06/12 02:08 ID:tP0iTRur
GET
911 :
909 :03/06/12 02:13 ID:???
自己解決しました。 直にデータを渡すと、 REQUEST_METHODの中身はGETになるんですね。
912 :
909 :03/06/12 02:15 ID:???
>>910 自己解決したとはいえ、
回答ありがとうございます。
質問を書いてる時点で試したほうが早いとかおもわねーのか?ったく。
___________ / (・G・)<僕、GETマン。ヨロシクね! \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
___________ / (・G・)<GETマンは永遠に不滅です。 \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
??
cgi-lib.plで今日始めて知った事だが、 ReadParseした値は使うとき必ずSplitParamを通した方がよさそうだ。 その方がいいの?
CGIで画像を出力するにはどうするの?本見て print "Content-type: image/jpeg\n\n"; print '/bin/cat img.jpg'; ってやったけど出来なかったから。
print `/bin/cat img.jpg`;
922 :
nobodyさん :03/06/13 10:02 ID:1CoOWAYz
apache 2.0.40です。 /cgi-bin/では動くんですが、 任意のディレクトリでは エラー:Premature end of script headers: *.cgi (LogLevelはdebug)が出てしまって動きません。 一応 <Directory /> Options FollowSymLinks ExecCGI AllowOverride None </Directory> <Directory "/var/www/users/*/public_html"> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI # <Limit GET POST OPTIONS> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS> # Order deny,allow # Deny from all # </LimitExcept> </Directory> としているんですが。 文字コードやパスの問題かと思いましたが、 Cのコンパイル済みファイルでも同様でした。
923 :
922 :03/06/13 10:04 ID:???
もちろん、パーミッションは755です。 どうしたら動くようになるでしょうか?
>>922 Apacheスレのほうがいいかもしれないが・・・
AddHandler cgi-script .cgi のコメントアウトは外してある?
>>924 わかりました。移動します。
>AddHandler cgi-script .cgi のコメントアウトは外してある?
外してあります
926 :
nobodyさん :03/06/13 17:25 ID:RQFoJyA3
スレ違いだと思うんで、まあ、 移動して下さい。
>>926 自分で試行錯誤してどうしてもできないっていうのならまだ分かるが、
はじめから何も手をつけずに全部教えてくれってか。
CGIの設置を解説したページは星の数ほどあるので、自分で検索してください。
>>928 おまえ、星がいくつあるのかわかってるのか?
1つ、2つ、3つ、、、たくさぁん!
>>929 お前は、日本語勉強始めたばかりの外人か・・・
「今、手が離せない」って言ったら、
手が何処かにくっついてるとでも思ってるのか?
「顔から火が出る」って言ったら、
焼身自殺でも図ったのかと思うのか?
>>931 ワロタ。
つーか、ローカルでsystem関数を使うと500エラーが出るんだけどなんで?
エラーチェックもしたし、
system("perl test.cgi")ともやってみたけどエラーが出た。
ためしに、system関数使う側でsystem関数をコメントアウトしてみたらちゃんと動いた…。
マジ分からん。誰か助けて〜。
次スレだけど、 CommonGatewayInterfaceだけど、なんか質問ある?Part 11 にすると、932みたいなバカが近寄ってこなくなる罠かも?
そんなスレタイにすると、今まで以上にPerlスレにCGI厨が流れてくるから勘弁してくれ。
なぁに、Perlスレを PathologicallyExlecticRebbishListerですが何か? にしておけば問題ない。
そんなスレタイにすると、ム板のPerlスレにこの板の住人が押し寄せるから勘弁してくれ。
なぁに、ム板の方も thePracticalExtractionReportLanguageってどうよ? にしておけば問題ない。 ↓以下ループ
そんなことより回答者は名前をCGIにしろ
そんなスレタイにすると、Perlに関する単発質問スレが乱立するから勘弁してくれ。
941 :
932 :03/06/14 14:08 ID:???
バカでもCommonGatewayInterfaceぐらい知ってますが、何か?
次スレは CGIだけどなんか低レベルな質問ある? part11 でお願いします。
>942 もう馬鹿な質問ある?でいいよ。
次スレタイ案 CommonGatewayInterfaceを「CGI」と呼ぶスレ Part11
このスレタイじゃ「質問スレ」だって分かんないじゃないか……
どっちも馬鹿だったってオチだな。
唐突ですみませんが教えて下さい。 @list = (zz,xx,yy); と言う配列があって、 zzが一番大きい数値だった場合にAと言うフラグを、 xxが一番大きい場合はBと言うフラグを立てたいんですが、 この場合はどういう処理をしたら良いのでしょうか? …なんか判り難い説明でご免なさい。 宜しくお願いします。
if で普通に出来るような… if ( ($list[0] > $list[1]) && ($list[0] > $list[2]) ) { フラグA } if ( ($list[1] > $list[0]) && ($list[1] > $list[2]) ) { フラグB }
951 :
nobodyさん :03/06/22 00:03 ID:ZbCu2Cxk
>>951 重い原因による。
トラフィックの問題なら、ディスクをいくら大きくしようが、
CPUを強化しようが、無駄。
956 :
nobodyさん :03/06/25 04:31 ID:yqFaBvK/
WindowsXP Pro.(SP1)でIISの機能を使ってCGIを動かそうとしています。 仮想ディレクトリにcgi-binという名前を付けて、 そこにCで作ったCGIを置いています。 そのディレクトリには、「読み取り」「書き込み」「ログアクセス」 「このリソースに索引をつける」の属性を設定し、 実行アクセス権に「スクリプト及び実行可能ファイル」を指定しています。 フォームからCGIにデータをPOSTし、そのCGIでサーバー上のディスクに (とりあえずCGIと同じディレクトリに)データを保存するという処理を 実験しているのですが、どうにもファイルに書き込むことができません。 ファイル名は間違っていません。そのファイルはリードオンリーでは オープンに成功するのですが、上書きですとなぜかオープンに 失敗するという現象が発生します。エラーステータスは「アクセス拒否」です。 これが違うマシンだと成功したりしているので訳がわかりません。 もちろん環境等の違いも考えられますが、ディスク容量が異なるとか、 ビデオカードが異なる、程度の違いなので実質、問題はないと思います。 自分としては設定は間違っていないと思うのですが、 どういうことが原因かいまだにわかりません。 まだ見落としていることがあるかもしれませんが、 3日寝ていないので限界です(w どんな些細なことでもかまいませんので、 思い当たることがありましたらご教授願います。 どうぞよろしくお願いいたしますm(_ _)m すみません、寝かせてください(o_ _)o
まず、寝る。
959 :
_ :03/06/25 05:51 ID:???
960 :
nobodyさん :03/06/25 06:46 ID:jLCyvZxv
961 :
_ :03/06/25 08:13 ID:???
質問は必要な情報を正確に簡潔に。
ふぅ…で、次の質問は?(藁
すみません。他スレでは反応が乏しいので、こちらにも質問させてください。 WindowsXP Pro.(SP1)でIISの機能を使ってCGIを動かそうとしています。 仮想ディレクトリにcgi-binという名前を付けて、 そこにCで作ったCGIを置いています。 そのディレクトリには、「読み取り」「書き込み」「ログアクセス」 「このリソースに索引をつける」の属性を設定し、 実行アクセス権に「スクリプト及び実行可能ファイル」を指定しています。 フォームからCGIにデータをPOSTし、そのCGIでサーバー上のディスクに (とりあえずCGIと同じディレクトリに)データを保存するという処理を 実験しているのですが、どうにもファイルに書き込むことができません。 ファイル名は間違っていません。そのファイルはリードオンリーでは オープンに成功するのですが、上書きですとなぜかオープンに 失敗するという現象が発生します。エラーステータスは「アクセス拒否」です。 これが違うマシンだと成功したりしているので訳がわかりません。 もちろん環境等の違いも考えられますが、ディスク容量が異なるとか、 ビデオカードが異なる、程度の違いなので実質、問題はないと思います。 自分としては設定は間違っていないと思うのですが、 どういうことが原因かいまだにわかりません。 まだ見落としていることがあるかもしれませんが、 3日寝ていないので限界です(w どんな些細なことでもかまいませんので、 思い当たることがありましたらご教授願います。 どうぞよろしくお願いいたしますm(_ _)m すみません、寝かせてください(o_ _)o
読む気もしない
同意
後半なんてわざと書いてるように見える。
よって自分的には
>>964 は釣りorネタと決定。
>よって自分的には
>>964 は釣りorネタと決定。
同ー胃。
一応マジレスすると、アクセス拒否だって言われてるんならアクセス拒否だろ、としか…。
CGI実行ユーザーの権限でアクセスできないんだろ。
>CGI実行ユーザーの権限 何を指してるんだ?ownerか?はたまたnobodyか・・・まさかrootってことは無いだろうし・・・。
>>968 IISの実行権限じゃないのか?
確か、IISインストしたら変なアカウント1個できるからそれじゃないのかな
つかまあ、IISなんぞ使う奴の気が知れん訳だが。 やっぱ、釣りなのかなあ。
CGIでファイルを新規に作ることができるのなら、 新規に作られたファイルの所有者みればわかりそうなもんだ。
CGIのカウンターを設置したいのですが、 CGIファイルなど全てを別サーバに置いても、動作してくれますか?
>>972 レンタルのカウンターがまさにそれぢゃないの?
自分で作った奴をレンタルしてますが、何か?
975 :
nobodyさん :03/06/26 18:15 ID:gCrGMfEU
これまで当たり前のごとくUNIXサーバを利用してきたので ちょっと引っかかっています。 フランスの無料サーバにKENT WEB配布のスクリプトをFTPソフトでなく (FTPは申請制でまだ許可をもらっていないため) ブラウザからアップロードして呼び出してみたところ、 以下のようなエラーが表示されました。 CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Unrecognized character \x0E at G:\Domains\hogehoge.com\wwwroot\personal\momotaro\bbs\keijiban.cgi line 1. よく考えてみたらパーミッションをいっさいいじっていないし、 かといってブラウザ上からの設定項目があったか?というのも フランス語なのでよくわからず、フォーラムで検索してみたら Windowsサーバであることがわかりました。 この場合、1行目だけWindowsサーバに対応するよう書き換えれば よいのでしょうか?(今後のためにFTP使用許可の申請は出しましたが…) どうぞアドバイスよろしくお願いいたします。
976 :
_ :03/06/26 18:24 ID:???
>この場合、1行目だけWindowsサーバに対応するよう書き換えればよいのでしょうか? ダメなんですか? 質問は真面目に書け。
978 :
nobodyさん :03/06/26 18:37 ID:u4XYG4uM
トライポッドでYY-BOARD Ver: 5.04 はどこに#を入れたらchmod回避出来るわけ?
chmodやsleepまで使えないのかあそこは・・・・
>>978 yyregi.cgi
824行目 if ($f) { chmod(0666, $pastfile); }を
#if ($f) { chmod(0666, $pastfile); }
981 :
nobodyさん :03/06/26 19:18 ID:gCrGMfEU
>>977 おちょくったつもりは一切ないのですが…
まずきっかけをつかんでから自分でどう書き換えるか調べようと考えて
「どう書き換えたらよいですか?」という質問にはしませんでした。
miやJeditでスクリプトのファイルを開くと
デバッガー(って言うのか?)で表示された行の番号とは
違って表示されるときがありますし、Macintoshを使っていると
どうもWindows流の表示に慣れていなくて不安を感じたもので
質問させていただいたのですけれども不適切だったでしょうか。
>>981 あなたにプログラムを書くだけの技術があるようには到底思えない。
そして、ここは使う人ではなく作る人の板。
>>982 >この場合、1行目だけWindowsサーバに対応するよう書き換えれば
入っているのがActivePerlなら、1行目なんか無視すると思うけど。
それに\x0Eなんて入ってるワケ?試しにいろいろやってみれば?
それもやらない人が、そもそもフランス語のサーバで、
説明一切フランス語でやっていけるわけ?
>>981 不適切っつーか、
>1行目だけWindowsサーバに対応するよう書き換えれば
ってのをやってないからだろ。聞く前にやれバカ。
「どう書き換えたらよいですか?」の方がまだマシ。
次は「この修正したファイルをアップロードしても大丈夫でしょうか?」とでも聞くつもりか?黙ってやれっての。
質問は
1.○○がしたくて、
2.△△をやったが、
3.××の理由でできませんでした。
って書けやボケ。
Perl 初心者コーナーと同じだが、どこのスレでもどこの掲示板でもどこの学校・会社でも同じだ。常識知らずはカエレ。
>>985 解らないなら偉ぶらないで解らないと書くべきだ。
>>988 いや、本当に次スレだし。
スレタイ変だけど。
>>989 スレタイに 【】 を使うよりは、はるかにマシ