こちらで聞いてよいでしょうか Perlで掲示板をつくってprohostingのサーバに置きました。めでたく書きこみが出きるまでになりました そこで一つわからないことがあります。 その掲示板でリロードしようとすると、ダイアログが開いて「このページは 再送信しないと更新できません」とでるのです。それに従って更新すると、 同じ内容の書きこみが二つになってしまいます。このようにならないように、 リロードするにはどうしたらよいでしょうか
>>363 1:アンカータグでリロードボタンを作る
2:フォームでリロードボタンを作る
3:書き込みが終わった後Locationで移動させる
4:書き込み後に「書き込みが完了しました」とクッションページを置く
>>364 ありがとうございます。
IEの更新ボタンで更新できるようにしたいのですが(2たんねるのように)
その場合は3.のでよいですか?
>>365 364じゃないけど、3でおっけーです。
367 :
名無しさん@お腹いっぱい。 :2001/06/23(土) 00:28 ID:MdTHDgYc
質問させて頂いてもよろしいでしょうか? 特定のIP&プロ串経由でのアクセスをピンポイントで制限するというCGIをPerlでつくり、 WAKWAKのサーバーに置き、ちゃんと動作してくれたので、旧INFOWEBのサーバーに設置してみたところ 「Internal server error」 が出てしまいました。 あるサーバーでは上手く動作しても、あるサーバーでは上手く動作しないということは、 CGIスクリプトと、鯖との相性なんでしょうか?
まあ、大体Perlのバージョンの絡みとかかな。 偶に、perlのパス確認せずに騒ぐドキュソも居るけど(w
>>367 1:Perlにパスが通ってない
2:requireなどのパスが通ってない
3:Win鯖とUnix鯖だったりする
4:Perlのバージョンが違う
5:サーバーで許されている関数に違いがある
6:.plファイルのCGI起動を許可されていない
7:cgi-binに入れないと動かない
後はなんだろう?
370 :
名無しさん@お腹いっぱい。 :2001/06/23(土) 00:35 ID:/3Jg8tz.
質問です。 2chのIDのようにIPに基づいて成り立つIDをPERLで作成するにはどうしたらいいのでしょうか
367です。
>>368 Perlへのパスは何度も確認してます。
>>369 わっかりました。
もう一度、ソースを見直してみます。
>>370 srand($ENV{'REMOTE_ADDR'});
$xx = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
. "abcdefghijklmnopqrstuvwxyz"
. "123456789./";
foreach(1..8){
$ID .= substr($xx, int(rand(65)), 1);
}
srandにIPを入れることで常に同じ結果が返される。
あくまでサンプルとしてね。
他にも色々と方法はあると思う。
373 :
370 :2001/06/23(土) 00:55 ID:???
>372さん できました! ありがとうございます!
374 :
名無しさん :2001/06/23(土) 08:25 ID:vckxBx8o
IPアドレスからユーザー名ってとりだせませんか?
376 :
名無しさん@お腹いっぱい。 :2001/06/23(土) 12:18 ID:9TJHVS52
sendmailが使えない鯖でcgiからメールを送る方法ってあります?
>>376 そけっと使うんだよ。(自分はやったことないけど…汗) SMTPサーバと
お話ししたら大丈夫。
378 :
名無しさん@お腹いっぱい。 :2001/06/23(土) 12:46 ID:9TJHVS52
>T女 も少し具体的に教えてください。 あと、やらせてください。
379 :
名無しさん@お腹いっぱい。 :2001/06/23(土) 13:01 ID:/dnaAWAM
>372 2chのIDってcryptで生成していると思ってた。
380 :
370 :2001/06/23(土) 13:48 ID:jCLGsch.
372さんのでやっているんですが、 IPが違っても同じIDになることがたびたびあります。 初心者なもんで全然わからないんですが、どう対処したらいいのでしょうか
381 :
:2001/06/23(土) 14:17 ID:???
>>379 その方が効率的かも。
サンプルきぼん。
$packip = join "", map{ chr } split /\./ $ip; print crypt($packip); とか。
>>363 =
>>365 です
location文をどのように挿入すればよいかわからないです
どなたか教えていただけないでしょうか
385 :
名無しさん@お腹いっぱい。 :2001/06/24(日) 16:10 ID:PvagkePY
>>384 Content-type:と同じやりかたでオッケー
>>385 locationを試してみたところ、リロードしてもcgiが読み込まれなくなってしまいました
サーバはProhostingです
>>377 Sendmailが使えないサーバなら、Socketもまず使えないだろう。
>>383 そのままコピペして試したら鰓出たんで自分なりにアレンジしてみました。
$packip = join "", map{ chr } split /\./,$ip; # ,を入れてみた
print substr(crypt($packip,$ip),2,8); # saltを入れてからsaltの分を削除してみた
こんな感じでいいのかな?
Shift_JISの1バイト目だけの中途半端な文字コードを削除する正規表現 って書けますか?
390 :
名無しさん@お腹いっぱい。 :2001/06/25(月) 01:21 ID:k5UlKqNo
<form method='POST' action="
http://aaa/ssss.cgi ">
<input type=hidden name="get" value="143242341324">
<input type=submit value="abcd">
</form>
これをTELNETで見ようと思ってもサッパリ分かりませんでした
いま将棋にはまってます
このCGIの出力結果を見るにはどんな文ををサーバーに送れば見ることが出来ますか?
詳しく分かりやすく専門用語を使わずに教えてくださいおしえてください
391 :
名無しさん@お腹いっぱい。 :2001/06/25(月) 03:32 ID:5VbEnasM
>>389 中途半端なコードが1個でもあったら、それ以降すべて削除。
というの作ってみた。
$re_sjis_zen = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
$re_sjis_han = '[\xA1-\xDF]';
$re_ascii = '[\x20-\x7E]';
$s =~ s/^((?:$re_sjis_zen|$re_sjis_han|$re_ascii)*).*/$1/;
>>390 君の場合「専門用語を使わず」にとか言う前に、
日本語を勉強した方が良いと思われ。
393 :
383 :2001/06/25(月) 18:05 ID:???
394 :
名無しさん@お腹いっぱい。 :2001/06/25(月) 19:21 ID:ZSLnqgJ.
Apacheを使っています。ここに存在はするがindex.html はないディレクトリにアクセスした場合はindex/xxxという ファイルの一覧になりますよね。 ここをファイル一覧にはせずに、そのままFile Not Foundの ようなエラーページに飛ばす方法はApacheにはあるのでしょう か?いろいろ見たけれどわからないです。 @niftyなんかはこういう風な仕組みになってますが、あれは CGIとかでやれるのでしょうか?
Options -Indexes
397 :
名無しさん@お腹いっぱい。 :2001/06/25(月) 23:23 ID:r5yv8Gx.
398 :
370 :2001/06/26(火) 04:53 ID:AyIlniPs
$packip = join "", map{ chr } split /\./,$host; $ID .= substr(crypt($packip,$host),2,8); これでできたIDからIPに戻すとかはできます?
399 :
JAPU :2001/06/26(火) 05:18 ID:???
crypt は一方向性のハッシュ関数を使用しているため、計算で求めることはできません。 # DES を使用している場合でも、単なる一方向性関数としての利用です。
よくある投票CGIで多重投票をしたいのですが、1回しただけで次から規制されてしまいます ネットを切ること無しに多重投票ができる方法はありますでしょうか? また、効率のいい投票方法、ツールなどありましたら教えてください
>>400 方法はあるけど…
多重投稿をして欲しくないから、そういう機能があるのだと思われ。(ワラ
あきらめて逝ってください。
403 :
名無しさん@お腹いっぱい。 :2001/06/27(水) 16:27 ID:Me2B1mgQ
以前掲示板リロードとlocationについて質問したものです リロードによる二重書き込みが無くなりました!!! なんとお礼を言っていいやら・・!!ありがとう
/_ | /. \ ̄ ̄ ̄ ̄| / / ― ― | | / - - | ||| (6 > | | | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | | | ┃─┃| < 正直、どういたしまして。 || | | | \ ┃ ┃/ \________ | || | |  ̄  ̄|
406 :
名無しさん :2001/06/28(木) 06:33 ID:a55aZI4U
よくCGIのサンプルでPOSTかGETか判定して分岐しますが、 同時に使おうとするとなにか問題があるんでしょうか? 変数名がかぶるとか回避できますよねえ。
>>406 同時に使おうとすると判定処理が増えるからじゃない?
408 :
名無しさん@お腹いっぱい。 :2001/06/28(木) 15:46 ID:m7F35MBU
>>406 同じデータをPOSTでもGETでも受け付け可能にするってこと?
掲示板なんかでPOSTとGETの両方オーケーにすると
<img src=".../bbs.cgi?text=hoge">みたいなリンクを貼りまくる
荒らし厨房がわいてきそうでいや。
別々のデータをPOSTとGETで分けて受け取るスクリプトの話なら、
まえにそういう掲示板
(テキストをPOSTで受けて、動作モードをQUERY_STRINGで指定)
を書いたけど、そのときは問題なかった。
Apache以外のWEBサーバだと、問題あるらしいとの噂も聞いたが。
409 :
370 :2001/06/28(木) 15:57 ID:d9KcmRW.
410 :
406 :2001/06/28(木) 21:03 ID:a55aZI4U
>(テキストをPOSTで受けて、動作モードをQUERY_STRINGで指定) まさにそれです。Perl勉強中なんで問題があるのかと、、、 # フォームからのデータを連想配列に格納 read(STDIN, $buffer1, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer1); foreach $pair (@pairs) { ($name,$value) = formdec(split(/=/, $pair)); # フォーム形式のデコード if(exists($FORMS{$name})) { # 既にキーが存在した場合 $FORMS{$name} = $FORMS{$name}.",".$value; # FORMSに, 区切りで格納 } else { $FORMS{$name} = $value; # 連想配列FORMに格納 } } # クエリーからのデータを連想配列に格納 @pairs = split(/&/, $ENV{'QUERY_STRING'}); # 引数を格納する foreach $pair (@pairs) { ($name,$value) = formdec(split(/=/, $pair)); #フォーム形式のデコード if(exists($QUERYS{$name})) { # 既にキーが存在した場合 $QUERYS{$name} = $QUERYS{$name}.",".$value; # QUERYSに, 区切りで格納 } else { $QUERYS{$name} = $value; # 連想配列QUERYSに格納 } } # クッキーデータを連想配列に格納 @pairs = split(/;\s*/,$ENV{'HTTP_COOKIE'}); foreach $pair (@pairs) { ($name,$value) = formdec(split(/=/, $pair)); # フォーム形式のデコード if(exists($COOKIES{$name})) { # 既にキーが存在した場合 $COOKIES{$name} = $COOKIES{$name}.",".$value; # COOKIESに, 区切りで格納 } else { $COOKIES{$name} = $value; # 連想配列COOKIESに格納 } } # フォーム形式のデコード sub formdec { ,,, Multipulなのはsplitして使うと。
>>410 問題は要するに「POSTしたときもQUERY_STRINGは有効なのか?」
ってことだけど、
こりゃCGIスクリプトじゃなくてWEBサーバの動作の問題だね。
経験則だけど、Apacheはオーケー。
他のWEBサーバは知らないけど、たぶんApacheコンパチでないの?
>>408 の「Apache以外で問題あり」なんて話は聞いたことない。
412 :
名無しさん@お腹いっぱい。 :2001/06/29(金) 00:25 ID:Cs3QYnzU
すいません、質問です(別板でこちらの板に来る様に言われましたので参りました)。 データファイル(ログファイルやデータベース用のテキストファイル)の漏洩問題に 対処するためにこのデータファイルをドットファイル(拡張子部分は固有名詞を使わない 任意の文字列)にすれば、ある程度データファイルのセキュリティーは高まるのでしょう か? どのくらいの安全性なのか、あるいは危険性はあるのか、どうか教えてください( 本の知識です)。 よろしくお願いします。 ちなみに別板で最初に書きこんだ時のその板の皆様のご返答は・・・ ・貸し金庫よりドットファイルは安全だ。 ・パーミッションを640にしろ。 ・拡張子を.cgiにして保存しろ。 ・この板(このスレの板)に逝って質問しろ。 でした。悩める厨房にどうか教えてください。混じれ酢希望です。
>412 基本的はドキュメントルートの外に置けばいいんじゃない?
412です。
>>413 早速有難うございます。ただその外に置く方法が分からないのです。
今使っている鯖(レンタル)は、やり方は分からないのですが、そ
の「/」の上の階層にファイルを置けないようなのです。マジでセキ
ュリティーのことを考えて色々思考錯誤しているのですが・・・。
一つ一つ勉強ですが、回りに詳しい人間もいず、本で読んでも
理解するのが遅すぎて。。。だけど有難うございます。
他にはどうでしょうか?いい機会(迷惑?)ですので教えて下さい。
>>414 そのサーバはHTMLやCGIを「/」の下に置くようになってんですか?
public_htmlがあるなら、そこが「ドキュメントルート」だよ。
つまりpublic_htmlディレクトリの外にデータを置けばいいということ。
あと、共有サーバで他のユーザにデータを見られないようにする てゆー問題もあるね。 CGIが所有者権限で動くWEBサーバなら、データのパーミッションを600に。 そうじゃないWEBサーバなら、あきらめる。
412です。皆さんありがとうございます。
>>415 そうなんです。/の下にcgi-binディレクトリを置いたりやHTMLファイルを転送します。ただtelnetがその鯖では使えず、普通のftpソフトでは/より上に行くことができませんし、鯖の方も許可していないようで
す(←ただ私の言うことですので信用できないかもしれませんが・・・)
こういう鯖ではルート以外におく方法の次善の手としてどういう方法があるのでしょうか(←416でパーミッション600という手を教えて頂きました)?
>>416 はい、共有鯖です。外に置いたら(というか置けると仮定したら)、やはり他人に見られますよね。そう言う場合600にすれば確かに最も安全ですよね。 ただこのデータファイル、不特定多数の人間が実行するスクリプトから
読みこんだり書きこんだりする代物ですので、600だとちょっと不都合が・・?
結局、
>そうじゃないWEBサーバなら、あきらめる。
やはり「外に置く」以外のセキュリティーはどれも似たり寄ったりなのですか?
>>417 >普通のftpソフトでは/より上に行くことができません
あー、そういう設定か。確かにそういうサーバありますね。
困ったもんだ。せめてもう一個上まで行けるように
設定しといてくれればいいのにね。
>不特定多数の人間が実行するスクリプトから
>読みこんだり書きこんだりする代物ですので、600だとちょっと不都合が・・?
「CGIが所有者権限で動くWEBサーバ」なら、600で不都合は
起きないから大丈夫です。
誰が実行しても、CGIファイルの所有者(あなた)が読み書き
してるのと同じことになります。
>やはり「外に置く」以外のセキュリティーはどれも似たり寄ったりなのですか?
いや、外に置くのも拡張子を".cgi"にするのも結局似たようなもので、
共有サーバの別ユーザから見られる危険性は一緒。
ひとつだけその危険がないのが、パーミッション600です。
とにかくそのサーバで、CGIが所有者権限で動くか
(別の言い方すると、CGIがSUEXECで動いてるか)を確かめるのが先ですな。
419 :
名無しさん@お腹いっぱい。 :2001/06/29(金) 07:51 ID:PEj2qvtM
412です。 丁寧なご返答有難うございます。(感謝 渦巻いていた疑問が晴れました。 こんな厨房の意見に混じれ酢をして頂いて本当に恐縮です。 鯖の設定と手元の本をもう一回確認して色々と試してみます。 ありがとうございました。
>>412 ドットファイルが安全というのはどういう意味か分からん。
WINDOWSのHIDDEN属性と近藤しちゃいないか?
↑の説を言い出したのが412氏じゃないことは分かっているけど。
最近のApacheは .ht で始まるファイルがデフォルトで外部から見えない ようになってるという話と混同してるのでは?
422 :
名無しさん@お腹いっぱい。 :2001/06/29(金) 17:08 ID:qvcgEcjU
やれなかったのか やらなかったのか どっちかな
______ /_ | /. \ ̄ ̄ ̄ ̄| / / ― ― | | / - - | ||| (9 > | | | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | | | ┃─┃| < 600デキナイサーバカリナイジョウシキ || | | | \ ┃ ┃/ \________ | || | |  ̄  ̄|
412です
皆さんレス遅れてすいませんでした。そして有難うございます。
>>420 ドットファイル(例:.hogehoge1233455)にすると、.txt .log .csvなどに
比べて外部からのアクセスによる不正なデータ閲覧を少しは防げる、というもの
でした。早速試したところ、確かにブラウザでの閲覧(ファイルを直接URLで指
定)を試みると、見れません。またファイル転送時にバイナリにすると良い様でし
た。ただいかんせん私のレベルは皆さんから見ればお粗末なもので・・・皆さん
にかかれば、あまり意味のない防御方法かもしれません。
>>421 例えば.hthogehoge1232344のようにすれば、上記の様なファイル名よりかは
安全性が高まると言うことでしょうか?う〜ん?もしよろしければ詳しく教えて
下さい。お願いします。
>>422 ルートディレクトリの外に置けるサーバーではありませんし、600にしたらスク
リプトが動きませんでした。従って
>>423 さんのように、よ〜〜〜〜く調べて鯖を変えなくては逝けないかもしれませんね。
しかしどうやったら調べられるんでしょうか??
>>424 Apacheのデフォルト設定で、
.hogehoge1233455 → ブラウザのURL直接指定で表示できちゃう
.hthogehoge1232344 → URL直接指定でエラーになって見れない
となってた時代があったんよ。
こういうのApacheのバージョンによってころころ変わんだけど、
もしかして現在のApache1.3.20だとドットファイルは全部アクセス不可?
なんにせよ、これはあくまでもデフォルト設定であって、
あとでいくらでも変えられるので、サーバごとに事情は異なる。
「ドットファイルは絶対アクセス不可」と思ってはいけない。
ただし自分で.htaccessを書いて「ドットファイルはブラウザからアクセス不可」に
設定することはできる。
レンタルサーバでデータのパーミッション600が可能か調べるには
そこのサポートにメールして聞けばいいんじゃない。
「CGIはsuEXECで動作してますか?」で相手はわかると思うよ。
>>424 です
>>425 さん、ありがりがとうございます。かなり理解が深まりました。
正直、セキュリティー(今回のドットファイルも含め)に関する情報って、
結構見つからないですよね(当たり前なんですけどね。ヘタレ厨房がス〜グ
悪用するから)。だから情報集めてそれを自分で噛み砕くのは本当に大変で
す。
ありがとうございました。また分からないことがあったらこちらで質問
させて下さい。
# >そこのサポートにメールして聞けばいいんじゃない。
# サポートがなっていない鯖も多いようですので参考にしながら
# 別板・別スレで情報を集めます・・・。
perlで掲示板を作っているのですが、$mymail(メールアドレス欄)に ☆┌|∵|┘♪└|∵|┐♪┌|∵|┘ ☆(∂v∂)☆(ノ^0^)ノ☆\(^○^)/☆(∩.∩)☆(〃^∇^)o_彡☆(V)o¥o(V) ↑このような文字列を入れるとアンカータグが閉じられずに、他の発言にも リンクが及んでしまいます。これを改善するにはどうしたらよいでしょうか? # Emailからタグを作成 if ($mymail ne '') { $mymail = "<A HREF=mailto:\"$mymail\"><b>$myname</b></A>"; }else{ $mymail = "<font color=\"#228b22\"><b>$myname</b></font>"; } # 一行に変換する &auto_link($mycomment); $mycomment =~ s/\r\n/<BR>/g; $mycomment =~ s/\n/<BR>/g; $mycomment =~ s/<BR><BR>/<BR> <BR>/g; # 書き込みメッセージ構成 $message = "<dt>$mymail <font size=\"2\">投稿日:$datestr</font><dd>$mycomment<P>";
428 :
427 :2001/07/01(日) 13:13 ID:???
429 :
427 :2001/07/01(日) 13:41 ID:???
代替文字で解決しようとしたのですが、 &nbsp;&quot;のような文字(&は半角)がそのまま出てしまいます このように書きました $mymail =~ s/</</g; $mymail =~ s/>/>/g; $mymail =~ s/"/"/g; $mymail =~ s/ / /g; $mymail =~ s/&/&/g;
430 :
427 :2001/07/01(日) 13:50 ID:???
ごめんなさい!自己解決しました 最後に”&”を置き換えてました
431 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 14:11 ID:pXSk7yhs
Sakura Upload Boardでアドレスに
http:// 〜/cgiwrapDir/cgiwrap/sakura.cgi?new
とよけいな/cgiwrapDir/cgiwrap/という文字列がくっついてしまうのですが
どこを書きかえればよいですか。
$ENV{'SERVER_NAME'} $ENV{'SCRIPT_NAME'}
433 :
431 :2001/07/02(月) 14:30 ID:pXSk7yhs
434 :
名無しさん@お腹いっぱい。 :2001/07/02(月) 16:53 ID:W6DVOuys
C言語でURLエンコード、デコードする関数を教えてください。
>>434 そういうライブラリ探すべし。
検索キーワードは「C言語」「ライブラリ」「URLエンコード」
$FORM{'submit'}を見れないんだけど、どうしたらよいのでしょう? <form action="./temp.cgi" method="post"> <input type="text" name="name"> <input type="submit" name="submit" value="書き込む"> </form> temp.cgi 側 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; my $query_string = undef; my (@m_elements, $m_element, $name, $value); use vars qw(%FORM); if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); @m_elements = split(/&/, $query_string); foreach $m_element (@m_elements) { ($name, $value) = split(/=/, $m_element); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; $FORM{$name} = $value; } } print <<"EOT"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META CONTENT="TEXT/HTML; CHARSET=SHIFT_JIS" HTTP-EQUIV="CONTENT-TYPE"> <TITLE>出力結果</TITLE> </HEAD> <BODY> <H3>出力結果</H3> 本文 $FORM{'name'} です。<BR> 実行 $FORM{'submit'} です。 </BODY> </HTML> EOT exit;
437 :
minima :2001/07/02(月) 22:28 ID:W/GXWllY
>>436 type=submit って、見えたっけ?
439 :
431 :2001/07/03(火) 12:40 ID:OhZUTkuw
おしえておくれ・・・
>>439 Sakura Upload Board なんてマイナーなCGIをソースも出さずに
何処直しゃ良いなんて教えられるわけねーだろ。
お前が知ってるCGIは全員知ってるとでも思ってんのか?
443 :
:2001/07/03(火) 14:49 ID:NUoQLxF.
Perlの質問です。 フォーム入力で「aaaa"bbbb」と入力されたとする。 CGIのデコードで ~s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge; として、確認画面で「name=aaaa"bbbbです」と表示した。 その同画面で print "<input type=\"hidden\" name=\"name\" value=\"$name\">\n"; と言う風に出力し(仕様)、さらに表示させようとすると valueの中身が「aaa」で切れてしまう。 これを解決する方法を教えてください。
444 :
432 :2001/07/03(火) 14:53 ID:???
445 :
見習い君 :2001/07/03(火) 14:56 ID:???
>>443 $value =~ s/"/&quot;/g;
446 :
431 :2001/07/03(火) 15:01 ID:???
447 :
431 :2001/07/03(火) 15:05 ID:???
448 :
443 :2001/07/03(火) 15:15 ID:4CbQmAdw
>>445 ありがとうございます。
このようにやると、
name=aaaa"bbbbと表示されますが、ソースは
<input type="hidden" name="name" value="aaaa&quot;bbbb">
となりますよね?
これはまた&quot;を元に戻す処理を入れ、ファイルなりに落とすという
方法(ファイルに落としたい)をとるしかないのでしょうか。
アングラ野郎は 初級ネット板 or ダウソ板 へ
>>448 ソース上は「"」になりますが実際に送られるのは「"」です。
つーかまず試してから物言え。
451 :
438 :2001/07/03(火) 16:40 ID:???
>>442 サンクスコ
見えるんだ…シラナカッタヨ
>>436 お詫びにこっちの環境で動作テストしてみたよ。
上のForm部分を HTMLに入れて、
下のソースは temp.cgiとして実行。
環境[ Apache 1.3.14 + Perl 5.2.2 ]
で…問題なく見えたけど。
ボタンを複数にした場合も、それぞれの Value値が渡ってきたよ?
ソース以外に問題がある可能性が高いと思われ。
452 :
438 :2001/07/03(火) 16:41 ID:???
>>451 記入漏れ…
Win32(Win2KServer)環境なの。
453 :
436 :2001/07/03(火) 18:59 ID:???
ありがとうございます。 当方 VirtualAvenue です。 $FORM{'name'} しか見えません。
ブラウザは関係あってもサーバが関係あるはずないだろ 実験に使ったブラウザの名前を書けよ
>>454 は ?
CGIが出力したHTMLに何も書いてないから
何も表示されないわけで,ブラウザとは無関係だろ...
456 :
438 :2001/07/04(水) 00:19 ID:???
>>454 「あるはずない」って断言するのはどうだか知らんがね。
そもそもブラウザがデータを渡してない可能性がある…ってことか?
だったらそう言えや。
IE5.5 と NC4.75で確認したけど、どちらも動作を確認。
ちなみに、俺の婆茶のアカウントで試したが、やはり動作を確認。
Freewebアカウントでも動作を確認。
仕事でやってるなら、更に IEバージョンごとにテストするところだが、
今は面倒なのでやらない。(ワラ
結果、
>>436 氏の環境の問題である可能性が高くなった。
これで満足か?
457 :
436 :2001/07/04(水) 10:28 ID:???
レス遅くなりました。IE5.0 です。 それで、同じ作業を(単にフォームに適当な文字を記入して送信) 繰り返してると、たまに 実行 書き込む です が見えるようになりました。 同じ文字を入力しても、見える時と見えないときがあります。 私の IE がウソコなんでしょうか? それとも IE の設定に関係あるんでしょうか?
460 :
436 :2001/07/04(水) 23:04 ID:???
やっと原因が解りました!! サブミットボタンをマウスでクリックすると上手く逝き、 リターンキーで送信すると上手く逝きませんでした!! 私は Win では殆どマウスを使わないので (ショートカットキーやタブで済ます)、気付きませんでした。。。 原因が暫く掴めなかったので、Linux に Apache 2.0.16 βとMozilla 0.9.2 を入れてローカルでも 実験しました。それでも$FORM{'submit'} が たまにしか表示されないので、もう諦めて 回線切って氏のうかと思ってましたが、 解ってよかったです。お騒がせしました。
>>460 あぁ、それが原因だったのか。
よく考えたら俺も昔同じ事に引っかかってた事があった。(w;
気付かずスマソ。
462 :
名無しさん@お腹いっぱい。 :2001/07/05(木) 01:06 ID:iTVp4ylE
パターンマッチについて質問します。 数字1文字か2文字、または、半角カタカナだったら真、 それ以外は偽、という正規表現ではまってます。 どなたか、お答えお願いします。
CGI設置したんですが 拡張子を他のものに変更したいんですが、、無理でしょうか よく掲示板なのにindex.htmlとかありますよね? あれってどうやるんですか?
>>464 書き込みをされる度に、データファイルと一緒にindex.htmlを書き換える。
それでその中に<form action=bbs.cgi>と入れておく。
書き込み記録はCGI。
記入欄はHTML。
わかるかな?
466 :
名無しさん@お腹いっぱい。 :2001/07/05(木) 18:18 ID:CmVrVJtE
基本的な質問スイマセン。 掲示板を作ったはいいんですが、ログファイルを 直リンとかURL直入力で落とされない様にする為にはどうしたらいいですか? IPアドレスを記録していますので、管理者(=自分orSU)以外から見られないように 何らかの方法で設定したいのです。 ちなみに、サーバは skipup.com です。
467 :
JAPU :2001/07/05(木) 18:22 ID:???
HTTPで見られるところ以外に置けばよろしい。 たとえば、~/public_html/ 以下のみが見られるようなら、 ~/log/ にでも置きましょう。
468 :
466 :2001/07/05(木) 19:04 ID:CmVrVJtE
>>467 早速ありがとうございます。
その方法を試してみたのですが、skipup.com では無理でした…
/web/* にHTML文書があり、/web/cgi-bin/* にCGIをおくというのが
skipup.com の設定なのですが、
どうやらCGI上でも/web/と同レベルの他ディレクトリ(/cgi-data/*)には
アクセスできないようです。
念の為絶対パス指定も相対パス指定も試したのですが、ダメでしたxx
IPアドレスは暗号化して、IP調査はダウンロードして復号する、という方向で
外的な匿名性を持たせる方向ですすめます。
469 :
昆布茶 :2001/07/05(木) 19:48 ID:???
↑パーミッションを600にすればいいだけだと思うが。
470 :
名無しさん@お腹いっぱい。 :2001/07/06(金) 00:38 ID:.S0aJ5pE
mod_perlを使用すると、親切にもmainに相当するパッケージ名 を自動的に割り当ててくれますが、スクリプトを作る場合は これに素直に従い、サブルーチン等に自分でパッケージ宣言 しない方が吉なんでしょうか。
471 :
名無しさん@お腹いっぱい。 :2001/07/06(金) 01:40 ID:dC0yYHsk
1、CGIでURLエンコードするときのデフォルトの文字コードは決まってるんでしょうか? 2、SJISのエンコードは %XX で言いと思うんですが、他の文字コードのエンコードは どうやってやるのでしょうか? UNICODEとかの場合は %XXXX で良いのでしょうか?
>>470 -741
まずは試してみろ。
うまくいかなきゃまた聞きに来い。
>>470 -471
試すのはいいけどローカルでな。
自分で試すことによって他の問題が出た時も対処がしやすくなる。
頑張れ。
474 :
名無しさん@お腹いっぱい。 :2001/07/06(金) 18:05 ID:YlE0Cv3o
475 :
モヘンジョ :2001/07/12(木) 01:10 ID:Li6mv1Jk
CGIの実行速度を測ってくれるサイトってありませんか? Kentのは重いって聞いたんですけど、実際他と比べてどうなのかなと。
use Benchmark times()
477 :
モヘンジョ :2001/07/12(木) 21:50 ID:.DP5dWOk
できればもう少し詳しくお願いします。
>>477 478に禿げしく同意。
せめて検索くらいしましょう。
それから、perldocくらい自分で見れるようになってください。
480 :
名無しさん@お腹いっぱい。 :2001/07/13(金) 02:56 ID:9y1whwlE
掲示板作成時、デザインとプログラムを分けて作りたいんだけど、 HTML::Templateモジュールとかのオブジェクト指向でないスクリプト で良い物ってありますか?
>>480 自分で掲示板作るんだよね?
モジュールって基本的に再利用可能でカプセル化されたものだから、
オブジェクト指向はついて回ってくるというか。
Exporterで関数指向にしてしまう。これは改変だけど。
自分で作る。
こんなとこかしら。答えになってないようで悪いが。
せっかく便利なものがあるんだから、使ったほうがいいと思うよ、でも。
482 :
480 :2001/07/13(金) 10:48 ID:???
>>481 オブジェクト指向ど素人やからしょうもない事、
聞いてしまいました;;
てーねーなレス感謝。
オブジェクト指向なんて慣れてしまえばどうってことはない。 俺はリファレンスを理解する方が苦労したYO!
484 :
奈々氏さん :2001/07/13(金) 15:12 ID:i.TxHOnw
CGI ではなく フォームの質問なんですが…。 フォームが表示されたときに、特定のテキストエリアにフォーカスが 行っていて、マウスでクリックしなくても、入力を始められるようにする にはどうすれば良いでしょうか?
486 :
484 :2001/07/13(金) 18:07 ID:i.TxHOnw
>>485 JavaScript の勉強をしてみました。
<input type=text name=text1 onLoad="this.focus()">
ここまで書いてみて挫折。うまく移ってくれません。
onLoad というのが違うようなのですが…。
>>484 onLoad()は<body>に書くがよろし。
つーか板違いか、これ(w
詳しく聞きたいならWeb製作板にいきましょう。
489 :
484 :2001/07/13(金) 18:23 ID:???
できましたー。 皆様ありがとうございました。
現在PerlでCGIを作っています。 テストはもちろんローカルで行っています。 そこで、もし無限ループに陥った場合は再起動すればいいのでしょうか?
>>490 俺はPerl.exeを強制終了させてる。
493 :
名無しさん@お腹いっぱい。 :2001/07/14(土) 20:31 ID:.p5/Qjsw
既出かもしれないんだけど、トップページでCGI使う場合(検索エンジンとかで) トップページのアドレスが長くするのを防ぎたいんですが フレームを使う以外の方法ありませんかね?板違いだったらスマソ
<!--index.html--> <form acrion="foo.cgi"></form>
s/acrion/action/
493が何を言ってるのか判らないのは俺だけですか
498 :
493 :2001/07/15(日) 04:38 ID:SggsQjA6
499 :
名無しさん@お腹いっぱい。 :2001/07/15(日) 06:34 ID:gUXi0obQ
DirectryIndex だっけ? アレってファイル名じゃなくてディレクトリ名まで指定できるの?
あの〜厨房な質問で申し訳ないんですが・・ DUKEってなんですか? これって何に使うの?
>>498 cgi-binでしかcgiが動かない設定なのか?
>>501 厨房が自分の力を誇示する為に使うツール。
DUKEを使う=ゴリラのドラミング(胸を叩くアレ)のようなもん
504 :
なー :2001/07/15(日) 19:27 ID:???
DUKEってまだ使ってるやついるのか?(^^;
505 :
なー :2001/07/15(日) 19:33 ID:???
>>500 できるよ。
DirectryIndex ./cgi-bin/hoge/hoge.cgi
とかね。うちのtopは掲示板だし(わ
506 :
nuc :2001/07/16(月) 01:57 ID:mntjpSsQ
if (!open(NOTE,"+<$visit_file")) { &error("書けない"); } flock(FILE, 2); truncate(FILE, 0); seek(FILE, 0, 0); print NOTE @DATA; close(NOTE); ↑こういうふうにopenとflock,truncate,seekの ファイルハンドルが違っていてもOKなんでしょうか? ファイルハンドルを合わせなくても正常に動作しているような 気はするけど、実際のところが知りたいす。
$a += 10; $b *= 2; $b -= 5; ↑こういうふうに"+="演算子と"*=", "-="演算子の 変数が違っていてもOKなんでしょうか? 変数を合わせなくても正常に動作しているような 気はするけど、実際のところが知りたいす。 *a = *b とすれば正常に動くがな。
>>508 507は506を馬鹿にしてるだけだと思われ。
510 :
名無しさん@お腹いっぱい。 :2001/07/16(月) 21:44 ID:hw6Oxuec
掲示板スクリプトで、 x.cgi ->(実行ファイル)と y.pl -> (環境設定ファイル)があったとして、 実行ファイルに環境設定ファイルを読み込ませる場合、普通に require './y.pl'; としてる物と、サブルーチンで設定変数の読み込みをさせてる物とがあるが、 どっちの方がいいか? またそれぞれのメリットなど教えて下さい。
freewebのページで「ずるぽん+擬古猫 2000年10月26日版」 の、アプロダを設置しようとしても500エラーが出てしまいます アスキーでftp転送し、パーミッションもあってるはずなんです。 原因として考えられることををご教示ください。 すれ違いなら素直にそういってください。夏厨房でスマソ
512 :
nuc :2001/07/17(火) 00:37 ID:wxI8qTz.
同じファイルハンドルにしないと効かないんすね。 配布されていたスクリプトがなぜかファイルハンドルを 別にしていたので1年くらいずっとそのままで使っていた。 わざわざスイマセンした。
最近本を読めば分かるようなことを聞いてくるやつが多いな。
>>510 どっちでも大差ないと思うが。
というか「サブルーチンで設定変数読み込み」ってなんだ?
open-parse-closeで値を取得するくらいならrequire/doの方が早いと思うぞ。
>>511 一行目が違う。
それでもだめならKCatch.pmを使え。
516 :
CGIヲタク :2001/07/17(火) 22:01 ID:YSWaJfE2
CGIのデコード処理が解りません。 0から教えてください。
まず精神統一をします
518 :
CGIヲタク :2001/07/17(火) 22:10 ID:05GVs.SU
てゆうかデコード処理しないとやばい?
まず座禅を組みます。 …と、その前に滝に当たった方がいいだろうか?
520 :
CGIヲタク :2001/07/17(火) 22:53 ID:05GVs.SU
すいませんけどマジメに答えて下さい。 本当に困っているんです。
0から、か。 ならまず #!/usr/bin/perl 0 __END__ これをやってみろ。
>>520 そこまで言うならマジレスするけど、貴方の質問には不足が
有り過ぎです。
・『0から教えてください』って、自ら努力しない人に教えるほど人は
出来てないの、私は。
・どう言うシチュエーションなのさな?コードくらい書いて例示しろっての。
・そもそも『CGIのデコード処理』って何の事よ?
少なくとも、らくだ本の前に国語の教科書を見なおしてくれ。
>>523 ・そもそも『CGIのデコード処理』って何の事よ?
逝って良し!!
CGIオタクが解りません。 0から教えてください。
>>524 =CGIヲタ
(プ
CGI:
WWWで, WWWブラウザからの要求に対してサーバが別のプログラムを起動実行し,
結果をWWWブラウザに返す処理を行なうためのインターフェイス.
コイツをデコードしてどうするつもりだよ(ワラ
>>526 自分の命がかかった場面でもなお相手とのやり取りでそういう構文エラー出してみせるなら
その時は褒めてやるけどね。
>>520 自分の命がかかった場面でもなお相手とのやり取りでそういう日本語と
態度を出してみせるなら その時は褒めてやるけどね。
要するにアホ同士の極めてアホなやりとりというわけで。
531 :
名無しさん@お腹いっぱい。 :2001/07/19(木) 13:56 ID:TX55hRGo
がいしゅつかもしれませんが優しく教えてください。 J-SKY対応のメールフォームCGIを探しています。 どこかのサイトで配布していませんか? おしえてください!!
532 :
名無しさん@お腹いっぱい。 :2001/07/19(木) 15:12 ID:d2nShnpo
CGIに限った話ではないが、 掲示版やチャットなどでよく使うので質問します。 クリプトの塩って、どうやって決めればいいのですか?
「クリプトの塩」って何だよ。
534 :
名無しさん@お腹いっぱい。 :2001/07/19(木) 15:39 ID:d2nShnpo
>>532 漏れはユーゼ名を塩にしてパスをCRYPTしてるが、塩を忘れないからいいのでは。
>>532 time()とか[a-zA-Z0-9/.]とかかな、俺は
536 :
名無しさん@お腹いっぱい。 :2001/07/19(木) 16:15 ID:3AQoVu6g
538 :
名無しさん@お腹いっぱい。 :2001/07/19(木) 17:16 ID:SOCZ4ghs
>>533 無知って怖いねー
クリプト=crypt
塩=salt
ネタだったらスマソ
ってかこれで間違っててもスマソ
クリプトの塩などとわざわざ難解な表現をするあたりでまともに聞く気があ るとは思えんのだが ネタだったらスマソ
ちなみに、saltもどこかに保管しておかなければいけないですね。 そうすると、たとえばユザー認証用のファイルを作るとすれば username, crypted pass, salt ってかんじでいいのかな。 ちなみに、saltがばれたり容易に推測できるのはやばいのかな phpマニュアルでは、saltに乱数使ってるよ。
クリプトの塩って、チュニジアあたりでとれる良質の岩塩のことだったような気が
>>540 saltの保管は照合するため?
通常はcrypted passの頭2文字がsaltだから要らない気が。
MD5とかだったらちょい違うけど。
って外してたらスマソ
543 :
JAPU :2001/07/19(木) 18:25 ID:???
DESの時は先頭2文字が、MD5の場合は "$" で挟まれた2番目に salt が入ります。 でも、照合するときには crypt の第2引数にそのまま入れればOK。わざわざ salt を抜き出すのは移植性の低下につながります。 die "sage" if(not crypt($input_passwd, $crypted_passwd) eq $crypted_passwd); わざわざ salt を使うのは /etc/passwd が誰でも読めた時代の名残か? (単なる一方向性関数だけだと、たまたま同じパスワード使っている場合にヤバそう。)
544 :
名無しさん@お腹いっぱい。 :2001/07/20(金) 15:09 ID:1f3fgK9Y
Web制作板で聞いたらこちらの板の方をすすめられたのでおじゃましにきました。 シンプルな掲示板CGIを探しています。 ・スタイルはTcup風。ごちゃごちゃしていない。 ・過去ログ生成を自動でやってくれる。 ・ドコモ、Jフォンからもアクセスできる。 ・URLやメアドがそのままでない。(「URL」「Mail」とかいう文字にリンクしてくれる) ・文中に書き込んだURLはオートリンクされる。 もうずっといろいろ探してるんですが、 これらの条件を満たすものが見つかりません。 どなたかこういった掲示板CGIに心当たりありましたら教えてください。
546 :
名無しさん@お腹いっぱい。 :2001/07/20(金) 19:57 ID:wVCDVsI.
547 :
名無しさん@お腹いっぱい。 :2001/07/22(日) 01:46 ID:vWoEzwQk
Linux Apachでイントラネットのウェブサーバを立てていますが、 アクセスしてきたクライアントのIPアドレスはわかるのですが、windows機のログインユーザ名を取得するにはどうしたらいいですか?
548 :
名無しさん@お腹いっぱい。 :2001/07/22(日) 10:10 ID:QqOnPr.6
Windows2000付属のWebServerでC言語CGIって可能ですか? コンパイルしたオブジェクトの拡張子を.cgiにしてもエラーが出てしまうのですが・・・・
>>547 ログインユーザ名?
認証かかってるページへのユーザ名の事?
それなら環境変数 REMOTE_USERでとれる。Apacheのログにも残る。
Winが立ち上がった時にでるヤツのは知らん。
つかそんなモンセキュリティ上取れるのか?
ってIEの事だから穴突いたりしたら取れるんだろなぁ・・・。
>>548 PerlのCGIを動かす場合、IISは拡張子.cgiのファイルに対し、
c:\path_to_perl\perl.exeを使って実行する。
つことはCで作ったCGIも拡張子.cgiにすると、c:\path_to_perl\perl.exe
を使って実行しようとしてしまう。
んでCは単体で動くから多分拡張子は.exeにすれば良いと思う。
>>547 初回のアクセスでVBスクリプトなどでコンピュータのユーザ名を取得(わからないけど、VBスクリプトだったら、Win固有のことができるのでは?
で、そいつをクッキーでもらう。次回からそのクッキーを使ってアクセス管理。
VB使いの人、教えてやってくれ。
551 :
名無しさん@お腹いっぱい。 :2001/07/22(日) 15:33 ID:QqOnPr.6
>>549 さん
レスありがとうございます。
しかし拡張子を.exeにしても
「CGIエラー 指定された CGI アプリケーションは、HTTP ヘッダーを 一部しか返していません。返されたヘッダーは:」
というエラーが英語で出てしまいます。
しかしパーミッション・ヘッダーに誤りはないと思います。
試しに実行ファイルをループさせたり色々実験しましたが
どうやら実行すらされていないようです。
色々調べた結果、Pathが設定されていない場合にもこのエラーが表示されるようですが・・・・
(例えばc:\path_to_perl\perl.exeを使って実行するように設定してあるがperl.exeが存在していなかったり、
.dllが存在しなかった場合)
win2000+IIS+C言語でCGIを実現できた方アドバイスお願いします。
コンパイラはgccを使っています。
>>551 ちゃんと環境に合わせたコンパイルをしたんでしょうか?
例えば、LinuxでコンパイルしたものはLinuxでしか動きません、通常は。
試しに拡張子exeでコマンドラインから入力してみるとか
554 :
竹村健一 :2001/07/23(月) 20:38 ID:LfLDUuSI
CGIファイルの中身をテキストで開いて変更したのですがそのまま保存しますとテキストでの保存となってしまうのです。 中身を替えた後もう一度CGIファイルのままで変更の設定を保存するにはどうすれば良いのでしょうか? 素人なので申し訳御座いませんが教えて頂けないでしょうか。
>>554 $ mv foo.txt foo.cgi
C:\> ren foo.txt foo.cgi
556 :
竹村健一 :2001/07/23(月) 22:01 ID:LfLDUuSI
すいません。555さんちょっと意味がわからないのです・・・
ネタは他でやれ。 ネタじゃないならWin使ってるならWin、Unix使ってるならUnix、 MS-DOS使ってるならMS-DOS、BeOS使ってるならBeOSの勉強しろ。 Macは俺が嫌いだから捨てろ。
夏休みだよ・・・勘弁してくれ。
559 :
名無しさん@お腹いっぱい。 :2001/07/23(月) 22:51 ID:0Wghze/M
>>554 メモ帳を使っているなら、ファイル名をダブルクォーテーションでくくって保存すべし。
例 "abcd.cgi"。 これをしないと abcd.cgi.txt となる。
560 :
竹村健一 :2001/07/23(月) 22:52 ID:???
ネタ に マジレス カッコワル(ぷ
このスクリプトで2>&1は何のために行っているのでしょうか。 標準エラー出力を標準出力に変更するということらしいのですがそうする意味がわかりません。 ちなみにこれはあるスクリプトから他のスクリプトを実行させる物のようです。 open(EXEC,"| abc.cgi 2>&1"); while (<STDIN>){ print EXEC; } それとこのとき、実行されたスクリプトがはき出した内容を受け取るにはどうすればいいのでしょうか。
562 :
名無しさん@お腹いっぱい。 :2001/07/23(月) 23:26 ID:7GeYowA6
age
563 :
JAPU :2001/07/24(火) 00:07 ID:???
>>561 man sh すれ。
[n1]>&n2
duplicate stdout (or file descriptor n1) to file descriptor n2
(FreeBSD General Commands Manual より)
0 = stdin
1 = stdout
2 = stderr
なので、標準エラー出力を標準出力にリダイレクトすることを表す。
564 :
564 :2001/07/24(火) 01:00 ID:1Q8OCeBA
今CGI動かしてる鯖が結構不安定なので、前回アクセス時から1時間以上経過していれば 別鯖にデータファイルのみを転送したいと思っています。 Perlで可能でしょうか?
>>561 ということは単に実行するスクリプトがはき出したstderrも一緒に出力するため
っていうことでいいのでしょうか?
後の方の質問ですが
$_ = <EXEC>;で普通に読み出すことができました。
これで読み出さなければ勝手に標準出力に出力してしまうのでどうやって
読み出すのか迷っていました。これはperlの仕様なのでしょうか??
Perlの仕様っていうか、とりあえず一般的なプログラム言語のI/Oの復習とか。perldoc -f print とか。
567 :
JAPU :2001/07/24(火) 01:29 ID:???
>>561 書き忘れた。
IPC::Open2 を使いなさい。
SYNOPSIS
use IPC::Open2;
$pid = open2(\*RDR, \*WTR, 'some cmd and args');
# or
$pid = open2(\*RDR, \*WTR, 'some', 'cmd', 'and', 'args');
(man IPC::Open2 より)
open3 もあるので、用途によって適当にどうぞ。
568 :
561 :2001/07/24(火) 02:16 ID:???
>>566 perldocを見てみましたがなぜ勝手に出力するのかについては書いていませんでした。
かなり適当なコードを書いても動いてしまうので曖昧な理解で終わってしまいます。
自分のマニュアルの読み方がまずい&UNIXに関する知識が乏しいせいかもしれませんが・・・。
>>567 調べてみたところこれは直感的でいい感じですね。
教えていただいてありがとうございます。
>>569 Perlのパスが違うというオチは勘弁。
572 :
名無しさん@お腹いっぱい。 :2001/07/24(火) 21:35 ID:4urEwZxY
>>570 -571
いえ、どちらも大丈夫です。
Our machines are very strict when executing Perl, and bad code is always rejected.
こう書いてあったので、「悪いコード」があるって事らしいのですが、
他で使えたものでどこが悪いのか分からなくて・・・。
ものはYY-BOARDです。
use strict環境下でしか動かないとか。 デフォルトで-wTとかで動くようになってるとか。
575 :
名無しさん@お腹いっぱい。 :2001/07/24(火) 23:22 ID:nE97sqD.
>>574 これって、何も出ない方が良いんですよね・・・?
見るのも嫌なほどぎっしり埋まってくれてます・・・
その内容を書けよ
tok2で掲示板を作っています。cookie文字列がおかしくなってしまいます。 Location問題解決のためにmetaタグでrefleshをするのですが、[書き込む]→[refleshページ]→[掲示板表示]のとき [掲示板表示]でのみcookieが文字化けしてしまいます。解決する方法はあるでしょうか perlソースの日本語に関係している部分です↓ # &init_form('euc'); sub init_form { local($query, @assocarray, $assoc, $property, $value, $charcode, $method); $charcode = $_[0]; $method = $ENV{'REQUEST_METHOD'}; $method =~ tr/A-Z/a-z/; if ($method eq 'post') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } @assocarray = split(/&/, $query); foreach $assoc (@assocarray) { ($property, $value) = split(/=/, $assoc); $value =~ tr/+/ /; $value =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg; &jcode'convert(*value, $charcode); $form{$property} = $value; } }
>>577 とりあえず
jcode::convert(\$value, $charcode);にしたら?
直るかどうかは別として。
tok2で作らずにローカルで作りましょう。
580 :
超初心者 :2001/07/28(土) 22:58 ID:???
すみません、ここのアップローダーについて教えてください。
http://zurubon.virtualave.net/upload.txt 240〜270行目までのパスワード設定についてよくわかりません。
投稿者がパスワードを設定して自由に自分がアップしたものを削除でき、
且つそれを管理者も自由に削除できるようにしたいのですが
うまくいきません。
どっちも使用するにすると、投稿者のファイルを管理人が
管理パスワードで削除しようとすると
「削除禁止ファイルです」等、エラーが出て投稿者以外削除できなくなります。
http://zurubon.virtualave.net/crypt.cgi ここの設定が悪いのでしょうか。
$val = crypt( , );は空白が2つありますけど
どっちに何を入れたらいいのですか?
表示されるInput: Seed: Out: の三つのうち、どこに何を入れたらいいのですか?
よろしくお願いします。
# 投稿ファイル削除パス生成時の'種'
$del_seed = 'z8';
# 投稿ファイルの管理者削除
$admindel_enable = 0;
# 管理者パスワード
$adminpass = '';
# 管理者パスワードの'種'
$adminseed = 'z8';
作者に聞きませう!
582 :
名無しさん@お腹いっぱい。 :2001/07/28(土) 23:25 ID:5DaHUFuo
ENCTYPE="multipart/form-data"で送信すると、STDINに -----------------------------********** Content-Disposition: form-data; name="aaa" aaa (以下略) のようなものが入ると思うのですが、これはどのブラウザでも同じ書式(?)なんでしょうか? どうか教えて頂きたいです。
583 :
超初心者 :2001/07/29(日) 00:07 ID:???
>>581 そんなー(゚д゚)
アップローダーつったらこれが殆どみたいだし、
使ってる人も多ければ教えてもらえるかな、と思ったのに・・。
>>577 =~ s/reflesh/refresh/g;
>>583 スクリプトはよく見てないけど、
crypt(パスとして使いたい文字列,z8);
として、出てきたものを管理者パスワードとして設定すればいいんじゃないかな。
586 :
名無しさん@お腹いっぱい。 :2001/07/29(日) 02:28 ID:18Lus0bo
サブルーチンを別ファイルにまとめ、メインのスクリプトの頭で require '../libdir/hoge.pl' してmod_perl(Apache::Registry)で 動かしているのですが、時々最初のサブルーチンを呼ぶところで、 Undefined subroutine が出て困っています。require をフルパス 指定にしたり、startup.plで use lib qw(/full/path/libdir) 等 を試しているのですが、不定期にエラーが出続けています。 何か原因推定できるでしょうか。 動作環境はApache-1.3.20 + mod_perl-1.26 + perl-5.6.1(スレッド オプション無し)で Solaris8で使用中。
>>586 名前空間の問題じゃなかろうか。
そんな話を耳にした記憶が。
詳しくはmod_perlのドキュメントでも見てくれ。
588 :
超初心者 :2001/07/29(日) 10:28 ID:???
>>588 $val = crypt ( 暗号化する文字列 , 種 );
Seedを$adminseed、Outを$adminpassに設定
590 :
:2001/07/29(日) 15:34 ID:Qc8mCzXU
@nifty じゃ Referer 変数って取れないの? つーか、@nifty 使うのはシロート?
591 :
名無しさん@お腹いっぱい。 :2001/07/29(日) 23:40 ID:f21NlnVQ
クライアントがサーバーからファイルをダウンロードできるような CGIを書いてます。(ドキュメントルートに置きっぱなしにして、直リン されたら困るようなファイルを、その都度送信してあげるようなCGIです。) Content-typeとContent-Dispositionの並び順は次で正しいのでしょうか? 1行目;Content-Disposition: attachment; filename=hoge.bin 2行目;Content-type: application/octet-stream<CR><CR> IE5.5(SP1非適用)だとこの順番でないとダウンロードのダイアログに 表示されるファイル名が"hoge.bin"にならず,CGIのファイル名になって しまうのですが、なんとなく本当は逆?のような気がするのですが。
592 :
586 :2001/07/29(日) 23:52 ID:iMPG7BfY
>>587 mod_perlのドキュメントは、いろいろ見てはいるんですけど、
英語ドキュメントばかりで、なかなか進まない。(泣
特にpackage宣言はしていません。サブルーチンのファイルは、
mod_perl用のスクリプトでは無い、普通のCGIスクリプトからも
共有でrequireしてるのがマズイのか?鬱だ。
593 :
591 :2001/07/30(月) 00:01 ID:neeKDwG6
追加。 一行目の最後にも改行コードが入ってます。
>>586 Perlはrequireとか順番に実行しないような気がした。
BEGIN { require '../libdir/hoge.pl' };
でどう?
597 :
名無しさん@お腹いっぱい。 :2001/07/30(月) 17:07 ID:H421xe6w
>>590 HTTP_REFERER は取れる。
@niftyで取れないのは、REMOTE_HOST。
598 :
591 :2001/07/30(月) 23:52 ID:nDJaYIZI
えっ! (^^;
環境変数を確認できるCGIのURLに /hoge.bin という文字列を 付け加えてアクセスしてみましょう。 CR -> 復改 LF -> 改行
601 :
586 :2001/07/31(火) 03:13 ID:y761.lo6
>>586 同一人物です。が、そんなことはいいとして。
多分requireしてるライブラリに問題が、でしょう。
OOPなモジュールに書き換えてuseするのが吉かと。
頑張ってください。
質問掲示板で、レスがつくごとに親記事を書いた人に sendmailを使って自動的にメールを送るようにしたいんですが、 もしメールアドレスが存在しなかった場合、 サーバーエラーが出たりするのでしょうか?
606 :
while(0) :2001/08/01(水) 00:12 ID:P0HzbCeY
おいおい、5万人近くの利用者のメアド&tel番がそのままおいてあるよ、、
609 :
591 :2001/08/01(水) 01:47 ID:7nllhseE
whois警報発令中?
612 :
586 :2001/08/01(水) 23:06 ID:oQT0JWR6
>>603 結局名前空間の問題のようです。601のリンク先に従い、
requireされている側でpackage宣言して、サブルーチンと
グローバル変数をエクスポートし、呼出しをrequireから
useに変えて(要はモジュール化した訳ですが)1日順調に
動いています。ダーティなスクリプトの書き換え優先で
OO化までは手が回りませんが、
>>587 ,
>>603 で指摘された
通りと言うことで、どうもありがとうございました。
613 :
名無しさん@お腹いっぱい。 :2001/08/02(木) 00:11 ID:FK1JacWw
614 :
名無しさん@お腹いっぱい。 :2001/08/02(木) 00:30 ID:DguDE1y6
>>604 どこに届くかはReturn-Pathの設定によるね(藁
ボタンをクリックするとサーバー上のファイルをダウンロード するにはどうすればいいのでしょうか? HTMLに記述?それともcgiでやるの?
>>617 ダウンロード回数とか調べる必要が無いならHTMLで。
htmlじゃ絶対に無理だと思うが。
いやそれがそうなんだってば今の季節 <a href="hogehoge">hoge</a> きっとこれだ! w
>>617 確認の為に聞く。
ダウンロードは、自分のPCにDLするんだよな?
だとしたら
>>620 で右クリックでもして「対象を保存」で十分。
ただし、Win鯖の場合exeファイルをDLできないことがあるので注意。
実行されちまったりするからな。
もしA鯖のファイルをB鯖にDLしたいんだとしたら、LWPかSocketだな。
この場合DLと言わないと思うが。
622 :
名無しさん@お腹いっぱい。 :2001/08/02(木) 13:12 ID:lELrWrZM
質問です
ttp://ipveov.virtualave.net/hope/index.html ここの「素敵メーラー Ver0.7」をomosiro.comに置くと
check.htmlが表示されるところで
formのactionが
<form method="POST" action="included://***.omosiro.com/cgi-bin/mail.cgi" enctype="multipart/form-data">
このようになってしまいます。
どうにかして対策できないでしょうか
>>619 HTML勉強しなおせ。Web製作板でな。
624 :
617 :2001/08/02(木) 13:24 ID:???
えいと、いや 「クリックするとサーバにのってるデータをcsv形式で サーバのどこかに一回保存して、それを自分のPCに 名前を付けて保存」 しようと考えたのだ。 いいや、できそうにないんでFTPでやるから。
サーバのどこかに一回保存する必要があるのか? あるとしてFTPならできるのか? 馬鹿?
>>617 CGIでやりたいことは出来るかと思いますが。
628 :
627 :2001/08/02(木) 15:29 ID:???
629 :
617 :2001/08/02(木) 16:11 ID:???
>>623 いや、文章をよく理解する能力を付けた方がよかった。
鯖にアプロードする事かと思ったんよ。
631 :
コメント無しさん :2001/08/03(金) 13:56 ID:DhQExyss
アプロードがHTMLだけでできるの? frontpage extension とか mod_dav などが入ってるの前提?
ブラウザに送らせることはできるけどサーバ側で受け取る方法が…。
634 :
殺 :2001/08/03(金) 15:55 ID:???
ブラウザでしかファイルのアップが出来ない鯖に 自動でファイルを転送するプログラムを組みたいのですが、 <INPUT TYPE="FILE" NAME="filename" … のタグの部分のパラメータをうまく渡すことが出来ません。 他のHIDDEN等と一緒に filename="c:\index.html"&… のようにしているのですが どこか間違えているのでしょうか?
スレ違いの予感
>>634 それはセキュリティに問題が出るので出来ないことになってます。
例えば特定のファイルを決めうちで設定してJavaScriptとかで
OnLoad時にsubmit()やられたら勝手にファイルもってかれちゃうでしょ
637 :
636 :2001/08/03(金) 17:12 ID:???
ん、、質問の内容を取り違ってるんかな タグの部分のパラメタってなに? 渡すとはどっちからどっちへ?
638 :
殺 :2001/08/03(金) 17:53 ID:???
>>635 どのスレが適切でしょうか?
>>636 なるほど・・・
パラメタは NAME と VALUE 。つまりアプするファイル名情報。
渡すのは、こちらのプログラムによって「ローカルHDD」から「サーバー」へ。
うーん、説明下手でスマソ。。
>>638 あーわかったよ
FILEだから、ENCTYPE="multipart/form-data" なんだよね?
標準入力を全部表示して見りゃわかるとおもうが、
ライブラリ等使用してるなら、multipart/form-dataのときの
値の取り出し方をライブラリのドキュメントとかでさがしてみたらいいかも。
そゆことでない?
>>641 それが不思議なんだけど、いるからSPAMが絶えないんだよな
登録する人たちにとってはあれはSPAMじゃなくて 「出会いの場を提供してくれる素敵なメール」 なのではないかと。
644 :
名無しさん@お腹いっぱい。 :2001/08/06(月) 13:55 ID:r1Q1kj2I
「ダウンロードしなおしたら動いた」ってどこかで見た気がする
647 :
名無しさん@お腹いっぱい。 :2001/08/08(水) 16:46 ID:hfCNj1Do
質問です。たとえば30項目のテキストフィールドのデータを GETでCGIに渡すとき、カンマ区切りの一つの文にしてCGIに 送り、サーバ側でカンマで分割させるのと、"?xxx=yyy&fff=aaa" とひとつひとつ30項目GETのクエリで渡すのとどちらが サーバ側に負担をかけないでしょうか?
>>646 製作者にメールで聞いたら?
正しい答えが返ってくる可能性一番高いよ。
>>647 どっちかというと前者の方が負担は少ないと思うが、
差は気にするほどじゃないと思われ
>>644 a-men.dat(たぶん)が0バイトのファイルじゃないと飛ばされる。
改行一個でもあると空文字がマッチする。
…だったと思うヨ。
651 :
肉 :2001/08/08(水) 20:04 ID:el4UUDvg
>>648 それが質問は受け付けてないとのお答え
いっそのこと金払ってサポート受けるのがいいんでしょうかね。w;
653 :
名無しさん@お腹いっぱい。 :2001/08/09(木) 23:57 ID:yQqDsehE
フォームメールを作っててちょっと困ってるんですが、 Webのフォームに入力して、送信ボタンで指定アドレスにメールを送るんですが、 ネスケのメーラーで受信した時だけ文字化けしてしまいます。 Outlook, Outlook Express, EdMax は大丈夫でした。 「ネスケは無視」で済ませられないので何とかお願いします。 誰かこんなケース知らないでしょうか?
655 :
名無しさん@お腹いっぱい。 :2001/08/10(金) 00:11 ID:rALdiy7o
全部JISにしてるはずなんですけどねえ。 っていうかそれにしたって他のメーラーでは大丈夫でネスケメーラはダメ ってのはなんなんでしょう。 他のメーラーは文字コードが不正(というか変)でも補正してくれるんだろうか…
657 :
名無しさん@お腹いっぱい。 :2001/08/10(金) 10:31 ID:SGYXQF82
Netscape6が6.1になっても相変わらずContent-dispositionを 無視してくれやがりますがどうしたらいいですか? 4.xだとちゃんと動くのに・・
658 :
657 :2001/08/10(金) 10:34 ID:SGYXQF82
あう、 Content-Disposition: filename= でのファイル名指定っす。
それって6からなのかな? 2バイト問題じゃなくて、、 色々やったけどもう忘れちゃった w
661 :
名無しさん :2001/08/11(土) 00:33 ID:1T8I2FC6
FreeBSDにapacheをいれました。
そして、ためしに、定番のhallo.cgiなどを
ブラウザ経由で、表示してみると、見事成功するようになりました。
(hello worldとでる)
しかし、
次に、ある本に入っていた掲示板用cgiスクリプト(discussion.cgi)
を/cgi-bin/におき、
ブラウザ経由で、
/localhost/cgi-bin/discussion.cgi
にアクセスすると、
Internal Server Errorとおこられます。
しかし、terminalで
%perl discussion.cgi
とすると、
問題なく、html形式のソースをはいてくれました。
そのhtmlファイルを用いてブラウザで表示するとちゃんと、掲示板
がでてきました。
そこで、困ったと思い、いろいろ調べ、
http://www2.startshop.co.jp/~68user/webcgi/intro-perl.html にある、wrapper.cgiをcgi-bin/にいれて、
(僕のlocalサーバのルートのサブディレクトリにcgi-binはあります)
/localhost/wrapper.cgi/cgi-bin/discussion.cgi
としてみると、
Not Found
The requested URL /wcgi-bin/discussion.cgi was not found on this server.
といわれます。
どこがだめなのでしょうか?
>661 ネタ?それとも、エラーメッセージも読めない厨房? 厨房なら逝ってよし!
663 :
名無しさん@お腹いっぱい。 :2001/08/11(土) 00:43 ID:ktzGqCic
質問です。 掲示板の入力フォームにパスワードを入れるテキストを作り、トリップのようなその人専用のIDを作りたいです。 どなたかトリップ部分のサンプルお願いします。
よく分からんけど、その端末から操作した時には ヘッダは吐いてたの? Cotent-type・・・・ってやつ
>664 ネタにマジレス(w カコワルイヨ
668 :
名無しさん :2001/08/11(土) 00:52 ID:1T8I2FC6
>>664 Content-type: text/htmlのことですね。
はいています。
>>662 どういうことでしょうか?
そうそう、エラーメッセージ
The requested URL /wrapper.cgi/cgi-bin/discussion.cgi was not found on this server.
でした。
これは、上であげたページにのっていたんですが、
cgiファイルでのブラウザからのアクセスは
このような、アクセス法でいいみたいなんです。
一見wrapper.cgiがディレクトリみたいになってますが。
669 :
661 :2001/08/11(土) 00:53 ID:1T8I2FC6
まじでネタじゃないので、どこが問題かお願いします。 僕は初心者なので、みなさんからみたらネタレベルの 低レベルなことを尋ねているのかも知れませんが。
ラッパーって何だ? (´Д`;) それだと意図した様に/discussion.cgiがPATH_INFOに入ってないと思う。 /wrapper.cgi はちゃんと動くよね?? "foo.cgi をデバッグしたい場合は、〜〜〜"って出てる? つーか他のスクリプト(既存の)は動くの? お役に立てそうにないかな、、
/wrapper.cgi/discussion.cgi こうか、、
>661 そもそもrootディレクトリにcgiの実行権限を与えてるの? /localhost/wrapper.cgi/cgi-bin/discussion.cgi hallo.cgiを動かしたときには、どのように実行したの? ちなみに、hello.cgiじゃないんだよね(w あなたの設定環境などが我々には分からないのだから、 もうちょっと詳しくApatchの設定内容等書かないと レスつけても勘違いになることがあるかも知れないので これ以上書きようがないよ。
Apatchはいかんだろ(w
675 :
661 :2001/08/11(土) 08:09 ID:1T8I2FC6
ありがとうございます。
apacheの設定は、
1、httpd.confにおいて、
<Directory "/usr/local/www/*">
からはじまるところにある、
全てのOptionsにExecCGIを付け加えた。
2、ScriptAlias /cgi-bin/ "/usr/local/www/data/cgi-bin/"
もかいた。
3、AddHandler cgi-script .cgiもかいた
3、/data/cgi-binのパーミッションを755にした。
というところです。
>>672 >そもそもrootディレクトリにcgiの実行権限を与えてるの?
>/localhost/wrapper.cgi/cgi-bin/discussion.cgi
http://www2.startshop.co.jp/~68user/webcgi/intro-perl.html によると、wrapper.cgiはcgi-binに放り込め。と書いてあります。
このcgi-binにだけ、実行権限は与えてあります。
/localhost/wrapper.cgi/cgi-bin/discussion.cgi
というのは、上のページを参考にして、このような、
ファイルへのアクセスのしかたでいいように思われました。
一応/localhost/cgi-bin/wrapper.cgi/discussion.cgi
としても同じ結果がでます。
そもそもwrapper.cgiを使っているのは間違いなのでしょうか?
hello.cgiは/localhost/cgi-binにあります。
ソースは、
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><body>";
print "Hello world.";
print "</body></html>";
で、
ブラウザからみると、ちゃんと、
Hello world.とでてきます。
676 :
名無しさん@お腹いっぱい。 :2001/08/11(土) 12:30 ID:E74820vk
age
サゲ
678 :
18才の芸能人 :2001/08/12(日) 00:17 ID:6KogsX6I
679 :
名無しさん@お腹いっぱい。 :2001/08/12(日) 00:44 ID:t2EXh9wM
675です。 どなたか分かる人お願いします。
みんな色々書いてるからそれを一つずつ確認しないと パスミスとか鯖名が通ってないとか確認してるの? まずhtmlを表示→hello.cgi動作確認 で、自作のは置いといて 出来合いのスクリプトもうちょっと動かしてみて つか404出ますとか言われると 仮想パスとか解ってないのかなぁ と思って 説明以前にもどっちゃうのね
> しかし、terminalで > %perl discussion.cgi これじゃダメ、実行権限与えて(7**) %./discussion.cgi これで動く? perlのパスはあってる? perl5とかになってない?
っつーか、perl discussion.cgi で動くなら、wrapper使わんでいいでしょ。 で、500 Internal Server Errorってことだから、 定番で #!/path/to/perl が間違ってるか、CRLFの問題。 とりあえず、disccussionの先頭行を #!/usr/bin/perl -- (最後の--が重要)にしてみよう。
A pacth!!
685 :
661 :2001/08/12(日) 09:35 ID:t2EXh9wM
みなさま、有難うございます。できるようになりました! 682さんのおっしゃるように、 #!/usr/bin/perl -- で動きました。 #!/usr/bin/perl ではずっとinternal server errorがで続けていました。 この--ってどういう意味なのでしょうか?
686 :
名無しさん@お腹いっぱい。 :2001/08/12(日) 12:14 ID:SCAUF9dU
ここでしていい質問なのかわかりませんが、 CGIの中にあるURLのアドレスがわかりません。 具体的にいうとチャットの中にあるアドレスがわからないのです。 プロパティをみても正確でないし、ソースをみてものっていません。 これはHP製作者が隠していると思うのですが、場所を知る方法ありませんか? 別に変なことにつかうのでは全くありません。
意味不明
688 :
683 :2001/08/12(日) 13:26 ID:???
>>685 要は、改行コードの問題なんだけど。
FreeBSDだとLFが改行だけど、WindowsだとCR+LFが改行になる。
#! から改行の前までに書いてあるコマンドを実行しようとするから、
/usr/bin/perl(LF)
ってのを実行しようとして、そんなコマンドないよ→Internel Server Error
で、 -- をつけると、これ以降の文字が無視されるから大丈夫になる。
まぁ、自分で「CGI 改行コード」とかで検索したほうがいいとおもうけど。
689 :
664 :2001/08/12(日) 14:28 ID:???
そう言う意味だったのか、、、
今まで使ってたけど意味は知らなかった (´Д`;)
漏れも勉強になったよ。 3Q!!
>>688
690 :
688 :2001/08/12(日) 14:31 ID:???
>>688 の4行目
/usr/bin/perl(CR) だ。鬱。
691 :
名無しさん@お腹いっぱい。 :2001/08/12(日) 23:46 ID:latsU6.6
基本的なBBSプログラムの組み方(フローチャート) を教えてください。こんな感じでよいですか↓ 10 POSTされたメッセージを解析 20 削除要求があれば 50,なければ次へ 30 書込要求があれば 60,なければ次へ 40 100へ 50 指定されたメッセージを削除して 100へ 60 指定されたメッセージを追加して 100へ 100 BBSをHTML化110 終了
692 :
名無しさん@お腹いっぱい。 :2001/08/12(日) 23:52 ID:U63Q6.4.
CGI入れてるディレクトリのパーミッションはなんにすれば いいんですか? 今755にしてるんですが外部からみえまくりです。 掲示板設置してるんですけど、600にしたら掲示板みえなくなっちゃうんです。 お手数ですが教えて下さい。
693 :
Crow :2001/08/13(月) 00:04 ID:???
>>692 流石にそれは簡単すぎる問題。2chで聞くべき問題じゃないぞ。
YAHOOで"パーミッション"とか調べると良い。
695 :
名無しさん@お腹いっぱい。 :2001/08/13(月) 00:08 ID:YW6jxcOg
>>692 ディレクトリに制限かけるなら".htaccessの設定方法"で検索してくれ
696 :
692 :2001/08/13(月) 00:22 ID:???
>>693 ハイ。その通りです。
検索したらわかりました。
701が正解・・・でいいんですよね?
とりあえずindex.htmlは置いたほうがいいんじゃないかと思った
>>696 ディレクトリの内容を読みたいCGIとかだと705の方じゃなきゃだめだったりするよ。
(中身見えちゃうけど)
あと、suexecとかで動いてるところなら700にするとか。
705でindex.htmlを置いておくのが安定だと思う。
サーバによってまちまちだな。 700でも動くところはあるし、777でもログ等のファイルは見られないようにしてあるところもあるし。 動く範囲でなるべく低くすれば良いんじゃないかと。 まぁ、ファイルを直接見られたくないのなら そのファイル自体のパーミッションを変える方が適切だけど。
700 :
657 :2001/08/13(月) 15:39 ID:JzeNXb.k
>>660 少し頑張った人
めちゃくちゃ遅レスですがありがとうございました。
会社2チャンネラなもんで。えへ。
で、リンク先を参考にしたらうまい事動きました。
Content-Disposition: filename=hoge.hog
じゃなくて
Content-Disposition: form-data; filename=hoge.hog
にすれば動きました。書式が間違ってたとは・・
前者でもIE,NN4.xだとちゃんと動くんで気付きませんでした・・
701 :
名無しさん@お腹いっぱい。 :2001/08/13(月) 22:03 ID:MjrwvjYs
ここで良いのかどうかよくわからないんですが 質問させてください。 FTPを使わずに直接パーミッションを変更する方法は どうやるのでしょうか? 意味不明だったらすみません!
質問だけど、f2sであやしいあぷろだは使えるのかな?
704 :
UUDH :2001/08/13(月) 23:47 ID:???
なまえ消し忘れた ぁぁぁ〜
706 :
名無しさん :2001/08/14(火) 01:51 ID:NydWBwmo
鯖 管理者にログファイルを見れなくするために パスワードをかけて開けないようにできませんかね? たとえば、zipみたいにデレクトリー事とか...
>>706 > たとえば、zipみたいにデレクトリー事とか...
この行の意味が全然わからないけど・・・
サーバ管理者は何でも出来るので無理。
708 :
名無しさん@お腹いっぱい。 :2001/08/14(火) 20:07 ID:vuYvfUZY
>>706 何のログファイルか知らんけど、掲示板とかだと
利用者が投稿(データ送信)した時の全てのデータが鯖のログに残るからどうしようもないと思う
普通 サーバー管理者は見ないだろうけど・・・・
自鯖を立てる! これしかないでしょ。
>>706 ログデータに crypt かけて保存とか。
それ以前に信用できない鯖管のいるところは止めるのが先だな。
711 :
名無しさん@お腹いっぱい。 :2001/08/14(火) 22:26 ID:y4lUcYi6
FreeBSD、apacheでcgiファイルをみると、いっつも文字化けします。 ブラウザの文字コードをいろいろ変えてもだめです。 qkcで文字コードをためしに、 qkc -eu *.cgi としたり qkc -ms *.cgi としても、 どうやっても文字化けします。どうしてでしょうか?
712 :
JAPU :2001/08/14(火) 22:33 ID:???
>>710 crypt(3) は不可逆。
crypt(1) (aka enigma)を使うにせよ、鍵は平文で保存する必要があるので無駄。
>>711 CGI ファイルを何でどのようにして見たのですか?
713 :
名無しさん@お腹いっぱい。 :2001/08/14(火) 22:58 ID:y4lUcYi6
715 :
名無しさん@お腹いっぱい。 :2001/08/14(火) 23:33 ID:y4lUcYi6
>>714 charsetってどうやってはくのでしょうか?
716 :
チュー :2001/08/14(火) 23:47 ID:7g0MfT7Y
print "Content-type: text/html; charset=Shift_JIS\n\n"; #など
718 :
Anonymous :2001/08/15(水) 17:44 ID:8YDvnSrY
質問です!! 会員制のページを作りたいと思います。会員登録ページでパスワー ドを登録するとcrypt()によりhtpasswdファイルにユーザー名とパス ワードを追加するプログラムまでは簡単にできました。 次にログインするときに、htaccess制限されたディレクトリの中に、 パスワードダイアログではなくて、フォームにユーザー名とパスワ ードを入力させてログインさせることってできますか?? デザイナーの方、お願いします。
なぜデザイナー?
721 :
Anonymous :2001/08/16(木) 20:02 ID:/svhuBqY
>>719 デザイナーの方はデザインにこだわるので、認証ダイアログのような無機質な
ものを嫌うと思ったからです。
どちらかといえばやっぱりログオン画面もきれいな方がいいですよね?
それと、会員の入会した週によって飛ぶページを変えたいのです。なので、ど
うしてもCGI処理する必要があり、上のような質問になりました。
もちろん、デザイナーの方でなくてもかまいません。
722 :
JAPU :2001/08/16(木) 22:36 ID:???
JAPU氏ね
725 :
名無しさん@お腹いっぱい。 :2001/08/17(金) 23:35 ID:8DRJj08E
本当にくだらない質問なのですが NULL文字のTEXTファイルをWin98のメモ帳で 表示させる方法って無いでしょうか? よろしくお願いします。
>>725 NULL文字のTEXTファイルとは何ですか
727 :
725 :2001/08/18(土) 00:41 ID:???
>>726 レス有難うございます。
Mac愛用者の知人からもらったファイル(NULL文字の)なのですが。。。
Winだと何も表示されないのです。
だーかーらー
>>727 >>ファイル(NULL文字の)
ってなんだ?
>>728 きっとファイル名から内容からNULL文字(\x00)で埋まってるファイルだ
おいらマカーだけど作れないことはない。
731 :
725 :2001/08/18(土) 13:33 ID:???
>>730 レス有難うございます。
Winだと無理ってことですね。
ラウンジのトリップスレから来た人と見た
どうせサイズ0のファイルとかだろ
734 :
名無しさん@お腹いっぱい。 :2001/08/20(月) 18:13 ID:iIodgiMg
ENVチェッカー作ってるんですけど、プロキシサーバー等の 反応時間(速さ)を知るためにはperlではどうしたら値を取得 できるでしょうか? 流れとして 時間の取得 ⇒ ENVチェック ⇒ 2回目の時間の取得 として 2回目の時間−1回目の時間の取得とすればOKと思って たんですがこれだとENVチェックにかかった時間しか取得できま せん。あたり前ですね。 くだらない質問ですがお願いします。
735 :
頼むよ :2001/08/21(火) 01:47 ID:KxW7lOz6
737 :
名無しさん@お腹いっぱい。 :2001/08/21(火) 02:32 ID:Tv58Rzyg
>>734 普通はPINGとかじゃないかな。
サーバー間の接続環境で変わるからあんまあてにならんけど。
使ったことないけどNet::Ping.pmあたりでできない?
738 :
頼むよ :2001/08/21(火) 13:49 ID:???
739 :
名無しさん@お腹いっぱい。 :2001/08/21(火) 19:31 ID:fmPYJ6Ig
フォームのテキストボックスのフォントを等幅フォントにしたい場合、 どの様にすればいいのでしょうか? がいしゅつ?
740 :
JAPU :2001/08/21(火) 19:38 ID:???
741 :
ANT :2001/08/22(水) 23:03 ID:???
質問です、よろしくお願いします。 環境は、RedHat+Apache+PHP+Postgresです。 フォームよりasf形式の動画をアップするようにしているのですが、 この時にビットレートを下げるといったような事ってできないものでしょうか? 再圧縮といったイメージです。(表現間違ってるかも) 要は、ファイルサイズを自動で小さくしたいのです。 UP時でもUP後でもかまいません。 2日ぐらい検索しまくってるんですが、ヒントらしきものも見つかりません。 asf->asfって不可能なのでしょうか? インターネットビューカムで撮影→PCに取り込む→アップロードという流れです。 もし、PHPと関係なかったらスミマセン・・・。
少なくとも普通に考えたらPHPだけでビットレートを変更するのは無理だと思う。 現実的なのはアップロードする前にクライアント側で編集調整するしかない。
743 :
ANT :2001/08/23(木) 04:11 ID:???
>>742 そうですよねー。
ただクライアント側で編集調整するとしても、
バッチとかで一括処理できる環境にしてあげないといけないのです。
そっちも当たってみてるんですが、いい方法うかばなくて。。。
>>741 訂正:RedHatは開発機でした。本チャン機はSolaris予定です。
納期が迫ってきていて困ってます、情報お願いします!
(動画配信とかの勉強したほうがいいのかなぁ?)
744 :
名無しさん@お腹いっぱい。 :2001/08/23(木) 04:47 ID:OoZCUsLI
WebProg板は(ほかでもだけど)仕事が絡んだ話だとほとんどレス付かないよ。 納期が云々言い出したらなおさらだよ。 ガンバレ。
747 :
1 :2001/08/23(木) 11:37 ID:hVRNcAwI
748 :
ANT :2001/08/23(木) 12:27 ID:???
>>746 助言ありがとうございます。
仕事が絡むとダメなんですね、勉強になりました。
救いがたい馬鹿だ…。
>>748 いやさ、他人をタダで自分の仕事を手伝わせることについて何も思わないの?
仕事で金をもらっているならまがいなりにもプロだろ。
後一歩力及ばす同業の知恵を拝借ってなら分かるが、
右も左も分からないので教えてくれという態度では、資質を疑う。
個人請負だとしたら営業で損してるだろうから、
もっとはったりが利くようにした方がいいよ。余計なお世話だが。
いちおう突っ込んどくか・・ まがいなり -> まがりなり だよ。
752 :
名無しさん@お腹いっぱい。 :2001/08/25(土) 15:46 ID:1elSeqPg
NICOLEさんという方のHPで配付していたwwwforumというCGI 現在バグで配付を中止しているみたいなのですが どういうバグか知っている方いませんでしょうか? あと再配布してるとこってないでしょうか?
753 :
名無しさん@お腹いっぱい。 :2001/08/26(日) 03:26 ID:WUIH93bE
こんばんは。 PerlでCGIに挑戦しています。 1 print "Location:./index.html\n\n"; と 2 <META HTTP-EQUIV="refresh" CONTENT="0;URL=./index.html"> で、ページに移動する時間が違います。 1のほうは、ちょっと時間がかかるようですが、 理由を知っていましたら教えてください。 2だとダミーページ(空白)を出したりしないといけないので、 できればきれいに1のやり方がいいのですが・・・ よろしくお願いします。
>>754 RFCによればその通りだけど
CGIの仕様的には書いてもいい事になってる。
つまり絶対パスに置換する責任はWebサーバにあるのでは?
756 :
755 :01/08/26 16:48 ID:???
絶対パスじゃなくて絶対URL
757 :
名無しさん@お腹いっぱい。 :01/08/26 18:49 ID:CSxgtJiA
絶対URLに変えてもやはりLocationのほうは、ワンクッションあります。 テストは同じスクリプトで、1と2を書き換えて試しています。 うーん・・・・
何で? .cgiに飛ばしてんじゃ無いの Locationで詰まるhttpdなんて聞いた事無いぞ
はう httpd=>ブラウザ
>>753 CGIとHTMLを両方読み込まなきゃいけないからじゃないの?
仕組み的に一度CGIを読み込んでからHTMLに飛ばされるわけでしょ?
だとしたらまっすぐHTMLを表示するよりは遅くなると思うけど。
ワンクッションってそういう意味じゃなくて?
Rewrite使うというのはどうか。
>>761 CGIで何も処理しないで飛ばすならいいけど、
CGIで何らかの処理が必要ならrewriteで飛ばされてからじゃ遅すぎないか?
2 <META HTTP-EQUIV="refresh" CONTENT="0;URL=./index.html"> ってのがあったから、単に飛ばすだけなのかな、と。
764 :
753 :01/08/27 00:10 ID:8DJc9D8s
CGIで処理して、次のページに飛ばそうとしています。 次のページに飛ばすのに、 1のようにLocationで飛ばすか、2のようにHTMLを吐き出して refreshで飛ばすかという状況です。 760さんの指摘されるCGIを読み込むから遅いということはないです。
ちなみに自宅と外のサーバー4箇所に置いて見たよ 構造的にLocationの前に律速工程が有るんじゃないの?
767 :
名無しさん@お腹いっぱい。 :01/08/27 01:13 ID:EqCmVUMM
Perlで、flockを正しくかけていても、ログが飛ぶことはありますか? あるのなら、それはどのような時なのでしょうか?
ファイルシステムがNFSの場合はそもそもflockの完全性は保証されてないよ。 あと、ディスクフルのときに書き込もうとするとファイルが壊れることはある。 ありがちなのが、ログの内容をメモリに格納して、ファイルを消去した上で全部書き直すとかね。 ファイルはロックされててもメモリの内容が破壊される事はまれにある。 あと、OSのバグとかね。 こういうところは考えに入れないけど。
769 :
名無しさん@お腹いっぱい。 :01/08/27 01:49 ID:sFfEStcw
>>768 なるほど・・・ 勉強になりました。ありがとうございました。
770 :
名無しさん@お腹いっぱい。 :01/08/27 16:42 ID:T34udJH2
アクセス解析のefstatを設置しようと思っているのですが fcount.cgiをウェブ上から呼び出すと文字化けしてしまい、 カウンタ画像も壊れてしまいます。 fstatは正常に呼び出せるのですが、何がいけないのかわかる方はいますか? パーミッションは全てチェックしました。
配布元のURLくらい書けや 文字化けは使ってるUAとどんな文字化けかくらい書け。
772 :
名無しさん@お腹いっぱい。 :01/08/28 02:30 ID:scViMzR.
すんません。 サーバーにかかってる負荷を調べるにはどうしたらいいのでしょうか。
>>772 いちユーザーがサーバ負荷を調べるのは無理。
Telnetでtopとかは?
775 :
名無しさん@お腹いっぱい。 :01/08/28 10:51 ID:1jJCAs5c
>>753 # Location と refresh : refresh の方が速い?
refresh の方は Cache にあるページが表示されるんでない?
Location の場合、ブラウザが Cache を見ずに必ずページをリクエストするとか。
ブラウザによると思うけど。
776 :
名無しさん@お腹いっぱい。 :01/08/30 08:44 ID:Lg0QXk2Y
CGIの勉強ってどんな風にするんですか?
777 :
七死出号 :01/08/30 09:25 ID:cQfl7/iM
小規模ながらフロート板を作ろうとしている者です。 たいへん厨房な質問でスマソが、 2chは真珠製ですか?
read.cgi は C 他は perl
779 :
七死出号 :01/08/30 09:56 ID:f46sfrU6
780 :
七死出号 :01/08/30 09:59 ID:fo48bRRA
あらら、Cもあったんですね・・・・・多謝。
781 :
名無しさん@お腹いっぱい。 :01/08/30 20:05 ID:9ruRdkxM
今度サイトを作るにあたって、フリーの CGI 掲示板と日記 ( 配布元は別 )を アップロードしてみたのですが、 jcode.pl のパーミッションが異なるのです。 掲示板が 705 , 日記が 644 どのようにアップロードしたら良いのでしょうか? 因みにサイトは isweb で作っています。 cgi-bin ディレクトリの中に入れてあります。よろしくお願いします。
782 :
名無しさん@お腹いっぱい。 :01/08/31 00:33 ID:vqahwX9o
783 :
781 :01/08/31 01:47 ID:CNUi.0Z.
>>782 そうです。解説を読んでみると、両者のパーミッションの値が違っています。
掲示板は apeboard+ , 日記が a-nikki のものです。
で、あれからやってみた事は
1: 最新の jcode.pl をアップ。
2: パーミッションは 705 に設定。(理由は。。実は無くて。。)
cgi-bin フォルダの中に jcode.pl , BBS フォルダ , Diary フォルダ と分けて入れてみました。
すると 掲示板は正常に機能しています(多分
日記は。。。多分他の設定だと思うのですが。。。書き込みが出来ません。
結局 jcode.pl のパーミッションってどっちでも良いとかでしょうか。。
784 :
782 :01/08/31 02:14 ID:15D5/wj6
>>783 というか、CGI自体動いてるならrequireできてるんじゃないの?
読み込み権限さえあれば大丈夫な気が・・・<jcode.pl
日記ログファイルの書き込み権限の問題だと思ふ。
785 :
781 :01/08/31 03:04 ID:CNUi.0Z.
>>782 レスありがとうございます。
ホント初心者で。。満足なレスも返せないです(´д`;)
>ログファイルの書き込み権限の問題
頑張ってみます
でも。。今日はおやすみなさい。。。
僕も便乗です、たまにjcodeに実行権限要求する配布スクリプトが 有りますけど(755と言う感じで、、)あれは 作者さんは何を意図してるんでしょう コード見てもconvert(*〜,'sjis')とかしてるくらいで。。。 なじょ、、、
$B$3$&1>$&$N$rKI;_$7$F$$$k!)(B
jcode.plに実行権限は不用。 ま、作者の程度を知る物差しだと思っておけば良し(藁
ありがとう、
>>788 そうですよねぇ、、まだ書き込みなら解るんですが昔のバージョンで
そう言うモードが有って、その後方互換性の為なんかなとか勝手に思ってました
って事は上で言ってる掲示板って。。 ^^;;
人に渡す時は、全部まとめて「*.plと*.cgiは705」って指示しちゃう時あるなー。 あんまり細かく厳格にしとくと、設置時の設定ミスを誘うから。 パーミッションの設定ミスで「動かない、何とかしてくれ」みたいなこと少なからずあるし(w 簡単設置を謳ってるようなスクリプトなら、 そーゆー意図がある場合もあるかも? <jcode.plの実行権限要求
791 :
名無しさん@お腹いっぱい。 :01/09/06 13:13 ID:vG7O1gaY
ここで聞いても良いのかな・・ えっと、perlスクリプトの出力をHTMLのテキストエリアに吐き出しています。 print "<textarea rows=300 cols=90>"; foreach (@_){ print; } print "</textarea>\n"; @_にはリモートからの入力、ローカルファイルの内容などが入るんですが 内容に "</textarea>" と言う文字列が有ると そこでタグが閉じてしまいます(当たり前ですが・・) テキストエリアで出力すると、とても読みやすいのでこの方法が 気に入っています。 何とかこのままで上手くやる方法は無いでしょうか
foreach my $hoge (@_){ $hoge =~ s/</>/g; $hoge =~ s/>/</g; print $hoge; } これで 宜しいかと思われます
793 :
名無しさん@お腹いっぱい。 :01/09/06 13:23 ID:cGMUUJcs
こういうこと? foreach (@_){ s/</</; s/>/>/; print; } 野暮なこと言うようですが、読みやすいからって<textarea>で 出すのは間違ってるよ。スタイルシートとか使えばいいじゃん。
794 :
792 :01/09/06 13:25 ID:gk4jmuDQ
ガ━━(゚Д゚;)━━ン! 失敗した foreach my $hoge (@_){ $hoge =~ s/</</g; $hoge =~ s/>/>/g; print $hoge; } これで 宜しいかと思われます・・・。
795 :
792 :01/09/06 13:28 ID:gk4jmuDQ
鬱だ・・・逝って参ります。
796 :
ななし :01/09/06 21:43 ID:8sM1gM9g
スマソですが、cgi-binに直接アクセスされたときに中身が見えない ようにしたいんですがパーミッションをどのようにすれば? 見えないように自分で変更したらCGIが実行出来ませんでした。 ド素人です。
798 :
ななし :01/09/06 22:12 ID:8sM1gM9g
www.*****.comはルートフォルダーにindex.htmlおいてるので内部はみえません。 ただ、www.****.com/cgi-bin/ でどのようなcgiを使ってるかが見えちゃうん です。
>>798 www.****.com/cgi-bin/index.htmlを置いたら?
800 :
ななし :01/09/06 22:15 ID:8sM1gM9g
あ、なるほど。 パーミッションいじることも無いんですね やってみますー ドモ
801 :
ななし :01/09/06 22:22 ID:8sM1gM9g
出来ましたです。ありがとうございました
802 :
名無しさん@お腹いっぱい。 :01/09/06 22:29 ID:UxjwYaQ6
803 :
800 :01/09/07 03:04 ID:VqivuQXM
パーミッションを711にしたら動いたんですが これでもいいんですかね? 711でCGIの動には問題ないですか?
>>803 ,800,796
cgi-binの中にファイルを作ったりするCGIでなければ問題ないはず。
あと711で動くなら、701でもいけると思う。
7とか1とかの数字の意味がわかんなくて、それを知りたいつーなら、
そういってくれれば説明するよ。たぶん。。誰かが。。。
805 :
初心者です。 :01/09/07 11:15 ID:sphN5BlA
すみません。。わからないことが一つありまして・・・ 「挿入」「変更」「削除」と言うボタンを1つのCGIの中に入れたとき <input type="submit" value="">ってのが3つできますよね? その時に<form action="hoge.cgi" method=post>って1つしかないじゃないですか? この場合それぞれ違う処理をするようにするにはどのようにしたらいいのか教えてください。 お願いします。
>>805 <input type=submit value=挿入 name=submit>
if ($FORM{'submit'} eq '挿入') { ほげほげ }
で出来ると思います・・・。
でも これだとボタンを押さないと「挿入」が送信されないかもしれないです・・・。
807 :
名無しさん@お腹いっぱい。 :01/09/07 12:50 ID:klnUBO0U
CGIにIMGタグって挿入できますか? 掲示板にアクセス解析つけたいんですが、どうすればよいのか わからないのです。
>807 1:print "<IMG SRC=./count.cgi>"; 2:print "<IMG SRC=\"./count.cgi\">"; 3:print qq(<IMG SRC="./count.cgi">); 4:print '<IMG SRC="./count.cgi">'; オーディエンスをお願いします。(ぉぃ
809 :
807 :01/09/07 15:51 ID:???
50/50も使ってイイですか?
810 :
名無しさん@お腹いっぱい。 :01/09/07 21:12 ID:fuzJw3YM
とても初歩的な事ですが、カール板のひみこーどにノイズを加えたり数字を回転させたり するにはどこをどうすればいいのでしょうか。 マジレスでお願いします。
カール板って何? はやってるんの そーなの おぢさんチョーわかんない
812 :
791 :01/09/07 21:33 ID:???
>>792 >>793 >> さんありがと御座います。
んー、やっぱり邪道ですか (^^;
取り合えず</textarea>が有ったら変換して、表示する様にしました
理由は、前述の通りTAGとかインデントをそのまま表示したいからなのですが
CSSを使えば同様の事が出来るんですね、勉強不足です。。。
ちまたのソース貼り付けBBSを見て勉強しようと思います。
phpのソース表示とか綺麗なんだよなー、、、
ありがとう御座いました。
813 :
にゃん :01/09/07 22:51 ID:???
変な事書くとCGIだとInternal〜〜ゴルァって怒られるです。 シェルだとaborted due to compilation errors. とか言ってくれるんですがその時STDERRを補足して、 HTTP側にリダイレクトしてから死ぬ方法は無いでしょか Kcatchとか使わないとダメ? つーかソース嫁ってかんじでしょか? 逝って来ます ・・・・・・・寂しげせなか
814 :
にゃん :01/09/07 23:05 ID:???
ああっ! 今CGI-ML見たら同じ様なPOSTがあるにゃ (笑 dieイベント用のハンドラを自前で用意すればいいのか・・ やっぱりソース見ろって言われてる・・(滅
815 :
質問! :01/09/07 23:46 ID:vh.4S7K2
CGIさんに聞きたいのですが、 外部ファイルを読み込むのと、ファイルの中に書いておくのでは どちらが疲れないですか? javascriptもつかいたいので、記述部分が結構大きくなります。 CGIさんが疲れない方にしたいのですが?
>>815 なんとなくファイルの中に書いたほうがいい気もするが。
外部ファイルのサイズや使い方によるんでない?
もすこし具体的な例を出してもらわんと。
817 :
815 :01/09/08 00:49 ID:EuGVOIsk
掲示板のスクリプトなんですが、 javascriptが5.74kb CSSファイルが455b 入力フォームのHTMLが2.34kbです。 入力フォームのHTMLでjavascriptとCSSのファイルを読み込むように してあります。 CGIファイルのベースにしたのはとほほ氏のwwwboardです。 どうでしょうか?
かわいい (^^ 全然OKだと感じます。
819 :
815 :01/09/08 01:02 ID:EuGVOIsk
>818 しかし、午前三時頃や午後あたりは書き込めないようです。 サーバーはFREEWEB(infoseek)です。 多分、今夜もあと二時間後はCGIさんが僕のスクリプトのめんどうを みてくれなくなると思います。 どうでしょうか? 何かお気づきの点はございませんでしょうか?
それopen失敗してるんじゃ無いの? 良く解らんけど、あのサーバー、ファイル壊れるし 制限キツイし、その割にセキュアじゃないしで大嫌いです。 僕の配布してるBBS(シンプルな一行レス板) でもiswebで調子悪いと良く言われます。 C-Boardとかのファイル開けまくり系も調子悪いらしいです。 f2sとisはやめてほしい。。 (-。- 3時って言うのはおかしいですね、その時間にAbuseしてる人が 居るのかもしれないですね。
821 :
名無しさん@お腹いっぱい。 :01/09/08 01:16 ID:EuGVOIsk
>820 他のサーバーにしたほうがいいですか? トクトクも考えています。
822 :
名無しさん@お腹いっぱい。 :01/09/08 01:24 ID:EuGVOIsk
あ、今、CGIに見放された。403になりました。 ロックファイルは残っていません。 なぜか直接URLコピペするとちゃんと動作しています。書き込みも できる。 もちろん、つながらなくなったリンクはisWebの自分の容量内でのリンクです。
トクトクも勧められないが、今見てみたら大体3〜4000人位 詰め込んでるみたいだね>isweb、むしろこれでCGI動いてる事 事態が凄いんじゃないだろうか。 CPU USAGEとか凄い事になってると思うよ。 今にして思えば、Virtualave,Hypermartの両サーバーは偉大だったねえ よっぽど極端なループとかしてない限りサーバーの性にして良いと 思うが。
824 :
823 :01/09/08 01:31 ID:???
ちょっと実験したぞ、34番サーバー ちゃっと置いて適当に書き込んだらやっぱりログdだ p かわいそうなサーバーさん、、、
825 :
名無しさん@お腹いっぱい。 :01/09/08 01:33 ID:EuGVOIsk
>>824 僕も34番です。34番がとりわけぼろいんでしょうか。
13番の友達のところではこういうことはありません。
826 :
815 :01/09/08 01:37 ID:EuGVOIsk
あー、コピペでも403だー。 結構javascriptをつくるの苦労したので、配布したいんだけど、 こんなんじゃ信用性が疑われるよ。
827 :
823 :01/09/08 01:38 ID:???
何かチャット状態だね p 漏れもちょっと前に、とあるスクリプトの改造版配ってたんだが その時から(freeweb時代)やたらファイルが壊れたなぁ。 多分DISK IOが大変な事になってるんだろうと思ったけど。。 ちなみにチャットは置いちゃダメだよ、ちょっと調べただけです。
828 :
815 :01/09/08 01:42 ID:EuGVOIsk
>827 はい。書いてありましたので、大丈夫ですよ。 チャットとゲームはダメなんですよね。 ということは、より負担の少ないCGIを書いてもムダってことでしょうか。 一応Perl質問スレ1-6をダウンロードして読んでるところなんですが。
829 :
823 :01/09/08 01:49 ID:???
ソース見てないから何とも言えないけど、貴方がコストを意識して コーディングしたんなら、やっぱり(と言うか絶対)サーバーの問題 じゃないだろうか? KENTの配列一気読みコーディングなんかが意外といいのかも w 解ってると思うけど、JAVASCRIPT処理するのはクライアントだよ、一応。 ここの2ch型掲示板ってスレ読んでみ。 サーバーの苦情らしき書き込みが沢山あるよ それと自前のファイルロックとか使ってたら、意外とそれが癌だったり するから、その辺は要チェックかな。恥かかないためにもね じゃ、寝ます
830 :
815 :01/09/08 01:59 ID:EuGVOIsk
どうもありがとうございました。 javascriptがクライアントってのは解かります。 本当にありがとうね!!
831 :
初心にかえって物 :01/09/10 11:00 ID:5B9RTOLE
掲示板みたいなのを作ってるんですが、フォームから'GET'または'POST'でデータを 送ってCGIの方でデータを保存して出力はできるんですが、この状態でブラウザの 「更新」ボタンを押すと同じデータが送られてしまって、同一データができてしまいます。 この場合ってクエリ文字をキャンセルする方法ってあるんでしょうか?教えてください。
データ保存するCGIからLocationとかでリダイレクトさせる。
833 :
名無しさん@お腹いっぱい。 :01/09/10 14:34 ID:/XtzFYCg
web上のhtmlファイルを取り込むにはどうすればいいのでしょうか?
opendir(DIR,"
http://www.hoge.com/ ") or die "opendir miss";
@htmlfile = sort grep {/.html/} readdir(DIR);
closedir(DIR);
じゃできないですよね?
出来るわけがありません。
>833
>>2 のリンク集の先を「LWP」「socket」で調べてみることをお勧めします。
836 :
名無しさん@お腹いっぱい。 :01/09/10 15:49 ID:.RrxrENY
1〜5を選択する項目を10個くらいと コメントを記入する項目が3個くらい のフォームを作って 1,5,3,2,4,5,3,4,5,4,回答者1のコメント,だめっぽい,またあした 3,5,3,2,4,5,3,4,2,4,僕は回答者2です,いいかんじ,御願いします という感じでcsvファイルを作るcgiスクリプトを 作りたいのですが、 formからデータを受け取る>ファイルにcgiが書き込む という流れを思いつくだけで 具体的にどうしたらいいのやらさっぱりです、、 こんな私にどなたか少しでいいのでアドバイスを御願いします、、 自分でもいろんなページみてはいるのですが、、 あと、cgiで中国語や韓国語ってどうやって使うんでしょうか? jcode.pみたいなのが必要ですか?
837 :
835 :01/09/10 16:23 ID:???
838 :
名無しさん@お腹いっぱい。 :01/09/10 18:39 ID:bP2SIPQQ
えっと、cgiでフォームメール使うのってありますよね? WWWサーバとは別のサーバにMTA立ってて、それを使って送信って出来ます? 本を読んでみても良く分からないんで、教えて下さい。 WWWサーバは、アパッチで、OSはSolaris7です。
>>836 :HTML表示
:ブラウザから送信されたデータをURIアンエスケープ**
:適当に整える
:ファイル開く、書き込む、閉じる。
**はcgi-lib.plとか使えば簡単、どっかから持ってきてもいい
下は分からない、難しそうだね。そもそもGBとHZとBIG5って変換出来るん
だろうか。前にGBの掲示板見た時はそれらしきものはインクルード
されてなかったな 多分環境依存とかあるんだろうね
840 :
あああああああ :01/09/10 18:47 ID:IA/gamiU
841 :
むぎ茶 :01/09/10 18:54 ID:???
あなたニホンゴハナセマスカ
┐(´ー`)┌
┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶 ┃
┃
[email protected] ┃
┗━━━━━━━━━┛
おお
844 :
名無しさん@お腹いっぱい。 :01/09/11 09:19 ID:OqJ.Pmkc
>>839 感謝です!ありがたや、、
最初のHTML表示という項目は
cgiから吐き出す必要ないですよね?
韓国語、中国(カンタイ、ハンタイ)は
csvに保存するだけなら英語版(?)のcgi通すだけで
問題ない「かも」しれないっていわれました。
不安です、、
どなたか詳しい方いらっしゃいませんでしょうか!?>中、韓
>>842 頑張って理解してみます!
(こんなレベルでcgi組もうっていうのも我ながら、、
中国語・韓国語使えるようにしたいって事は、 中国語や韓国語読める&書けるんだろ? なら中国や韓国のホームページor掲示板で聞 いた方が確実且つ早いと思うが。
846 :
名無しさん@お腹いっぱい。 :01/09/11 09:24 ID:OqJ.Pmkc
>>845 まったくわかりません。テヘ
ついでに言うなら英語もサッパリです。鬱、、
cgiからHTML吐き出さないし
CSVファイル作るだけなんで
案外簡単に出来たりしないかなと
考えてるんですが、、無理かな、、
最近のブラウザは表示されたHTMLと同じ文字コードで フォームのデータ送ってくるから、文字コードの変換 なんか気にせんで良い。 たまに文字化けデータが出る可能性があるけど無視しとけ。 てゆーか、中国語・韓国語分かりもせんのになんでんなもん が必要なんだよ。
>>848 お客さんの依頼なんです、、鬱、、
という事は北京語ならBig5と決め打ちで平気ってことですよね?
んーむ、、
850 :
名無しさん@お腹いっぱい。 :01/09/11 11:07 ID:OqJ.Pmkc
送られてきたデータをcsvで保存するだけなんだから 問題ないっていわれたんですけど? 本とかな、、?
文字コードGB2312から送信>CGIがCSVに保存で 問題ないみたいっす。やってみたら普通にできました。 他のでもこうであることをいのりつつ、、
ああ、そう言う意味か。文字コードが同じなら(常にBGで送信されると保障されるなら) 何も心配ないよ URLデコード<=>URLエンコード を繰り返してるだけ なんだから。 問題はGBを想定した環境にHZで書き込まれた時なわけ。 この辺は良く解らんけど、例えば日本語だとFROMの表示をSJISにしても 送信時にはEUCで送信してしまうようなケースが良く有った。 そうなると同じファイル内に2種類の文字コードが混在する事になっちゃうわけ これも推測だけど、GBだけに含まれる文字コードの範囲が分かれば 書き込み前に、チェックしてGBに有り得なさそうなコードを含んでいたら (゚Д゚)マズー 位は出来るんじゃないかな
日本語変だけど 適当に解釈してね
854 :
名無しさん@お腹いっぱい。 :01/09/11 12:58 ID:OqJ.Pmkc
>>852 ありがとうございます!
日本語変だなんてとんでもないです!ばっちりです!
>例えば日本語だとFROMの表示をSJISにしても
FROM?FORMのうちまちがい、、?
コードチェック、、うむむ、俺には無理だ、、鬱。
>>852 IEだと
エンコードをHZにしておけばHZもGBも両方表示できてました。
そういうものなのか、偶然なのか、、
856 :
852 :01/09/11 14:09 ID:???
>FROM?FORMのうちまちがい、、? すんまそん 漏れも肝心の文字コードがどうなってるのかが分からないからこれ以上 力になれそうにないな、 GBをシフトしたものがHZなのか、それとも拡大した ものなのか、それともその逆なのか、この辺をしらべてみれば答えは 出るんじゃないかな、そんな単純でもなさそうだけど w 多分 ”我 ”とか ”イ尓 ”位はどの文字コードでも同じはず 確実に言えるのは BIG5 に GB や HZ で書き込むとダメって事くらい
858 :
名無しさん@お腹いっぱい。 :01/09/11 14:56 ID:mAmWB4Ko
>文字コード
FORMで accept-charset="Shift_JIS, EUC-JP" とかやれば
受け付け文字コードを制限できたような気がする。
>>858 最近よく見るけど,投稿日まちまちだよね。
手作業?
BBSの一つ一つの「記事」のことは英語では何と書くのがスマートでしょうか。 微妙にスレ違いな気もしますが、教えてください。
articleかな。 あとはsubjectとかheadlineとか 英語わからんのでうろ覚え
863 :
名無しさん@お腹いっぱい。 :01/09/12 00:50 ID:LH.sd166
perlの質問です! confファイル(set.conf)で宣言した変数を パッケージ(conf.pm)の先頭でrequireして そのパッケージを他のcgiファイルでオブジェクトとして読みこんで confファイルで宣言した変数を使うことは可能でしょうか? 書き方が分からなくてテンパってます…教えて下さい!
s/テンパって/デムパって/
>>863 意図するところと違うかもしれませんが。
# set.conf
use strict;
our $hoge = 12345;
1;
# conf.pm
package conf;
use strict;
require 'set.conf';
1;
# main.cgi
use strict;
use conf;
print "Content-Type: text/plain\n\n";
print "$conf::hoge\n";
866 :
861 :01/09/12 17:45 ID:???
>>862 遅レス失礼。
ありがとうございます。
参考にします。
867 :
863 :01/09/12 21:37 ID:xoRCqYQQ
>>865 ありがとうございます!
「オブジェクト名::変数名」で参照するのですね。
その書き方が分からなかったので参考になります。
変数を宣言する時には「our」としなければいけないのでしょうか?
ourとするとエラーが出てしまいました(500エラー)。
あと普通にやっても値が取れませんでした…
当方携帯でCGIを動かしているのですが、それが問題ってわけではないでしょうか?
"オブジェクト名::変数名"じゃなくせめて"クラス名::変数名"と表現して欲しいな(w ourがダメなのはPerlのバージョンが低いせいだろう。 our $var; これを use vars qw($var); use vars qw($foo @bar %hoge); のように変更すれば使えるようになるはずだ。
869 :
865 :01/09/12 22:14 ID:???
>>867 それPerlのバージョンが古いっすね。ver5.6以前のPerlなら
# set.conf
use strict;
use vars qw($hoge);
$hoge = 12345;
1;
だったかな。"our"を取って、use varsの後ろに変数名をズラズラ並べる。
870 :
865 :01/09/12 22:15 ID:???
う。かぶりまくり。
>>868 クラス名でもアレかと。
純粋に名前空間として使用しているのであって、
クラスやらオブジェクトやらは関係がない。
「せめて」と書いてあるので、こんなことは承知で書いているだろうけど。
>>868 > "クラス名::変数名"と表現して欲しいな(w
それを言うなら"パッケージ名::変数名"でしょ
873 :
名無しさん@お腹いっぱい。 :01/09/13 00:08 ID:WAUiRtRA
CGIでzipファイルを出力したいのですが出来ません。 IEではこのファイルをダウンロード出来ませんと言われます Content-type を application/zip application/x-zip-compressed の2つで試してみたのですが駄目でした、htmlやtext/plain は 問題無く表示出来ています (あたりまえですが。。。。) 勿論普通にアクセスすると問題無くDL出来ます。
874 :
863&867 :01/09/13 00:31 ID:6uXsG4m.
レスありがとうございます! use vars qw($変数名,$...,$...); と言う感じで宣言すれば良いのですね。 あと上の方で「オブジェクト名::変数名」と書いたのですが 今、パッケージ(conf.pm)を各CGIファイルの中でnewして $confというオブジェクトを生成して、 そこからset.confで宣言した変数を参照したいのですが その場合「$conf::変数名」と言う形で参照できますか? この場合は「オブジェクト名::変数名」では無いのでしょうか・・? 分かりにくい質問ですみませんが教えて下さい!
>>873 ソース出してみて。
>>874 そんなことしたい意味がわかりませんし、出来ません。
どうしてオブジェクトにしたいの?
876 :
874 :01/09/13 00:59 ID:6uXsG4m.
>>875 パッケージ(conf.pm)の中にあるサブルーチンを
$conf->サブルーチン名(); と言う感じで呼んでいるので
変数も呼べるかなと思ったのですが、無理なんですね。
オブジェクトにしたいのは、オブジェクト思考を用いたプログラムを作ると言う課題なので…
パッケージconfや、そこでrequireしてる変数の設定ファイル(set.conf)の中身を参照したい場合
わざわざオブジェクトにする意味は無いのでしょうか?
CGI初心者で見よう見真似で作っているので何が何やら…
877 :
865 :01/09/13 01:20 ID:???
>>876 いや、perldoc perlobjにまっさきに書いてあるように
「オブジェクトとは要するにハッシュである」んだから
$conf->{'hoge'} = 12345;
とか
print "$conf->{'hoge'}\n";
みたいにオブジェクトの変数をアクセスすることはできますけどね。
set.confでその値を設定するというのが、
いまいちどういう意味だかわからん。。。
オブジェクトをnewするときの初期値ってこと?
878 :
865 :01/09/13 01:24 ID:???
う、いま見直したら 「オブジェクトとは要するにリファレンスである」 って書いてあったよ。。。<perlobj
879 :
876 :01/09/13 01:59 ID:6uXsG4m.
>>877 書き方わかりにくいですね。すみません・・。
set.conf では、共通で使われる変数(定数と言った方が良いかもしれません)を
宣言しています。例えばDB名や接続パス、トップのURLなどです。
880 :
865 :01/09/13 02:38 ID:???
定数設定をオブジェクトにしても意味ないよ オブジェクト指向の考え方から勉強しなおしたほうがいいかも
881 :
875 :01/09/13 02:41 ID:???
あ、騙っちまった。880は875。スマン
>>880 同意。「定数設定用のクラス」を設けるっていうアプローチが間違ってるわけね。
>>876 「実際のオブジェクトのクラス内で定数を定義する」ならいいと思う。
↓こういう感じ。見た目865と変わらないけど、ニュアンスの違いわかる?
# myclass.conf
use strict;
use constant constA => "AAAAA";
1;
# myclass.pm
package myclass;
use strict;
require 'myclass.conf';
sub new { bless {}; }
1;
# main.cgi
use strict;
use myclass;
my $obj = myclass->new;
print $obj->constA, "\n";
883 :
875 :01/09/13 04:09 ID:???
無理矢理オブジェクトだね(笑) 876よ、ただ一つ言えることはこういうオブジェクトの使い方して 課題で出しても撃沈すること間違い無し。
884 :
初心者 :01/09/13 07:15 ID:vi66x7.c
ちょっとひとつお聞きしたいんですが、 @test に 133 xx nacchi 322 yy gomaki 240 yy aibon 99 xx nonotan 0 xx ayaya ・ ・ これがまるごと全部入っていたとき、 2列目が"xx"の行だけを抽出して 133 xx nacchi 99 xx nonotan 0 xx ayaya ・ ・ と上から順に並べるにはどうすればいいのでしょうか。 誰かお願いいたします。
@after = map { $_->[0] } sort { $b->[1] <=> $a->[1] } grep { $_->[2] eq 'xx' } map { [$_,split(' ', $_)] } @test; でどう?
886 :
初心者 :01/09/13 07:58 ID:vi66x7.c
>>885 どうもありがとうございます。
mapとかgrepとか調べてみましたが全然意味がわかりません。
>>885 がどういう理屈なのか説明していただけませんでしょうか。
お手数ですがどうぞよろしくお願いいたします。
Schwartzian Transform で検索してみると吉かも。
>>882 クラス定数を使用する時は -> よりも :: を使ったほうが(状況によっては)コンパイル時にタイプミスを検出できる。
でも、クラス名が長くてタイプが面倒ならそれもアリか…。
889 :
名無しさん@お腹いっぱい。 :01/09/14 00:07 ID:IrljZnrQ
HTTPのLocationヘッダについて教えてください。
Locationヘッダに指定するURLは
http:// 〜で始まらなければならないと
聞きましたが、/dir/file.htmlのようにhttpから始まってないCGIをよく
見ます。
これはWebサーバあたりが補完してくれるのでしょうか。
それともブラウザが相対URLでも理解してくれるのでしょうか。
ソフトウェアによってちがうんでしょうかね。。。
890 :
876 :01/09/14 00:20 ID:L7eQmRgA
長々とすみません。 こんな感じに作っているのですが最後でどのようにして $hogeを参照していいのかわかりません… conf.pmの中のサブルーチンをいろいろなところで使いたいので 全てのCGIファイルの先頭でnewしてるのですが オブジェクトにする必要は無いのでしょうか? 今一度分からないので教えて下さい! # set.conf use strict; $hoge = 123; # conf.pm package conf; use strict; require 'set.conf'; sub new{ bless {}; } sub a{ 処理 } #ここで$hogeを使っています。 sub b{ 処理 } #ここで$hogeを使っています。 # main.cgi use strict; use conf; my $obj = conf->new; $obj->a(); $obj->b(); test(); sub test{ } # この中で$hogeを参照したいのです
>>889 CGIの規格より。
If the argument to this is a virtual path,
the server will retrieve the document specified as if
the client had requested that document originally.
とのことですから、クライアントには302ステータスは送られずに
元々そのドキュメントをリクエストしたかのように振舞います。
892 :
( `.∀´) :01/09/14 00:36 ID:bv.kGVZQ
893 :
891 :01/09/14 00:54 ID:???
>>892 CGI と HTTP の規格は違いますよ。
試しに、/cgi-bin/redirect.cgi で
print "Location: /test.html\n\n";
とやってみると、ブラウザでは見かけ
/cgi-bin/redirect.cgi として test.html の内容が送られます。
HTTPセッションは一回。
print "Location:
http://hoge.com/test.html\n\n ";
とすると、ブラウザに302が送られてブラウザは
http://hoge.com/test.htmlを要求します 。HTTPセッションは二回です。
このようにまったく振る舞いが違います。
おまけで、print "Location: ../test.html\n\n" とかやると、
ブラウザにそのまま Location: ./test.html と共に302が送られます。
これは規格違反ですが、一応IEでは test.html を読んでくれます。
補完してるのはブラウザですね。
あと、URIや仮想パスや絶対パスや相対パスの意味混乱してません?
>>889 も。
894 :
891 :01/09/14 01:07 ID:???
あ、めっちゃ嘘ついたかもしれません。ちょっと調べます。
895 :
891 :01/09/14 01:29 ID:???
やっぱあってるみたい。
Location: を http: 無しで出力した場合は内部でリダイレクトされる。
で、注意すべきなのは内部リダイレクトだと一緒にCookieとか出しても
ブラウザはそれを見られないので Redirect と同時にCookie渡したい
場合は、きちんと
http://付きURLを渡す必要があるね 。
そしたらきちんと302HTTPレスポンスが返るのでクッキー取得できる。
けど、302だとクッキー受け取らないUserAgentエージェントがあるって
どこかで聞いた気もする・・・
896 :
892 :01/09/14 01:52 ID:bv.kGVZQ
>>890 そもそもそれだと、set.confでコンパイルエラーになると思うけど?
まあ、set.conf で strict はずして、conf.pmでは
$conf::hogeで参照するなり、our や use vars 使うなりするとして・・・
main.cgi では $conf::hoge に直接アクセスするべきでは無いよ。
値を得たいなら conf.pm に sub gethoge { $hoge; } とかで
メソッドを作っておいて、$obj->gethoge() として値を得る。
あと、Perlモジュールのお約束(慣例)として、モジュール名は
Conf のように頭文字は大文字にします。
なおかつ既存のモジュールとかぶらないように、アプリ名::Conf と
したほうがいいよ。たとえばプロジェクト名が Mona だとしたら、
Mona::Conf とか。
898 :
あうー :01/09/14 14:53 ID:IHq9oP0c
URLからWebサーバの名前を特定できるスクリプト (たとえばwww.infoseek.co.jpだったらNetscape Enterprise)を どこかで見かけたのですが忘れてしまいました。 どなたかご存知ありませんか? 知っていたら教えてください。
www.netcraft.com
900 :
名無しさん@お腹いっぱい。 :01/09/14 15:04 ID:IHq9oP0c
>>899 さん、ありがとうございます。ずばりそれでした。
指名がはいったぞ!>912
903 :
889 :01/09/14 22:05 ID:???
>>891 ,892
レスありがとうございます。
CGIでの規格がHTTPとは別にあったんですね。なるほどです。
やはりHTTPではLocationヘッダには絶対URIを書くべきなんですね。
ちょっとHTTPでLocationを相対パスで書きたい理由があったので
調べていたのですが、やめることにします。
ちなみに試してみたかぎり、IE3,4,5やNetscape3,4,6では相対パスで
書いたLocationを補完してくれました。また、302でもクッキーを受け
取ってくれました。
904 :
名無しさん@お腹いっぱい。 :01/09/16 20:57 ID:gRdNqaZI
ttp://www.f2s.comのフリースペースに ttp://www4.tkcity.net/~elmo/accessory/wforum.htmlを設置しようと思い 、
「#!/usr/local/bin/perl」のパスを「#!/usr/bin/perl」に変更し
cgi-binとbbsディレクトリのパーミッションは755に変更。
後は以下のように変更しました。
wforum.cgi(755)
wforum.log(644)
wf_admin.cgi(755)
index.cgi(755)
1.html(644)
pastno.dat(644)
index.html(644)
title.gif(644)
jcode.pl(644)
fold.pl(644)
accesslog.log(644)
code.log(644)
ですが、どうしても「500 Internal Server Error」と出てしまい動きません。
たぶんパーミッションが間違ってるのかな?と思いますが
どう変えれば良いのかがわかりません。
誰か教えて下さい、お願いします。
ちなみにFTPソフトは「Fetch3.0.3J2」を使ってます。
905 :
名無しさん@お腹いっぱい。 :01/09/16 21:13 ID:C6oahyos
>>904 ぜんぶ777にして動けばパーミッション。
うまくいったら ちょっとずつきつくしておけ。
f2sだとディレクトリ777にしちゃイカンらしいが
908 :
906 :01/09/16 23:38 ID:???
>>907 あら,そうだったか。知らんかった。
とりあえずKCatchとかでエラー表示するようにしてみて。
Internal Server Errorは日本語(sjis)処理で、スクリプトが壊れているのでは? EUCに書き直すか、文字化け対策が必要かと・・・。
910 :
名無しさん@お腹いっぱい。 :01/09/17 11:09 ID:J4kttWM2
掲示板を作ってみたら、256バイト以上の書き込みだとコケてしまう。 それってどう回避すればいいでしょうか? サーバーはトクトクですが、トクトクの仕様ですか? 聞いたことありますか?
912 :
904 :01/09/18 00:46 ID:/T6g5o8U
みなさんのおかげでwf_admin.cgiとindex.cgiは動くようになったのですが 肝心のwforum.cgiのがどうしても動きません。 それで、KCatch.pmを使ってみたところ、 [wforum.cgi:859:die] Missing right bracket, at end of line syntax error at (eval 1) line 856, at EOF と出たのですが、さっぱり意味がわかりません。。。。 何をすれば直せるのでしょうか?
914 :
名無しさん@お腹いっぱい。 :01/09/18 02:09 ID:VD7kGZj.
>>912 どっかで}を書き忘れてるということです。
どこかまではわからないので自分で探すしかありません。
インデントを調整しておくと,後でソース見る時に便利です。
あと,
>>901 -902で「新スレ係」との指名が入っています。
915 :
にょ :01/09/18 02:21 ID:hHvLBZhU
916 :
910 :01/09/18 03:43 ID:NbgShBZI
>>911 いいえ、POSTです。
GETにしたほうがいいですか?
>>912 英語を日本語に訳す事くらいはしようね。
あと新スレよろしく。
>>916 256byteっていうからGETって予測されたと思われ。
POSTならば、作ったスクリプトに問題があるのでは?
とりあえずエラーチェックしてみるとか。
>>916 あんまり聞かないけど LimitRequestBody 掛かってんじゃない?
スクリプト側で制限していないのなら可能性あるね。
エラーログは見た?
919 :
910 :01/09/18 06:20 ID:NbgShBZI
数字でためしたら、余裕でかけました。(256byte以上でも) 日本語だとダメだったんですが…。 エラーは、時間がかかるうえに「サーバーがみつかりません」が 出ます。そしてロックファイルが残っています。 ローカルのhttpdで試したら、 「(略)我々が今日やるべきことはマックにいって新しい ハンバー << HERE ガーをほおばることです。 (略)」 になりました。 << HEREが勝手に追加されてる部分で、よく数えたら 266byte目でした。(でもそのうち半角が10byte分) iswebでも試したけど同じでした。
920 :
名無しさん@お腹いっぱい。 :01/09/18 07:41 ID:LPKH4NdA
921 :
910 :01/09/18 09:48 ID:dx7/rVjI
チェックしました。 open(IN, "wwwboard.tmp"); $locka = 0; while (<IN>) { if ($_ =~ /^$FORM{'MESSAGE'}/) { $locka = 1; } } close(IN); ここがよくないらしい。 二重投稿を防ぐためのものです。 変数lockaが1だったら、tmpに追加するルーチンを飛ばします。 俺自身、もう一度、とほほのPerl入門を読み直すけど、アドバイス あったらお願いしたいです。
バイト数とか関係ないでしょう。 /^\Q$FORM{'MESSAGE'}\E/ これで試してみれ。 単に、$FORM{'MESSAGE'} がJSISで'ー'の2バイト目が '[' なので 正規表現がエラーになってるという、ありがちなバグ。 あと $locka = 1; のあとに last; でループ抜けたほうがいいよ。
923 :
912 :01/09/18 18:22 ID:plR9HC2E
924 :
名無しさん@お腹いっぱい。 :01/09/19 02:26 ID:1PCMynM2
925 :
924 :01/09/19 03:01 ID:???
失礼 xBitHackのグループビットが立ってました。
926 :
名無しさん@お腹いっぱい。 :01/09/20 10:50 ID:MTc8pgUs
簡単な掲示板を作ったのですが構成はbbs.cgiで処理をして、 書き込み等をbbs.htmlで処理しています。 bbs.cgiを単独で実行すると書き込んだログが表示されるようになってます。 それぞれ単独で実行させると表示されるのですが下記のように一画面に書き込みと ログを表示させようとするとうまく表示されません。 単独で実行するとうまく機能するのでそれぞれのスクリプトには問題ないと思う のでもしかしたらHTMLに原因があるのではないかと思い書き込みさせていただきました。 <FRAMESET ROWS=40%,60%> <FRAME SRC="bbs.html"> <FRAME SRC="bbs.cgi"> </FRAMESET> もしよければお知恵をお借りできればと思います。
927 :
名無しさん@お腹いっぱい。 :01/09/20 11:15 ID:zlFlBPrI
>>926 NAME属性が無い以外は問題無いと思うが・・・?
929 :
アナログから光までオッケー :01/09/20 22:07 ID:wUD8Nx2s
みなさんのインターネットのスピードは
早いですか? それとも遅いですか?
このサイトはみなさんのインターネット環境の
スピードを計ってくれます。また、遅いと思う
人は設定を少し変えることによって無料で
スピードを早くすることができます。
お金を出す前に一度試してみては
いかがでしょうか。
http://cym10262.omosiro.com/
931 :
名無しさん@お腹いっぱい。 :01/11/30 15:53 ID:Np7FhVDC
質問です。 cryptのことですが、Cryptされたものを逆にcryptされる前のものにもどすことは 可能でしょうか。できるならば、そのやり方が知りたいです。 それはWINDOWS上でもできますか??すみません。。変な質問で。。
潜んだ。
見つけた。
"一つ"の板の太陽の陰に隠れてみる。
それは多くの人に仕えているけど、多くの人にとっては遠い存在。 多すぎたものの反省から生まれて、多くの子孫をもっている。
937 :
名無しさん@お腹いっぱい。 :02/01/17 09:05 ID:ouB3hVAd
CGI(perl)で他サーバにあるファイルの最終更新日を調べる為には どう書けば良いのでしょうか? LWPを使えば他サーバのファイルを拾えると言う所までは 過去ログで何とか解ったのですが 更新情報の拾い方が今一解りません、おしえてください。
939 :
938 :02/01/17 09:32 ID:???
と思ったら消えてるやん。なんで?
>>937 Headerの Last-Modified 見れ。
と思ったら更に新しいスレあるのか。
941 :
名無しさん@お腹いっぱい。 :02/01/24 22:01 ID:D0zJH+Ea
CGIをローカルテストするのに「Webserver(vector.co.jp/soft/win95/net/se184736.html)」っていうソフトを いれてみたんだけど、403エラーしか出てけえへん;; どうしたらいいんでしょ? PC=Win95 鯖ソフト=Webserver ユーザー設定はしたけど、ログインするところがない・・ような
942 :
941 :02/01/24 22:18 ID:???
このスレ終わってるんじゃん・・鬱だ。 別スレに持っていきます。
ひたすらsageておいたほうがよさそうじゃのぅ。
まもなくここは 乂1000取り合戦場乂 となります。 \∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( ) ( ) ( )
945 :
nobodyさん :02/03/28 22:48 ID:G5TiSZPv
apacheにiofficeいれて動かそうとしてるのだけど、動きません エラーが出ます。 /usr/libexec/ld-elf.so.1: Shared object "libg++.so.4" not found って どうしたらいいんでしょうか?
946 :
nobodyさん :02/03/28 22:50 ID:G5TiSZPv
apacheにiofficeいれて動かそうとしてるのだけど、動きません エラーが出ます。 /usr/libexec/ld-elf.so.1: Shared object "libg++.so.4" not found って どうしたらいいんでしょうか?
947 :
nobodyさん :02/05/05 08:32 ID:UV8B0Y8+
THE ROOMさんのアイコンチャットを使っておるのです。
このチャットURLをオートリンクをしてくれるのはいいのですが、フレーム内に取り込んでしまいます。
なんとかtarget=_blank属性をつけたいのですが、無知なりにいろいろ試してみても直らず。
情けない話ですがソースのどの部分を提示してよいやらわかりませんので、
とりあえず配布ページを晒します。
http://dream.lib.net/room/cgi/e_ichat.html 配布元で質問しようにもこれは改造の話になるかと思いまして、
どうかご教示くださいませ。
948 :
947 :02/05/05 08:33 ID:???
しまった、旧スレだった!新スレ逝きます。 申し訳ない…
質問あんだけどさ。 ディレクトリの構成ってどういう意味なの? なんかよくわかんないんだけど。 例を書いて詳しくキボンヌ
最新スレ、どれよ?
>>944 で1000取り合戦宣言してから3ヶ月も放置されるスレ、初めて見た・・・。
さびしい板だなあ、ここ・・・
955 :
Miku :02/05/30 15:29 ID:Qeausx7o
CGIの設置の仕方について教えてください。 FTPを使って転送しなくちゃいけないのは分かったのですが、 その設定で、何のことを言ってるのか・何を入力するのかさっぱり分かりません。 なので、接続すらできないのですが、FTP以外の方法ってあるのでしょうか? あと、FTPの使い方をど素人に分かりやすく教えてもらえませんか。 よろしくおねがいします 使っているのは、FFFTPというやつです。 HPはpuresilkなのですが。
>>955 ・接続先(IPとかホスト名)
・ID(ユーザー名)
・パスワード
を教えて貰ってないの?
957 :
Miku :02/05/30 15:39 ID:Qeausx7o
早速、ありがとうございます。 サポートページはFTPのところはずっと更新されてないし、 無料領域なので質問とかは有料みたいです。 で、HPへのHTMLファイルの書き換えとかのログインページはあって そこからやってたのですが。 そこへのユーザーIDとパスワードは分かっているのですが、、、、 なんとかなりますか?
>>957 かなり厳しいな(w
要は君の知的好奇心と独学で勉強するゾというやる気と時間あれば…(w
959 :
Miku :02/05/30 16:36 ID:Qeausx7o
お答えありがとうございます。 やっぱり、厳しいですかね(T。T) なにか、ヒントって言うか、ここで勉強しといで。 見たいなお勧めってありますか?
根本的にFTPが使えないんじゃいの? サイト良く見てみてよ。それなら問題外。
962 :
Miku :02/05/31 05:37 ID:9TzlTgvN
色々、覗いてみたのですがFTP使えるって書いてあるところと 使えないって書いてあるところとあってどっちなのかよく分かんないんです。 でも、FTPが使えないのにCGIはOKっていうことはどうやってCGIをWEBにUPするんでしょう??? 何とかしてCGIをUPしたいですぅー(T0T)
tuka,何故今更、Part3に質問したのかわからない。
968 :
nobodyさん :02/06/18 19:17 ID:HmZ+teFE
968GET!
969 :
:02/06/18 21:29 ID:???
もう沈めちゃおうよぅ
970 :
nobodyさん :02/06/19 01:16 ID:/1fzGXVx
sage
972
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000とり合戦いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \ ぶーぶーぶー / //三/|三|\ タリー ∪ ∪ (\_/)タリー タリー ドーセヒトイネーヨ ( ´Д) タリー タリー / つ (\_/) (\_/)ノ⌒ヽ、 (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
974 :
nobodyさん :02/06/19 10:23 ID:tOAO1Py0
GCIサービスってサイト はどこへ逝った?? 五ヶ月ぶりにアクセスしてみたら なくなってたぞ
975sage
976 :
nobodyさん :02/06/19 10:48 ID:HHoJ2gY+
976GET!
977 :
:02/06/19 13:45 ID:???
977と・・・
978 :
nobodyさん :02/06/19 13:54 ID:HHoJ2gY+
978GET!
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < おまえら、気合足りないぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \ ぶーぶーぶー / //三/|三|\ タリー ∪ ∪ (\_/)タリー タリー ニッポン マケタシヨー ( ´Д) タリー タリー / つ (\_/) (\_/)ノ⌒ヽ、 (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
. ピリオド period
, コンマ、カンマ comma
: コロン colon
/ スラッシュ slash
; セミコロン semicolon
@ mamuko
986 :
nobodyさん :02/06/19 18:50 ID:HHoJ2gY+
986GET!
|_∧ 989・・・ |ー゚) ⊂|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | 今だ!990ゲットォォォォ!!!!! \__ ________ ∨ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 日 凸 ▽ ∇ U < お客さん、暴れないでよぉ ≡≡≡≡≡≡≡ ∧ ∧ \____________ U ∩ [] % Σ(゚Д゚,,) ゴルァ!? (´´ ヾ∇ ∧∧ ) |つ∽ (´⌒(´ 日ヾ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´⌒(´⌒;; ズサガッシャーン!! ━┳━ ━┳━
カラカラ ___◎_______________ || ≡ || ≡ ∧||∧ ≡ ( / ⌒ヽ 991get | | | ≡ ∪ 亅| ≡ | | | ≡ ∪∪ ・ ・ ‐ ‐ ‐ ‐ ‐ ‐ ‐
そこ遅いぞ!!!なにやってんの!!!992ゲットォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂( ゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ ∧∧ ) ⊂(゚Д゚⊂⌒`つ≡≡≡3 ズザ〜〜〜ッ
993ゲットですが何か?  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
994ゲットォォォ。  ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ __∧∧_ /\(゚ー゚*) l\ (´´ \/| ̄∪ ̄ ̄|\ (´⌒(´ \|____|≡≡≡(´⌒;;;≡≡≡ (´⌒(´⌒;;
995ゲ・・・・・・・・・!?  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧∧ (´⌒(´ Σ(゚Д゚;) ∩∩ (´⌒;;;≡≡≡ ⊆⊂´ ̄ ソ (´⌒(´⌒;;  ̄ ̄ ̄ ズザザザザーーーーーッ 995ゲトー!! (・∀・ )≡≡≡≡≡≡≡≡≡≡≡≡
今だ!996番ゲットでちぃ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(・д・,,⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
997 :
. :02/06/20 09:14 ID:???
997ゲットだがや!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ .∩∧,,∧ (´´ ,,,,,,,,,,ミ゚Д゚,,彡 (´⌒(´ ど,,,, ,,,,,二⊃≡≡(´⌒;;;≡≡≡ ~''(,,,,,づ゙゙ (´⌒(´⌒;; ズザーーーーーッ!!
============================================== ここまで読んだ。 ==============================================
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。