1 :
名無しさん :
2000/10/16(月) 01:30 print "くだらねぇー質問はココから始めろ!";
ムダスレ立てんなボゲェ。
黙って実行されてろ。
500 とかいうなよ
たまには、日本語話せよ。
1の頭の中は404だな。
7 :
名無しさん :2000/10/16(月) 19:01
ない
8 :
名無しさん :2000/10/16(月) 20:12
初心者の素朴な疑問ですが、cgiに大量のデータが送られてきた として、これをcgi側でサイズチェックして大きすぎると判断したら 破棄してエラーメッセージを送り返すとします。 このときcgi側で読みこまなかったデータはそのままサヨナラして くれるのでせうか? サーバのメモリのどっかに溜まったまま・・・ なんてことは絶対ナイジェリアですか?
9 :
名無しさん :2000/10/16(月) 20:35
送りたいんだけどだろ?>8
10 :
8>9 :2000/10/16(月) 20:54
いきなりgets(Cの場合ね)で読みこんだりするとヤバそうなんで、 環境変数でサイズをチェックした方がいいと思うんですが これ、何メガバイトも送られてきたらどうすればいいんでしょう? というのが質問の主旨でありんす。
それはデータ管理の範疇でCGIとは関係ねーだろ
>>8
12 :
TDR :2000/10/16(月) 21:24
SSIの <!--#exec cgi="./????/****.cgi"-->は*.cgiスクリプトだと どう書くんでしょうか?
13 :
名無阿弥陀仏 :2000/10/16(月) 22:05
14 :
TDR :2000/10/16(月) 22:18
ちょっと判りにくかったでしょうか。 CGIでSSIの <!--#exec cgi="./????/****.cgi"-->機能を 使うという事です。 判る人だけレスください。
>>14 つまり、 <!--#exec cgi="./????/****.cgi"-->部分に実行結果
を埋め込みたいってこと?
・ASPを使う。
・PHPを使う。
・PerlからHTML::Embperlを使う。
・PerlからHTMLファイルをopenで普通に開いて、埋め込みたい部分
を置換する
・ネットで調べる
16 :
名無しさん :2000/10/16(月) 23:41
フレームを使うはどうよ?
一応、言っておくと <!--#xxxx--> をCGI側で print してもSSIそのものは構造上使えないからね。 15はそれに近いことをやろうとしてるのだけど、 CGI で実行させるなら `` といか exec とかいう「CGIが」プログラムを実行させる命令を別に書かないといけない。
アクセスカウンターで画像の表示が終わってから、 数字がスロットのようにぺロンって変わるcgi下さいな!
あげません
>>16 つーか、それは「質問」とは言わない。
20 :
名無しさん :2000/10/17(火) 02:55
>1 お前、細かい構文にうるさすぎるんだよ! ソースの流れから汲み取って判断できないのか? 500ばっかり出しやがって人間様をなめるな!!!
>20 確かに、俺もそう思う。
インタプリタからして壊れていると見た。
23 :
名無しさん :2000/10/17(火) 19:31
>20 まったくその通り! ;が抜けたくらいでエラーにすんなっ 行間を読め! それにな、エラーを出す時はきちんと 「何処何処がエラーです」って教えろよ。 たまにいい加減なことをいうから探すのが大変だろ?
24 :
名無しさん :2000/10/17(火) 20:04
標準出力吐き出し系の掲示板作ってんだけど、 書きこんだあとに、そのページ表示してもブラウザのキャッシュ がきいて書き込みが反映されてないような状態になります。 リロードすればもちろん見れるんだけど・・・ なんかヘッダとかで「キャッシュ使うなよゴルァ!!」みたくする方法はないですか? できれば、javascriptとかみたいに環境に依存するような方法以外で・・・ I-MODEでも有効ならなお良しなんだけど
25 :
適当君 :2000/10/17(火) 20:59
<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=
http://
26 :
初心者 :2000/10/17(火) 21:25
あのー、HTMLだけでホームページ作るときってファイル一杯作って リンクでつなぎますよね? CGIの場合もそういう風に処理の単位で 別ファイルにしてリンクでつないでいった方がいいんでしょうか? それとも変数の値で全然違う振舞いをするようにしておいて、 ソースファイルは一つにしておいたほうがいいのでしょうか? 後者の方が重いのは分りますが、ファイルが一杯になるのはちと 面倒くさいんで...
27 :
名無しさん :2000/10/17(火) 21:48
28 :
>26 :2000/10/17(火) 22:16
好みで作ってよし!
29 :
名無阿弥陀仏 :2000/10/17(火) 22:20
>>24 <META NAME="Cache-Control" CONTENT="nocache">
<META NAME="Pragma" CONTENT="nocache">
でいけると思う。CGIを直接参照しているなら
Cache-Control: nocache
Pragma: nocache
を Content-Type ヘッダに追加してもいい。
30 :
厚着deミロード :2000/10/17(火) 23:13
>29 Pragmaって なんでしょうか?
31 :
名無阿弥陀仏 :2000/10/17(火) 23:25
タイムリーなハンドルだなおい(w Pragma も Cache-Control もやってることは同じだから気にしなくていいよ。 とりあえず両方設定しとけばどっちかが有効になるっつうことで。
32 :
FW:【紹介】 :2000/10/17(火) 23:41
アクセスカウンターで画像の表示が終わってから、 数字がスロットのようにぺロンって変わる フリーのcgi紹介して頂けませんでしょうかぁ
33 :
24 :2000/10/17(火) 23:46
>25 それは適当すぎます(^^;) >27 串なんかつかってないです >29,31 ありがとほ、早速試して見まふ。 PragmaはC言語の#pragmaと同じような感じかな? CGI直接参照標準出力オラオラ型CGIなんで直接ヘッダを吐いてみます。
34 :
名無しさん :2000/10/17(火) 23:58
>33 でもそのヘッダ吐くとオフラインで見れなかったと思うから その辺、気に止めておいてくれ。
35 :
名無阿弥陀仏 :2000/10/18(水) 00:13
>>32 あっちじゃ誰も答えてなかったな。
アニメーションカウンタはCGIではなくGIFアニメでやってると思うぞ。
0から1とか、3から4とか、9から0などに変わる動画のアニメGIFとかがあるんだろう。
まあCGI内部でもカウントアップ時に変動する数値は動画を使って
変動してない数値は静止画を使うっていう工夫はいるだろうけど。
JAVAでやってる場合もあるだろうがそっちは知らん。
36 :
26>28 :2000/10/18(水) 00:22
うーん。好みですか。じゃ、一つのシステムは一つのファイル で作っときます。 PWSだとファイルのパスが何故かcgi-binからの相対パスで 書かないといけないのでファイルを分けるとディレクトリの構造が 代わった時に面倒くさいときが多々ありそうなので。
>>35 さん ありがとうございます〜!!
ソース見るとCGIポイんです<IMG SRC="http...>
CGIでアニメGIF使えたんですね。
38 :
日本強いね :2000/10/18(水) 00:49
Pragma: no-cache HTTP/1.0で「キャッシュ使うな」指定するためのヘッダ Cache-Control: no-cache HTTP/1.1で「キャッシュ使うな」指定するためのヘッダ * サーバ(及び中に介在させるプロクシ等)がすべてHTTP/1.1を理解できるならば、Pragmaはいらない。 Pragmaではno-cacheしか指定できないが、 Cache-Controlではキャッシュに関して色々な指定が出来る。 詳しくはRFC2616。
39 :
20 :2000/10/18(水) 01:02
で、CGIからの返答は無しか。 ちょっと都合が悪くなったからといってダミーの403返すなよな。
40 :
CGI :2000/10/18(水) 02:20
401 Authorization Required
>39 いや、そもそも来る気も無いとみたぞ。
やる気の無いヤツが立てたスレは盛り上がらない、という良い見本。
43 :
名無阿弥 :2000/10/18(水) 06:43
38>> あ、誤字ってたか。 そうそう no-cahe でした。さんくす。 24 の人そのように直してください。修正希望あげ。
44 :
名無しさん :2000/10/18(水) 14:17
ファイルの中身を連想配列に入れたいんですが、なんかこう もっとエレガントな方法ありませんか?perlに慣れてないんで こんなヘボスクリプトしか書けませんでした。 if (!open (FILE,$filename)) { &error(3); } foreach $tmp (<FILE>) { chop ($tmp); @a = split(/\t/,$tmp); $TBcategory{@a[0]}=@a[1]; } close (FILE);
45 :
名無しさん :2000/10/18(水) 14:32
46 :
CGI :2000/10/18(水) 15:38
if (!open (FILE,$filename)) { &error(3); } s/^([^\t]+)\t([^\n]*)/ $TBcategory{$1}=$2; /e while <FILE>; close (FILE);
47 :
名無しさん :2000/10/18(水) 15:55
>>29 ちょっと待て、誰も突っ込んでないが、name属性じゃなくてhttp-equiv属性だろ?!
もちろん、CGIならばhttp-equiv形式のmeta要素は一切必要ないが。
48 :
44 :2000/10/18(水) 16:45
( ̄□ ̄;)
すっ、すげぇ…
正規表現使うとここまで省略できるんですか。
まっことありがとうございましたっ!
>>46 さん
%TBcategory = map { chomp; split /\t/ } <FILE>; の方が良いかもしれません。 タブが複数個入る場合を考えて、split /\t/, $_, 2 とするのは良い考えです。
50 :
【多謝】 :2000/10/18(水) 18:58
>>45 様~
ぉ!!!ありがとうでした〜 早速、使ってみます。。。
51 :
CGI :2000/10/18(水) 20:01
メモリの消費量を考えるとmapは使いたくない。
52 :
名無しさん :2000/10/18(水) 21:01
キャッシュの... <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> ...これで、いいの?
53 :
名無阿弥 :2000/10/18(水) 22:06
>>47 う。多分それが正しいんだね。ありがとう。
違いがよくわかってないのでどう違うのか教えてください。
HTTPヘッダとして使われるものはこっちってことでいいのかな?
>>44 japuさんが言ってますが 46 なら\t が複数あっても改行まで2個めの\tも含めてすべて受け取れるけど
44 だと2個めの \t 以降は切り捨てられる違いがある。使い分けができます。
44 も同じ結果にするなら split/\t/, $tmp, 2) にすればいいのかな。
>>46 [^\n] はピリオドにしたほうが多分効率いいね。
>>52 で、いいと思います。あと Pragma も同様にね。
54 :
CGI :2000/10/18(水) 22:14
>[^\n] はピリオドにしたほうが多分効率いいね。 それでchomp相当処理はどこでやるつもり?
55 :
CGI :2000/10/18(水) 22:31
やり直し。 &error(3) unless (open (FILE,$filename)); undef %TBcategory; while (<FILE>) { $TBcategory{$1}=$2 if /^([^\t]+)\t([^\n]*)/; } close FILE;
56 :
新入り :2000/10/18(水) 22:54
すみません、いきなり質問で申し訳ないのですが、 環境変数、HTTP_REFERER ってどんな場合に環境変数に 代入されるのですか? 代入される場合と、されない場合があるのですが。。。
57 :
名無阿弥 :2000/10/18(水) 23:24
>>54 ピリオドが「改行文字以外」にマッチなので [^\n] と同じ結果のはずです。
なので問題ないかと。
あと open(FILE, $filename) || error(3); なら見栄えもスッキリしますよ。
>>56 <A>タグなどでリンク(ここでは「最新レス100」など)を移動すると
その直前のURLが入っています。
URLを直接ブラウザに打ち込んで飛んだ場合は入らない(はず)。
たまに、ブラウザがバグって別ウィンドウのURLが入ってることもあるみたいです。
[unknown origin] が入ってることもあるけどこれは直打ちってことかな?
man perlre: . Match any character (except newline) &nbsp;&nbsp;&nbsp;&nbsp;: To facilitate multi-line substitutions, the "." character never matches a newline unless you use the /s modifier, try this: $_ = "sakura\tmoe\n"; @hoe = /^([^\t]+)\t([^\n]*)/; print "[@hoe]\n;
あ、 & が抜けてた。さげ。
個人的には、 open FILE, $filename or error(3);
あ、なるほど。japuさんどうも。それと勘違い君で皆さん申し訳ない。 勉強になりました。
62 :
適当君 :2000/10/18(水) 23:52
>>56 ブラウザの"戻る"がアクティブでない時が変数の中身はカラ。
...「新しいウィンドウでリンクを開く」とか
あれ?早とちりかな。 ピリオドでも [^\n] でも同じなのかな…。わからなくなってきた。 \s 使わなければ "." は \n にマッチしないということかな? すいませんけど識者の方教えてくださいませ。
64 :
ぺこちゃん :2000/10/18(水) 23:58
こんばんわ。 GETでサーバーに送れるデータは254文字までと 書いてある本と書いてない本が有るんです。 私がテスト(IIS4)してみたら、300文字でも送れた んですが、どうしてでしょうか?UNIXだとだめなん ですか?
65 :
便乗さん :2000/10/19(木) 00:01
ココは「なし」ですよね?
66 :
>64 :2000/10/19(木) 00:26
その本が古いだけじゃない? 今は数千文字でも大丈夫。
67 :
新入り :2000/10/19(木) 00:35
>>57 さん
>>62 さん
いきなりの失礼な質問に答えて下さり有難う御座いました。
こちらで再現している状態と一緒なので、そういう仕組みに
なっているようですね。勉強になりました。本当に有難う御座いました。
68 :
名無しさん :2000/10/19(木) 04:27
プロバイダとかレンタルのCGI鯖ってPERLのモジュールの 入り具合はどんな感じですか? Perl本体だけとか?
69 :
名無しさん :2000/10/19(木) 04:45
>Perl本体だけとか? 標準で入ってるモジュールはあるだろ(笑)
70 :
clear :2000/10/19(木) 05:36
Niftyだとuse Strictさえエラーになる。 モジュール消すにしてもプラグマぐらい使えるようにしといて欲しい。
71 :
名無しさん :2000/10/19(木) 06:12
use Strictって書いてエラーっていうのもおもろいな(藁
72 :
名無しさん :2000/10/19(木) 06:19
まあね。他の奴の相場は?
73 :
名無しさん :2000/10/19(木) 06:21
あら、しまったリロードしてなかった。 72 > 69 ね。
74 :
名無しさん :2000/10/19(木) 18:46
cc gcc sh httpd
75 :
等幅フォントって... :2000/10/19(木) 23:30
OS共通の等幅のスペルって、どないでしょうか? <FONT FACE="等幅" COLOR="#AAAAAA">Copyright(C) 2000 XXX.All rights reserved.</FONT>
77 :
名無しさん :2000/10/20(金) 02:31
CGIの負荷って、どうやって測るのですか? また移転先探さなきゃ・・
78 :
名無しさん :2000/10/20(金) 02:40
79 :
44 :2000/10/20(金) 18:31
先日はありがとう御座いました。 あれで作られた連想配列、key を与えればちゃんと取り出せるのですが 順番がぐじゃぐじゃになっているのはどういう事なんでしょうか? 順番に取り出したい場合はデータにuniqueなIDつけて、カウンタをkey にして取り出すしか無いんでしょうか? $flag = 0; foreach $tmp (%TBmens_collar) { if ($flag == 1) { print "$tmp\n"; $flag=0; } else { $flag++; } }
80 :
名無しさん :2000/10/20(金) 19:33
掲示板のメッセージ欄でURLをしてもリンクされません。 ハイパーリンクジャンプするには、どうすればよいのでしょうか? 初心者ですがよろしくお願いします。
81 :
名無しさん :2000/10/20(金) 19:55
>>79 入門書でも読んでハッシュについて勉強しろ。
82 :
:2000/10/20(金) 21:00
# 自動リンク $in{'msg'} =~ s/($http_URL_regex)/<a href="$1" target="_blank">$1<\/a>/ig;
83 :
80 :2000/10/20(金) 22:11
>82さま ありがとうございました。早速コピー&ペーストしてみたのですが、 残念ながらうまく、表示されませんでした。 やはり私では難しいすぎたのかもしれません。 でもいずれ使える時のために82さんのレスをテキスト保存しました。 お気遣いすみませんでした。
84 :
>83 :2000/10/20(金) 22:21
$http_URL_regexってやつちゃんと設定してる??
85 :
80 :2000/10/20(金) 22:29
86 :
名無しさん :2000/10/20(金) 22:36
CGIの中でsysytem文は使っちゃだめなんですか? print "Content-type: text/html\n\n"; system "cat ./header.txt"; system "./sidebar.pl"; &mainroutine; こんな感じで。 ちなみに sidebar.pl は SSI としては正常に動いています。
87 :
名無しさん :2000/10/21(土) 00:09
>86 使用自体に問題はないけど、printの出力はバッファリングされてるので、 systemと混ぜると出力データの順序がばらばらになってしまいます。 最初に $|=1 を実行して、printのバッファリングを停止すれば、 オーケーでしょう(動作効率は多少落ちる)。
88 :
80 :2000/10/21(土) 12:55
>84様 すみません。やはりダメでした。 OTDの掲示板なので、無理があったのかもしれません。 ありがとうございました。
89 :
>80 :2000/10/21(土) 15:47
無理があるのはあなたの頭でございます。 わからないくせにCGIいじろうなんて考えるのやめとけ。
90 :
>87 :2000/10/21(土) 16:20
サーバーがApacheのバヤイ、$|=1;をやっとかないと ロックアウトしてまうということを「CGIのための実践入門Perl」で 読んだ。system関数つかわなくてもApacheでは$|=1;でバッファフラッシュ はデフォつーことで理解しとけばオゲーですか?
91 :
名無しさん :2000/10/21(土) 18:11
>90 なにそれ聞いたことないよう。もうちょい詳しく引用きぼん。
92 :
86 :2000/10/21(土) 21:03
$|=1; というのを初めて聞きました。 結論から言うと上手くいきましたが何を意味するのかちょっと理解できていません。 結果オーライ的思考からいくとこれでいいのですがちょっと釈然としないものが・・ web出力の基本は標準出力であり、system文が絡むとなぜバッファリングの順が狂うのやら。 ともかく有難うございました。
93 :
86 :2000/10/21(土) 21:07
あ!今、理解できた気がします。 検索結果が膨大になるときでも、実行中に結果を順次表示しないのかが これでわかりました。perlの中で出力を溜めちゃうんですね。 逆に$|=1; をトップに入れておけば途中経過がリアルタイムで 観察出来るって事でしょう。<ほぼ独り言 ついでになんですが、phpでバッファリングを止める方法ってありますか?
馬鹿ばっか。
95 :
動かない///なんで? :2000/10/22(日) 00:10
print "Content-type: text/html\n\n"; print "<html><head><title>REMOTE_ADDR</title></head><BODY>\n"> while ( ($a,$b) = each %ENV) { print "$a=$b<br><br>\n"; } print "</body></html>\n";
96 :
名無しさん :2000/10/22(日) 00:18
>95 二行目の最後を見れば幸せになれるぞ
97 :
95@動きました :2000/10/22(日) 00:25
あっほんとだ!さんきゅ〜 ; ネ
98 :
名無しさん :2000/10/22(日) 01:31
海外サーバーにおいた掲示板とかの日時が現地時間になってしまうのを 日本時間に直すにはどのようなスクリプトを書き足せばいいのでしょうか..
99 :
名無しさん :2000/10/22(日) 01:35
>98 $ENV{'TZ'}='JST-9'; これだけ追加。
100 :
98 :2000/10/22(日) 02:09
>>99 さん
ありがとうございます!
できましたー!
101 :
RiVer :2000/10/22(日) 13:29
だれかs///gを使って、標準語を関西弁に変換するようにしてください
102 :
ほれ :2000/10/22(日) 16:14
s/こんにちは/こにゃにゃちわー/g
103 :
名無しさん :2000/10/22(日) 20:29
s/バカ氏ね/アホちゃうかぁ/g
104 :
名無しさん :2000/10/22(日) 22:40
s/マック/マクド/g
105 :
教えて君 :2000/10/22(日) 22:53
CGIで生成されるページに &lt;!--#include virtual=""--&gt; みたいな感じでSSIを組み込みたいのですが、 どうしたら良いのでしょうか? 板違いでしたらすみません
106 :
名無しさん :2000/10/22(日) 23:04
CGI叩いた時点で制御がhttpdから離れてるから無理なのでは?
107 :
コピぺ君 :2000/10/22(日) 23:20
108 :
なぜ? :2000/10/23(月) 04:03
いままで動いていたkentさんの掲示板を あたらしいサーバーに移したら動かなくなりました パーミッションや転送モードは間違えていません telnetでエラーメッセージを見ると jcode.plの途中の行でひっかかっているようなのですが /\216([\241-\337])(\216([\336\337]))?/: unmatched () in regexp at ./jcode.pl lin このようなエラーがでてしまいます どうすればいいのでしょうか? ちなみに新しいサーバーはperlでなくjperlが使われているみたいです
↑エラーメッセージ最後の部分は line643 です
110 :
名無しさん :2000/10/23(月) 04:14
111 :
<BR> :2000/10/23(月) 05:32
実行すると…<P></P>が入ってしまいます。 検索しても<P></P>見当たらないのですが…
112 :
名無しさん :2000/10/23(月) 07:32
あんた誰?
>>111 108の続き? もう訳わからん。
113 :
111@<BR> :2000/10/23(月) 07:54
It's new です
114 :
名無しさん :2000/10/23(月) 08:55
FORMで引数をとってそれをリンクの一部に組み込みたいんですが どうやればいいでしょうか。それだけ出来ればいいのですが…。
115 :
なぜ? :2000/10/23(月) 21:17
>>110 いえ たぶん移転先がjperlなんです、、、
どなたか
>>108 の原因わかりませんでしょうか?
あ 111は自分とは関係ないです
116 :
名無しさん :2000/10/24(火) 01:08
>115=108 "-b"オプションが使えるjperlなら、先頭のパス指定で #!/usr/bin/perl -b と書くと英語版perlと互換モードになるから試してみよう
117 :
なぜ? :2000/10/24(火) 01:33
>>116 さん
できました! ありがとうございました
やはりjperlがいけなかったみたいです。。。
-bをつけたら掲示板が使えるようになりました
大感謝です。
118 :
名無しさん :2000/10/24(火) 09:51
>114 ($name,$link) = split(/=/,$org); print <<"EOF"; <a href="$link">xxx</a> EOF 適当。
119 :
755? :2000/10/24(火) 20:12
↑板違いだろ
121 :
1 :2000/10/28(土) 16:56
チャット入室お知らせメールの方法。 おしえて。
122 :
121 :2000/10/28(土) 17:16
さっさと教えろやこら。
123 :
名無しさん :2000/10/28(土) 17:19
やっぱりあほだ
124 :
名無しさん :2000/10/28(土) 17:36
ちょっと思いつきなんだけど、 sendmailのvacation.msgをCGIで書き換えるようにして、 アクティブな自動返答システムを作れないかなぁ?だめ?
125 :
名無しさん :2000/10/28(土) 21:40
【質問】 ファイル名がindex.htmlでも実行できるでしょうか?
126 :
名無しさん :2000/10/28(土) 23:07
>125 ?? CGIスクリプトのファイル名がindex.htmlだとダメですよ。 ディレクトリリストの参照が気になるなら同じ階層にダミーのindex.htmlを置くかしましょう。
127 :
125 :2000/10/28(土) 23:19
>126 どーもです。ここは../index2.htmlですよね?? どうやってるんでしょうか?
125は掲示板のフォームも全て拡張子.cgiでないといけないと思っているドキュン。
.htaccess 置いてCGIしか置けないディレクトリにしてしまえ ここはCGIが吐き出したindex2.htmlを表示してるだけだ。 index.htmlはフレームになってるだろ?
ちなみに、ここは <FORM METHOD=POST ACTION="../test/bbs.cgi"> を見ればわかるとおり、cgiはindex2.htmlじゃないからね
so-ka。 >128 125は掲示板のフォームも全て拡張子.cgiでないといけないと思っているドキュン atari!
132 :
名無しさん :2000/10/29(日) 11:33
掲示板で、二重投稿を防ぎたいのですが、 投稿された内容を別のファイルに記録して照合して…という方法しか思いつきません。 他にスマートな方法はありますか?
133 :
名無しさん :2000/10/29(日) 12:17
>>132 ログファイル本体の内容を参照するのでは駄目なの?
134 :
132 :2000/10/29(日) 12:38
あ、一行だけ読み込めばいいのか。 鬱だ、逝ってきます…
135 :
sa :2000/10/29(日) 17:20
掲示板の投稿後のページを変更したい。 どこを改造すればいいんですか?
>>135 どういう掲示板なのか説明しないと伝わらないってばさ。
掲示板なんて山ほどあんだから…それを踏まえた上で改造板逝ってみればどうかね。
137 :
若葉 :2000/10/29(日) 20:06
>136 改造板ってドコ?
139 :
名無しageさん :2000/10/30(月) 20:21
一回のファイルオープンで入力と出力を行うことは可能でしょうか? 以下のようにしても入力処理だけしかされません。 3行目と4行目をコメントにした場合は、出力処理がちゃんとされます。 入力処理と出力処理の間に何らかの処理を挟めばできるのでしょうか? それともこうゆうやり方は無理でしょうか? C言語ではこうゆうやり方が出来たように思ったのですが。 1>$file="hoge.dat"; 2>open(FILE,"+<$file") || &error("$!"); 3>@dat=<FILE>; 4>print(@dat); 5>print FILE "OK?\n"; 6>close(FILE);
140 :
名無し :2000/10/30(月) 21:28
append mode になってない。
141 :
名無し(140) :2000/10/30(月) 21:56
いや。。。動くぞ。 fileの決に付けたすんだろ?
seekもファイルポインタも知らんのにCがどうのとか言うなよ。
143 :
名無しさん :2000/10/31(火) 03:32
ファイルの文字コードをCGIより変換する方法ありますか? 文字列をエンコードするのは &jcode::convert(\$line, "euc"); とかですよね。 んじゃなくって、ファイル丸ごと。 nantoka.txt とかあったらこれを丸ごと、変換する方法です。
144 :
名無しさん :2000/10/31(火) 03:49
open(FH,"nantoka.txt"); $line = <FH>; close(FH); &jcode::convert(\$line, "euc");
$/ = undef; が抜けてるぞ。
146 :
135 :2000/10/31(火) 04:55
>136 板じゃなくスレだろ!!氏ね
nkf でフィルタかまして取得てのはどうだ
148 :
名無しさん :2000/10/31(火) 14:14
SSIとCGIを利用して、 ファイルの作成日が例えば1週間以内ならば"NEW"、 最終更新日が2日以内なら"UPDATED"とか表示することは可能ですか? メニュー画面 (index.shtmlなど)で。
>148 時間で比較する。
可能だがお前には教えてやらない
>148 可能。
可能 >148
局ウ(榕
154 :
名無しさん :2000/10/31(火) 19:17
↑なんだこいつ? 顔真っ赤にして連続書き込みか? お前みたいなperlすらも分からん包茎野郎は こなくていいんだよ。(諭すように)
それじゃ諭せないでしょ。
>154 まあ、落ち着け。スレッド違うぞ。 上げてるし。
157 :
上がったンでついでに… :2000/10/31(火) 23:25
2000年の表示って↓これだけじゃダメあるね? $year += 1900;
158 :
名無しさん :2000/10/31(火) 23:44
OK。 つーか "19$year" なんてやっている奴がなぜいたのか謎だ…。
159 :
78 :2000/11/01(水) 00:12
19100年ってとこがあるの?
>158ちゃん マジおせーて! >159 $year入れると100年って表示しちゃう年!!
マニュアルも見ずにプログラム組んでいるじゃないの?
マニュアルに載ってます: Also, $year is the number of years since 1900, that is, $year is 123 in year 2023, and not simply the last two digits of the year.
163 :
143 :2000/11/01(水) 01:55
144さんありがとうございます。 でも何度やってもうまくいきません。 そこで作っているプログラムからはずしてこの部分だけで、 #!/usr/local/bin/perl require 'jcode.pl'; open(FH,"nantoka.txt"); $line = <FH>; close(FH); &jcode::convert(\$line, "euc"); exit; とやっても変換できません。。。なにがおかしんでしょうか?
>japuさん どーもです、英語から勉強し直します
::
166 :
名無しさん :2000/11/01(水) 02:01
$line = <FH>; じゃなくて @line = <FH>; じゃないのか?
167 :
名無しさん :2000/11/01(水) 02:01
>163 145に144の訂正がありましたよ。openの前あたりに1行追加。 $/ = undef;
あ、グローバルな$/を書き換えると他の部分に支障が でるかもしれないので、ブロックに入れて保護するほうがいいか。 { local($/) = undef; open(FH,"nantoka.txt"); $line = <FH>; close(FH); }
169 :
:2000/11/01(水) 02:08
open(FH,"nantoka.txt") \n";
170 :
143=163 :2000/11/01(水) 07:11
みなさんありがとうございます。 いろいろ試してみたんですが、まだ出来ません・・・・。 jcode.plは最新のものにしたし、ローカルでもサーバー上でも試しても どちらとも出来ないし、、なにがおかしいんでしょうか? 実行の仕方でしょうかね?ローカルでは、MS-DOSプロンプト、 サーバーではtelnet使ってやってるんですが、、、。 なにかここが出来てないんじゃないの?とかいうアドバイスありましたら お願いします。
>170 163のスクリプトだけ見ると、読み込んで、convertして、 そのあとファイルに書き戻してないけど・・・。
172 :
170 :2000/11/01(水) 07:56
>>171 それではこのままでは変換した文字はどこに行ってしまうんですか?
>>172 暗黒メモリ空間
てゆーかアナタ・・・・・・大丈夫?
174 :
170 :2000/11/01(水) 18:11
ちょっとやばいかも・・・汗。 ファイルに書き戻す方法教えてください。。
>>174 ファイルを書き込みモードでopenして、変換した $line を
出力するだけでよいです。
方法がわからなければ、いい機会なのでちょっと勉強してみて。
(こういうのは答を書いちゃうほうがいいのかな・・・)
176 :
ありがとう! :2000/11/01(水) 20:34
143=163=170=174です。 できました!みなさんありがとうございます!! いちおうEUCに変換できるんですけど、 詳しい方から見ればおかしい所だらけだと思います。 直したほうがいいところがありましたらお願いします。 #!/usr/local/bin/perl require 'jcode.pl'; $/ = undef; open(FH,"nantoka.txt"); $line = <FH>; close(FH); open(CF, ">a.txt"); &jcode::convert(\$line, "euc"); print CF "$line"; close(CF); exit;
177 :
ありがとう! :2000/11/01(水) 20:36
すいません、下のが正しいです。 上のはファイル名一個間違えています。 #!/usr/local/bin/perl require 'jcode.pl'; $/ = undef; open(FH,"nantoka.txt"); $line = <FH>; close(FH); open(CF, ">nantoka.txt"); &jcode::convert(\$line, "euc"); print CF "$line"; close(CF); exit;
178 :
名無しさん :2000/11/01(水) 20:39
ぉ さすが ..メモメモ
179 :
名無しさん :2000/11/02(木) 15:22
任意の日本語の文字列を縦表示させたいんですが、 どうすればいいでしょうか? あぼーん ↓ あ<BR>ぼ<BR>ー<BR>ん このように変換したいのです。
ヒント:正規表現
#! /usr/local/bin/perl -w $_ = "パンプルピンプルパムポップン"; s{\G([\x00-\x7f] | # ASCII or JIS X0201 Roman \x8e[\xa0-\xdf] | # JIS X 0201 Katakana \x8f[\xa1-\xfe]{2} | # JIS X 0212 [\xa1-\xfe]{2}) # JIS X 0208 }{$1<BR>}gx; print "$_\n"; __END__
ちょっと対抗 #!/usr/bin/env ruby require 'jcode' $KCODE = 'SJIS' str = "じゃすとあなざーるびーはっかー"; str.each_char{|w| print "#{w}<br>"}
183 :
nanasii :2000/11/02(木) 22:46
ではふつつかながら(Unicodeはじめて)変歌。もとい返歌。 perl -MJcode -Mutf8 -npe '$_=Jcode->new($_)->utf8; s/(.)/$1<BR>\n/g;' doc/Printing-HOWTO.sjs |lv jperl とか fold.plつかえばもうちょっとストレートフォワードかな。 \b はasciiと日本語キャラの境界にマッチするようだ。つかえるかも。 utf8 はちかいうちに必要なくなるらしい。
184 :
名無しさん :2000/11/06(月) 15:57
splitで区切る文字に / を使いたい場合はどうしたらいいです?
@moe = split /\//, $hanyan; @moe = split m[/], $hanyan;
186 :
名無しさん :2000/11/06(月) 20:53
ところでPerlで大規模なプログラムとか組むとして 何行くらいから大規模と言うものなんでしょう?
300行以上
混乱しだしたら大規模。
189 :
いちろう :2000/11/06(月) 21:42
つくるのに、一日以上かかったら、大規模。
書き方にもよるけど、2000行以上ぐらいかな?
191 :
与える男 :2000/11/06(月) 22:24
"123.45" ^ "234.56" が、"317.13" になってくれません。 | や & は書いてある通り "020.44" と "337.57" になるんですけど…。 ラクダ本だとビット演算子のところでまとめて説明してあるんですが、 xorだけ挙動が違うんでしょうか?
192 :
ロックしたい人 :2000/11/06(月) 23:14
ここで質問してもいいんでしょうか。 今度新しくレンタルサーバー借りたんですけど、symlinkもopenも 使えないと、はっきりサポートメールで確認しました。 ロックというと symlink>open>なし だと漠然と思ってたんですけど、なしでも大丈夫なもんでしょうか。
193 :
名無しさん :2000/11/06(月) 23:55
>>192 文字列に対するビット演算子は「桁ごとの数値」じゃなくて、
「桁ごとの文字コード」で演算するから"317.13"にはならない。
結果は "\x03\x01\x07\x00\x01\x03" になる。
194 :
いちろう :2000/11/06(月) 23:56
頭を使えばね、>192
195 :
名無しさん :2000/11/07(火) 00:05
rename
index.htmに☆☆☆.cgiをフレーム表示してるのですが、 win-Netscapeだと表示されない様なんですが… 何が足りないのでしょうか? <HTML> <TITLE>☆☆☆</TITLE> <FRAMESET> <FRAME SRC="./☆☆☆.cgi"> </FRAMESET> </HTML>
198 :
初心者 :2000/11/07(火) 00:58
perl -cw ○○.cgi とやるとsyntax okとなるのですが cgiが動きません。 もう、どこがまちがってるのか検討つきません…。
>198 print "content-type: text/html\n\n"; とか入ってる?
200 :
??? :2000/11/07(火) 01:11
200?
201 :
初心者 :2000/11/07(火) 01:14
>199 はい!はいってます。
>198=201 とりあえずこれで調べてみなよ。 使い方は。。。言わなくても大丈夫だよな。 #!/usr/bin/perl print "Content-type: text/plain\n\n"; print "\n$@\n" if ( !eval { require "./2ch.cgi"; } ); exit;
203 :
初心者 :2000/11/07(火) 01:24
2ch.cgiとは何なのでしょうか? 少し不安なのですが…。
その部分を自分のチェックしたいスクリプトの名前に変えろって事だよ。 たった3行のスクリプトで不安になるなよ。 このスクリプトを実行するとエラーが表示されるだけだよ。 折角親切に教えてんのに。
どーせ、パーミッションが悪いかセミコロン削除したかだろうに。 202は親切さんだね、Perl板の鏡。
206 :
名無しさん :2000/11/07(火) 01:37
>>203 配布元にサポートの掲示板とかあるだろ?
そこで聞いたら?
207 :
初心者 :2000/11/07(火) 01:42
>204 すいません。 よく意味を理解してなかったもので。 ありがとうございます。 ためしてみます。
208 :
名無しさん :2000/11/07(火) 02:10
やったー!! とりあえず、問題は解決しました。 どこがいけなかったのかは完全にはわかってないのですが。。 教えてくださった202さん、アドバイスをくれた205、206さん。 ありがとうございました。
>208 よかったな。 みんな親切だから分からないことあったら聞きなよ。
みんな親切だから"自分で調べてみたが"分からないことあったら聞きなよ。 が正解。
211 :
名無しさん :2000/11/07(火) 03:51
CGIで出力したテキストファイル(ユーザーリストとか)を 暗号化したい場合はどうしたらいいですか?
212 :
名無しさん :2000/11/07(火) 03:58
crypt() たしか英数字8文字までだっけ?
あぁ、ファイルそのものを暗号化って意味か・・ 212は無視してくれ(;´Д`)
あげてみる
216 :
名無しさん :2000/11/09(木) 19:07
POP3サーバからメールを取ってきたのですが、 ヘッダの中から確実に差出人メールアドレスを取り出す方法って ありますか? FROMヘッダはアドレスが必ずしも入っているとはかぎらないので。 OutlookはFROMヘッダにアドレスがはいっていなくてもどこかから 取ってきてFROMヘッダに入れているみたいです。
Sender:
メーラー(Outlook)のリソース見た方が早いのとちゃうん?
219 :
関連付け君 :2000/11/10(金) 00:13
220 :
名無しさん :2000/11/10(金) 02:37
ん??? envelope from が取りたいんでしょ? なら sendmail なら Received なんじゃない? 違ったっけ…。
221 :
いや、、 :2000/11/10(金) 04:02
From: Sender: Reply-To: このあたりだな。
222 :
221 :2000/11/10(金) 04:54
しかし、ここに書いてない場合もあるな。。。 その場合、Received: とかから拾うしかないか。
223 :
むぎ茶 :2000/11/10(金) 07:49
224 :
216 :2000/11/10(金) 10:14
216です。いろいろご指摘ありがとうございました。 色々なサイトも巡ってみたのですが、221さんの意見が正しいかな と思いました。 あるサイトの解説によると、 「相手がこのメールを返信する際に使われるアドレスは、 Reply-To:→Sender:→From:という優先順位である。」 だそうです。 でも、この3つの中にメールアドレスが入っていない場合が あるのですが、その場合はどうすればいいんでしょうか? 実際にSocketを使って取ってきたメールには、この3つのヘッダ の中にメールアドレスが入っていない場合が結構あります。 (Outlookで受信した場合同じメールでもちゃんとFromにメアド が入っているのです。)
Message-idとかから取得するのかな。
それはない
227 :
名無しさん :2000/11/11(土) 02:36
cgiの置ける無料サーバ無量ホームページでいいとこないですか?
無量ホームページって何だ? 容量無制限ってことか? そんな都合のいい場所があるわけ・・・。 ソウイエバソンナトコロモアッタナ・・・
229 :
名無しさん :2000/11/11(土) 03:36
トクトク?
230 :
名無しさん :2000/11/11(土) 03:37
そう言えばトクトクって箱庭とかあぷろだとか置けるのかな?
無量ってのは多分容量が無いトコだろ。
232 :
名無しさん :2000/11/11(土) 19:52
トクトクは箱庭は禁止だって。
233 :
倉庫 :2000/11/11(土) 22:40
一回置けたけど、ターン回らなくなったわ。箱庭諸島
234 :
初心者 :2000/11/12(日) 01:01
cgiをつかってデータを送信したいのですが、 cgiは動くのですが、データのところが空欄になっていて 送信されません(csvファイルに)。 文字コードの問題なのでしょうか? すいません。お願いします。
235 :
初心者 :2000/11/12(日) 01:03
<〜 name="○" value="1"> とかやってるのですが、文字が送信されないのです。
解決しました。 お騒がせしました。
237 :
名無しさん :2000/11/14(火) 01:16
∧ ∧ (´⊇`) ・・・ガンバルノヒャ・・・ ( ) ||| (_)_)
238 :
名無しさん :2000/11/14(火) 21:59
CGIってCGとは違いますか?
239 :
名無しさん :2000/11/14(火) 22:11
>238 同じです
240 :
Domain :2000/11/15(水) 02:06
241 :
名無しさん :2000/11/15(水) 09:05
自分で作ったCGIや他人のCGIの動作チェックは サーバーにアップする前にどこでやればいいのですか!
脳内環境
244 :
名無しさん :2000/11/15(水) 18:05
>>244 どのスレだっけな?よくわ神田い。
Perl初心者スレ2の上野ほうにリンクあるから、そっから飛んで。
246 :
名無しさん :2000/11/16(木) 01:25
2ちゃんねるみたいに、名前を覚えさせるためにクッキーを使いたいのですが、具体的にどのように書けばよいですか? また、 > とつけることで、表示色が変わると(たとえば青色)になるとうれしいのですが、これも教えてください。
247 :
むぎ茶 :2000/11/16(木) 02:34
249 :
>247 :2000/11/16(木) 17:21
<HTML>
<HEAD>
<TITLE>mugi</TITLE>
<META name="Keywords" content="mugi">
<META name="Description" content="mugi">
<LINK REL="SHORTCUT ICON" HREF="
http://images.v3.com/ico/v3logo.ico ">
<SCRIPT language="JavaScript">
window.open('/pop.asp?ID=1004198623&AD=%3CA+target%3D%22%5Fblank%22+HREF%3D%22http%3A%2F%2Fad%2Edoubleclick%2Enet%2Fjump%2Fcometo%2E468%2Fmember%2Fpopup%2Fcometo%3Bs1%3Dm%3Bs2%3Dpopu%3Bs3%3Dcome%3Bpos%3D1%3Btag%3Di%3Bsz%3D468x60%3Btile%3D1%3Bord%3D957655452%3F%22%3E%3CIMG+SRC%3Dhttp%3A%2F%2Fad%2Edoubleclick%2Enet%2Fad%2Fcometo%2E468%2Fmember%2Fpopup%2Fcometo%3Bs1%3Dm%3Bs2%3Dpopu%3Bs3%3Dcome%3Bpos%3D1%3Btag%3Di%3Bsz%3D468x60%3Btile%3D1%3Bord%3D957655452%3F+height%3D60+width%3D468+border%3D0%3E%3C%2FA%3E&d=all.at','_blank','location=0,menubar=0,toolbar=0,personalbar=0,status=0,scrollbars=0,width=468,height=130')
</SCRIPT>
</HEAD>
<FRAMESET rows="100%,*" border=0 frameborder=0 framespacing=0 framecolor="#000000">
<FRAME src="
http://www.freeml.com/join_ml.php?ml=bitvalley " name="thepage">
<FRAME>
<NOFRAMES>
<BODY bgcolor="#FFFFFF">
<CENTER>
<H2>mugi</H2>
mugi
<BR>
<BR>
<A href="
http://www.freeml.com/join_ml.php?ml=bitvalley ">Click here to continue</A>
</CENTER>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
250 :
----こぴぺ改造君---- :2000/11/17(金) 00:46
クレジットって、やっぱり入れないとダメあるか?
251 :
名無しさん :2000/11/17(金) 11:23
本屋行って初心者本でも買ってろボケ >246 質問するなら取りあえずテメェで作ったモノ晒して採点して貰う形にしろ。
252 :
名無しさん@ミドリ電気 :2000/11/17(金) 18:42
Perlで2進数触りたいんですが・・・ どっかにルーチンないッスか〜?
253 :
ばけ :2000/11/17(金) 20:03
\って / " だけ?
254 :
名無しさん :2000/11/17(金) 20:18
255 :
ばけ :2000/11/17(金) 20:25
むむ。。。大感謝!!!☆゜。..
256 :
むぎ茶 :2000/11/17(金) 20:52
252のような人を厨房といいます(ワラ
257 :
252 :2000/11/17(金) 21:02
>むぎ茶 ココの"書き込む"みたいなボタンをクリックしたらメーラーが立ち上がって なおかつ、メアドとタイトルが記入されるようにするには、 どのように書けばいいでしょうか?暇でしたら、教えて下さいませ。
258 :
名無しさん :2000/11/17(金) 21:47
>>252 @ミドリ電気
sub bin2dec { unpack("N", pack("B*", substr("0" x 31 . $_[0], -32))); }
sub dec2bin { unpack("B*", pack("N", $_[0])); }
使用例:
$bin = &dec2bin(123456);
$dec = &bin2dec("000100110111");
今度からこういうのは「Perl初心者」スレに書いてね。253もな。
"CGI"と"Perl"が区別できてないと、むぎ茶トラップ踏むぞ。
Perl 5.6なら、 $sakura = 0b11001100; printf "%X\n", $sakura; ある文字列に入っている2進数を数字に直したいときは、 $sakura = oct "0b11001100"; printf "%X\n", $sakura; とか。(octは2/8/16進数を理解します。) あと、 $creamy = pack "B*", "01001101011000010110110101101001"; print "$creamy\n"; なんてこともできます。(これは5.6じゃなくてもOK。) どんな使い方したのかよくわからんのでとりあえずこの辺で。
260 :
名無しさん :2000/11/19(日) 04:04
renameを使う時,自動的にflockされると聞いたのですが flock使えない所だと,ロックされないで なんか同時書きこみでファイルがリセットされる時みたいに, ファイル名がおかしくなったりするのでしょうか?? 教えてください.
嘘です。
262 :
名無しさん :2000/11/19(日) 05:37
rename()はアトミックなんで同時に処理が行われる事はありません。 flock()なんて全然関係ないよ。(笑)
263 :
名無しさん :2000/11/19(日) 06:08
IIS5で、Cで作ったCGIを実行するとエラーが出て「指定されたCGIアプリケーションは、HTTPヘッダを一部しか返していません、 返されたヘッダは:」という表示が出るが、何故に? 環境は2000Serverです
日本語読める? HTTPヘッダを一部しか返していないからって言ってるじゃん。
265 :
名無しさん :2000/11/19(日) 16:12
>>262 NFS越しの場合は、rename(2)のアトミック性は期待できないようだぞ。
つーか誰か実地で検証きぼんぬ。
266 :
ネットスケープで :2000/11/19(日) 23:16
フレーム表示した、CGIって表示されませんですか? <FRAMESET> <FRAME SRC="./???.cgi"> </FRAMESET>
267 :
名無しさん :2000/11/20(月) 00:15
>>266 ネスケは<FRAMESET COLS="100%,*">とか指定しないと
表示してくれないよ。あとはWEB制作板で聞いて。
268 :
ネットスケープで :2000/11/20(月) 01:19
>267 逝きました。Thanks
269 :
名無しさん :2000/11/20(月) 04:48
鯖
CGIの質問でいいのかどうか分かりませんが、 multipart/form-data の書式に関して 詳しくかかれたサイトを知りませんか。 自作でUP板作ったら変なコードが入るので、、。
RFC 2388: Returning Values from Forms: multipart/form-data RFC 1867: Form-based File Upload in HTML RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1 この辺じゃないの?
>>271 どもです。
やはりRFC解読(というほどのものではないが)
しなきゃいけないのか、、
273 :
むぎ茶 :2000/11/20(月) 06:49
RFCも読めない人は障害者です じゃないんだ?>むぎ
275 :
"管理人"にパス付けたいんだけど… :2000/11/20(月) 22:00
どう書いてるか想像できませんが、パスって結構たいへんなのでしょうか?
>>275 具体的に何がしたいのか不明ですが、まあなんにせよ
特に難しくはないでしょう。がんばってください。
>275
>>276 掲示板か何かで管理人っていう名前の使用を制限してーんじゃねぇの?
278 :
EPSOM :2000/11/21(火) 02:37
>>275 277だったら
フォームでパスワードを入力する項目を追加して
$nameかなんかに"管理人"が代入されたらパスチェック、
その他だったら何も無しにすれば良いでしょう。
if $name eq 管理人
if $pass eq パスワード
なんもなし
else パスワード違うぞ
なんもなし
$name =~ s/弐ch編者/登校拒否児(人生の負け犬)/;
$name =~ s/むぎ茶/2ちゃんねる最大の馬鹿/;
下2行を忘れると正常に動作しません。
良くあるミスです。注意して下さい。
このまま、記述したら厨房確定。
モノによってはこれだけでは動作しない場合があります。
"厨房管理人"っていうのも制限したければ
if $name eq 管理人 の部分で正規表現も使用する。
尚、\8,000で代行します。
つーか>>>>>CGI改造工房<<<<<へ逝けよ。
>275 取り合えずこの板は、 $FORM{'FROM'} =~s/管理人/"管理人"/g; $FORM{'FROM'} =~s/password/管理人/g;
ていうか常駐ソフトのせいだった(;´Д`) (AngryChair BBS参照) そりゃいくらCGIいじってもなおらねーよ(;´Д`) バイナリ解読CGIとか本気で作ってみたり
281 :
名無しさん :2000/11/21(火) 16:13
ActivePerlをダウンロードしようとする時 現在ではMicrosoft Installerを先に ダウンロード&インストールしなければいけない と聞いたのですが、本当なのでしょうか? もしそうだとしたら どこでMicrosoft Installerをダウンロード出来るのかも教えて欲しいです。
>281 聞く前にActivePerlをDLしようとしてみれ。
あ、ひょっとして見当違いかもしれん。 だったらスマソ。 だがMicrosoftって書いてあんだからもしDLすんならそこに決まってるだろう。 確か俺も入れた。
285 :
275 :2000/11/21(火) 18:59
>276,278,278,279,さん ありがとうございます。。 >>>>>CGI改造工房<<<<<も見てみます<\200位なら...
286 :
275 :2000/11/21(火) 20:20
できましたー!!! (^o^) $name ='"管理人" ' if $name eq '管理人'; $name ='管理人 ' if $name eq 'password';
>275 あ、そういう意味ね
>287どうもでした。 いま自分が書いたの見たけど。。。 何書いてあるんだか、わかんないですね(笑
289 :
↓これって必要なの? :2000/11/21(火) 21:14
print "Content-type: text/html\n\n";
291 :
281 :2000/11/22(水) 04:40
>282 小心者の私にはそんな大胆なことはできません。 >283 紹介してくれたページは全く参考になりませんでした。 ちゃんと教えてくれる人はいないのかな?
>291>ちゃんと教えてくれる人はいないのかな? ちゃんと学ぶ気の無い人間は 誰に教えてもらってもできるようにならない あきらめれ(ワラ
293 :
名無しさん :2000/11/22(水) 08:23
GIFアイコンをブラウザ上で上下左右に動かすCGIきぼ
294 :
名無しさん :2000/11/22(水) 09:24
295 :
294 :2000/11/22(水) 09:30
自動リンクがこけた↑。正しいURLは最後の" (x86)"まで含む。 あるいはページ先頭の目次から"Installing Activeperl"の "Windows(x86)"をクリックするのも可。
296 :
>>270 :2000/11/22(水) 10:08
www.hk.airnet.ne.jp/~ahero/cgi/cgiex11.html これみてわからんのなら諦めた方がいいかも。 普通に検索すりゃ出てくるページなのに…
すれ間違いだった
298 :
名無しさん :2000/11/22(水) 13:26
CGI初心者ですけど。 ちょっと質問させてもらいます。 CGIからHTMLに出力するときに不思議な現象が起こりました。 例ですけど、 #!/usr/local/bin/perl print "Content-type: text/html; charset=Shift_JIS\n"; print "<html>\n"; print "<head>\n"; print "<title>-------------------</title>\n"; print "</head>\n"; print "<body bgcolor=\"#FFFFFF\">\n"; print "代表(爆)\n"; ↑↑↑↑↑↑↑↑↑ print "</body>\n"; print "</html>\n"; とした場合、実行すると 代表(爆) となるはずですが、 なぜかこのように↓ 代・爆) と文字化けしてしまいます。 NGワードなのですか? どういう問題があるのか、検討すきません。
299 :
298 :2000/11/22(水) 13:28
ローカル環境の問題なのか、 それとも、だれでも起こる問題でしょうか? それだけわかれば、いいです。 一応、niftyで確かめたところ、こういう風になりました。 jcode.plのバグですか?
>NGワードなのですか? >jcode.plのバグですか? ワラタ Shift-JISでは文字化けします。 EUCをお勧めするが、何のことかわからないだろうから、 「代表\(爆)」のようにエスケープコードを入れなさい。
>>NGワードなのですか? >>jcode.plのバグですか? >ワラタ 俺も仕事中に見て爆笑した・・・・。
すみません。(^_^;) 厨房的な質問でしたか・・・・。 シフトjisとEUCはあまりわかってないです。 勉強して出直してきます。
>298=302 HTMLとして出力するときは、 Shift-JISだろうがEUCだろうが、 自分の好きなコードでいい。 CGIスクリプト内で日本語を処理するときは、 298のように文字化けしたりするので、 EUCを使ったほうがいいぞってこと。 ただ、これじゃ意味わからんだろうから 今のスクリプト内でNGワードになってしてしまう 文字の前後に「\」を入れてみれってこと。 これでカイケツするから。
304 :
275(再び参上) :2000/11/22(水) 23:33
掲示板で管理人っていう名前の使用を制限したくて $name ='"管理人" ' if $name eq '管理人'; $name ='管理人' if $name eq 'password'; を教えて頂き入れましたが、「passwordxxx」とかpasswordの前後に 文字を入れると、「管理人xxx」ではなく、そのまま「passwordxxx」と 表示してしまうのですが… (υ ・_・) 文字内に「password」が入ってたら「管理人」と表示させる方法は ありますでしょうか?_長文失礼
305 :
名無しさん :2000/11/23(木) 00:16
$name ='管理人' if $name eq 'password'; ↓ $name =~s/password/管理人/g;
$name =~ s/管理人/"管理人"/g; 直前にこれもいるだろ?
307 :
305 :2000/11/23(木) 00:37
そういやそうだな。 $name ='"管理人" ' if $name eq '管理人'; の方は満足そうだったからすっかり抜けてたよ。 今日も良い天気だ、鬱だが生きよう。
308 :
275 :2000/11/23(木) 00:42
できました!捗りますですY(^_^)Yヴィ!!
309 :
名無しさん :2000/11/23(木) 00:45
~s g eq ってナン?
問題外
311 :
eero :2000/11/24(金) 03:23
ファイルをダウンロードさせたいのだけれど、URL は隠したい。 そこで、 リンク先を CGI にして、 クリックするとファイルがダウンロードできて なおかつページには「ありがとうござんした」と表示させたい。 これって CGI だけで可能? それとも、JavaScript と組み合わせないと駄目かな? マジレス熱烈希望ッス
312 :
ええと :2000/11/24(金) 03:24
ファイルをダウンロードさせたいのだけれど、URL は隠したい。 そこで、 リンク先を CGI にして、 クリックするとファイルがダウンロードできて なおかつページには「ありがとうござんした」と表示させたい。 これって CGI だけで可能? それとも、JavaScript と組み合わせないと駄目かな? マジレス熱烈希望ッス
313 :
名無しさん :2000/11/24(金) 03:36
>>312 URL隠しの役に立つかどうかわからないけど、
ダウンロード+ページ表示は、たしかにできると便利だね。
multipart/xxxなレスポンスを返したりするとできないのだろうか。
ちょっとRFC見てきます。
明日までにレスがなかったら、星になって消えたと思ってください。
314 :
名無しさん :2000/11/24(金) 03:38
どうしてもJSを使いたくないんだったら <FRAME>を使うとか。
315 :
EPSOM :2000/11/24(金) 06:06
/usr/home/アカウント/public_html/file.cgi /usr/home/アカウント/file/0123.zip ファイルをドキュメントルート以下以外に置いて $file='../file/0123.zip'; open FILE,<$file; print "Content-type: application/zip\n\n"; print <FILE>; exit; >なおかつページには「ありがとうござんした」と表示させたい。 これは書く程の物でもないので適当に記述してください。 複数ファイルに対応したい場合は $file='../file/0123.zip'; を $file2 = $FORM{'file2'}; $file="../file/$file2"; に変えて file.cgi?file2=0123.zip file.cgi?file2=4567.zip とかやればいいでしょう。 ただデカイファイルだとやたらサーバーに負荷を掛けるのが難点か。
315は312のレスです。念の為。
>>315 自己レス
$file2 = $FORM{'file2'};
$file="../file/$file2";
別に2行にする意味ねぇな
318 :
名無しさん :2000/11/24(金) 07:31
>なおかつページには「ありがとうござんした」と表示させたい。 これを表示させないんだったらすぐ出来るので、 ここはあえてJavaScript無しで これ表示させる方法を考えましょうよ。
319 :
ええと :2000/11/24(金) 11:10
>>313 -318、ありがとさんです。多謝。
ちと補足。「URLは隠したい」を詳細に書くと、
1) ユーザーにダウンロードさせるファイル名は固定。決まった名前
(foo.exe、bar.sit.hqx など) でダウンロードさせとかないと、
後の説明が面倒。(ワガママな初心者が多いのさ)
2) その「ファイルの」 URL 直指定でのダウンロードはさせたくない
認証やダウンロード数制限は行うので、cgi 自体の URL は
バレても OK
となると如何?
>>315 では 1) の部分がうまくいかんのではないか?……(未確認ッス)
JS が使えないのはそーゆー事情があるという環境なので
# 駄目なら使うけれど
320 :
名無しさん :2000/11/24(金) 13:43
http://www.appleple.com/cgi/diary/ ここで配布されている a-Nikki という日記のCGIを使いたいと思っているのですが
ダウンロードしてすぐに行き詰まってしまいました。
a-Nikki100.zip をダウンロードして解凍するところまでは上手くいきました。
だけど解凍したものをよく見れば、ファイルの数が足りないんです。
dataフォルダというのがありません。
ダウンロードの失敗かと思い何度もダウンロードし直したのですが
何度やっても結果は同じです。
一体どうすれば良いのでしょうか?
やっとの思いで見つけたCGIなので、簡単には諦めきれません。
フォルダを自分で作れ。 名前をdataにすればいいだろ。 ボォケ(ゴラァ
>>319 1)は単純に .htaccess に
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .exe
AddType application/x-httpd-cgi .hqh
とかやってfile.cgi を game.exe とかやればいいだけだと思う。
あ〜、サーバー側で既その拡張子が設定されていたら
ダメかもしれん。未確認。
>後の説明が面倒
こちらは一つのファイルに一つのCGIを用意せにゃならんのでやっぱ面倒
2)cgi 自体の URL は バレても OK
/usr/home/アカウント/public_html/file.cgi
ドキュメントルート以下に置いているので351でOKでは?
323 :
320 :2000/11/24(金) 15:25
>321 >フォルダを自分で作れ。 >名前をdataにすればいいだろ。 え?それだけで良いんですか? 本来のdataフォルダの中には何かが入っていたりするのではないんですか? 別に321さんのことを疑っている訳じゃないんですけど…。 念の為に他の人の意見も聞かせていただきたいです。 すみません。よろしくお願いします。
324 :
名無しさん :2000/11/24(金) 15:38
data directory には何が入るべきだか考えたことあるかボケ。 書いた日記はどこに保存するつもりか考えたことあるかボケ。 一度でもそのスクリプトを実行させたのかボケ。 自分でモノ考えない教えてチャンは氏ね。
325 :
320 :2000/11/24(金) 17:00
>data directory には何が入るべきだか考えたことあるかボケ。 日記のデータが保存される用のディレクトリファイルです。 この中に年のディレクトリ、その中に月のディレクトリ、その中に日付.htmlという感じにデータが保存されます。 と書いてありましたが全く理解出来ませんボケ。 >書いた日記はどこに保存するつもりか考えたことあるかボケ。 勝手に保存されるんだろうと思っているので 深く考えたことはありませんでしたボケ。 >一度でもそのスクリプトを実行させたのかボケ。 必要だと書いてあるものが無いのに動くはずが無い 例え動いたとしても後々不具合が出てくると思ったので 一度も試してはいませんボケ。 >自分でモノ考えない教えてチャンは氏ね。 知識が無いので考えても分かるはずがありません氏ね。 それでも一応自分で調べて解決しようと努力はしたのですが 分かったのはこのCGIの作者が17才の学生さんだということだけで 肝心なことは分かりませんでした死ね。
ゴメン。。。
いずれにしろ設置の質問はweb制作板ででもやってくれ。
328 :
名無しさん :2000/11/24(金) 19:08
>>320 空のdataディレクトリはちゃんと配布ファイルに入ってるよ。
解凍ツールが空ディレクトリを作らない設定になってるんじゃないの。
よくある話です。
このままでは君と同じ症状になって泣く初心者が続出するので、
dataディレクトリにダミーのファイルを入れた配布セットを
作るよう、作者に要望のメールを出しなさい。いますぐ出しなさい。
>>319 すみません今、自分の書き込み(315)を見たところ
全く間違っていました。
徹夜で極限の状態だったので変なこと書いてました。
正しくは$file="../file/$FORM{'file2'}";
open (FILE,"$file");
print "Content-type: application/download\n";
#これでいろんな種類に対応できる
print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n";
#これで保存するファイル名のデフォルトを file.cgiではなくて 0123.zipに出来る
#これで複数ファイル対応にしても大丈夫でしょう。
print <FILE>;
close(FILE);
exit;
330 :
EPSOM :2000/11/24(金) 20:33
ありがとうのメッセージですが ダウンロード終了後に表示させるのは無理だと思いますので JavaScript やフレーム以外だと <html><META HTTP-EQUIV="refresh" CONTENT="0;URL=file.cgi?file2=0123.zip"><body>ありがとうございました。</body></html> でダウンロードさせるとかかな。
331 :
通行人 :2000/11/24(金) 20:41
>どれをDLしてもファイル名 0123.zip(固定)に出来るですか?
332 :
EPSOM :2000/11/24(金) 20:59
>331 print "Content-disposition: filename=\"0123.zip\"\n\n"; にすれば0123.zipを固定にできます。 といいますか、普通これ位考えなくても分かりますよね。 つーか、聞く前に自分で試せ。 print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n"; だと file.cgi?file2=4567.zip で指定したダウンロードするファイル名が入ります。
333 :
名無しさん :2000/11/26(日) 03:15
>cgi 最後に付ける \n"; の n ってなんだ?
334 :
名無しさん :2000/11/26(日) 03:20
改行。 そう決まってる記号だから理由は分からないけど・・・ そういえば、\tはタブのtだけどnはなんだろか?
335 :
名無しさん :2000/11/26(日) 03:26
newline
336 :
名無しさん :2000/11/26(日) 20:16
知らなかった あげ
337 :
既出? :2000/11/27(月) 01:53
掲示板の時間が微妙に10分くらいずれてるのですが… 直るモノなのでしょうか?
管理者にサーバーの時間を直してもらうか ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy,$dmy) = localtime(time); で取得してる場合は $minをずれている分 +か-しときなさい。 本が出版されているどこかのやつは @DATE = localtime(time); $DATE = "$DATE[5]/$DATE[4]/$DATE[3] $DATE[2]:$DATE[1]"; とかやってるので $DATE[1]をずれている分 +か-しときなさい。 >直るモノなのでしょうか? 使用しているのは Perl ですかそれともRuby? C? その他? つーか、こんな厨房にCのCGIなんて設置されたら サーバー管理者が可哀相だな それ以前に使用する資格無し おとなしく、teacupのレベル1でも借りとけ
339 :
337@厨房 :2000/11/27(月) 02:55
パールでし。これで逝けますですか? ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime(time - 10);
340 :
EPSOM :2000/11/27(月) 02:59
逝けません。 ですから、$minを-10しなさいってば
341 :
337@厨房 :2000/11/27(月) 03:04
>340 これで逝ちゃいました Thanks ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime(time -10*60);
342 :
EPSOM :2000/11/27(月) 03:13
>>339 =341
おまえ、337とは別人だろ
厨房がこの方法を知っているはずがない(藁
せっかく、分かりやすい様に教えてやってるっていうのに
343 :
337=339=341 :2000/11/27(月) 03:16
つーか今3人しか居ないみたい。
EPSOMが厨房と見た!! 自分がやり方知らなかっただけだろ(w
345 :
ネオEPSOM :2000/11/27(月) 03:42
>>343 -344
EPSOMはもう寝ただろう
この時間からは俺がEPSOMだ。
>>344 ん?おまえは
[1r.netの運営者って誰?]で発言してるやつか
343 344 345氏ね
/) /)
/ ⌒ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ●_ ● | <
>>343 344 345俺が人間になれるように根回ししてやろうか?
(〇 〜 〇 | \_________
/ |
| |_/ |
347 :
343 :2000/11/27(月) 04:07
>346 そんなキャラなの? (笑
>346 偽EPSOM? じゃなきゃEPSOMはただの馬鹿だな
350 :
ええと :2000/11/27(月) 19:08
>>329 -330
多謝多謝。
> print "Content-type: application/download\n";
> print "Content-disposition: filename=\"$FORM{'file2'}\"\n\n";
のところが肝ね。
351 :
名無しさん :2000/11/27(月) 21:58
print "うんこしたい";
352 :
名無しさん :2000/11/28(火) 00:49
>>329 Content-type: application/download
ってのがよく使われるの? いや、単なるバイナリのMIMEタイプは
Content-type: application/octet-stream
が正式っぽいかなと思ってたら、ブラウザによっては
octet-streamは妙なぐあいに解釈されるもんで。
353 :
EPSOM3 :2000/11/28(火) 04:32
>>352 >Content-type: application/download ってのがよく使われるの?
使われるというかapplication/octet-streamとかやっても
IEはContent-Typeを無視するからねぇ
NNその他はapplication/octet-stream
IEはapplication/x-msdownloadとかやっとけばいいんじゃない
354 :
名無しさん :2000/11/28(火) 14:22
HTML出力で、フレームではなくて、 別々の2つのウィンドウに出力させたいときは、 どうすれば、いいのでしょうか。 スレの趣旨にあうかどうかわかりませんが、 ご教示ください。
355 :
354 :2000/11/28(火) 14:26
いわば target="puri"出力1 target="maru"出力2 みたいな 処理ができるといいなあ、ということなんですけれども。
>>354 可能かどうか知らないが、できるとすればJavaScriptでしょう。
WEB制作板へ逝ってらっしゃい!
357 :
354 :2000/11/28(火) 16:03
>可能かどうか知らないが そこが知りたいので、分かる方おりましたら、 教えていただきたいのですが。
358 :
356 :2000/11/28(火) 17:30
>>357 これは失礼。CGI等のサーバサイドの処理だけでは不可能です。
JavaScriptなら、可能なような気もするけれど、そのへんは
よく知らないので確たることは言えません。つーわけで。
359 :
名無しさん :2000/11/28(火) 18:19
ローカルマシンでCGIの動作テストをするにはどうすればよいですか? 何かアプリケーションあります?
360 :
名無しさん :2000/11/28(火) 18:24
NN6だと Content-disposition: filename= ・・・ が効かなイんですが他の人もそうですか?
361 :
名無しさん :2000/11/28(火) 18:35
>359 httpdでも使ってローカルをWebサーバにする。
362 :
名無しさん :2000/11/28(火) 18:37
>359 ActivePerlとhttpdをお使いになってくだされ。 わからなければ検索かけてね。
363 :
354 :2000/11/28(火) 18:59
>358 どうもありがとうございました。
364 :
EPSOM3 :2000/11/28(火) 20:25
>>360 俺はNN3と4しか使わんから分からん。
Content-Disposition: attachment; filename
はどうよ?
365 :
名無しさん :2000/11/29(水) 00:08
telnetでpwdどうやんだ?
366 :
名無しさん :2000/11/29(水) 00:22
PUTメソッドってどうやって使うの?
367 :
tonton :2000/11/29(水) 01:12
cgiでチャット設置しようと思っているのですが トップページ(チャットにリンクさせているページ)で 参加者人数の表示をさせたいのですが、どのように すればよいのでしょうか? 教えてください
368 :
むぎ茶 :2000/11/29(水) 01:15
369 :
EPSOM :2000/11/29(水) 01:52
>367 なんかこの質問しょっちゅう出るなあ。 過去2回程答えたけど、もう面倒なので過去ログでも 漁ってください。すぐ見つかると思います。
371 :
名無しさん :2000/11/29(水) 03:04
リンクページに自答登録式のCGIを使っているんですけど、 Mac版IE4.1だとそのアドレスに行こうとすると ダウンロードが始まってしまうそうです。 自分のMac版IE4.5と5では問題なく動くのですが…。 対処方法はありますか?
372 :
360 :2000/11/29(水) 10:20
>>364 だめーん。
そうすると何事もなかったかのようになにもDLしない・・なぜ?
IE4/5/5.5でもNN3/4.75でもうまくいクのにィー
373 :
EPSOM :2000/11/29(水) 11:52
374 :
360 :2000/11/29(水) 13:07
うう、とりあえず他の人はどうなのか聞きたいです。 自分のCGIか環境のせいかも知らんし。
375 :
名無しさん :2000/11/29(水) 13:23
CGIでよく バナーなどにつかわれている <img src="hogehoge.cgi"> という形でgif画像などをランダムで表示したいのですが うまくいきません print "Content-type: image/gif\n\n"; open(GIF,"./freeoekaki/png/$hogehoge.gif"); while(<GIF>){print;} close(GIF); としているのですが、、、 $hogehoge.gifがきちんとあることはチェック済みです このCGIを単独で動かすときちんと表示もされます でもimgタグだとうまくいかないんです
サーバの環境は?
377 :
375 :2000/11/29(水) 16:10
自己レス binmode(GIF); を付け加えることによってできました
やっぱWindows系か。 レスも返さず失礼な奴だ。
379 :
名無しさん :2000/11/30(木) 00:51
>376 Windows抜きで、逝ってんの?(W
380 :
名無しさん :2000/11/30(木) 11:34
381 :
(敷?欲)ノ 亀亀?J?J?J- :2000/11/30(木) 12:19
(ノ゚ο゚)ノ オオオオォォォォォォ- って、なんで化けないの?
382 :
381 :2000/11/30(木) 12:20
名前欄は化けるけど・・・
383 :
名無しさん :2000/11/30(木) 18:27
sendmail に関連する質問なんだけど、 質問1 Subject を MIME encode するお手軽なコードありませんか? jcode.pl には無いし、CPANの使える環境じゃないもので。 質問2 沢山の人(100人超)に送りたいのでプロセスをチャイルドに 流したい(http connectionが切れても最後まで続行させたい)んだけど 何かいい方法無いですか?単に '&' 付けて実行するだけじゃだめみたいです。
385 :
関係ないけど :2000/11/30(木) 21:17
掲示板で、、、土人と男を書き込めないようにする方法はありませんでしょうか?
die if($msg =~ /土人/ or $msg =~ /男/);
土人が書き込みに来る385の掲示板、ぜひ見てみたい。
388 :
名無しさん :2000/12/01(金) 02:05
385さんが言いたいのは土人と男性が書き込めないように させたいって言うことでしょ。 そうなると掲示板に書き込む前に会員制にしてIDを発行する必要があるね。 でも環境変数はアクセスして来た人の性別や人種は吐き出さないから、 一人一人パスポートのコピーをFAXして貰ってIDを発行するようにするしか 方法は無いと思うよ。 個人的には人種差別や男女差別は感心できないな。
389 :
名無しさん :2000/12/01(金) 03:16
>>381 ,382
jcode.plを使用する場合、各項目を別々にjcode::convertしないで
まず各項目のコードをjcode::getcodeかなんかで調べてから、
いちばん多かったやつを入力コードとみなすといいぞ。
名前だけ化けるとか、本文だけ化けるってことはなくなる。
(もちろん全滅することはあるけど…)
jcode::getcodeは、判定不能ならundefを返すことにも注意。
390 :
名無しさん :2000/12/01(金) 04:30
新スレたてれば初心者スレッドで書け。 初心者スレッドで書けば、初心者板いけ しまいにはマルチ扱いかよ。 最悪だなここは
391 :
380 :2000/12/01(金) 14:51
パーミッションは合ってますか?
393 :
380 :2000/12/01(金) 16:33
パソコンをサーバ化させて動作確認をする時にも パーミッションの変更をしないといけないんですか? こんなことすら知らないんです。 それにローカルでパーミッションを変更させる方法も分からないです。 こんな情報は必要ないかもしれませんが、私は AN HTTPD を使っています。 ちゃんとPerlもDL済みです。
394 :
名無しさん :2000/12/01(金) 17:14
>>403 AN HTTPDならパーミッションの設定はいらないっすね。
別の理由でCGIが動作してないのかな。
counter.cgiを直接アクセスしたとき"OK"って表示されてる?
>> counter.datに適当な数字(123456とか)を書き込めばテストとしてはOKじゃないの?
396 :
380 :2000/12/01(金) 17:39
counter.cgiに直接アクセスしてみました。 すると以下のようなエラーが出ました。 Error 500 CGI エラー - Content-Type ヘッダが正しくありません。 CGI 出力メッセージ: flock() unimplemented on this platform at C:\***\*********\counter.cgi line 8. エラーは出てしまいましたが、解決の為のとっかかりができたようで嬉しいです。 403さん、ありがとうございました。 早速このError 500について今から調べてみようと思います。
397 :
380 :2000/12/01(金) 17:40
counter.cgiに直接アクセスしてみました。 すると以下のようなエラーが出ました。 Error 500 CGI エラー - Content-Type ヘッダが正しくありません。 CGI 出力メッセージ: flock() unimplemented on this platform at C:\***\*********\counter.cgi line 8. エラーは出てしまいましたが、解決の為のとっかかりができたようで嬉しいです。 404さん、ありがとうございました。 早速このError 500について今から調べてみようと思います。
398 :
380 :2000/12/01(金) 17:42
二重投稿すみません。。。
>>405 さん
その方法も試してみます。
399 :
名無しさん :2000/12/01(金) 18:04
500について勉強もなにも、flock()はこの環境では使えないって言ってるやん。 eval{ flock( .. ) }; などとするよろし。
ローカル鯖じゃなかったか…
間違えた。 >ローカル鯖 LANにUnix鯖
402 :
380 :2000/12/01(金) 19:47
409さんのおっしゃった通りやってみました。 そうしたらちゃんとカウントされるようになりました! すごく嬉しいです。ありがとうございました。 ただ、もう一つ問題があるんです。 その問題というのはCGIをアップする場所。 サーバの説明によれば、CGIはcgi-binの中に入れないと動かないらしいんです。 今までローカルで確認している時には 全てのファイルを、index.html(カウンターの設置場所)と 同じフォルダに入れていて、その状況ではお陰で動くようになったのですが CGIをcgi-binに移動させたら、また動かなくなってしまいました。 counter.cgiだけをcgi-binに入れてみたり 展開された全てのファイルをcgi-binに入れたりして 訳も分からないままに色々やってみたのですが、やっぱりダメです。 一体どうすれば良いのでしょうか?
403 :
名無しさん :2000/12/01(金) 23:25
CGIのファイルをcgi-binへ移動させ index.htmlに埋め込むタグの1行目を <APPLET CODEBASE="." CODE="counter.class" WIDTH="96" HEIGHT="16"> から <APPLET CODEBASE="C:/***/***/cgi-bin" CODE="co… に変更しましたが動きませんでした。
405 :
名無しさん :2000/12/02(土) 08:18
げいしつだと思うんですが、jcodeを使わず、ここのように半角カナでも 文字化けしない方法を教えて下さい。
>416 どもです。
408 :
名無しさん :2000/12/02(土) 13:11
稿日:2000/12/01(金) 17:42
二重投稿すみません。。。
>>405 さん
その方法も試してみます。
409 名前:名無しさん 投稿日:2000/12/01(金) 18:04
500について勉強もなにも、flock()はこの環境では使えないって言ってるやん。
eval{ flock( .. ) };
などとするよろし。
410 名前:402 投稿日:2000/12/01(金) 18:13
ローカル鯖じゃなかったか…
411 名前:402 投稿日:2000/12/01(金) 18:16
間違えた。
>ローカル鯖
LANにUnix鯖
412 名前:380 投稿日:2000/12/01(金) 19:47
409さんのおっしゃった通りやってみました。
そうしたらちゃんとカウントされるようになりました!
すごく嬉しいです。ありがとうございました。
409 :
名無しさん :2000/12/02(土) 13:40
>>414 このカウンタはJavaアプレットからCGIを呼び出してるから、
ファイルの配置がよけい面倒みたいですね。
やはりここは作者の人に質問したほうがいいのでは・・・。
410 :
380 :2000/12/02(土) 20:50
>>419 やっぱり作者に聞いた方が良いですよね。
ここにいらっしゃる人なら何でも分かるんじゃないかと思ってましたが
作者にしか分からないことだってありますよね。
配布元のページには作者のメールアドレスとか掲載されていないから
連絡を取るのは難しいかもしれませんが、出来る限り頑張ってみます。
411 :
ジャンケンぴょん :2000/12/03(日) 23:39
cgi不可のHPスペースに、、、 他サイトの"アップローダ型掲示板"から、ファイルをアップロードする ことは可能でしょうか?
>>421 よそのCGIからftpで送信する方法なら可能だろうよ
413 :
ネタです :2000/12/04(月) 02:17
他サイトのアップローダからソケット通して その、CGI不可のWebスペースで ソケットを受け取るサーバを用意する(笑)
414 :
名無しさん :2000/12/04(月) 03:36
「WEBマネージャ」とかいう名前でアップロードツールが 用意されてるとこなら、そのツールを別サーバのCGIを通して 呼び出してみると、なにげにアップロードできたりする。 つーか、今やってみたら、できたんで驚いたっす・・・。
415 :
名無しさん :2000/12/04(月) 04:23
416 :
名無しさん :2000/12/04(月) 04:28
フォームに入力された内容を RACE変換(?)したいのですが、 どうすればいいでしょうか? 多言語ドメインに対応させたいのですが……。 Perlがちょっと分かるくらいなので、お手柔らかに。。。
417 :
むぎ茶 :2000/12/04(月) 06:59
418 :
419 :2000/12/04(月) 07:37
>>417 Google等で検索したのですが、よく分かりませんでした。
すみません、名前間違えました。 逝ってきます……。
>>416 「Perlがちょと分かるくらい」じゃ無理。
誰かが作って公開してくれるまで待ちましょう。
。。。。。あるじゃん。
422 :
名無しさん :2000/12/04(月) 16:26
変数に1000000と言う値が入っていた場合 1,000,000の様に下から3桁毎に,をつけたいのですが どのようにしたら良いのでしょうか?
423 :
名無しさん :2000/12/04(月) 16:57
Web上で入力されたメアドを受け取って、そのアドレスにメールを 送信し、その取得した情報をDBに保存しておくというシステムは、 CGIで可能なのでしょうか? また、CGIでなければどういう開発環境で作れるのでしょうか? 関連書籍をちょっと調べてみたんですが見当たりませんでした。 知っている方がいましたら教えてください。よろしくお願いします。
424 :
名無しさん :2000/12/04(月) 17:41
漏れが昔書いたソース、見ると逝きたくなるほど情けない…
>>422 誰かチューンして。(涙)
$len = length ($Result);
$divnum = 10 ** ($len-1) ; # 割る数
$Buff = "";
while ($len > 1) {
if ( ($len % 3) == 0 || ($len % 3) == 2 ) {
$Bufnum = int ($Result/$divnum );
$Buff .= $Bufnum;
$Result = $Result - ($divnum * $Bufnum);
$len = $len -1;
$divnum = $divnum /10;
} elsif ( ($len % 3) == 1 ) {
$Bufnum = int ($Result/$divnum );
$Buff .= $Bufnum;
$Buff .= ",";
$Result = $Result - ($divnum * $Bufnum);
$len = $len -1;
$divnum = $divnum /10;
}
}
$Buff .= $Result;
$ResultA = $Buff; # 結果
425 :
名無しさん :2000/12/04(月) 17:48
あーspace潰れてるし。(恥
Webから情報受け取ってそこにメールする、ここまではhttp上で
出来るからCGIだろうけど、返信されたメールはhttpじゃなくな
っているから別の事考えなきゃだめでは?
>>423 CGIつーかperlでやりたいなら .forward に "| /home/abo-n/giko.cgi "
とでも書いて stdin から受け取って分析するのはどうよ?
426 :
名無しさん :2000/12/04(月) 18:16
427 :
名無しさん :2000/12/04(月) 18:39
>>423 "procmail" and "DB" で検索すると事例とか出てくるかも。
428 :
422 :2000/12/05(火) 00:55
>>424 、426
無事動きました
ありがとうございました
429 :
くだん :2000/12/05(火) 17:19
>>424 $s='\0123456789';
do{
$s=~s/(\d)(\d\d\d)(\D|$)/$1,$2$3/;
print "$1/$2/$3\n";$x=$2;
}while($x ne '');
print "$s";
下の記述っぽいのが有効ならいいんだけど有効じゃない
$s=~s/(\d\d\d)+(\D|$)/$1,$2$3/;
430 :
名無しさん :2000/12/06(水) 10:45
perldoc -q commaぢゃダメ?
431 :
初心者@ie5.5 :2000/12/06(水) 18:19
CGIがいつのまにか、NSで表示がおかしくなってしまったのですが 2つのファイル(テキスト形式)のどこが違うのかを比較する アプリケーターってありますでしょうか???
/usr/bin/diff
433 :
むぎ茶 :2000/12/06(水) 18:33
それはアプリケーターじゃないだろう
434 :
初心者@ie5.5 :2000/12/06(水) 18:39
シェルで、 diff sakura.txt tomoyo.txt とかやると違いが表示される。 -c つければ、context diff, -u は unified diff わからなければ、man diff しよう。
>435 シェルで… ん。。 レスありがとうです。。。 初心者なんで、シェルの分かりやすく解説してる サイト御存じありませんか?
438 :
名無しさん :2000/12/07(木) 00:56
今簡単な掲示板をperlで作成中なんですが、 ある処理がよく分からなくて困ってます。 よく指定したWEBページ全体を大阪弁にしたりするサイト ってありますよね? それの応用で、掲示板に書きこんだ文章について、 例えば末尾が「〜です。」ってのを「〜っす。」 みたいに変換して表示したいんですけど、こういうのって どうやるんでしょうか? 要は文末が特定の文字だったらそこだけ変換、みたいな 事やりたいんだけど・・・。 (いきなり横ヤリすいません) 書きこんだ文字を配列に入れて、そこで文字列操作して やるのかな?う〜ん、良く分からん。
439 :
初心者@ie5.5 :2000/12/07(木) 01:02
$body =~s/です。/"っす。"/g; かな?
440 :
初心者@ie5.5 :2000/12/07(木) 01:04
""は要らなかった。
441 :
438 :2000/12/07(木) 01:12
>439さん ありがとー!なんだ、こんなシンプルに出来るのね。 早速試してみよっと。
442 :
むぎ茶 :2000/12/07(木) 06:16
443 :
ええと :2000/12/07(木) 10:55
その昔、
>>319 などを質問したのだが、
結局、Windows には
--------
Content-type: application/octet-stream
Content-disposition: attachment; filename=hoge.exe
--------
で、IE5 でも NC4.7 でも正常動作。
Macintosh はなかなか言うことを聞かないので、sit と hqx を用意して
--------
Content-type: application/x-stuffit
Content-disposition: attachment; filename=hoge.sit
--------
または
--------
Content-type: application/mac-binhex40
Content-disposition: attachment; filename=hoge.hqx
--------
を返すことで対応した。という顛末。
just FYI
444 :
名無しさん :2000/12/07(木) 11:20
CGI関係無いかもしれないけど アップロードできるファイルサイズに制限ってあるのでしょか? HTTP的に。 誰か限界知ってる方います??
445 :
360 :2000/12/07(木) 13:05
>>443 あ、なんか軽く流されたんであきらめてたけど便乗質問。
>Content-disposition: attachment; filename=hoge.exe
このfilename= ってNN6だとうまくいく?
なんかどーやってもCGI名になっちゃうんだけど・・
446 :
名無しさん :2000/12/07(木) 14:59
半角カナが化けないように掲示板を改造するのは難しいですか?
447 :
名無しさん :2000/12/07(木) 15:52
>>445 ネスケはまだ入れてないんだけど、
Mozilla M16(やや古し。最新はM18?)でも同じ症状に。
448 :
名無しさん :2000/12/07(木) 16:20
multipart/form-data を使うなら無いと思っていい。
ファイルシステムの限界値と同等でいいのでは。
>>444
449 :
名無しさん :2000/12/08(金) 02:04
450 :
名無しさん :2000/12/08(金) 17:17
use Socket使って簡易ポートスキャンしようとしたんですが、 (connectできたポートを表示)とても遅いです。 自分自身のポート1〜100をチェックするのに2〜3分かかります。 こんなもんでしょうか?
#!/usr/local/bin/perl -w use strict; use sigtrap; use Socket; my ($remote, $port, $iaddr, $paddr, $proto); $remote = $ARGV[0] || "127.0.0.1"; $port = $ARGV[1] || 0; print "REMOTE : $remote\n"; print "PORT : $port\n"; $iaddr = inet_aton($remote) or die "Unknown host : $remote"; $proto = getprotobyname('tcp'); socket (SOCK, AF_INET, SOCK_STREAM, $proto) or die "socket : $!"; while ($port < 101) { $paddr = sockaddr_in($port, $iaddr) or die "$!"; if (connect(SOCK, $paddr)) { print "PORT : $port OPEN\n"; socket (SOCK, AF_INET, SOCK_STREAM, $proto) or die "socket: $!"; } else { # print "PORT : $port CLOSE\n"; } $port++; }
>>451 さん
わざわざありがとうございます。
でもやっぱり2分ぐらいかかります。
というか、僕が書いたのもほぼ同じでした。
whileのあたりが、socket > for > close という違いぐらいで。
外のサーバーに設置して、自分の家に対してスキャンしたかったんですが
あきらめて外のマシンからやることにします。
度々申し訳ありません〜
違うサーバーに置いたら、すんなりいけました。
ごめんなさい。
>>451 さん。
454 :
ええと :2000/12/09(土) 20:14
>>445 NN6 あ。そーいえば試してない...
# 実のところ、どの程度ユーザーがいるんだかなー
試してみるけど、返事がなかったら消えたものと思って卓袱台
455 :
名無しさん :2000/12/10(日) 00:35
ネスケ6は、誰もが「表示確認」のためだけにDLしてます。 対応する意味は今のところなし。
457 :
名無しさん :2000/12/10(日) 12:44
>456 終わってるってこと。
458 :
陽介 :2000/12/10(日) 15:01
ファイルからhtmlのソースを読み込んで表示させるのと同じように プレーンテキストを表示させたいのですが、ダウンロードの画面になってしまいます。 htmlの場合は print "Content-type: text/html\n\n"; なので、テキストは print "Content-type: text/plain\n\n"; でやってみました。htmlと記述すると、タブと改行を表示してくれません。 テキストの中身そのまま表示させるにはどうすればいいんでしょうか?
print <<END; Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <html lang="ja"> <head><title>$file</title></head> <body><pre> END print while <OUT>; print <<END; </pre></body> </html> END
460 :
名無しさん :2000/12/10(日) 20:20
>>458 おれの環境(Windows2000,IE5.0/ネスケ4.06)だと、
text/plainを吐けば問題なくテキスト表示されるんだけどなあ。
OSとブラウザは何つかってんですか?
461 :
>458、460 :2000/12/10(日) 22:49
text/plainは置くサーバ次第みたい。 うちで借りてる片方のサーバはテキスト表示出来るけど もう片方はダウンロードになるよ。 どうしてもテキスト表示にしたけりゃ459さんみたいにやったほうが 良いんじゃない?
結論馬鹿458にはできません。
463 :
460 :2000/12/11(月) 00:20
めでたく結論が出たようだけど、それはそれとして。
>>461 後学のため知っておきたいんで教えてちょー。
その2つのサーバは、どんなヘッダを返してきてるですか?
この程度↓の簡単なテストでいいから、調べてみてくれない?
#!/usr/bin/perl
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$req =
HTTP::Request- >new('GET'=>'
http://hoge.net/hoge.txt ');
print $ua->request($req)->headers_as_string;
464 :
名無しさん :2000/12/11(月) 01:54
<plaintext> でどうよ?
465 :
461 :2000/12/11(月) 19:44
>>460 以下、落ちてくる方のサーバのね。
Connection: close
Date: Mon, 11 Dec 2000 10:36:15 GMT
Accept-Ranges: bytes
Server: Apache/1.3.0 (Unix) mod_perl/1.12
Content-Length: 0
Content-Type: text/plain
ETag: "3dfd5-0-3a34ae12"
Last-Modified: Mon, 11 Dec 2000 10:36:02 GMT
Client-Date: Mon, 11 Dec 2000 10:36:15 GMT
Client-Peer: 210.158.194.116:80
X-Pad: avoid browser bug
ちゃんとテキスト表示されるほうのサーバでは動かんかったです。
sage忘れた…ごめん。
467 :
陽介 :2000/12/11(月) 21:27
回答ありがとうございました。
サーバーによって違うなら、確実な459さんのやり方にさせていただきます。
>>460 さん
OSはWin98SEでIE5.01使ってます。
ローカルでhttpdのver1.28dでテストしたんですが、DLになってしまいました。
プロバイダのサーバーにおいても同様でした。NNで確認はしていません。
ダウンロードするウインドウが出るかどうかって、ブラウザの設定次第じゃないの? Content-Type によって動作は変わるかもしれないけど、同じ Content-Type で サーバによって…ってのは考え難いなぁ。
469 :
ぉ :2000/12/12(火) 01:09
470 :
468 :2000/12/12(火) 19:35
>469 不親切な書き方だな。。。文句あんのか? (ゴルァ
> 同じ Content-Type で サーバによって… 拡張子によって変わる時がある(…ような気がする) CGIの拡張子をtxtにしてみれ。
472 :
初心者です :2000/12/12(火) 22:16
CGIのテストをしているのですが、変数$inに値が帰ってきません ソースは #!/usr/bin/perl print "Content-type: text/plain\n\n"; print "$in{'name'} likes $in{'hobby'}\n"; です。 HTMLのソースは <html> <head> <title>test.html</title> </head> <body> <form action="/cgi-bin/youcgi" method="get"> 名前: <input type="text" name="name"><br> 趣味: <input type="text" name="hobby"<br> <input type="submit" value="送信"> </form> </boby> </html> です。 わかる方、教えてください。
473 :
名無しさん :2000/12/12(火) 22:31
QUERY_STRING使わなくても、渡せる方法あるの? そんな便利なものあったら知りたいです。
474 :
初心者です :2000/12/12(火) 22:37
QUERY_STRINGについて本を読んでみたのですが、 省略表現されていて、全ソースがわかりません。 どのように組めばいいのですか?教えてください。
>>471 ブラウザ側でも、拡張子見てるんでしょうかね。
でも cgi なのに Content-Type: text/html でHTML扱いだし…。
なんか良くわかりません。
>>469 あんまり知りませんが。 AddType?
どういう意味なのか詳しく教えてくれると嬉しいです。
470は偽者。
476 :
名無しさん :2000/12/13(水) 02:15
>>474 print $ENV{'QUERY_STRING'};
をやってみるが吉
477 :
初心者です :2000/12/13(水) 07:36
#!//usr/bin/perl print "Content-type: text/html\n\n"; print $ENV{'QUERY_STRING'}; でしょうか?
478 :
g :2000/12/13(水) 09:19
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); こんな感じで受けとって、 @pairs = split(/&/,$buffer); とかやって仕分けして、@pairsに、NEMEとVALUEを入れちゃう。 あとは、更に仕分けしたり。
479 :
g :2000/12/13(水) 09:20
英語もわからないおこちゃまです。NEME>NAME
480 :
h"3 :2000/12/13(水) 11:53
>初心者です #!/usr/bin/perl print<<EOM; Content-type: text/html <html><body> $ENV{'QUERY_STRING'} </body></html> EOM とりあえず こんな感じかな?? 一応このプログラムで GETした環境変数 $ENV{'QUERY_STRING'} の 中身が わかると思います 後それと $ENV{'QUERY_STRING'}の加工 (自分はこんな感じで使ってます) %in=&env_decode($ENV{'QUERY_STRING'}); 注:sub env_decodeは自作してね(w 上記のように %inに格納しないと $in{'name'}、$in{'hobby'} 使えないと思います。 とりあえず自力でがんばってみてください^^ 別スレの482さんが書いてるとおり 『無駄を繰り返せ!』 です^^ あ、そこまで気合入れてプログラムの勉強したくなかったら jcode.pl 使う手もありかも^^ <ってか実は使ったこと無いから わかりませんけど(ぉ
while ( ($a,$b) = each %ENV) { print "$a=$b<br>\n"; }
482 :
超初心者 :2000/12/14(木) 18:41
(Javaなしで) 10秒程度のカウントダウンを表示させたいのですが。。。
483 :
名無しさん :2000/12/14(木) 19:04
↑sleepで止めて回すのって、よくない? 試してないが。
484 :
超初心者 :2000/12/14(木) 19:51
>483 sleep(10)????? すいません。文例でお願いできますでしょうか?
>>482 javaScript使えば出来ます。
アニメーションGIFでもOKかもしれない。
486 :
超初心者 :2000/12/14(木) 20:57
Javaって、
print "Content-type: text/plain\n\n"; #↓以下に入れるの?
<script language="javascript">
&lt;!--
>>485 さん ぜひ教えて下さい!!!
489 :
超初心者 :2000/12/15(金) 20:12
↑と言ったものの。。降参です やさしい諸先生方!Javaで10秒程度のカウントダウンおせぇて。。。
Java ≠ JavaScript お前ホントに探したか?japu さんの言うとおり検索してれば すぐ見つかるぞ。
491 :
名無しさん :2000/12/15(金) 20:40
つかJavaScriptはWeb製作板でやれ
>491さん ありがとうございました!心より感謝いたします。 Java ≠ JavaScript SUNがJAVAのライセンスが…ってScriptでないほう?
494 :
並 :2000/12/16(土) 00:28
C++はいけるがPerlはまだ見えねえっす。 Perl初めて3日なものの 書式がすげえ異質に見える。
>並 操を捧げて半年の大学生も、男がそう(異質)見えるって言ってた。
496 :
名無しさん :2000/12/16(土) 15:31
ふむ。忠告するのは良いが、まだ対策とってないトコもあるみたいなのに、 こんなもんウェブ上に公開したら厨房が実行に移すだけじゃん。 結局自分達がセキュリティを、より危うくしてるって事に気づいてない 自己顕示欲の強いただの馬鹿どもだな。SecurITって集団は。。。
1ヶ月もたって、まだ対策してない方がよほど問題。
>>496 そんだけ丁寧に書いてあったら、プロでなくて、ちょっとかじった程度でも
実行できるよ。
>>498 もちろんそうだが、態々危険度を増やすモンを公開してたら
本末転倒。
こんな簡単な事にも気づかず公開してたなら、ただの馬鹿。
気づいて公開してたら、対策してない会社と同類。
はてさてどっちかな(笑
>>500 気づいてるんじゃない?ちゃんと読めよ。
これが実際にどのような脅威をもたらすのかを、あまり明確にして
議論してしまいますと、皆様のウェブメールシステムにこの欠陥が存在してい
ることに読者が気付いてしまい、悪用する者も現れかねないという危惧があり
ますから、これまでこの問題について深く議論することを避けてきました。
しかし、このまま永遠にこの議論を避け続けるわけにはまいりません。「IT革
命」やら「電子政府」といった、来るべき社会の将来像が示されておりますが、
開発技術者の認識がこのレベルのままであっては、脆弱なシステムが社会の至
る所に蔓延してしまい、いわゆる「サイバーテロ」の危惧が現実のものとなっ
てしまいかねません。それを回避するには、開発技術者が同じ過ちを繰り返さ
ないよう、各々がそれぞれの欠陥事例を知識として持つ他ないように思います。
勝手に人んとこのシステム検証するのは良いのにscanはなぜいかんのか。
503 :
名無しさん :2000/12/17(日) 00:48
質問です。 IE5以上でHPのお気に入り追加をすると、favicon.icoのリクエストが サーバーに送られると聞いたことがあるのですが、CGIでこれを拾うことは 可能でしょうか?
>>503 ルートを探します。
WWW サーバ君と協力して下さい。
505 :
503 :2000/12/17(日) 01:08
ルートは探すのは知ってたけど、 >WWW サーバ君と協力して下さい。 難しそう。。。
506 :
名無しさん :2000/12/17(日) 02:16
>>503 (案1) WWWサーバのログをスキャンする
(案2) /favicon.icoそのものをCGI化する
(案3) mod_faviconなるものを自作してApacheに組み込む
>>503 =505
506氏の(案2)がオススメ。
でも、Content-type が何になるのか分からない。
image/x-icon かな?
image/bmp のような気がして来た。。。 適当にやってね。
>501 結局、そのサービスのユーザの事まで考えの及ばない馬鹿集団ってことだな。 今回の件ではユーザのプライバシーが危ないのに。 そんなサービス使ってるのが悪いとか言うんかね(苦笑
512 :
名無しさん :2000/12/17(日) 05:15
>>507 Content-typeはなんでもいいだろう。
404 Not Foundを返すのもよいかも。
513 :
名無しさん :2000/12/17(日) 05:44
>511 苦笑。馬鹿ですか?
514 :
名無しさん@初心者 :2000/12/17(日) 22:06
今日からMacからWinに乗り換えました。 1.FTPのファイル転送アプリ 2.<HTML>手書きに適したエディター。。等々 教えてください。
1. ftp.exe 2. メモ帳
516 :
名無しさん :2000/12/17(日) 23:00
1. FFFTP 2. メモ帳
ありがとうございました。落としてみます。。 メモ帳って字がデカイですね!
1.FFFTPってFetchよりいいです。。 2.エディター フォント指定表示&行番号表示できるのないっすかね?
519 :
名無しさん :2000/12/18(月) 00:17
>519 落としてみましたです。 ワードパット.wriと併用して使ってみます。。。Thanks!
521 :
名無しさん :2000/12/18(月) 08:12
>>511 結局、510は最近パソコンをはじめた50代のおっさん。
口ぐせは、IT。(ぷ
お前のことか(ぷ
523 :
名無しさん :2000/12/18(月) 09:28
>522 どうやら図星だったようだな。(うぷぷのぷ。
525 :
名無しさん :2000/12/18(月) 14:39
初心者です。 検索システムを作る場合、 一般的にどの位の期間が必要なんですか? お願いします。
526 :
名無しさん :2000/12/18(月) 14:54
あげます
527 :
名無しさん :2000/12/18(月) 15:05
>>525 どんな検索システムだよ。
一から勉強だと「知力」「気力」「運」で期間は大幅に変わるよ。
君の場合、2ちゃんなんかでこんな質問してる時点で「運」はたかが
知れてるし、何も調べてなさそうな質問の仕方を見る限り、「気力」
もたかが知れてるね。
頼みの綱の「知力」も、必要な情報を織り込まない漠然とした質問
内容から考えるに、低レベルだね。
けどね、諦めちゃダメだよ。書き続けてれば何時かは終わるから。
あ、その「気力」も無いんだっけ。
529 :
525 :2000/12/18(月) 15:39
ささやかな抵抗なのよ、、、
>525 SQL勉強すれ 一発で理解できるから >キーワード式の検索システムは作るのにどの位の期間が必要なんですか? データが正規化されていると仮定したら5分
いやウソだ いくらなんでも全文検索で5分はムリだ ナマズで30分
時間つっても人によるからね。技量とか関係するから。。。 533の方は30分で出来るらしいけど、525のあんたじゃ、一生無理かもね。 理由は528に書いた通り。 自分の場合、529で挙がったURLから行える事くらいならPerl/PHP + MySQL/PostgreSQL の組み合わせなら、数十分(スクリプト書く時間のみ)掛かるかな。 ゴメンね。偉そうに言うほど早くないかもね。 あとCとかJAVAはサッパリ分からんから言語も特定されちゃうんよ。 けど結局、あんたみたいなヤツは何も成し得んのよ。
535 :
525 :2000/12/18(月) 17:43
>532 ありがとうございます。 SQLとやらを勉強してみます。 何かお勧めの書籍とかはありますか? あれば教えてください。 いつの日か検索システムが出来る日を信じて頑張ってみます。
大変申し訳ありません。質問させてくださいませ。私は初心者と言うか
馬鹿なので、いろいろ調べてみましたがわかりませんでした。
http://www.terryg.com/board/tunnels.cgi こういう掲示板の過去ログをすべて見るにはどうすればいいのかわかりません。
過去ログ200件くらいまでは普通にみれるのですが、上記のアドレスにどんな
ワードを付加すればよいのでしょうか?ご教示くださいませ。
537 :
名無しさん :2000/12/18(月) 18:11
538 :
名無しさん :2000/12/18(月) 18:17
>>536 ログのMax保存件数(上記URLの掲示板だと300件)に達していると
新しい記事が投稿されるたびに一番古い記事がログファイルから
削除されていく仕組みになってるので、どのようのキーワードを
いれようとも見れないです。
ところで上のURLの掲示板、次のページめくるたびにカウント増える(ワラ
>>538 ああ言う尋ね方して、ページめくらせて置いて、
カウンターを増やすという罠。
見事に引っ掛かりましたね(w
540 :
うごうご@初心者だった :2000/12/18(月) 18:26
>>538 ご教示ありがとうございました。べつにとんねるずなどどうでもいいのですが
私のみたい掲示板はべつな所で…たまたまCGIを使ってたからと言うだけです
本当にありがとうございました。
541 :
うごうご@初心者だった :2000/12/18(月) 19:13
何度もすみません。過去ログみたいのはこれです。
http://www.orsen.co.jp/cgi/read.cgi 前のページで100件にしても2回までしかさかのぼれません。
そこで1000件とか10000件まで遡ってみたいのです。
なんか適当にアドレスに付加してたら6月くらいまで読めたのです。
今は9月までしか読めません。どうか助けてくださいませ。
543 :
うごうご@初心者だった :2000/12/18(月) 21:09
>542 うおおおおおおおおおっありがとうございます。スゴい!スゴすぎる! 夢がかないました。本当にありがとうございます。私ももっともっと 勉強して、困っている人を助けてあげたいと思います。 本当にありがとうございました。
544 :
便乗君 :2000/12/18(月) 21:35
掲示板でキーワード検索を加えたいのですが… 教えてください。 ↓こんなフォームで <FORM ACTION="bbs.cgi" METHOD="post"> <INPUT TYPE="hidden" NAME="act" VALUE="src"> <INPUT TYPE="text" NAME="key"> <INPUT TYPE="submit" VALUE="キーワード検索"> </FORM>
545 :
名無しさん :2000/12/18(月) 21:43
546 :
便乗君 :2000/12/18(月) 21:47
今、暖めてるのにつけたいんス。 むずかしぃですかね?
547 :
名無しさん :2000/12/18(月) 21:52
>>496 >CGIのプロの人なら簡単にできるようなことなんですか?
ちゅーか、サルでもできるさ。
windowsのハッキングマニュアル2000にも載っちょる。p192.
548 :
名無しさん :2000/12/19(火) 00:44
>547 今頃ウエブで話題になってんだね もう散々楽しませてもらったからいいけど(笑)
549 :
名無しさん :2000/12/19(火) 14:37
(-_-) (-_-) (-_-) (-_-) (-_-) (-_-) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩)
550 :
名無しさん :2000/12/19(火) 14:41
(-_-) (-_-) (-_-) (-_-) (-_-) (-_-) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩) (∩∩)
551 :
名無しさん :2000/12/20(水) 19:27
あげてみる
552 :
焦る :2000/12/20(水) 23:52
今度の仕事はヘヴィーだ。武者震いするぜ、アホ。
553 :
名無しさん :2000/12/21(木) 07:48
おもいのはいやずら。
554 :
名無しさん :2000/12/21(木) 14:26
すいません、DTIのBBSシステムとCGIver3 と互換のPerlスクリプトは どこで手に入れたらよいのでしょうか?
555 :
名無しさん :2000/12/21(木) 14:27
556 :
名無しさん :2000/12/21(木) 15:32
<form method="post" action="post.cgi?hoge"> とやってGETとPOSTを併用するのをたまに見かけるんですが、 これってどこでも上手く行くと考えていいんでしょうか?
557 :
名無しさん@post :2000/12/22(金) 00:05
いい
558 :
名無しさん :2000/12/22(金) 21:15
556に便乗 配布されるCGIに、よくメソッドの選択で 「postでエラーが出たらgetにしてください。」 ってあるけど、postできないような設定のサーバってあるの?
559 :
名無しさん :2000/12/22(金) 23:55
560 :
名無しさん :2000/12/23(土) 04:30
>>558 POSTだとサーバによってLocationヘッダを合せないとならなかったり。
Location 302
で検索してみし。
>>558 極端に古いHTTPデーモンはエラーを返すな。一応。
見たことないけど。0.9
562 :
558 :2000/12/24(日) 07:44
>>560 なるほど。ありがとうございました。
検索してみます。
>>561 0.9ってhttpのバージョンですか?
だとすると、僕も見たことないです。
最近のなら大体大丈夫みたいですね。
>>556 便乗してすまぬ。
ちなみにその例の場合は「@ARGV」とかいう配列に「hoge」が入ってる。
噂によればそれも使えないサーバーがあるとかないとか・・・(謎)
563 :
名無しさんです :2000/12/24(日) 11:30
正しい排他処理を教えてください。 掲示板作成で悩んでます。
564 :
名無しさん :2000/12/24(日) 15:51
UNIX家に持ってないもので良くわからないのですが…。 suEXEC(?)っていうので動くCGIの場合、一般的に、 パーミッション700のファイルがあったら -r, -w, -x, -o は真、-R, -W, -X, -O は偽、 ということで合ってますでしょうか?
言葉が足りませんでした。 -r とか -R はPerlの演算子です。
>>562 そんなサーバはCGIに準拠していないので、捨ててしまえ。B-)
>>546 いいえ。全て真です。
567 :
名無しさん :2000/12/24(日) 19:08
アクセス制限をつけたいんだけど kentとrescueどっちのアクセス制限がいいか迷ってます。 軽いことが前提条件なんだけどどうですか? やっぱり作る人によって軽さとか処理の早さの部分も変わって くるんですか?
568 :
名無しさん :2000/12/25(月) 00:32
>>566 >そんなサーバはCGIに準拠していないので、捨ててしまえ。B-)
ところで、CGI 関連の RFC ってあります?
>>561 > 極端に古いHTTPデーモンはエラーを返すな。一応。
> 見たことないけど。0.9
0.9 って古いというか、簡易版でそ。0.9 only の
http サーバなんて存在するかい?
>>567 .htaccess による制限の方が良いと思うけど。
"使う" ならどちらでも良いんじゃないかな。
"読む" だと、rescueのプログラム全般は決しておすすめ出来ない。
アクセス制限の軽さに関しては、不明なのでノーコメント。
>>568 RFCにはなっていないが、
http://hoohoo.ncsa.uiuc.edu/cgi/interface.html # I-Dは出たことあるが、期限切れ。
HTTP/0.9は1.0よりも前の規格です。簡易版といわけではありません。
てなわけで、昔のサーバは0.9だけを喋っていました。
今時のサーバで0.9だけってのは無いと思うけど。
570 :
もうだめ…2 :2000/12/25(月) 01:19
パスワードとIDを使ってアクセス制限をかけようと 朝からフリーのCGIをもらってきたりパーミッション とは……? とか色々勉強していたのですが、 どうしても分らないことが… もらったCGIをエディタを使って書き換えるまでは 分るのですが、これ、どうやって使うんですか? どこにどのように設置したら「パスワードとIDを いれてね。」の画面が起動するんですか? それを教えてくれるサイトでもいいので どなたかすいませんが教えて下さい。 フリーのCGIはCOSMO GATEさんから 頂きました。詳しい説明をして下さってるんですが それもエディタで書き換えたりパーミッションの 方法とかまでのところでそのCGIをどこに埋め 込めばいいのか、とかがよく分かりません。 多分ちゃんと書いてあるけど私が理解できてないだ けなのかもしれなです。恥ずかしい。
571 :
564 :2000/12/25(月) 01:30
>>566 全部真なんですか…。
実uid = 実行する人の本来の(nobody)
実効uid = 実際動かすときの(suEXECだと所有者?)
とか字面だけ見て思ったんですが…。
そもそも実uidと実効uidってどう違うんでしょうか…。
なんか検索してもPerlのリファレンスばっか出てきて。
572 :
567 :2000/12/25(月) 01:32
>569 htaccessによるアクセス制限ですか? 私は設置やちょっとした改造とかは出来るのですがhtaccessで アクセス制限できるとは知りませんでした。 htaccessでアクセス制限する原理というのがいまいち分かりません。 htaccessとはもともと何をする物なのですか? ときおりCGIとかがうまく設置できなかったり機能しなかったりしたときは htaccessを設置するとうまくいくという事があるとは聞きましたが…
573 :
568 :2000/12/25(月) 01:46
>>572 > htaccessとはもともと何をする物なのですか?
Apache の機能を特定のディレクトリで
有効または無効にするものかな……。
パス制限するなら、.htpasswdが要るかもね。
575 :
SSIの記述よう分からん :2000/12/28(木) 08:18
エクステンションを.shtmlに変更してパーミションを755に設定して下さい。 &lt;!--#include virtual="./123/**.cgi"--&gt; &lt;!--#exec cmd="./123/**.cgi"--&gt;
576 :
ほういち :2000/12/28(木) 13:28
初歩的でしかもCGIとあんまり関係ない質問で申し訳ないのですが、 携帯電話のブラウザについて教えてください。 1.cookieは受け取ってくれるのでしょうか?現状では多分無理だと 思いますが近い将来食ってくれるようになるのでしょうか? 2.basic認証が必要なディレクトリにアクセスしたらどうなるのでしょうか? ちゃんとダイアログが出るのでしょうか? 正月休みにi-mode用のスクリプト製作を友人に頼まれたのですが、 なにしろi-modeなんて文明の利器を持ってないので全然わからない のです。よろしくお願いいたします。
578 :
SSIの記述よう分からん :2000/12/28(木) 21:37
◆ カウンタ機能付きログアナライザ(アクセスデータ解析) analyze
>>576 1. no
2. yes (機種によってはIDとパスワードを保存しないので、毎回聞かれる)
日記書いて……。
581 :
ほういち :2000/12/29(金) 09:08
>577さん ありがとうございます!!!すばらしい!!!こんなんが あったんですね。大感謝です!! >japuさん いつも的確な回答ありがとうございます。 匿名メーラーというか私書箱というかそういうの作るんですが、 どうやって認証するかが問題で困ってました。 デザイン面は友人がやると言ってるのですが・・・どうも怪しいので 577さんのサイトは非常に役立ちます。ありがとうございました。
582 :
1000 :2000/12/29(金) 23:04
Perlでプロキシを制限する構文の例を教えてもらえませんか? 関数でお願いします。
584 :
_htaccess :2000/12/30(土) 01:02
<limit get> order allow,deny deny from 123.456.789 allow from all </limit>
585 :
名無しさん :2000/12/30(土) 08:21
CGIでhoge_hogeのディレクトリの中にある 画像にリンクを貼りたいのですが どうすれば良いですか? hoge_hoge の位置はこんな感じです drwx-----x hoge hoge_hoge drwx-----x hoge public_html 宜しくお願いします
>585 リンクを張るのは無理なのれす。 表示させるだけなら可能なのれす。
588 :
585 :2000/12/30(土) 08:41
>587さん そうでいたか・・ 表示させるのはどうやるんですか? スミマセン こうやってみたんですが 量が多くて・・ ero.cgi?ero sub ero{ $| = 1; print "Content-type: image/gif\n"; #system("/bin/cat img.gif"); system("/bin/cat ../hogehoge/ero.jpg"); exit; _END_ }#ero END
589 :
585 :2000/12/30(土) 20:02
↑こんな感じを下のようにして system("/bin/cat ../hogehoge/$er"); ?a001で ?a100まで振り分けてみました 後はero画像一枚増やす度に、2行づつ増えていく訳ですが こんな事していたらプロバイダーに負荷がかかるのでしょうか? 他に方法はありませんでしょうか?
590 :
名無しさん :2001/01/11(木) 02:14
591 :
名無しさん :2001/01/11(木) 11:34
ここの掲示板そっくりのcgi書いた人いる?
592 :
名無しさん :2001/01/12(金) 22:48
某サイトに $addr = "202.xxx.xxx.201"; $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); のようにするとIPをホスト名に変換できると書いてあったのですが、まったく無意味でした。他に、変換する方法はありませんか?
>>592 どこのサーバでの結果ですか?
制限してることありますよ。
594 :
名無しさん :2001/01/12(金) 23:29
>593 ピーマンか? IPをホスト名に変換だろ
単に、そのIPアドレス (not "IP") の逆引きが設定されていないだけでは? 192.168.1.8 なら、 % nslookup 192.168.1.8 または % nslookup -type=PTR 8.1.168.192.inaddr.arpa としてみたらどうなる? あと、某サイトとか書かずにキチンと書こう。
596 :
初心 :2001/01/12(金) 23:56
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (゚Д゚)ノ < 192.168.1.8 とかの数字でなくプロバ名を表示したいのですが。。 | ⊃| \________ | | $ENV{'REMOTE_ADDR'}\n"; ⊂ノ〜 ∪
597 :
なな :2001/01/13(土) 10:47
The server encountered an internal error or misconfiguration and was unable to complete your request.
598 :
くりきんとん :2001/01/13(土) 11:00
すまんのでごわんす。教えてほしいっす。 /cgi-binにcgiを。 /public_htmlと同じ高さに/passwdを作ってそこにpass.txtを生成。 .htaccessではそのpass.txtを指定。 これってサーバーに良くないわけ? /public_htmlの下にpassを入れるフォルダ作らなきゃ駄目?
599 :
さらだバー :2001/01/13(土) 11:28
なぜ2ちゃんねるは半角カタカナが文字化けしないのですか?
600 :
名無しさん :2001/01/13(土) 11:32
ライブラリ弄ってるんじゃないのかな
>>595 すみません、もうすこし詳しく教えていただけますか?
602 :
名無しさん :2001/01/13(土) 16:51
>>603 あんたやるね!もちろん俺のが知識はあるけどな。
605 :
名無しさん :2001/01/14(日) 05:18
あるファイルがあって、それが確実にDLされたかどうかを判定する 事って可能でしょうか? imode端末が対象なのでCGIのみで実現させたいです。 DLされたかどうか、というのは自分がDL出来たかどうかという意味ではなく、 DLして貰えたかどうか、という意味です。 無理でしょうか? DLした時点で何か返してくれれば出来るとは思うんですが、 そんな事はしてくれないので、他に妙案があれば宜しくお願いします。
>>605 > 確実にDLされたかどうか
途中で接続を切った場合を含まないということ?
608 :
"七資産" :2001/01/14(日) 13:16
下らない質問です Jcode.pmの使用例を教えてください
perldoc Jcode
611 :
ななし :2001/01/14(日) 14:40
SSIでCGI実行の記述は↓以外にありますか? &lt;!--#exec cmd=".hoge.cgi"--&gt; &lt;!--#include virtual=".hoge.cgi"--&gt; &lt;!--#exec cgi=".hoge.cgi"--&gt;
612 :
名無しさん :2001/01/14(日) 16:12
print "<HTML>\n";〜 って、いちいち書かないで、 <HTML>〜って書く方法ないの?
613 :
サゲ茶漬け :2001/01/14(日) 16:17
print while <HTML>; 違うかなぁ?
615 :
名無しさん@612 :2001/01/14(日) 16:33
print<<HTML_END; <HTML>〜 HTML_END } なんての見たことあるけど、動かないのですが、、、、
616 :
g :2001/01/14(日) 20:03
>615 ”}”がいらない。
617 :
g :2001/01/14(日) 20:08
618 :
名無しさん@615 :2001/01/14(日) 22:26
print<<HTML_END;
<HTML>〜
HTML_END
>>616 ↑頭と終わりに入れればいいだけでしょうか?
619 :
カニピラフ :2001/01/15(月) 01:01
今、50人位の任意の数の中から ランダムに10人を選ぶようにしてますが $ninzulog = @NINZU; srand; for ($i=1;$i<=10;$i++) { ($no,$hito) = split(/<>/,$NINZU[rand(@NINZU)]); print "$i番目$hitoさん"; } これだと同じ人がダブって出てしまうことがあります。 同じ人がだぶって出ないようにする方法はありませんか?
620 :
名無しさん :2001/01/15(月) 01:04
>>619 連装配列ですでに選ばれた数を保持すればどうですか?
621 :
620 :2001/01/15(月) 01:17
不親切だったかな。 こうすれば楽ですね。 $ninzulog = @NINZU; srand; undef %conflict; for ($i=1;$i<=10;$i++) { ($no,$hito) = split(/<>/,$NINZU[rand(@NINZU)]); redo if $conflict{$no}++ > 1; print "$i番目$hitoさん"; }
(別解) ハッシュ (連想配列) を使用しない方法。ただし、元の配列を破壊します。 #! /usr/bin/perl -w @array = ("00".."19"); @ayu = (); for (0..9) { push @ayu, splice @array, (int rand @array), 1; } print "@ayu\n@array\n"; __END__
623 :
htmlをlynxでdumpしたものからリンクを取りたいのですが :2001/01/15(月) 02:50
----l_link.pl #!/usr/bin/perl if(($a=index($_, 'Reference')) >=0){ $b= substr ($_,$a); print "$b\n": } exit; ---------とゆうので lynx -dump ~/index.html |l_link.pl トやるとbroken pipeになってしまいます 間違っているとこを教えてください あと出きればリンクを配列に入れたいと考えているので そのためのスマートなやりかたでもあればお願いします lynxのオプションでもリンクのみ表示みたいなのは無さそうでした
624 :
カニピラフ :2001/01/15(月) 02:53
>>623 根本的に間違っています。もう少しperl勉強してからの方が良いです。
リンク一覧を得たいなら、LWP::UserAgent + HTML::Parser あたりで何とかした方が良さげ。
>>624 頭を働かせましょう。
for ($i=1;$i<=10;$i++) {
($no,$hito) = split(/<>/,splice @NINZU, (int rand @NINZU), 1;
print "$i番目$hitoさん";
}
621さんの方法を使うなら、
redo if $conflict{$no}++;
または
redo if ++$conflict{$no} > 1;
では?
# 自動インクリメント演算子は前置と後置で評価されるタイミングが違うので注意。
>>623 lynxのdumpが何をするのか知らんけど、スクリプトがデータをどこからも取ってません。
while( <> ){
if( .. )
}
627 :
623 :2001/01/15(月) 05:48
>>626 アドバイス感謝です、また一つここで勉強させてもらいました
>スクリプトがデータをどこからも取ってません。
ホントその通りでした。取り敢えず、前に
@c = <>;
$_=join("",@c);
とつけて、$b= substr ($_,$a+12);として、後ろに
@d = split(/\n/,$b);
foreach $e (@d){
push ( @g , $f );
}
とつけてなんとか出来ました。感謝!
@d = split(/\n/,$b); foreach $e (@d){ $f= substr ($e,6); push ( @g , $f ); } でした
@d = split(/\n/,$b); foreach $e (@d){ $f= substr ($e,6); push ( @g , $f ); } でした
630 :
名無しさん :2001/01/15(月) 22:03
お絵描き掲示板設置したいんですけど 解説してるサイトとかありませんか
631 :
名無しさん :2001/01/15(月) 23:11
レンタル掲示板にもアクセスログをつけたいのですが どうすればいいのでしょうか・・・。
632 :
適当クン :2001/01/15(月) 23:17
>>631 書き込んだ人はムリかな?来た人はフレーム使えばできるかも
633 :
631 :2001/01/15(月) 23:32
フレームですか。 レンタル掲示板のタイトルに使うGIFからも取れるんですか? どっちのほうが簡単でしょうか?
634 :
カニピラフ :2001/01/16(火) 01:53
>>625 redo if $conflict{$no}++;
redo if ++$conflict{$no} > 1;
どちらでも出来ました。
>自動インクリメント演算子は前置と後置で評価されるタイミングが違うので注意。
どっちを使うべきかこれから調べます^^;
620,621さん、japu(
[email protected] ) さん有難うございました。
はう。寝ぼけてたよ。 japuさん、カニピラフさん、すんません。
>>633 フレームは無理だと思う……。
どこのレンタル掲示板か分からないから答え難いけど、
imgタグで別に設置したCGIを呼び出すか、
どこかの無料サービスを利用するべし。
637 :
名無しさん :2001/01/16(火) 10:46
>> $str = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; をどこかから拾ってきて、使ったのですが、、 数字のまま変換されないのですけど、、何が原因なんでしょうか?
638 :
名無しさん :2001/01/16(火) 10:53
コンパイルサービスってありますか? 自分のLINUXのcでcgiを作ったものを、自分が 契約しているプロバイダに置きたいので。 プロバイダは某biglobeです。
>>637 逆引きが制限されている、に300カノッサ。
640 :
名無しさん :2001/01/16(火) 12:11
>>637 $str = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;
でどうだ?
たぶん、MiniBBSあたりから拾ったんだと思うが、それだと$hostが空だと動作しない。
>>638 telnet.cgiで検索してみるべし。
# 未だに配布しているかどうかは知らん
なんか日本語が変だ・・・。
642 :
637 :2001/01/16(火) 12:42
>>640 bingo!!
ありがとう。そのとーりでした。
643 :
名無しさん :2001/01/16(火) 17:14
プログラム組んでるとやたらと眠くなるんですが、 どうすればよいでしょう。
644 :
名無しさん :2001/01/16(火) 17:22
コーラ、たばこ、モカ等で目を覚ましましょう。
645 :
今日でたぴょん? :2001/01/17(水) 22:08
今日でたぴょん?
$ENV{'TZ'}="JST-9";で時間を取得するとの事ですが、 これが米国の場合にはどうなるのでしょうか? 東海岸在住ですがサーバーは3時間時差の有るネバダ州 にあります。 それとどうして日本は"JST-9"なのでしょうか、グリニッジ 標準時プラス9時間だと思っておりました。
どこでも、$ENV{TZ}="JST-9"; $lt = localtime; すればよろしい。 # localtime(time + ...) という変なコーディングも良く見掛けるけど。 "JST-9" については、man tzset, man tzfile かな。 Offset部 (-9) ではUTC (GMT) との差分を表しますが、本初子午線よりも東にある場合には負になります。 そういうものだと思って下さい。
>647さんありがとうございます。 >どこでも、$ENV{TZ}="JST-9"; $lt = localtime; すればよろしい。 $ENV{TZ}="JST-9"; のあとに$lt = localtime; を書き込めば ニューヨークでの時間がとれると解釈をしてよろしいのでしょうか? JST-9の疑問をありがとうございました。
>>648 違います。"JST-9" なのでどこでも、日本標準時を得ることができます。
NYの時刻を得たい場合は、"EST+5" かな。(もしかして、これを聞きたかったの?)
>>649 さん
そうなんですが...."EST+5"でも駄目みたいです。
"UTC+5"も試したのですが。
651 :
?¢?B1/2 :2001/01/18(木) 15:11
氏んだ〜〜〜〜〜 なんじゃこりゃ〜〜〜〜 えらいバグに遭遇 (笑)
652 :
名無しさん :2001/01/18(木) 19:00
IP表示のBBSスプリクトのことなんですが、管理人のIPだけを 無記入にすることって出来ますでしょうか? コレってやっぱりマズイかな。。。 もし解る方がいらっしゃいましたらよろしくお願いします。
653 :
ブチ :2001/01/18(木) 19:09
>>652 パスとかで管理者だけを識別してIP見せないように改造するしかないんじゃないかな?
既存のものでそういう機能があるものは知らないし、
管理者だけというのはいい印象をもたれないだろうから配布物ではそもそも無いのだと思う。
見られたくないなら全員非表示にすればいいのじゃないかな?
あれは管理者以外が見れても利点があまりないだろうし。
>>652 if ($name eq '管理人') {
$addr = '';
} else {
$addr = $ENV{'REMOTE_ADDR'};
}
な感じでいい?
655 :
7誌 :2001/01/18(木) 19:27
>>652 管理人の偽者が来たらやばいでしょ・・。
$addr = $ENV{'REMOTE_ADDR'};
$addr="管理人" if($addr =~ /管理人普段のIP/)||($name eq '管理人');
こんな感じじゃ駄目なん??
まあ、管理人と同じプロバイダの人は・・・汗
つーか、自分だけ隠すな。 地域がバレるのなら、遠くのAPに接続しろ。
657 :
名無しさん :2001/01/18(木) 20:44
652です。 アドバイスありがとうございました。 皆さんさすがですね! やっぱり自分だけ隠すのはよくないですよね。。。 ちょっと警戒しすぎてしまいました。 どうもスミマセン。
658 :
有志の方を募っております。 :2001/01/18(木) 22:05
660 :
名無しさん :2001/01/18(木) 23:47
おいおい。ちく裏から荒らしきたらどーすんだよ。>むぎ だれか、どっかにfreeCGIの設置に協力してあげたら? あて先も限定できるみたいだからspam利用も 回避できるでしょ。 だけど、どうして匿名メールにする必要があるんだろう。
661 :
名無しさん :2001/01/19(金) 01:00
CGIに使える言語って今現在どんなものがありますか? Perl C Rudy PHP
662 :
名無しさん :2001/01/19(金) 01:37
>>661 何だって使える。prologで推論するCGIも作れる(ワラ
違う意味での「使える」なら、あとC++,Java,Pythonくらいかな?
663 :
名無しさん :2001/01/19(金) 01:45
標準入出力があれば何でも使えるだろ・・。 で質問。VBで作れると思う? アレって標準入出力ってあったっけ?? それ以前に、フォーム無しでプログラムできたかな・・?汗
664 :
名無しさん :2001/01/19(金) 01:53
WSHはできますか?
665 :
名無しさん :2001/01/19(金) 08:51
javaは単体じゃファイル操作が
666 :
名無しさん :2001/01/19(金) 14:20
>>665 Servletって知ってる??
俺知らない(笑)
667 :
むぎ茶 :2001/01/19(金) 16:06
単体でもファイル操作できるけど?
668 :
名無しさん :2001/01/19(金) 21:03
Chat-kingを,デフォルトのファイル配置で使うとアクセスログ (chatking3.txt)がユーザにだだ漏れになってしまうのですが…。 Chat-kingの一般的なカスタマイズで回避可能なのでしょうか?
>>668 そのスクリプトの配布場所ぐらい書いておけ。
>>669 あ,すみません。ここです↓
http://www2a.biglobe.ne.jp/~yama/cgi.html 気になっているのは「Chat_King CGI」です。
…問題のログファイル「chatking3.txt」はパーミッション666に設定
するように指示されているのですが,…それだけではユーザが直接参照
するのを防ぐことは出来ないのでしょうか?
問題のファイルを参照一切禁止なパスに移動して,CGIが同ファイルを
呼び出す時のパスを書きなおして行く…という対処が要るのかなぁ…
とか。…単に設置方法を間違えているだけなのか分からなくて,途方
に暮れてしまいました。どうかよろしくお願いします。
671 :
669 :2001/01/19(金) 22:22
public_html より上位のディレクトリ(参照一切禁止なパス) にファイルを置けばいいんじゃないの? パス書き直すぐらい難しくないでしょ。
ども。
>>669 さん
基本的にはやっぱりそうなるんですか。
…ということは,フリーなCGIをデフォのまま使うのは,
セキュリティ上問題がある…ということになるんですね…。
どうもありがとうございました。
673 :
名無しさん :2001/01/20(土) 16:04
CGIをローカルで動かそうとしたのですが500Errorとか言う物が 発生し実行する事が出来ません。 htmlなどは表示出来るのですがCGIだけ無理みたいです… ファイルが足りないと言う事は無いと思います。 一応書籍を買って調べてみたのですがそれらしい記述は無いし… 貰い物なのでCGIの内容も間違っている事は無いと思います。 こんな感じの初心者が陥りがちなミスは無いでしょうか? 使用ブラウザIE5 Win98 AnHTTPdとか言う物を使ってます。
>>673 Perlが入っていない、に300ガブス。
675 :
673 :2001/01/20(土) 18:16
>>674 perlソフトはインストールして有ります…
フォームから送信されてきた情報(予め入力しなければならない物・IP・送信されてきた時間)を特定のファイルに記述するのってどうするんですか? CGIをHPに設置したいんですけどなかなか上手くいかなくて困ってます・・・。
>>673 サーバにアップして実行したらどうなる?
それから、シンプルなスクリプトで試してもエラー出る?
678 :
名無しさん :2001/01/20(土) 18:39
>>676 そんな基本中の基本を漠然と聞かれても・・・
初心者向けの解説サイトにいやと言うほど書いてると思うが・・
679 :
673 :2001/01/20(土) 18:44
>>677 KENTさんと言う方のページに置いてあったテスト用のCGIで、
試しているんですけど、どうも駄目みたいです…
CGIの最初に書くPerlソフトの場所も合っていると思います・・
サーバにUPですか…やってみますが未だ良く解りません。。。
書かれてるんですけど上手くいかないんです・・・。 jperlに通したけど記述ミスは無し、パーミッション設定も間違ってないのに。
681 :
678 :2001/01/20(土) 19:40
>冒険者 もしかして自作じゃなくて配布スクリプト?
>>679 perl.exe にパスが通っていない,に100ペリカ.
683 :
:2001/01/20(土) 20:54
>>673 パールのパスは通ってるかい?SET PATH=うんたらかんたらっての。
あと、インストール場所とスクリプトに書いてあるパス。
684 :
:2001/01/20(土) 20:55
あら、らりってるうちに先客さまが。。。
685 :
厨房ですんません :2001/01/22(月) 12:34
ブラウザからCGIのソース見る方法があると聞いたんですが、 ウソなんでしょうか?
687 :
名無しさん :2001/01/22(月) 15:12
今フォームのデータをメールで送るプログラムを制作しているのですが 下のソースだとメールが送信されないのですが何故でしょうか。 -t -f はサーバの指定です。 $libr = '/usr/lib/sendmail'; $adress = Eメール'アドレス'; $M_00="title"; $massage = <<END_OF_MESSAGE; subject: $M_0 $A_0,$A_1,$A_2,$A_3,$A_4,$A_5,$A_6, END_OF_MESSAGE open(MAIL, "|$liby -t -f$adress") or die ("送信に失敗しました"); print MAIL $massage; close(MAIL);
$message が $massage (マッサージ) になってるから。 − 完 − じゃなくて、メールヘッダと本文の間には空行が必要。 Subject: $M_0 の行の下に空行を入れてみてね。
お にせむぎ茶発見 っていうか おいらもだけど
>>688 誤字どうもです、直しました。
空行を入れても動きませんでした。
文法エラーもなく実装してもメール以外の不具合はないのですが
なぜかメールだけが動かないのです。
$libr と $liby
open(MAIL, "|$libr -t -f$adress") || die "失敗しました";
693 :
名無しさん :2001/01/22(月) 23:37
VB、WSHでCGIが作れるのでしょうか?
CGI が作れるってのが意味不明。 ただしく結果を返すんなら別に Perl でも C でも VB でも WSH でも いいんじゃないの。
695 :
693 :2001/01/23(火) 12:49
>>694 だから・・値を返す方法があるのかな?って事
環境変数は、取得できる気がするけど
フォームとか使わずに、標準入出力のみ使ったプログラムって
WSH、VBでもできるのかな?ってことです。
「だから」と言われても、、、
帰ったほうがいいよ
>>695
697 :
名無しさん :2001/01/23(火) 17:44
WSHは知らんが、VBなら可能。 AllocConsoleでコンソールを生成しろ。
FFアドベンチャーって負荷が高いのでしょうか。 設置してみたいのですが知っている方お願いします。 その場合は箱庭とこちらとどちらが負荷が高いですか。 スレ違いかもしれないのでsageさせていただきます。
699 :
名無しさん :2001/01/24(水) 07:33
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<html><head><title>移動中</title><meta http-equiv=\"refresh\" content=\"0\; url\=
http:// 〜〜〜.html\"></head>\n";
print "$body\n";
print "<font color=\"\#ee0077\" size=5><b><a hreh=\"
http:// 〜〜〜〜〜〜.html\">ページが変わらないときは ここを押す</a></b></font>\n";
print "<hr width=40\%><br>\n";
print "</body></html>\n";
何がおかしいのでしょうか。
サーバーエラーが帰ってきます。
エラーメッセージも書かないで、人に聞こうとするその態度。
Internal Server Error か? だったらスクリプトの文法以前に実行されてない。 改行コードとか、 Perl のパスとかをチェック。 あと、 $body はどこで定義されてんの?
702 :
名無しさん :2001/01/24(水) 09:53
content=\"0\; なんかおかしいしいだろ・・。 ってかこんなもん聞くな、氏ね。
っていうかなんでLocationしないんだろうね
>>702 そのあとの \= も妙だ。
ていうかヒアドキュメント使えばいいのに
705 :
名無しさん :2001/01/24(水) 14:46
http://www.cgiboy.com/ ここのレンタルチャットみたいなCGIどこかにありませんか?
あと、このチャット、ROMってると閲覧者として表示されるんですが
それは、どうしたら、そんな表示が出せるんでしょうか?
表示させる方法・させない方法を教えて下さい。
宜しくお願いします。
707 :
697 :2001/01/24(水) 16:50
訂正。 CreateFileでCONをオープンしてReadFile、WriteFileでアクセスだ。 鬱(略
VB素人ですが、CONデバイスをオープンすれば標準出力になるの? Windowsって不思議ー
709 :
女欲しい :2001/01/24(水) 22:07
出会い系サイトで登録者それぞれに匿名メール送れるシステムが あるけど、あれって一人一人にフォームメールのプログラム作っ てるの? それとももっと便利なプログラムあるの? 厨房な質問ですまんが、詳しい方レスお願い。
710 :
名無しさん :2001/01/24(水) 22:49
>>698 凄い負荷高いみたいよ。
結構設置禁止サーバが増えてきたみたい。
Csideは禁止だし。
711 :
名無しさん :2001/01/24(水) 23:25
そうか!CreateFile使えばVBでも 標準出力が可能なんだ♪ 環境変数取得は、VB関数で用意されてるんかな?? anhttpd使ってVBCGIなんて楽しそう(笑) いくらVBでもコンパイルしてる分Perlより早いでしょ。
712 :
名無しさん :2001/01/24(水) 23:35
Perlコンパイルすりゃいい。
713 :
ダボが :2001/01/25(木) 00:26
NTダボやろゴルァ!! ボケが何が哀しゅーて半日カウンターの設置に費やすんじゃダボ!!
>713 それはあなたが。。。。。
715 :
あつこ :2001/01/25(木) 02:24
716 :
ちか :2001/01/25(木) 03:26
配列のサイズって簡単に取得できますか? 配列がなんこあるかとか。 初心者でごめんなさい。
717 :
名無しさん :2001/01/25(木) 03:27
すみません。
簡単なことかもしれませんが個人名を入力させて、
http://www.xxxx.co.jp/個人名/index.html にそれぞれ飛ぶようにしたいのですが、
どのようにしたらいいでしょうか。
FORMでPOSTメソッドを使って、locationで飛ばそうと思ったんですが、
locationで指定するURLの中に変数が入ってるとうまくいきません。
よろしくお願いします。
718 :
717 :2001/01/25(木) 03:51
719 :
ほういち :2001/01/25(木) 03:51
>709 >>あれって一人一人にフォームメールのプログラム作ってるの? そんな訳ないでしょ・・・ >716 配列のサイズというか要素数ですか? もしそれなら、スカラーのコンテキストで配列を評価すると 配列の要素数がわかります。 または$#配列名で配列の最後の 要素の添え字がわかります。 @arry = ( "hi" , "ki" , "ko" , "mo" , "ri" ); $len = @arry ; print "要素数:$len \n"; print "最後の添え字:$#arry \n"; 実行結果 要素数:5 最後の添え字:4 ご存知とは思いますが配列の添え字は0から始まりますので $#arryは要素の数より1つ少なくなります。
720 :
ほういち :2001/01/25(木) 03:59
>715 あれそのものは配布されてるものじゃない気がするけど、 あれだけの機能でよければそこらにあるスクリプトを ちょっと改造すればできると思います。 単にメールアドレスが公開されない掲示板ってだけでいいんですよね? それだったら例えばレスキューの掲示板なんかだと簡単に改造できるかと。
721 :
名無しさん :2001/01/25(木) 18:30
722 :
名無しさん :2001/01/25(木) 19:55
初歩的質問ごめんなさい。 よくCGIのログが消えてしまうんですが あれを防ぐ方法はあるんでしょうか? やはり細めなログ取りが一番?
723 :
名無しさん :2001/01/25(木) 23:26
データベースを扱うCGIを作ろうと思うんですが Perlじゃ重いですかね? 他に何かお勧めのものありますか?
724 :
名無しさん :2001/01/25(木) 23:42
>>722 まずスクリプトを見直すべし。
よっぽどなアクセスがなければ壊れる事は滅多にない。
ファイルロックを使っても壊れるならスクリプト見直す方がいい。
ファイルに書き込むはずのデータが空になっているという凡ミスは
ありがち過ぎる。
725 :
名無しさん :2001/01/25(木) 23:43
>>722 まずスクリプトを見直すべし。
よっぽどなアクセスがなければ壊れる事は滅多にない。
ファイルロックを使っても壊れるならスクリプト見直す方がいい。
ファイルに書き込むはずのデータが空になっているという凡ミスは
ありがち過ぎる。
726 :
名無しさん :2001/01/25(木) 23:44
鯖が重くて二重投稿になった。 すまない。
728 :
723 :2001/01/26(金) 00:25
>>727 オーソドックス過ぎますけど
逆に言えば一番信頼性があるってことですかね?
729 :
727 :2001/01/26(金) 00:33
>>728 PHP+MySQLを勧めた理由は、双方の相性がよく、日本語を扱いやすく、
コストを抑えつつ手軽に導入でき、速い検索が望めるから。
多くの機能が必要なら、MySQLは向いてない気がする。
730 :
723 :2001/01/26(金) 00:38
>>729 なるほど。
的確なレスどうもありがとうです。
731 :
717 :2001/01/26(金) 04:44
>721 入ってます。変数をprintすると正常に表示されます。 ヘッダがplain/htmlじゃlocationが効かないみたいなんで、 printでHTMLを書き出してrefreshで飛ばすのがいいのでしょうか? ご教授お願いします。
732 :
名無しさん :2001/01/26(金) 11:24
733 :
717 :2001/01/26(金) 21:57
732さん、みなさんどうもありがとうございました。 できました。 原因はヘッダだからと考えて、一番頭の変数に値を読み込む前に書いていたのと locationの前に変数の値を確認するために余計なprint文があったからです。 ちなみにplain/htmlは酔っ払って書き間違いました。 本当にありがとうございました。
734 :
名無しさん :2001/01/29(月) 18:32
米鳥なんですけど、502エラーがでてしまって表示されません・・・。 BBSもカウンターも。 更新とか押したらたまにひょうじされます。 原因は・・・?
502 Bad Gateway
736 :
初心者 :2001/02/01(木) 12:31
ネット上で配布されてる簡単なゲームを、自分のhpに貼り付けたいのですが、(CGIとかプログラムとかの知識が Oです。Hpは、ビルダーでマウス操作だけで作りました。)どうすればいいのか、簡単な流れを教えてください。
彼ら初心者は学習する事を知りません。
「教えて下さい、お願いします」等の単語しか書けないので、
教える側は怒りを覚えます。
殆どの問題は検索エンジンや書物などを使えば解決します。
perl講座や関連書物が沢山あるはずです。
キーワードはperl 初心者 解説です。
(検索機を知らないと思うので) →
http://www.yahoo.co.jp/ ここのTOPにもありましたよね?
インターネット人口が増えると、こういう人が増えて困ります。
あと、「初心者」という言葉を使って質問をするのは
かなり悪質です。初心者=誰もが教えてくれる、ではありませんよ。
教えてもらえる情報を、赤の他人から只で手に入ると勘違いしていませんか?
初心者だから解からないでは無く、初心者だから解からない事を調べると
いう考えを持つべきです。徹底的に調べましょう。シラミ潰しに。他力本願は駄目です。
熱くなりましたが、以前悪質な初心者がいましたので。
過去ログを見ない、検索しない初心者は回線を切断してもう一度
出直してください。宜しくお願い致します。
738 :
名無しさん :2001/02/01(木) 17:49
自分で調べられないから初心者なんじゃん。わけわかんね。
739 :
名無しさん :2001/02/01(木) 20:59
738の言ってることの方が的を得ているように思う
調べること自体不可能なんて奴は居ないでしょ。2chに書き込みが出来るくらいなら。 せめて調べたけどわからない、調べたけどうまく見つからない、と書け。
741 :
名無しさん :2001/02/02(金) 00:23
>736 1.CGIが可能か確認。 2.DLしたファイル(***.cgi)をワードパッドで開く。 3.Perlパス(例:#!/usr/local/bin/perl)を直す。 4.文中のコメントに沿って直す(パス,URLに注意)。 5.FTPでアップロード。 6.パーミションをReadme.txtに沿って変更(755,666等) 7.実行。
パソコン買う金あんだから、本買え!本! 教えたい君は尾奈ってろ
前後に空白以外の文字がないリンク部分を*一つずつ*切り出す スクリプトを書いています。Perlメモを参考に、マッチの部分を /(?<=>)[\s\t\n]*<A(?:[^\"\'>]|\"[^\"]*\"|\'[^\']*\')*>(.*?)(<\/A>) [\s\t\n]*(?=<)/ のように書いたのですが、複数のリンクが続けて並んでいるとき (<A href=...>...</A><A href=...>...</A>など)一度にマッチしてしまいます。 一つずつマッチさせる方法はあるでしょうか? 正規表現の詳しい本がなくて…スミマセン本買イニ逝ッテキマス
age
745 :
名無しさん :2001/02/02(金) 23:31
>>743 そのページの'URI(URL) の正規表現'を参照
746 :
名無しさん :2001/02/03(土) 02:32
>>736 煽り、叩きは完全無視しましょう。
sageでもレスはやめて、まったり逝きませう。
CGIが動くまで、ここで質問すれば良し。
747 :
初歩的な質問かもしれませんが :2001/02/03(土) 05:18
tripod.comで、cookieをsetしているのにgetできません。 ブラウザを確認するとちゃんと保存されています。 しかし環境変数を取ったところ、HTTP_COOKIEが空でした。 これはcookieが使えないということなのでしょうか? それとも海外のサーバの場合は何か設定が必要なのでしょうか? # 同じスクリプトでfreewebではcookieが反映されています。
748 :
>747 :2001/02/03(土) 05:42
CGIでヘッダが出せればサーバは関係ないよ PATHは合ってる?
749 :
名無しさん :2001/02/03(土) 07:38
expiresは?
750 :
747 :2001/02/03(土) 07:41
>>748 pathもdomainも色々試したのですが、うまくいきませんでした。
他のスクリプトで試したらpath、domainを指定しなくてもcookieを
取得できていたので、スクリプトに問題があるのかもしれません。
もう一度見直してみます。ありがとうございました。
751 :
747 :2001/02/03(土) 07:47
>>749 expiresは有効期限ですよね?
今ブラウザに保存されているcookieを確認したら有効期限は
有効期限: 2001年4月3日(火) 10:11 PM GMT
となっていました。
752 :
名無しさん :2001/02/03(土) 07:55
いいスレあげ
754 :
名無しさん :2001/02/03(土) 23:55
C言語の構造体みたいな機能は、Perlでは どんな感じで実現すればいいんですか? リファレンス使えばできそうなんだけど いまいちしっくりこなくて・・。
755 :
名無しさん :2001/02/04(日) 00:13
UG系によくある、ディレクトリを掘ったり適当なファイル名入れて アクセスしようとすると「そんなファイルないよ」つって 時間とか機種名とか表示してくれるCGIの元スクリプトってどこにあるんでしょうか? あちこち探したけど見つかりません。名称も分からないし・・・ どなたかご存じの方教えてください。
それは.htaccessのErrorDocumentじゃないかい? UG系に限らないのだが… 時間とか機種名とかは、JavaScriptかSSIかな。CGIでもできるけど。
757 :
名無し~3.CCD :2001/02/04(日) 01:40
>>754 Perlに構造体はありません。(ほんとです) ですが、おっしゃるように
リファレンス(無名ハッシュへの)を使えばそれらしいものはできます。
$nanika={};
print '名前を入力してください'."\n";
$_=<>;
chop;
$nanika->{'name'}=$_;
$nanika->{'age'}=0xb;
&show($nanika);
sub show
{
print "私の名前は$_[0]->{'name'}です。年は$_[0]->{'age'}歳です。\n";
}
のようにします。
もっとも構造体の型宣言も型チェックもないので、使うときに注意は必要ですが。
こんなこともできる。 $person = struct( 'name', 'age', 'sex' ); $name = struct( 'first', 'last' ); $p1 = $person->( $name->( 'taro', 'yamada' ), 10, 'male' ); $p2 = $person->( $name->( 'hanako', 'yamada' ),, 10, 'female' ); sub struct{ my @member = @_; return sub{ my %str; foreach( @member ){ $str{$_} = shift } \%str; } }
759 :
名無しさん :2001/02/04(日) 09:29
箱庭諸島のような、「ある時間になったら処理をする」仕組みが知りたいです。
cron man 8 cron man 1 crontab man 5 crontab
761 :
名無し~3.CCD :2001/02/04(日) 14:02
>>758 うわ、負けた。なるほどね。
>>745 Perlメモをよく読んだけどまだよくわからない…頭悪いの?<自分
>>759 そこスクリプト公開してるじゃん。2だけど。
イベント駆動じゃないんだから、基本的に時間を監視するしかないよ。
762 :
名無しさん :2001/02/04(日) 14:49
えー、Windows2000 SP1のIIS5にActivePerlの環境なんですが、 MiniBBSやLight Boardなどの掲示板CGIで書きこみをするとき、 Netscape Communicatorに限って、 異様に時間がかかります(20秒とか30秒とか)。 IE5.5やMozillaだとすぐにレスポンス帰ってくるんですけど。 どなたか原因に心当たりないでしょうか?
763 :
名無しさん :2001/02/04(日) 18:26
>>762 単にレイアウトが確定できないHTMLを吐いてるだけのような気もする。
(なぜなら、Netscape<6.0未満>は確定するまで表示しないから)
764 :
762 :2001/02/04(日) 19:39
>>763 どうもです。でも、どうやらそういうことではないみたいです。
んで、サーバをApacheに変えてみたんですが変化ありませんでした。
しかも、Communicatorのステータスバーに
Connect: Host localhost connected. Waiting for reply...
と出て止まっているときに他のウィンドウをアクティブにすると
なぜかすぐにページが更新されます。
うみゅう、なじぇええええ〜
765 :
名無しさん :2001/02/04(日) 20:12
ディレクトリ内にあるファイルの数取得する時どうするのが一番効率的ですか? 自分が思いついたのは、 opendir(DIR,"/path/to/"); @files = readdir(DIR); closedir(DIR); $no = @files; $nannko = $no - 2;
>ファイルの数 -2 だけじゃ足りない場合も、、、あるかもネ
>>766 とりあえず、grep { -f } して regular file だけ取り出すとか。
768 :
名無しさん :2001/02/04(日) 22:16
掲示板とかで名前とかの空欄の書き込みを拒否したいのですが
$cgi = new CGI; &nbsp;&nbsp;: die if($cgi->param("name") eq "");
770 :
名無しさん :2001/02/04(日) 23:16
掲示板とかで書き込み内容をアルファベット(a-z)のみ受け付けるようにしたいです。 お願いします。
771 :
名無しさん :2001/02/04(日) 23:17
\w
$moe =~ tr/a-z//dc; -or- die if($moe =~ /[^a-z]/); -or- die if($moe =~ /[\W_]/);
773 :
名無しさん :2001/02/04(日) 23:50
CGIのカウンターについてお伺いします。 1つのスプリクトで複数設置できるのがありますが、 多ページ・多サーバーで使ったら重くなりますか? あまり乱用したらサーバーダウンしてしまうのでしょうか? それと画像タイプよりテキストタイプの方が表示が早いですか? すみませんが、ご存知の方よろしくお願いします。
774 :
名無しさん :2001/02/05(月) 00:18
sendmail使えるところってないですねえ。 セキュリティ上かなり問題あるからかなあ 別に悪意のあるCGI動かすわけじゃないけど
775 :
名無しさん768 :2001/02/05(月) 00:18
japuさん、ありがとうございます。 コピペしましたが、実行されてしまいます。 いまいちど、解説お願いします。。。。
777 :
名無しさん :2001/02/05(月) 03:16
778 :
名無しさん :2001/02/05(月) 04:46
>774 海外鯖探せ。使えるとこ、たくさんあるだろ!ドアホ そんなこともできないドキュソ君がCGIなんて動かさないでね(´∀`)ゲラゲラ
779 :
名無しさん :2001/02/05(月) 06:33
Perlのリファレンスで分かりやすく良い所は何処ですか? とほほのperl入門のような形式だと分かりやすいですが いまいちセキュリティーの事とかかかれていないし 未完成な部分の所もあるので不安です。
780 :
名無しさん :2001/02/05(月) 06:36
781 :
779 :2001/02/05(月) 07:20
>780 英語ですか、、、日本語のサイトでありませんか?
782 :
名無しさん :2001/02/05(月) 10:36
あとはperldocやね. あ,日本語じゃないとダメなんだっけ 青ラクダでも買っとけう゛ぁ
783 :
782 :2001/02/05(月) 10:51
784 :
wowwow :2001/02/05(月) 12:38
Perl初心者の質問です。。 掲示板などで、書き込んだ内容を例えばdata.datなどのファイルに 格納しますが、今まで普通の文字で格納できたのに どこかいじってしまったせいか、新しく書き込むと文字が&#12345;などの表記になってしまいます。 こういう場合疑うべき所ってどこなんでしょうか。。 ちなみに<option>タグのvalueの値が&#12345;に変わってるっぽいです。
785 :
wowwow :2001/02/05(月) 12:40
うが。。表示されない。。 &#12345;→&#12345;に置き換えてください。。
786 :
コピペ@未記入はエラーにしたいぴょん :2001/02/05(月) 23:12
#どこがイタイのでしょうか? open(OUT,"|$mailer $address") || die "送信できませんでした\n"; $cgi = new CGI; : die if($cgi->param("realname") eq ""); $Etitle = $form{'titlename'}; $Ename = $form{'realname'}; $emale = $form{'mailaddr'}; $comment = $form{'comm'}; print OUT "Mail From Web\n"; print OUT "$Etitle\n"; print OUT "氏 名:$Ename\n"; print OUT "E-Mail:$emale\n"; print OUT "コメント:$comment\n"; print OUT "IPアドレス:$ENV{'REMOTE_ADDR'}\n"; close(OUT); print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>index.htm</TITLE></HEAD>\n"; print "<BODY>\n"; print "<CENTER>\n"; print "<H3>メールは送られました。</H3>\n"; print "</CENTER>\n"; print "</BODY></HTML>\n";
787 :
名無しさん :2001/02/06(火) 00:26
DLしたBBSの設定の説明に #!/usr/local/bin/perl (プロバイダで定められたPerlへのパスを指定します) とあるのですが、Perlへのパスてなんですか??? URLのことかな??? CGIのプロの御方々どうか教えて下さいm(_ _)m
788 :
名無しさん :2001/02/06(火) 00:30
>>787 サバによって違うから、鯖の管理者に聞くんだぴょん。
>>787 サーバ上の絶対パスです。
サーバの管理者に聞くかプロバのサイトで探して下さい。
790 :
787 :2001/02/06(火) 00:40
@NIFTYのHPに登録したのですが。 そのときにもらったhpcgi2.nifty.com/*****/ とは違うのですか?? それだけでもおしえてくださいませ<(__)>
791 :
名無しさん :2001/02/06(火) 00:45
@NIFTYのパスは #!/usr/local/bin/perl
792 :
787 :2001/02/06(火) 00:52
>>791 (親切君さん)
ありがとうです!
絶対パスって鯖に共通のとゆう意味だったんですね。
ためしてみますです、はい!!!
他の方もどーもです。
次はパーミッションか?(W
パーミッションの設定はFTPでかんたんですよね(ワラ ではでは。
バイナリでアップ
797 :
779 :2001/02/06(火) 07:36
>783 遅くなりましたが有難うございます。 英語、読めないこと無いですけど Perlはまだ殆ど分かってないんで英語じゃつらいです。 専門用語みたいの出てくると訳せないですし。 C++のリファレンスなら英語でも大丈夫なんですが。
798 :
名無しさん :2001/02/06(火) 09:56
CGIなのかなんなのかわかりませんが、 24/7ってなんですか? サーバー云々の話で出てくるような気がするのですが・・・・・
799 :
ほういち :2001/02/06(火) 11:25
>798 サーバー云々で出てくるなら、24hours7daysの事でしょ。
厭だ、かぶってもた
802 :
798 :2001/02/06(火) 11:43
ああ、そういうことだったんですか、 799さん、800さん、ありがとうございました!
803 :
名無しさん :2001/02/06(火) 13:11
わかる方いればお願いします。 if文で「$○○ = 1」の場合で、しかも「$○○ > 100」だったら{ ;}で エラーを出す、とういう式はどう書けばいいのでしょうか?
804 :
名無しさん :2001/02/06(火) 13:27
1で、しかも100より大きい? むむ・・・・・ 文字列として比較してるの? ぜんぜんちがったらごめんなさい。
805 :
803 :2001/02/06(火) 13:44
説明が間違っていました。すいません。 if文で「$○○ = 1」の場合で、しかも「$△△ > 100」です。 $○○と$△△は違う文字なんです。
>803 $○○ == 1 && $○○ > 100 && &error('えっ、こんな事あるの?'); とか、 if ($○○ == 1 && $○○ > 100) { &error('えっ、こんな事あるの?'); } でしょうか? って、初心者が答えてますけども。
if ($○○ == 1 && $△△ > 100) { &error('これでどう?'); }
808 :
803 :2001/02/06(火) 14:14
ありがとうございます。 試してみたのですが、if ($○○ == 1 && $△△ > 100) の場合 「$○○ == 1で$△△ > 100」のどちらかが当てはまれば{ ;}ですよね? 片方の条件を変えてみてもエラーがでたので。 「$○○ == 1で$△△ > 100」の条件が両方とも合わさって初めてエラーがでるようにしたいのですが。 私のやりかたが間違っているのかな(^^ゞ
初歩的なミスをしていたようです。 おかげさまで成功しました。
810 :
名無しさん :2001/02/06(火) 14:39
if ($○○ = 1){ if($△△ > 100){ エラーだよ〜〜ん; } } 僕も初心者ですが、これじゃダメ? ダメだったら許して〜〜〜
811 :
名無しさん :2001/02/06(火) 14:40
うわ、成功したのですか? ヒソーリ生きよう・・・・・
812 :
名無しさん :2001/02/07(水) 00:28
&&
>>810 = は代入。比較は ==
よって、
if($moe == 1 and $nae > 100){ die "氏ね" }
814 :
名無しさん :2001/02/07(水) 09:49
CGIではないんですが、windows上のperlで外部コマンドを実行していますが、 その結果を取得するにはどうすればよろしいでしょうか。現在は、コマンドの実行結果を 一時ファイルにリダイレクトして一時ファイルを読んでいます。 リダイレクト先をうまくすれば取り込めそうな気もするのですが、どうすればいいでしょうか。 よろしくお願いします。
あ、よく見たらスレ違い。鬱だ死のう・・・。 でも、わかる人いらっしゃったらお願いします。
816 :
初物 :2001/02/07(水) 10:56
CGIでHTMLを作るとき print "<font size=5>時刻表</font>"; ってやると<font size=5>時刻・/font>ってばけてしまうんですが どのようにやれば、治るのか教えてください。
818 :
名無しさん :2001/02/07(水) 11:49
>>816 print "<font size=\"5\">時刻\\表</font>";
間違えた… print "<font size=\"5\">時刻\表</font>";
820 :
初物 :2001/02/07(水) 12:54
>818さん できた〜ありがとうございます。。
>>816 -
>>819 print "<font size=5>時刻表\</font>";
じゃない?
変数がないなら
print '<font size=5>時刻表</font>';
の方がラクだけど。
822 :
!WU? :2001/02/07(水) 16:37
perlの勉強を始めてもうすぐで1ヶ月になるのだけど、 CGIからのメ−ルの送り方がよくわからんっす。 CGIでメ−ルとることもできるの?
ソケットさえ使えれば、ほとんどどんなこともできます。
824 :
CGI厨房 :2001/02/07(水) 23:37
825 :
名無しさん :2001/02/07(水) 23:54
/sendmail -f
826 :
名無しさん :2001/02/08(木) 00:26
好みのナンバー画像を使いたいがために、アクセスカウンタに フリーのCGIを使っていますが、CGIファイルの読み込みが遅い ためか、アクセスログに比べて数が少なくなっています。 最後の桁についてのCGIを読み出す前に、別のリンク先に飛んで しまうためだと思います。 フレームにしてメニュー枠にカウンタを張りつけようかとも 思ったんですけど、何かお勧めの軽いCGIがありましたら 教えて下さい。
#!/usr/local/bin/perl $cnt_file = 'cnt.dat'; open(fp,"$cnt_file"); $cnt = <fp>; close(fp); ++$cnt; $len = length $cnt; if ($len < $n) { $imgfile = "0"; } else { $imgfile = substr($cnt, $len-$n, 1); } open(IN,"img/$imgfile.gif"); @lines = <IN>; close(IN); print "Content-type: image/gif\n\n"; print @lines; if ($n == 1) { open(fp,">$cnt_file.tmp"); print fp $cnt; close(fp); rename("$cnt_file.tmp", $cnt_file); } sub frmdec { $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/,$buffer); foreach $pair (@pairs) { local($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $form{$name} = $value; } }
828 :
名無しさん :2001/02/08(木) 01:57
これってカウンタのCGIですか?だとしたらありがとうごxざいます。 カウンタを置く表紙側には何と記述すれば言いのでしょうか。
829 :
名無しさん :2001/02/08(木) 10:30
>>826 別にこれにしろって訳じゃないけど、
アクセスログとカウンタを付けるなら、
アクセスログを弄って訪問者数を別ファイルに書き出す用に
変更し、カウンタの方はカウントアップせずに、アクセスログが
書き出したカウントファイルを表示させるようにすれば
良いと思いますけど、どうでしょうか。
830 :
MMQ :2001/02/08(木) 16:43
どなたかフリーCGIのオークションプログラムを 配ってるサイト知りませんか?前にヤフーと同じものを みかけたのですが、どこで見たのかわからなくなってしまいました。 できるだけ高性能でデザインのよいもの探してます。
どの程度のものが必要なのか知らんが、 ちょっとしたもので良いのなら 自分で作った方がいいと思うぞ。 好きなだけいじれるし。 自分も某ネットワークゲームのアイテム販売に自分で作って使ってる。
832 :
MMQ :2001/02/08(木) 18:03
つくれないから探しているのでしゅ
833 :
名無しさん :2001/02/09(金) 13:33
相対パスの質問なんですけれども。色々検索して読んでみたんですが どうにも失敗してしまいます。 cgi-bin ― bbs ― bbs.cgi | home ― image ― *.gif 上のようなディレクトリ構造で、bbs.cgiから*.gifを 呼び出すのにはどのように記述すれば良いのでしょうか。
834 :
MMQ :2001/02/09(金) 13:44
../home/*.gif
../../image/*.gif
836 :
上のようなディレクトリ構造 :2001/02/09(金) 15:11
>>833 です。
ありがとうございました^-^。やってみます。
838 :
ほういち :2001/02/09(金) 20:40
>836 どのへんでつまずいてるのかわかりませんが・・・ 適当な乱数で表示するだけなら @unsei = ('大既知','中既知','既知','既知外','小基地','狂') ; $no = int( rand() * @unsei ) ; print "@unsei[$no]\n"; こんな感じです。 rand( n )は0からnまでの乱数を発生します。 nを省略すると1となります。 つまり上に書いた rand() * @unsei はrand( @unsei )と 等価です。 perl4の場合はrandを使うまえにsrandで初期化する必要があります。
839 :
ほういち :2001/02/09(金) 20:45
初歩的なミスをやってしまいました。 3行目の print "@unsei[$no]\n"; は print "$unsei[$no]\n"; です。
>>833 ../../home/image/*.gif
841 :
名無しさん :2001/02/09(金) 21:17
>>833 の便乗質問なんですが。
私の使っているサーバはhomeディレクトリにあるファイルにアクセス
する時は
www.xxx.ne.jp/gazou/*.gif
(homeディレクトリ内のgazouディレクトリ内の*.gifを呼び出す場合)
と書くのですが、その場合の相対パスもhomeって入れないとだめでしょ
うか。何度やっても旨く行かないんですが。
842 :
名無しさん :2001/02/09(金) 23:40
public_html=homeなのかな?
843 :
841 :2001/02/10(土) 13:38
>>842 さん
そうです。ftpソフトで覗くとhomeっていうディレクトリがあるんですが、
実際アクセスするときにURLにhomeとは書かないんです。
絶対パスで行けるcgiなら平気なんですが、相対パスじゃないとだめなやつ
だとだめなんですよ。
「相対パスじゃないとダメ」っていうスクリプトはないと思うんだけど… 違ったら許してね とりあえず絶対パスで書いてみるのに一票 でもpublic_htmlだってURLには出てこないよね たぶん、その辺。
845 :
名無しさん :2001/02/11(日) 03:10
>>843 基本的にはFTPソフトで表示されるパスで出来ると思うんだが。
相対の../../は階層ランクあってる?
.gifってことはhtmlで出力するだけですか?
だとしたら表向きのツリー構造にしたがうだけかと。
>>833 の場合,apacheのhttp.confで
DocumentRoot "/usr/local/apache/home"
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
のようになっていると,外からはhomeの下にcgi-binが見えることになる。
以上のような混乱をしたことがあります。Web鯖をはじめていじったときに。
このスレなら解決できるかなーって思ってきました。 cgiで掲示板を使っていますが、最近いたずらが多くて困っています。 そこで登録制にしようと思うのです。 ID/Passを発行してログインできるのですが、問題は掲示板です。 希望としては見るのは誰でも出来る。 でも書き込みしようとすると認証要求が出るか、ログインしてないと いけない・・・っていう風にしたいんです。 一つのプログラムですけど投稿するときだけ制限するってできますか? どうか宜しくお願いします。
848 :
名無しさん :2001/02/15(木) 19:04
849 :
二重投稿問題再び :2001/02/16(金) 00:35
>>掲示板で、二重投稿を防ぎたいのですが、 >ログファイル本体の内容を参照するのでは駄目なの? と上の方にあり参考になりました。 一つのHTTPアドレスを複数のサーバで処理するような大規模システムでは、 どうやって対処してるのでしょうか?宜しくお願いします。
850 :
名無しさん :2001/02/17(土) 15:35
CGIを使ってHTMLのソースを見れなくする方法があると聞いたんですが どうやるんでしょうか? ご存知の方レスお願いします。
>>850 ありません。見えなくなったらブラウザも描画できないじゃないですか。
852 :
名無しさん :2001/02/17(土) 17:02
JAVAスクリプトで右クリック禁止にしてソースを見れなくする方法が あるらしい。 しかし「表示」→「ソース」にするとどうなるんだろう?
右クリック禁止はリアル厨房くらいには効果的。でも、他はあんまり意味無いよ。 Shift+F10でもいいし、ブラウザ以外で見りゃいい。 HTML Encoder(だっけ?)というのもあるが、パス入力が必要なので客は逃げるだろう。 Flashしかないね。
>>850 無理だよ。
だって自分のブラウザで見えてる時点でソースを
料理してんだからさ
公開しないのが一番の方法
855 :
名無しさん :2001/02/17(土) 23:04
SSIを使えるのですが 気をつける点はなんでしょうか? 下手するとやばいと聞いたので。 お願いします。
856 :
名無しさん :2001/02/18(日) 00:01
だんだんネタになって来てねえか?
857 :
水もみ :2001/02/22(木) 11:02
すみません。質問させてください。 GETで取得すると$ENV{'QUERY_STRING'}に「=」と「&」でくぐられて データを取得できるじゃないですか?それでPOSTの場合どんなデータ構造して 受け渡されるのか教えてください。 どうやってPOSTを使ってCGIの方でデータを取得していいかわかりません。 たとえば <input type="text" name="mailadd">って場合にCGIの方で入力したデータ を$mailaddに入れたいときどうしたらいいのかな?って思ってます。 あとメールアドレス取得するときに@が入ってるんですがこれはなにか処理 をしなくちゃいけないんでしょうか?教えてください。
858 :
名無しさん :2001/02/22(木) 15:07
read(STDIN,$query,$ENV{'CONTENT_LENGTH'}); @data = split(/&/,$query); foreach (@data){ ($key,$value) = split(/=/,$_); if($key == 'mailadd'){ $mailadd = $value; } }
if( uc($ENV{REQUEST_METHOD}) eq 'POST' ){ &nbsp;&nbsp;&nbsp;&nbsp;read STDIN, $query, $ENV{CONTENT_LENGTH}; } else{ &nbsp;&nbsp;&nbsp;&nbsp;$query = $ENV{QUERY_STRING}; } データの構造はGETでもPOSTでも同じです。 処理は、@でも何でも、とにかく foreach( split /&/, $query ){ &nbsp;&nbsp;&nbsp;&nbsp;( $name, $value ) = split /=/; &nbsp;&nbsp;&nbsp;&nbsp;$value =~ tr/+/ /; # (1) &nbsp;&nbsp;&nbsp;&nbsp;$value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2',$1)/eg; # (2) &nbsp;&nbsp;&nbsp;&nbsp;$form{$name} = $value; } さえやってりゃOKです。 あとは場合によっては jcode::convert を使ったり、 場合によっては $name の方も(1),(2)を行なう必要があったり、 場合によっては $value =~ s/[^-.@\w]//g; で汚染チェックを行なったりします。 (何を言ってるのか解らないうちは、作ったCGIは自分だけで使おう)
>858さん ありがとう!! ってことはほとんどGETと一緒で標準入力からもってきてる(?)って感じ でいいのかな?
read STDIN, $query, $ENV{CONTENT_LENGTH}; なんとなく解説・・。 $queryへSTDIN(標準入力)から$ENV{CONTENT_LENGTH}(データの量)分read(読み込む)
>861さんすぐレスありがとございまうす。 簡単に理解できました。シンプリイヅベストっすねぇ〜 なっとく〜
すばらしぃ。
864 :
ぶくぶく :2001/02/24(土) 00:16
おしえてください。 掲示板に、レンタルのアクセスカウンタをつけるには、 どうしたらいいのですか
つけ方の書いてないレンタルアクセスカウンタなんて 存在するのか? それともマニュアルに2chで聞けって書いてあったか?
866 :
名無しさん :2001/03/01(木) 11:12
リクエストフォームで送信した文字列が勝手に コード化されてしまう場合が、100回に1回くらいあるようです。 これってIE5.0で起きてるのですが、これってバグですか?
らくだ本ってなんですか?
868 :
名無しさん :2001/03/01(木) 15:03
らくだの生態に付いて詳しく書かれている有名な本だ。 知らんのか?
870 :
名無しさん :2001/03/01(木) 21:49
871 :
名無しさん :2001/03/01(木) 21:53
先づりも書きましたが、 送信したログデーターを別の鯖のファイルに出力することは、化膿でしょうか?
873 :
名無しさん :2001/03/01(木) 22:19
>>873 日本語読めるようになってから書いてください
875 :
867 :2001/03/01(木) 23:57
検索という選択肢をすっかり失念していました。(汗) これから勉強していこうと思います。 ありがとうございました。
876 :
初心者 :2001/03/02(金) 00:50
正規表現でテキストからメールアドレスを取得しようとしているのですが メールアドレスに使用できる文字がわかりません。 メールアドレスに使用できる文字が書かれているのはRFCのいくつなのか教えてください。 またはRFCの全文検索のできるサイトがあれば教えてください。
878 :
876 :2001/03/02(金) 05:16
>>877 ありがとうございます。
>わざわざ車輪の再発明するのは多くの場合無意味です。
あえて自分でやってみたいんです。
879 :
超初心者 :2001/03/02(金) 14:00
文字列比較演算子で質問なんですが 比較対象を変数にするってのは無理なんでしょうか? if ($a =~ /$b/) { ; } else { next; } こんな感じで比較したいんですけど、なぜかできなくて。。。 //の中は変数じゃダメなんでしょうか。 それともう一つ。 またまた文字列比較なんですが、年齢を比較したくて $cに20、$dに20〜25 という文字が入っていたとして $cが$dの間に入っていればtureを返す構文の書き方を 教えてください。 先生方、よろしくお願いします
880 :
T女の竹田 :2001/03/02(金) 19:59
>>879 一番目
$b=~s/\+|\\|\(|\[|\{|\^|\$|\*|\?|\./\\$&/g;
を前に入れると(・∀・)イイ!!
ようするにメタ文字が入っていたらそれの前に\を
つけるってこと。
881 :
T女の竹田 :2001/03/02(金) 20:05
>>879 後半
if ($c >= (split(/〜/,$d,2))[0] && $c<= (split(/〜/,$d,2))[1]) {hoge;}
でどうかな。
882 :
教えて下さい :2001/03/02(金) 20:14
実は、会社の大嫌いな人間に、自分のプライベートHPの アドレスを知られてしまいました。アクセス解析を取っているのですが、 明らかに会社からアクセスした形跡があるんです。(時間的に、 自分が帰ってからだし、その時間まで残っている人間は一人) 特定のIPをはじく方法はありますか? 真面目な話、ストーキングされそうでとても怖いんです。 お願いします。
>>879 if($a =~ /\Q$b/) { ... } とするか、
$b = quotemeta $b; if($a =~ /\Q$b/){ ... } とするか、
if((index $a, $b) > -1) { ... } とすればよいです。
884 :
882 :2001/03/02(金) 21:05
いたずらじゃありません。 すみません、教えて下さい。 自分で調べたら、掲示板のいたずら書きこみを やめさせる方法とかはありました。 reuire './_icode.pl'; っていう後にipを書くやり方。でも、これだとcgiのページしか 出来ませんよね?自分のHPのTOPページで弾きたいんです。 お願いします。 .htaccessっていうファイルを作る方法も調べました。 <limit get post> っていう方法。でも、私perl初心者で分からないけど、postって 掲示板とかの投稿を防ぐやり方じゃないんですか? 本当に困っています。どなたか、教えて下さい。お願いします。
885 :
T女の竹田 :2001/03/02(金) 21:29
>>883 \Qって知らなかった…ハズカシ
\Eとセットなのね
φ(.. )メモメモ
>>882 <Limit GET POST>
order allow,deny
allow from all
deny from 会社のIPとかHOST
</Limit>
じゃだめ?
887 :
882 :2001/03/02(金) 21:51
>886さん レスありがとうございます。 書いていただいたのをそのままエディタで書いて .htaccess保存して置けばいいんですか? postって書いてあるから、掲示板とかの書きこみ撃退だと 思っていました。やってみます。
888 :
とび対策 :2001/03/02(金) 23:53
カウンタでヌルなら書き込まないってヤッテルンダガどう思う?
889 :
名無しさん :2001/03/03(土) 01:39
>>886 <Limit GET POST>と</Limit>があったら意味ないって。
そんなものつけてたら全部弾けない。
882=887の方がわかってる。
890 :
名無しさん :2001/03/03(土) 01:47
889=bakamarudashi
891 :
名無しさん :2001/03/03(土) 02:04
うわ、ホンマモンの馬鹿だ
893 :
名無しさん :2001/03/03(土) 02:59
試してみたらどっちでも制限できたけど・・・ limitあるのとないのではどう違うのかjapuさん教えて
895 :
亀詰 :2001/03/03(土) 03:14
質問していいっすか?
CGIのパーミッションなんですけど
普通755〜700で動きますよね?
なんか最近借りたところ動かなくて困ってます
ここなんですけど
http://www.mixedmedia.net/ だれか使ってる方いたら教えてください
サポート問い合わせても応答ないし。゜(T^T)゜。
896 :
名無しさん :2001/03/03(土) 03:48
japuさんありがとう In the general case, access control directives should not be placed within a <limit> section. つまりlimitないほうが良いかもってこと??? あと、limitの中で指定するmethodは GET, POST以外にもたくさんあるけど 特定のIPからすべてのアクセスを拒否する場合 結局どれを指定すればいいのですか? googleで検索してみたけど なんだか盲目的に<Limit GET POST>ばかりで・・・ 中には<Limit GET>でだめな場合は <Limit POST>でとかあって・・・ さらに<Limit GET POST PUT>とか・・・ methodについての肝心の説明がなかなか見つかりません
897 :
名無しさん :2001/03/03(土) 04:14
MacPerlでSSLeay.pmを利用する方法がいまいちわからないのですが、 だれか教えてもらえないでしょうか・・ DLしてきたNet_SSLeay.pm-1.03.tar.gzの中に入っていた、.pmファイルを MacPerlのlib/Netの中に突っ込んでみただけで動くもんだと思ってたのですが、 どうやらそう甘いもんでもないようで、エラーが返ってきてしまいます。
898 :
名無しさん :2001/03/03(土) 04:30
>>895 755でも動かないの?ならperlのパスとか,基本的なチェックが先なのでは?
which perlとか。
>>896 HTTPのmethodのうち,制限をかけるものとかけないものを分けるときに使うものと
解釈しております。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html それより
<IfModule mod_access.c>
Order allow,deny
allow from all
deny from 2xx.xxx.xxx. ←会社のIP(クラスC)
</IfModule>
じゃダメなんかい?別のネットワークから見られる可能性があるけど。
.htaccessの偉い人擦れも参考に。
899 :
名無しさん :2001/03/03(土) 08:07
無料のWebスペースで、ポップアップ広告が出なくなる ヒントを教えてください
好きなの選んで下さい。 1. JavaScript を無効にします。または非対応のUAを使用します。 2. Mozilla 0.8であれば、prefs.js に以下の行を追加します: user_pref("capability.policy.default.windowinternal.open","noAccess"); user_pref("browser.target_new_blocked", true); 3. adzapper などの広告カットプロクシサーバを利用します。
901 :
giko6@† :2001/03/03(土) 08:45
>>895 そこの利用者でCGIも組んだり使ったりしてるけど、
今まで動かなかったことない。まさかCGIの書きミスして
500エラーってこたないよね…
902 :
896 :2001/03/03(土) 12:20
898さん、ありがとうございます 私はlimitあるのとないのではどう違うのかが 知りたいだけなので、リンク先で勉強してきます >.htaccessの偉い人擦れも参考に。 こちらでもlimitないほうがいいみたいな事書かれてますね あると有害とまで書かれてるし・・・ でもアクセス制限の解説ページには、ほぼ100%limitがある ふぅ・・・
903 :
名無しさん :2001/03/03(土) 14:08
>でもアクセス制限の解説ページには、ほぼ100%limitがある 同じ理由で、俺も最初<Limit>は必須だと思ってましたね。大笑い。 ああいう解説ページはみんなどっかの情報の丸写しなんじゃないすか。
904 :
名無しさん :2001/03/03(土) 15:03
>>897 他のパッケージはどうやってインストールしてます?
Mac使いではないので詳細は不明ですが、
同様にインストールすればいいと想います...
# MacShell(?) とか使うのかな???
905 :
897 :2001/03/03(土) 15:41
>>904 お恥ずかしいことにモジュールのインストール自体初めてで、
試行錯誤でいろいろ試してはみてるのですが、ひたすらエラーの連続です。
907 :
名無し :2001/03/03(土) 23:28
掲示板のCGIを改造してSSIのフォームからデータを送ったら Method Not Allowed というエラーが出るんですけど、どうしたらいいですか?
>>907 それはサーバ側のメッセージですか?
それともそのスクリプト側のメッセージですか?
909 :
名無しさん :2001/03/04(日) 11:23
PerlのCGIの中で use Html などとして共通ルーチンを モジュール化するという方法はサーバー上では 正常に動かないものなのでしょうか? 自分で試しているのですがスクリプトエラーが 起こっているようなのです
910 :
名無しさん :2001/03/04(日) 21:18
データファイルを読み込んで@LINESという配列に入れたとします。 配列の中身は '23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9' だったとして、$xxという変数にa〜dのいずれかの文字が入ります。 例えば$xxにcが入ったらcという要素を含む3要素目の'14<>c<>3' の3を1増減、4にして '23<>a<>0','26<>b<>5','14<>c<>4','30<>d<>9' になった配列をデータファイルに上書き保存したいのですが どのように組めばよいのでしょうか? open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。'); @LINES = <IN>; close (IN); $i = "0"; foreach (@LINES){ ($t1,$t2,$t3)=split(/<>/,$_); if ($xx =~ /\Q$t2/) { last; } $i++; } $t3++; $all = $t1; $all .= '<>'; $all .= $t2; $all .= '<>'; $all .= $t3; $all .= '\n'; $LINES[$i] = $all; open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。'); print OUT (@LINES); close (OUT); こんな感じで組んだんですが、全然ダメで。。。 どなたか教えてください。
911 :
T女の竹田 :2001/03/04(日) 22:57
>>910 '\n'→"\n"(シングルクォーテーションでは改行に変換されない)
なお長いので
$all = join('<>',$t1,$t2,$t3)."\n";
としたほうがいいかも。
それと、$xxの中身を含む要素の値を変えたいんだよね?
それなら if ($xx=~/\Q$t2/) の所は if($t2=~/\Q$xx/)だと思う。
>>910 -----
#!/usr/bin/perl -w
@array = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9');
@array = map{
&nbsp;&nbsp;&nbsp;&nbsp;@t = split(/<>/,$_);
&nbsp;&nbsp;&nbsp;&nbsp;if($t[1] eq "c"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t[2]++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_ = join("<>",@t);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;$_;
} @array;
print join(",",@array);
-----
とか。
913 :
名無しさん :2001/03/04(日) 23:40
らくだ本を読んでるのですが、実効uidと実uidは どう違うのでしょう? UNIXから入らないとだめですか?
>>910 my($xx) = 'c';
my(@LINES) = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9');
my($i) = 0;
foreach (@LINES) {
split(/<>/);
$_[1] eq $xx ? last : $i++;
}
$LINES[$i] = join('<>', $_[0], $_[1], ++$_[2]);
なお、上をそのまま組みむだけでは動かない(と思う)。
また、ファイルの読み書きも確実に間違ってるので、
print "[$LINES[0]]";
とか
print @LINES;
print "---\n";
print join("\n",@LINES), "\n";
とかを試して自分で考えてみること。
これでも可。 my($xx) = 'c'; my(@LINES) = ('23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9'); foreach (@LINES) { split(/<>/); if($_[1] eq $xx) { $_ = join('<>', $_[0], $_[1], ++$_[2]); last; } }
916 :
名無しさん :2001/03/05(月) 13:08
sendmailで送れるメアドと送れないメアドがあるんですけど 書き方間違ってるのかなぁ?? open MAIL , "|$nkfpath -j | $sendmail -t " or die "メール送信処理失敗\n"; print MAIL "From: $m_mail\n"; print MAIL "To: $mailto\n"; print MAIL "Subject: $m_sub\n"; print MAIL "Return-Path: $Errmail\n"; print MAIL "Errors-To: $mail\n"; print MAIL "Mime-Version: 1.0\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n\n"; print MAIL "$m_com\n"; close(MAIL); これだけじゃ足りない??
一部の村でしか通用しない、わけわからん略語を使うのはやめよう。
で、Return-Path:, Errors-To: を付けるのは明らかに間違っています。前者はユーザレベルで付けるものではなく、後者は標準的なものではありません。エラーメールの送信先を変更したければ、-f
[email protected] のようにしましょう。
918 :
916 :2001/03/05(月) 14:16
レスありがとうございます!
>一部の村でしか通用しない、わけわからん略語を使うのはやめよう。
すいません メールアドレスですね(^^;
それで
print MAIL "Return-Path: $Errmail\n";
print MAIL "Errors-To: $mail\n";
の2行を消してみたんですけど、やっぱり届かない。。
ちなみに届かないメールアドレスのサービス会社は
http://www.24h.co.jp/です ほかは届くのに何故なんでしょ。。
920 :
916 :2001/03/05(月) 15:15
ありゃりゃ、そうなんですか〜。。 諦めるしかなさそうですね(^^; AyuMoe(JAPU) さんありがとうございました<(__)>
922 :
/bin/名無しさん :2001/03/05(月) 23:28
cgi直リンク対策って何したらいいのかなぁ。 てか、ブラクラしこみたいんだよね。厨房がウザいから。(笑)
923 :
/bin/名無しさん :2001/03/05(月) 23:54
REFERER参照して、自分とこ以外から来た奴を弾けばいいんだろ? やりかた知らないけど。(笑)
>992 cgi直リンク対策 は難しいですよ 2chですらあなたの書込みを制限出来てないもん
あっそう。
926 :
一回のアクセスで :2001/03/06(火) 23:39
飛んできたURLが特定してるなら、ディズニーランドに飛べるかも。。
927 :
名無しさん :2001/03/08(木) 04:22
サイトの全コンテンツにPICSラベルを貼りたいのですが、どうするのが いちばん簡単でしょうか?
やっぱし人がいないのか…。鬱山車脳
929 :
困ってマス :2001/03/08(木) 23:23
_____________________ | フレーム1 | |___________________| | フレーム2 | |___________________| | フレーム3 | |___________________| こんなフレームの構成で、 フレーム1、2には複数のオブジェクトが あって、フレーム3にsubmitボタンがあります。 で、フレーム3のボタンを押したら、1、2の オブジェクトの内容を取得して、フレーム2のみ 再読込したいんですけど、そういう事は可能ですか?
ぁぁずれまくり(鬱々 右がヘコんだフレームじゃありません
931 :
名無しさん :2001/03/09(金) 01:40
ファイル操作について教えてください。 掲示板の発言を保持するのにファイルを使っているのですが 発言の修正を行うのに今は配列に全部入れて修正して戻す という手順でやっています。 でもこれだとファイルサイズが大きくなってくると 負荷が大きくなってしまうと思うんです。 なんとかもっと軽快に動作するようにはできないでしょうか?
932 :
名無しさん :2001/03/09(金) 02:21
>>927 PICSラベルのことよく知らないんだけど、HTTPヘッダに
PICS-Label:
(PICS-1.1 ...
ratings ...)
とか入れればよいの?
だったらApacheのHeaderディレクティブでどう?
PICSラベルについて識者の説明を請いたいところなり。
933 :
名無しさん :2001/03/09(金) 02:33
>>929 フレーム3のsubmitボタンでフレーム2を読み込ませるには
フレーム3のフォームでtargetを指定してCGIを実行すればよい。
あ、JavaScriptのほうが簡単かな?
まあどっちにせよ、フレーム1,2の内容を取得するのに
結局JavaScriptは使う必要があるね。
934 :
名無しさん :2001/03/10(土) 17:49
アップローダ付画像アルバムを作っているのですが、ファイルがアップロードされたときに 同時に縮小されたサムネイル画像を作るのってどうすれば実現できますか?
936 :
名無しさん :2001/03/10(土) 18:23
>>935 これってただUPLOADされた画像をHTMLで縮小表示しているだけですよね?
これだとページの読み込み時間が無駄に長くなってしまうので
サムネイル用のサイズの小さいファイルを同時に作成してしまうのが望ましいのですが
937 :
927 :2001/03/11(日) 04:52
>>932 共用鯖なんでmod_headersを組み込めないんです。
938 :
名無しさん :2001/03/11(日) 04:55
flood.cgiをvirtualAvenueに設置しようとしてるんですけど、何度やってもIP
入れて「実験」ボタン押しても
Flood Start...
send error: Permission denied
ってでるんですよ・・・。
何故なのでしょう?
パーミッションは755に設定してるのに・・・。
一応スクリプトをtxt形式でアップしておきます。
http://monar.virtualave.net/flood.txt
939 :
938 :2001/03/11(日) 05:00
上のtxtで、<xmp>と</xmp>は無視してください。
"Flood Start... " が出てる時点でCGIは実行できてるだろ おそらく、ソケット使えないんじゃないか?
941 :
938 :2001/03/11(日) 05:26
それでは、どこを改良すればいいですかねぇ??? すいません質問ばかり・・・。
942 :
manami :2001/03/11(日) 12:42
>>942 CGIとはぜんぜん関係ないけどそれではMacIE5やN6でハートマークに
ならないよ。
&hearts;だとNC4でハートマークにならないけど。
&amp;hearts;って書こうとしたら参照されてしまった。
945 :
名無しさん :2001/03/12(月) 01:12
ApacheのCGIでa.cgiを要求したとき、a.cgiが Location: /download/a.lzh のようなヘッダを出力すると、302ではなくa.lzhの中身が直接返されますが、 このときa.cgi経由でのみa.lzhが取得可能で/download/a.lzhを直接要求 しても拒否するように設定できないでしょうか?
946 :
名無しさん :2001/03/12(月) 01:46
a.cgiへRedirectさせちゃえばいいんでないかい?
947 :
名無しさん :2001/03/12(月) 02:00
試してみたらダメだったよ。あぼぼん。
飛ばすより a.cgi が Content-Disposition と中身直接吐き出せば?
949 :
945 :2001/03/12(月) 10:51
巨大なファイルをDL中ずっとCGIが起動しているのは負荷の面でどうか と思ったのでどうにかならないかと思ったのですが…。 他に方法がないなら直接吐き出すようにするつもりです。
950 :
927 :2001/03/12(月) 10:55
>>932 mod_headersの使えるサーバが調達できたので試してみましたが、
PICSラベルは値にURLを含んでいるので、静的な値しか出力できない
Headersだと難しそうです。それともHeadersで環境変数の値を使う方法
があるでしょうか?
950踏んだので新スレ立てます。
954 :
名無しさん :2001/07/14(土) 19:39
既出かもしれないんだけど、トップページでCGI使う場合(検索エンジンとかで) トップページのアドレスが長くするのを防ぎたいのです フレームを使う以外の方法ありませんかね?板違いだったらスマソ
その通り、板違いです。 ----------終了----------
板違い厨は永遠に氏ねや
957 :
名無しさん :2001/07/19(木) 16:32
酷い言い様だね・・・
>>957 おまえの実生活の腐れっぷりよりはマシ。
test
参考になる本・サイトはありますか? また、CGIを設置できるサーバーはどこですか?
ちなみに、画像up掲示板を設置したいんです。
java>>>>>>>>>C>>>>>>>〜中略〜>>>>>>>parl(初心者言語)
963 :
名無しさん@お腹いっぱい。 :01/11/23 02:42
CGIを1から習得して仕事で使えるレベルにまでなりたいのですが どれくらいの期間がかかるものですか? (例えば、特殊なチャットや、2CHなど特殊な掲示板を 構築・管理できるレベル) プロのプログラマーなので、基盤はできているつもりです。 (C,C++(MFCなど)) ただ、ネット関係は弱いですが。 個人差はあるかと思いますが、みなさんのご意見をきかせてください
随分古いスレだな
966 :
名無しさん@お腹いっぱい。 :01/11/23 07:32
質問です。トクトクでCGIが動きません。 「〜.cgi」のパーミッションは700、 それを置いてあるディレクトリは701と説明されているので きちんとそうしてます。 パスも言われたとおり#!/usr/bin/perlにしてます。 でも動きません。ローカルホストでは動くのですが・・・・ 分かる方、教えてもらえないでしょうか?
968 :
名無しさん@おなかいぱーい。 :01/11/23 13:21
>>963 3週間もあればマスターできるのでは?
漏れはHTMLからCGIに入ったけど さして難しくもなかったっす
最近のPerlはオブジェクト指向だし
HTTPの理屈を知っておくのがポイントかと
業務でやるんだったらポスグレとかやってみる?
969 :
教えて君♪ :01/11/23 13:41
今だ!969番ゲットォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゜Д゜⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
そんじゃあ967番ゲットォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
間違いだ!971ゲットォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
>>962 parlってなんだ?
perlじゃないのか?
973 :
名無しさん@お腹いっぱい。 :01/11/23 20:04
>>962 (省略)>>>>perl(初心者言語)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>parl(
>>962 言語)(プ
晒しあげ
0
__END__
976 :
名無しさん@お腹いっぱい。 :01/11/23 20:19
_再開_
977 :
名無しさん@お腹いっぱい。 :01/11/23 20:31
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML lang="ja"> <!-- ソースを見ないで下さい -->
978 :
名無しさん@お腹いっぱい。 :02/01/20 16:43
くずはのRev.0.1 Preview 9と、あぷろだなんですが、直アド入力で飛べません。 何度やってもアドレス欄にへんなDLLのエラーが起きるか、空白か、画面が変わりません。 どうしてなんでしょうか? 鯖のTOPには行けるのですが、、、CGI直アド入力だとダメです。 鯖はハイパーなのですが、それがいけないのでしょうか? ちなみにおみとろん経由だとどちらも問題無く表示できます。 理由がわかる方、教えてください
979 :
名無しさん@お腹いっぱい。 :02/01/20 18:22
>>978 くずはのほうはあきらめました。
ずるぼんあぷろだも同じ目にあっています
どなたかいじり方教えてください
まもなくここは 乂1000取り合戦場乂 となります。 \∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( ) ( ) ( )
∧_∧ ( ・∀・) ニヤニヤ ( 1000 ) | | | (__)_)