2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :ななし ◆E6qQ.htN7o :03/01/03 02:56 ID:H5ub4PWW
CGIの運用に関する質問スレッドです。

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

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

過去ログ・関連スレッドは >>2-5 あたりに

2 :ななし ◆E6qQ.htN7o :03/01/03 02:57 ID:H5ub4PWW
■過去ログ
Part3 http://pc.2ch.net/php/kako/988/988727833.html
Part4 http://pc.2ch.net/php/kako/1000/10008/1000804655.html
Part5 http://pc.2ch.net/php/kako/1009/10093/1009331505.html
Part5.01 http://pc.2ch.net/php/kako/1015/10151/1015127347.html
Part6 http://pc.2ch.net/php/kako/1019/10195/1019561283.html
Part6(7) http://pc.2ch.net/test/read.cgi/php/1025930486/
Part8 http://pc.2ch.net/test/read.cgi/php/1032704121/l50

3 :ななし ◆E6qQ.htN7o :03/01/03 02:57 ID:H5ub4PWW
■CGI以外のPerlに関する質問スレッド
【Perl】初心者コーナー Part18
http://pc.2ch.net/test/read.cgi/php/1037797479/l50
CGIに依存しないPerlの話題一般/Part2
http://pc.2ch.net/test/read.cgi/php/1030548610/l50

4 :ななし ◆E6qQ.htN7o :03/01/03 02:57 ID:H5ub4PWW
■関連スレ
【Perl,CGI】参考書籍 第三版
http://pc.2ch.net/test/read.cgi/php/1030209573/l50
【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/l50
こんなCGI探してますスレッド Ver7
http://pc.2ch.net/test/read.cgi/php/1031910901/l50
.htaccessの偉い人 Part3
http://pc.2ch.net/test/read.cgi/php/1019888234/l50
【スレッド】2ch型掲示板 その7【フロート型】
http://pc.2ch.net/test/read.cgi/php/1040777088/l50

5 :nobodyさん:03/01/03 16:46 ID:???
質問してもよろしいでしょうか?

6 :nobodyさん :03/01/03 17:04 ID:???
質問せずに何をするのだ。

7 :nobodyさん:03/01/03 17:39 ID:???
CGIのことは何も知りませんが、この内容をチェックしてください。
お願いします。

8 :nobodyさん:03/01/03 17:43 ID:???
BBSのログのパーミッションを666に設定してあるんですが、
ログのアドレスを直接参照すると、ログが直接見られます。
CGIを経由しないと参照できないようにしたいのですが、何か方法ありますか?

9 :nobodyさん:03/01/03 18:03 ID:???
>>8
ログファイルの拡張子をcgiにかえてみ

10 :nobodyさん:03/01/03 22:41 ID:jx+nlJxM
>>8
パーミッション600

11 :nobodyさん:03/01/04 01:23 ID:???
>9
ログにCGIのソース書かれると危険。
あまりお勧めできない。

>8
.htaccess

12 :935:03/01/04 10:45 ID:???
前スレの948さん。遅ればせながらレスサンクス!

13 :nobodyさん:03/01/04 14:58 ID:???
>>10
有無を言わさず chmod(0666, "logfile");
(Perl) なんてやるクソスクリプトだった
らどうするよ。

#実在するから気おつけてね。

14 :nobodyさん:03/01/04 17:31 ID:???
>>13
KENT

15 :nobodyさん:03/01/05 13:43 ID:???
>>10
suEXECが有効なサーバじゃないとエラーになるでしょ。

16 :nobodyさん:03/01/06 07:41 ID:abYGXX0G
オフラインで、フォルダの中にtako.html と hoge.exe があるとします
hoge.exe はHTMLを吐く実行ファイルで、tako.html には以下のフォームが入っています。
<HTML>
<FORM ACTION="file:///C:/home/Programing/EPA4Bunkai/Text2IPA.exe">
<INPUT TYPE="submit" VALUE="ボタン">
</FORM>
</HTML>

ボタンを押したら、hoge.exe の吐いたHTMLを表示させたいのですが、
上記の条件だと、ファイルのダウンロードになってしまいます。
やはり、Apache などを走らせてないと駄目なのでしょうか?

17 :nobodyさん:03/01/06 12:23 ID:???
>>16
あたりまえだろ。
そんなんで実行できたら、セキュリティーホールに使われるって。

18 :nobodyさん:03/01/06 13:14 ID:JhCfMZHJ
ネットスケープ6を使ってやりたいのですが、UTFの文字コードをEUCに
PERLのプログラムで変換する方法を教えてください。
具体的には
・変数にUTFの文字コードを代入
      ↓
・その変数をEUCに変換
とやりたいのですがどのようにやったらよいのでしょうか?
どなたかよろしくおねがいします。

19 :18:03/01/06 16:13 ID:vFPYY9M3
度々すいません。UTF8の文字コードを$optionにいれているのですが
今調べて
$option =~ tr/+/ /;
$option =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
&jcode'convert(*option,"euc");
とやってみたのですが$optionを表示させると???????となってしまいます。

どうしたらよいのでしょうか?

20 :nobodyさん:03/01/06 16:50 ID:8Wd4rwQY
コンピュータにもお前の意思が意味不明だってことだよ。

21 :nobodyさん:03/01/06 17:33 ID:???
というか、コンピュータは言われた通りのことをやっている。
問題ない。

22 :nobodyさん:03/01/06 20:01 ID:???
>>19
jcode.plにはunicode系の変換機能はありません。
jcode.pmで変換できますが、サーバサイドのPerlが実装している必要があります。

utf8<=>eucの変換テーブルを用意して
1文字1文字変換していくルーチンを自作するか
適当なサイトにあるルーチンを借用してくださいませ。。

23 :nobodyさん:03/01/06 20:01 ID:8Wd4rwQY
まず、jcode.pl でやろうとしているんだろうけど
UTF8を扱えるか調べてみろ。

24 :nobodyさん:03/01/06 21:16 ID:???
探してみたらありましたYO
実際に使用していませんのであしからず。。

ttp://www.onicos.com/staff/iz/release/#unicodepl

25 :nobodyさん :03/01/07 00:38 ID:???
apache2でCGI経由でnewaliasesしたいけど、suEXECするのが妥当?
他に方法あれば教えてくださいませ。


26 :nobodyさん:03/01/07 15:20 ID:???
SUBMITボタンを押すたびに画像を変えるCGI作ってるけど
ブラウザの画像が変わらない。
CGI側からキャッシュを消す方法って無いの?

27 :nobodyさん:03/01/07 16:20 ID:???
>>16

28 :nobodyさん:03/01/07 17:17 ID:???
>>25
suEXECするってのは・・・セキュリティを高めたいって事だよね?
自鯖であればセキュアにできるならするべきだYO

>>26
クライアントのキャッシュを明示して削除する方法は知りませんけれど・・・
htmlからそのCGIを呼び出しているのなら no-cache指定とか。。
フォーム自身もCGIから出力しているのなら
<img src="hogehoge.jpg?$^T$$">
のように?$^T$$でも追加しておけば
CGI起動時刻とプロセスIDでユニークなURLになり
キャッシュは存在しなくなります。。

他にも色々方法はありますYO

>>27
ほげほげ



29 :nobodyさん:03/01/07 18:23 ID:23SRPWxk
jcode.plを使わずにsjis文字をeucに変換することってできますか?
正規表現とかで。

30 :nobodyさん:03/01/07 18:33 ID:???
jcodeでやってることを書くだけ。
車輪。

31 :29:03/01/07 18:42 ID:23SRPWxk
>>30
そうしかなさそうですね。

32 :nobodyさん:03/01/07 19:39 ID:E9xJzpX+
>>31
無さそう、、っていうか、ShiftJISとEUC-JPは、ずらしただけだから、
お勉強すれば簡単に作れると思うんだけど・・

33 :nobodyさん:03/01/07 22:48 ID:???
リンク先へ飛ばす際、
リファを取られていても問題の無いように
一旦ダミーの足場を踏まえさせるスクリプトってないでしょうか?

34 :nobodyさん:03/01/07 22:55 ID:???
http://ime.nu/

35 :33:03/01/08 04:33 ID:???
>>34
えと、それですか?

36 :33:03/01/08 05:18 ID:???
あ なるほど、分かりました。
ありがとうございます。

37 :33:03/01/08 05:39 ID:???
続きで申し訳ないのですが、
これと同じようなことが出来るスクリプトは無いものでしょうか?
足場を手前で用意したいもので・・・

38 :nobodyさん:03/01/08 08:57 ID:???
>37
作るの自体難しくないから、誰も配布してないだろうね。
perlなら10行程度でできるし。
Locationで調べてみ。

39 :nobodyさん:03/01/08 11:09 ID:QcH5iWUE
Perlで変数どうしをくっつけたい場合はどうすれば良いのでしょうか?

例えば
$name に "あああ"が入ってて
$num に "111"が入ってるとき

$info に "あああ:111"といれたいときはどうすれば良いのでしょうか?
$info = "$name"+":"+"$num"とやれば良いのでしょうか?

40 :age:03/01/08 11:39 ID:???
やってみれば〜?


41 :33:03/01/08 11:52 ID:???
>>38
申し訳ありあせん、
自作しようとしたのですがどうしてもダメです。

ご教授願えないでしょうか?

42 :nobodyさん:03/01/08 12:10 ID:43qqwvSV
cgiを設置したのですが、IEのステータスバーに
「実行しましたが、ページでエラーが発生しました」と出ます
cgi自体は問題なく動いているようなのですが…
IEのスクリプトエラーを表示するをONにしてどこが間違っているのか
チェックしたら、

計画番号設置の
$×× = 19; # (この文の内容)
というところにエラーがあると出ました。
この行の19文字目?が違うらしいのですが、
19文字目は「;」になります…
どうしたらこのエラー表示が回避できるようになるのでしょうか?



43 :26:03/01/08 13:25 ID:???
>>28
ローカルのキャッシュ容量が大変なことになるけど
ちゃんと描画できたよ。
ありがとね。

44 :名無しさん@お腹いっぱい。:03/01/08 14:12 ID:???
>>39
.を使え。

>>42
根本的に勘違いしていると思う。


45 :nobodyさん:03/01/08 14:16 ID:43qqwvSV
>>44
どう勘違いしてるでしょうか?
どうか教えてください

46 :nobodyさん:03/01/08 14:35 ID:???
>>45
JavaスクリプトやVBスクリプトのエラーだろ。

47 :nobodyさん:03/01/08 14:36 ID:???
>>39
場合によっては.よりもsprintfの方がいいかも。

48 :nobodyさん:03/01/08 15:01 ID:43qqwvSV
>>46
そうなんですか・・・?
エラーの出たファイルのところにこのcgiの名前があったので・・・
ここでJavaScriptのこと聞いてもいいのかな・・・?
ダメだったらスルーして下さい
JavaScriptエラーってどうやったら修復できるのでしょうか・・・

49 :33:03/01/09 01:21 ID:???
>>38
解決しました。
ありがとうございました。

50 :nobodyさん:03/01/09 15:25 ID:???
>>48
コードを修正する。何をあたりまえな。

51 :nobodyさん:03/01/09 18:17 ID:???
CGIから、アクセスしてるユーザのIEのお気に入りの中身を調べることは不可能ですか?
どうにかしてCGIにデータを渡したいんですけど・・。

52 :nobodyさん:03/01/09 18:48 ID:???
>>51
不可能


53 :nobodyさん:03/01/09 23:31 ID:???
それをやられたら泣くだろ
だからねえんだYO!

blinkのやり方はActiveXぽいな。使ったことねえから詳しくしらないが。

54 :nobodyさん:03/01/10 14:00 ID:???
>>53
DynamicHTMLで普通にできそうな予感。

55 :nobodyさん:03/01/10 22:50 ID:???
>>51
そんなプライバシーに関わるデータ抜き取って何しようっての?
発想が厨なんだよ。
ちったあ相手の身になって考えてみろっての。

56 :nobodyさん:03/01/13 22:11 ID:tF1UpiEy
htmlファイルが読み込まれる時に同時にcgiを実行させたいのですが、どうすればよいのでしょう。
とりあえず考えたのはcgiから何か画像を出力させて、<img src="hoge.cgi">なのですが、
実行させるためだけにわざわざ画像を表示させるのはなんか変な感じがします。
何かスマートな方法は無いでしょうか。

57 :nobodyさん:03/01/13 22:15 ID:???
>>56
SSI


58 :nobodyさん:03/01/13 23:00 ID:???
>>56
SSI使えないなら
<IFRAME SRC="hoge.cgi" WIDTH="0" HEIGHT="0">
</IFRAME>
とかでもいいかもね

59 :nobodyさん:03/01/14 02:13 ID:???
>>56
そのCGIからHTML出力させろ。

60 :nobodyさん:03/01/14 16:51 ID:???
>>58
IE限定&IMGの3倍大げさ。

61 :nobodyさん:03/01/14 20:38 ID:???
>>60
ネスケでも6以上ならIFRAMEに対応している。
そういう俺は4.78だけど。。。

62 :nobodyさん:03/01/14 21:28 ID:???
ブラウザ依存のHTML吐き出すようなスクリプトは糞

63 :nobodyさん:03/01/15 00:54 ID:???
HTMLの仕様に準拠していないUAは糞?

64 :nobodyさん:03/01/15 09:49 ID:bv4lo3d6
レンタルサーバ内のplaintextデータ等をバックアップする場合、
何か良いは方法ないでしょうか。
例えば会員データとかで、住所とか名前が入ってるものをメールでそのまま
送るなんて事できないし、圧縮してメール添付ってのも危険ですしね。
専用サーバ借りているのですが、su貰えない&telnet使用可ですが、
固定IP必要なので実質使えないので、CGIで代わりにTELNETモドキやってる程度。
bdesが良いらしいが入ってない。
何か良い方法をご存知の方いましたらRESPLZ。

65 :64:03/01/15 09:59 ID:???
でかいファイルでもperlのcryptでOKかな。やってみよう。

66 :64:03/01/15 10:01 ID:???
と、思ったけど、デコードできんか...........一人カキコスマン

67 :nobodyさん:03/01/15 10:25 ID:???
>>64
何でメールするん?
FTPで自分のパソにダウンロードすればいいだけの話では。


68 :nobodyさん:03/01/15 10:59 ID:wVEDeB5S
perlスレでcgiに行けといわれたので、こちらにきました。

管理人(私)だけが項目を設定し、来訪者に投票してもらう
という投票・ランキングcgiを設置しようと出来合いの探したところ
項目が140あるので検索機能がついたvote.cgiを探したところ、
ttp://www.c-5.ne.jp/~hamachan/cgihtm/jiten.htm
上記↑で配布されている「簡易データーベース」というものにたどり着きました。
プログラムが古いので
require './jcode.pl';
#-----------------------------------------------------------------
↑これの次の行に↓この一行を追加しました。
open STDOUT, '>-';
jcode.plも新しいバージョンに変えて、説明書きにあったとおり
「ずっこけ物知り辞典」という表示がページに出るところまでは
うまくいったのですが、実際に登録・検索しようとすると、
「ページが見つかりません」、との表示が出ます。
ちなみに、Tripodを使っています。

FTPソフトで見ると、cgi-binフォルダの中に
jiten.cgi、jcode.pl、jiten.docが入っていますが
jiten.docのファイルサイズは0になっています。
count.docファイルは生成されていないようです。

perlスレでTripodではcgi-binフォルダ以下に画像などの
ファイルは置けないとなっているから、とのレスをいただきましたが、
ttp://www.tripod.co.jp/guides/cgi.html
の中頃少し上をみると、スクリプトによって、使用されるHTMLファイルや
テキストファイルは、すべてcgi-binの中にある必要があります、とあるので
これは関係ないかと思いました。

どこをどう改善すればよいのか、ご指導よろしくお願いします。

69 :nobodyさん:03/01/15 11:25 ID:???
>>68
単に
$url_pass = "http://www.hoihoi.ne.jp/~foo/jiten/jiten.cgi";

を自分のURLに設定していないだけなんじゃ・・・

70 :64:03/01/15 11:56 ID:???
>>67 毎日、簡単にバックアップしたいので。
FTPでも暗号化しないと、hackされる可能性がある気がするのですが・・・・・。

ネットワーク上で盗用されない為にも、サーバでファイルを暗号化し、
他サーバにコピーが理想。
大したファイルじゃないけど”もしも”の事を考慮してしまう今日この頃。
だんだんCGIと関係ない方向に向かってるかな.....

71 :nobodyさん:03/01/15 13:14 ID:???
>>70
誰がhackすんの?
こういうのに限って、データファイルをドキュメントルート以下に置いてたりするんだよな。


72 :山崎渉:03/01/15 13:32 ID:???
(^^)

73 :64:03/01/15 16:27 ID:???
>>71 はぁ。

74 :nobodyさん:03/01/15 17:02 ID:???
CGIしか使えないならCGIで処理するしかないだろうなぁ。
CPANあたりにある暗号化のを使って自分で作るのがいいんじゃない?
需要なさそうだしその辺に転がってるCGIじゃ見つからないと思うよ。

75 :nobodyさん:03/01/17 20:16 ID:???
CGIの内部で画像ファイルを作って出力しようと思っているのですけど、
そのCGIの名前が makepng.cgi という名前だとブラウザからDLしようと
するときの名前がnamepng.cgi.pngという名前になってしまいます。
# 手で書き換えればいいのだけれど。
makepng.cgi?foo=1&bar=x のときにはダウンロードするときの名前を
giko01x.png のようにCGI側で調整してやる方法ってありますか?
ブラウザはIEのみと考えてもいいです。


76 :nobodyさん:03/01/17 21:57 ID:UZGmf3mg
>>75
直接ブラウザに画像データを送ったらファイル名はつけられない。
いったんサーバ側に画像ファイルとして保存してからならなんとかなるでしょう。

77 :nobodyさん:03/01/17 23:02 ID:???
なるほど、了解しました。


78 :nobodyさん:03/01/18 00:23 ID:O9FxKTGG
来客者は書き込めるが、他の来客者が書いたものは見られないようなcgiってありますか?


79 :78:03/01/18 00:24 ID:O9FxKTGG
追記

当然管理人は見られます。
管理人以外が過去の書き込みが見られないようなゲストブックみたいなやつがほしいんです。

80 :nobodyさん:03/01/18 00:37 ID:???
>>78
メールじゃダメなのか?


81 :nobodyさん:03/01/18 22:36 ID:vrB72zE5
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=%A4%CF%A4%B8%A4%E1%A4%CB
↑このサイトですけど、URLが hoge.cgi?〜 見たいになってなくて、
スラッシュの次にいきなり?になってます。
これってどうなってるの?

82 :nobodyさん:03/01/18 23:28 ID:???
掲示板CGIの中に別プログラムのCGIを挿入したいのですが、
掲示板CGIのHTMLスペース内にSSIを入れて実行しても
そのままタグが表示されてしまいます。

どのようしたらよいのか教えてください。

83 :超シロウト:03/01/18 23:47 ID:ovwKqnQ9
ほんと申し訳ないのですが、
public_htmlと同じ断層にフォルダを作った時、そのパスは
どのように書いたら良いんですか?
.../.../.../フォルダ/
これでいいのかな?

84 :nobodyさん:03/01/18 23:53 ID:???
>>83
相対パスで良いなら./

85 :nobodyさん:03/01/18 23:54 ID:vrB72zE5
>>83
public_htmlを基準にするなら、
../フォルダ
じゃない?

86 :nobodyさん:03/01/18 23:55 ID:???
>>83
相対パスなら./public_htmlまでのパス/../フォルダ/
だと思うけど

87 :nobodyさん:03/01/18 23:57 ID:???
>>86
お帰り下さい。

88 :nobodyさん:03/01/19 00:02 ID:ZcFFkCZZ
おまけ:

. =>ディレクトリ自身へのリンク
.. =>親ディレクトリへのリンク

先頭が/でなければ、それはカレントディレクトリからの相対パスとみなされる。

89 :nobodyさん:03/01/19 00:04 ID:???
>>88
DOS6なら...とか..........とかも可能だったりする。

90 :nobodyさん:03/01/19 00:06 ID:???
ほぉ・・知らんだ。あ。リンクっていうのは、正確には、ハードリンク。

91 :nobodyさん:03/01/19 00:07 ID:???
>>90
つぅことは..を削除したりなんかしたら親御さんがいなくなってしまうのか。

92 :nobodyさん:03/01/19 00:19 ID:???
ディレクトリ、というファイルの実体が削除されるときは、リンクカウンタが0になった時。
なので、..を消しただけでは消えないはず。

だけど、rmとかの普通のコマンドは、消すことを許可しない、から、普通には消せない

93 :nobodyさん:03/01/19 00:47 ID:???
>>82
print `betu.cgi`;

94 :nobodyさん:03/01/19 01:17 ID:???
>>81
index.cgi

95 :nobodyさん:03/01/19 06:53 ID:???
>82
SSIではなく、ちゃんとスクリプト内に組み込みなさい。
普通SSIの使える拡張子は限られてるだろ。

96 :nobodyさん:03/01/22 22:36 ID:/vlxGamR
webpowerのディレクトリゲイト、下記(サポ板)の質問にもあるように
携帯(J-PHONE)からアクセスすると認証後に飛べないようなんですが
どうしたら良いのでしょうか。
ttp://rank.nu/~wpis/bbs/support/bbs.cgi?mode=view;Code=154
上記で丁度同様の質問が出ていたのですが12月から回答がついてないみたいで…

97 :nobodyさん:03/01/23 05:02 ID:???
ブラウザの履歴を調べる方法はないですか?
window.historyで「進む」「戻る」の実行はできますが、ページを移動せずに
そのURLが知りたいんです。

98 :nobodyさん:03/01/23 11:11 ID:???
>>97
ブラウザがその情報を渡してくれなければどうしようもないだろ。


99 :nobodyさん:03/01/25 01:03 ID:???
質問なのであげます。

apeboard+ で何行も改行するにはどうしたらいいのでしょうか。








こんなふうに。

スキン内のスタイルシートの制限は外したのですが…。

100 :nobodyさん:03/01/25 10:17 ID:???
>>99
曽根。

101 :nobodyさん:03/01/25 10:32 ID:A7yEoEyG
ファイルを書き込み中に、そのファイルを読み込むプロセスが発生したとしても、
ファイルの読み込みの成否はともかくとして、ファイルの書き込みは成功して、ファイル自体が壊れることはないのでしょうか?


102 :nobodyさん:03/01/25 10:38 ID:???
>>101
データ書き込み中に読み込みなら書き込みは成功するはずです。

どっちにしろflockは必須と考えた方が幸せです。


103 :101:03/01/25 10:51 ID:A7yEoEyG
ありがとうございます。
ファイルの読み込みが、次に行うかもしれない書き込みに影響しないのであれば、
ファイルの読み込み自体はflockの手順を介さなくても平気なんですね

104 :nobodyさん:03/01/25 10:52 ID:???
>>103
必須の意味を考えながら腕立て200回。

105 :101:03/01/25 11:05 ID:A7yEoEyG
わっ、そうですね‥
102の末尾に
そうでなければ、介すべき、仕様が明確に決まってなければ、介すべきといった感じなのでしょうか??
という具合ですかね

106 :101:03/01/25 11:19 ID:A7yEoEyG
じゃなっくっっーーてェーー
103だ103。

107 :ここは?:03/01/25 12:01 ID:P9onD8CE
http://homepage3.nifty.com/digikei/ten.html
(*~ー゜)ノ ・・・・・心温まるの〜

108 :nobodyさん:03/01/25 12:29 ID:???
書き込みが成功したとしても、後から読み込んだプロセスが(中途半端な)上書きをして
データがごっそり抜けることになる。
図入りで説明してるページも多いから調べてみそ。

109 :nobodyさん:03/01/25 12:59 ID:2kNMQnUp
今PealでBBS作ってるんですが、
ログを保存するのに、1件につき1ファイルが良いのか
1つのファイルに詰め込んでいく方が良いのか・・・。
後者だとすれば何件くらいを目安にすれば良いのやら。。
と、悩んでます。

一体皆さんはどういう感じでつくっているのでしょう?
お奨めなやり方などがあれば教えていただけると嬉しいのですが。
おながいします。

110 :nobodyさん:03/01/25 13:01 ID:???
>>109
>1件につき1ファイル
追加、編集、削除が容易だがどうやって検索するかが問題になってくる。まぁ、簡単と言えば簡単。

>1つのファイルに詰め込んでいく
ファイルをだだ読みすればいいので検索性は良い。しかし追加、編集、削除が面倒。まぁ、簡単と言えば簡単。

どっちにもメリットデメリットがあるのでお好きな方を。と。

111 :109:03/01/25 13:10 ID:???
>>110
了解しました。
しばらくは両方使ってみて
自分の好みの方にしてみます。
ありがとでした!

112 :nobodyさん:03/01/25 16:14 ID:???
flockなんか使ってる香具師いるの?

113 :nobodyさん:03/01/25 16:15 ID:???
>>112
(・Д・)?

114 :nobodyさん:03/01/25 17:20 ID:J+PAIJA/
1ファイル1000個くらい詰めた方が効率がよろしい。ので

1ファイルに詰め込むんじゃなくて、1000個づつに分割したらどうかね

115 :nobodyさん:03/01/25 17:51 ID:???
>>114
検索はしやすそうだけど
編集、削除はやっぱり面倒じゃないか?
追加は>>で追記してけば問題なさげ。

1ファイル1投稿だと排他あまり考えなくていいし
最悪トンでも1メッセージだけ。
検索しないなら1ファイルに1投稿が確実。(検索もできなくはない
編集、削除しないなら1ファイルへ数件詰め込めば検索楽。

116 :nobodyさん:03/01/25 18:02 ID:???
>>112
しょっちゅう使っていますがなにか?

117 :nobodyさん:03/01/25 18:51 ID:???
>>116
flockってファイルを開いてからロックするから同時に開けちゃうでしょ?
それでもイィ!!の?

118 :nobodyさん:03/01/25 18:54 ID:???
>>117
無いよりは激しくまし。

と、言うかロックの時点でロックに成功したプロセス以外は待ち状態になるんでは?
ほら、スレッドみたいに。

119 :116:03/01/25 20:13 ID:???
>>117
>>118の言うとおり後からflockを呼んだプロセスはロックが解除されるまで待ち状態になる(排他ロックの場合)。
俺はCで使っているけど、Perlもこのシステムコールを呼んでいるだろうから同じでしょ。

120 :nobodyさん:03/01/25 20:17 ID:???
>>118
無いよりはマシなのは当たり前だけど、ロックにflock使うのはどうかと思う。
ファイルを開いてからflockするまでの間に、別プロセスによって開かれる場合が(十分に)あるから。
プロセスIDとtempfile使ってうまくやるべき。


121 :116:03/01/25 20:18 ID:???
>>120
そのファイルが様々なプログラム(flockを呼ばないものもということ)から書き込まれるものでなければ問題ないと思うけど。

122 :nobodyさん:03/01/25 20:19 ID:???
実際flock使ったロック方法では負荷テストすると同時書き込みが起こるよ。

123 :nobodyさん:03/01/25 20:20 ID:???
>>121
いやいや、「思う」ではダメよん。こっちは実験してるんだから。
flockを呼ぶプログラムを複数同時起動すると>>122が起こる。これマジ

124 :nobodyさん:03/01/25 20:20 ID:???
>>122
追加書き込みの際、きちんとファイルポインタをファイルの末尾にもってゆく処理をしている?ロックを解除する前にバッファをフラッシュしている?

125 :nobodyさん:03/01/25 20:21 ID:???
>>123
俺もテストしたけど。
何回やっても成功したよ。
環境はLinux(2.4.18)

126 :nobodyさん:03/01/25 20:22 ID:???
つーかそんな信用できないものをシステムコールとして実装するだろうか・・・

127 :nobodyさん:03/01/25 20:29 ID:???
うーん。ということはflockで特に問題ないのか。
追加の時はともかく上書きの時にflockは使えないと思っていたのですが。。
認識違いのようですね。たぶん実験の時は他の部分がバグっていたのでしょう。
すいませんでした。

128 :nobodyさん:03/01/25 20:30 ID:???
>>127
ただしNFS上では使えない。。。

129 :nobodyさん:03/01/25 20:57 ID:???
>>123
OSも書かずに調子乗ってるバカ。

>>125
正常な技術者。

130 :nobodyさん:03/01/25 21:48 ID:Qs+kaqdw
CGIの勉強をしたいのですけど、やっぱりサーバー建てる必要ありますか?

131 :nobodyさん:03/01/25 21:52 ID:???
>>130
ローカルで小さなhttpサーバ立てれば十分です。

132 :nobodyさん:03/01/25 22:24 ID:Qs+kaqdw
実際に使うとしたらやっぱり立てる必要はありますか?
お金を使わないで使う方法はどんなものがありますか?

133 :nobodyさん:03/01/25 22:26 ID:???
>>132
戦う前から負けている。

134 :nobodyさん:03/01/25 22:29 ID:Qs+kaqdw
できればCでCGIしたいんですけど
無料レンタルサーバで、使えるところないですかね?

135 :nobodyさん:03/01/25 22:29 ID:???
>>134
そのレベルを語るにはまだ早い。

136 :nobodyさん:03/01/25 22:30 ID:???
>>132
フリーのウェブサーバーソフトを使えば?

>>134
板違いな質問・・・・
トクトクならgccが使える。


137 :nobodyさん:03/01/25 22:32 ID:Qs+kaqdw
とくとくまじですか?
ちょっと検索してみます。
サンクス

138 :nobodyさん:03/01/25 22:35 ID:???
>>137
自分のマシンにSunOSが入ってないと無意味だぞ。


139 :nobodyさん:03/01/25 22:36 ID:???
>>138
なんでだよ(笑)
telnet使ってサーバー上でコンパイルすればいいじゃない。
それとトクトクはLinux

iswebと勘違いしたとか?

140 :nobodyさん:03/01/25 22:42 ID:Qs+kaqdw
iswebでもgccつかえるのですか?

141 :nobodyさん:03/01/25 22:43 ID:2edfK8fF
IISで画像掲示板(cgi)を表示させるとDLLHOST.EXEがCPU100%
になる”こと”がある。
プロセスはその時2個あるので殺すと普通になる。何で?

142 :nobodyさん:03/01/25 22:44 ID:???































143 :nobodyさん:03/01/25 22:46 ID:???
>>140
ローカルでコンパイルしてアップロードしろってことでしょ

144 :nobodyさん:03/01/26 06:26 ID:Hn+ukPj1
テキストファイルを読み込んでHTMLを吐き出すcgiの場合、
テキストファイルの中身を一行づつHTMLに吐き出すのと、
テキストファイルの中身を一旦配列変数に入れてから
まとめてHTMLにして吐き出すのとではどちらがいいんでしょう。

145 :nobodyさん:03/01/26 06:46 ID:hfzgm8Bu
http://jbbs.shitaraba.com/travel/832/
    ◆みんなの情報局◆

146 :nobodyさん:03/01/26 09:25 ID:???
>144
ケースバイケース。

147 :nobodyさん:03/01/26 09:29 ID:???
>>144
「どちらがいいか」って漠然と言われても……
使うメモリが少なくてすむ前者のほうがいいんでない?


148 :w-inds慶太:03/01/26 09:58 ID:8J93RXm8
>>144
w-indsの慶太どぇす。
147のいうように、前者のほうがメモリへの負担が少ないでしょう。
ただ、後者のほうがメンテナンスしやすそう。


149 :nobodyさん:03/01/26 10:02 ID:???
while (read(IN, my $buf, 8192)) {
 print $buf;
}

150 :nobodyさん:03/01/26 10:38 ID:???
print while (<IN>); # 1行ずつ

@hoge = <IN>; # 配列経由
print @hoge;

コード自体は大差なし
読み込みから表示までの間にどんな処理をするかで使い分けれ


151 :nobodyさん:03/01/26 15:45 ID:???
シーケンシャルな処理なら前者
ランダムアクセスな処理なら後者

152 :nobodyさん:03/01/27 00:36 ID:zeV2mDZO
WinXP、Perl/CGI環境でgzip圧縮転送の動作テストをしたいんですが
Winにgzipを導入してPerlで動かすってことは可能なのでしょうか。
また、可能だとすれば、どのようにすればいいのでしょうか。
参考サイトでも構いませんので、教えてください。

153 :nobodyさん:03/01/27 00:47 ID:???
>>152
「Winにgzipを導入して」の意味がさっぱり分からんのだが、
system・パイプではダメ?

154 :nobodyさん:03/01/27 00:49 ID:???
>>152
ほい。
ttp://www.gzip.org/

155 :nobodyさん:03/01/27 00:50 ID:???
>>152
参照元
ttp://najo.cc.sakura.ne.jp/~alimika/satomican/doc/natsumican.html

156 :144:03/01/27 15:35 ID:???
>>147 >>148
言葉足らずですみません。
はじめ後者でやって、メモリの負担のことを配慮にいれて
前者の方法に切り替えたんですが、HTMLが表示されるのが
遅くなったようなので、どうなってるんだろうと思った
のです。
メモリ重視なら前者、速度重視なら後者ということですね。

157 :144:03/01/27 15:40 ID:???
>>149-151
すみません。お礼言い忘れました。
ありがとうございます。

158 :nobodyさん:03/01/28 09:31 ID:ysKV21Dy
初参加です。質問させてください。よろしくお願いします。
今チャット作ってるんですが、チャットマスターの発言は参加者には見えるけど
参加者の発言は発言者本人とチャットマスターにしか見えないようにするには
どうすればいいのでしょうか。
もうだいぶ探していますがどーしても分かりません。
ご存知の方、教えてあげてください。よろしくお願いします。

159 :nobodyさん:03/01/28 09:51 ID:???
参加者ごとにログファイルをつくるとか・・・・
ログファイルをひとつにする場合は読み出すときにIPアドレスなどから出力してよいものを選択するとか・・・・

CGIではやらない方がよいと思うけど。

160 :nobodyさん:03/01/28 13:42 ID:aPuGCgnw
>>159さんありがとうございます!
まだまだ分からないことだらけな当方ですが、
ログファイルを使用してのチャット作りに挑戦してみます。

ところでみなさんどうやって勉強してはるのですか?
とても詳しいですけど。これからの参考にさせて頂ければと思います。

161 :nobodyさん:03/01/28 14:11 ID:???
>>160
> ログファイルを使用してのチャット作りに

使用しないでどうやってCGIチャットを作るの?(^_^;)

162 :!161:03/01/28 18:29 ID:???
>>161
mod_perl環境でグローバル変数にログをためとくとか。

163 :nobodyさん:03/01/28 20:48 ID:???
あるHPにアクセスした時、
403Forbidden
You don't have permission to access /○○○/ on this server.
って、出たんだけどー
これって、そのHPに入ることを拒否されてるって事?

どうやったら、入れるの?


164 :nobodyさん:03/01/28 21:26 ID:???
>>163
どういうレベルで拒否されたかはわからないけど、とりあえずアクセスできない。

165 :nobodyさん:03/01/28 23:03 ID:???
>>163
それは指定したURLへのアクセスが禁止されてるってことだから、
そのサイトのちゃんとした入り口から入れば大丈夫なはず。
(このエラーはGoogleの検索結果やブックマークなどの飛び先が
消滅することで出るパターンが多い)


166 :nobodyさん:03/01/29 20:07 ID:AuAKLt9R
CGIにてFORMにて入力したファイルを表示するCGIをPerlで作っています。
ローカルにあるファイルだと、無事open()できるのですが、
外にあるファイル(http:// で始まるhtmlなど)をうまく扱えません。
公開されているHTMLやTXTなどをCGIにて表示させたいのですが、
どうすればいいのでしょうか?

教えてください

167 :nobodyさん:03/01/29 20:16 ID:???
>>166
open()の説明によると、外にあるファイルは扱えないことになっている。
自分でソケット張って取りにいくのが普通かな。fsockopenとかLWPとか。

168 :nobodyさん:03/01/29 21:58 ID:???
>>166
外部なら自分で取りに行かなくてもブラウザに送ったHTMLの中で
開かせればいいんじゃないの?


169 :nobodyさん:03/01/29 21:59 ID:???
>>166
そんな君にはPHP
fopenでローカルファイルを開くように外部ファイルを開ける。

170 :nobodyさん:03/01/29 22:07 ID:???
>>169
それようのオプション付けてコンパイルしてないと無効だけどな。

171 :nobodyさん:03/01/30 15:07 ID:7OFGIowB
age

172 :nobodyさん:03/01/31 10:53 ID:lEAaXrUa
http://www.kent-web.com/bbs/joyful.html?

↑この掲示板を使っているのですが、
掲示板の一時停止はどのようにすればいいですか?
cgiを上書きUPしても書き込みされたものには影響がないですか?

173 :nobodyさん:03/01/31 10:54 ID:???
>>172
まぁ死ね。

174 :nobodyさん:03/01/31 10:55 ID:lEAaXrUa
>>173
そんなこといわないで、教えてください。

175 :nobodyさん:03/01/31 11:55 ID:lEAaXrUa
お願いします。。。

176 :nobodyさん:03/01/31 17:30 ID:???
>>172
まぁパーミッションを変更しる。

177 :nobodyさん:03/01/31 17:41 ID:lEAaXrUa
>>176
ありがとう(TT)

178 :nobodyさん:03/01/31 17:41 ID:54d1aEzb






http://dx1.kakiko.com/sonota/335/3352/index.html






179 :nobodyさん:03/01/31 19:29 ID:Ee0DVLll
メールアドレスを晒すのが嫌なのでformmailを設置したところ、
学校のunix鯖ではCGI上からsendmailとqmailが使えないみたいなので、
にゃぁぁぁぁぁぁぁ?さんのsendmail.cgiなるものを設置しました。
SOCKETでsmtpと通信するスクリプトらしいのですが、これも動く気配が無い。
動かないと分かれば諦めがつきます。鯖上でSOCKET関数が使えるかどうかは、どこでわかるのでしょうか?


180 :nobodyさん:03/01/31 19:33 ID:???
>>179
適当なところにコネクション張ってみ?

181 :179:03/01/31 20:14 ID:Ee0DVLll
>>180
ttp://ash.jp/perl/socket_http.htm
ここのページ見てhttp.plで $host = 'yahoo.com';として
%perl http.pl http://yahoo.com/
とかやったらyahooのソースが見れたのですが、ブラウザ上からhttp.plを呼び出すと。
Error500 malformed header from script. Bad header=HTTP/1.1 200 となります。


182 :nobodyさん:03/01/31 20:17 ID:???
>>181
そら、リモートの80番にアクセスしようとする奴拒否するサーバは少ないわさ。

後、ヘッダが変とか出てるので通信以前に死んでる予感も。

183 :179:03/01/31 20:30 ID:Ee0DVLll
%perl http.pl ms.hc.cc.**.ac.jp:25
220 earth.hc.cc.**.ac.jp ESMTP
502 unimplemented (#5.5.1)
シェルだとこんな感じ。ってかシェルでうごいてもしょうがないか。

184 :nobodyさん:03/01/31 20:33 ID:???
>>183
いや、大きな情報な気がする。

ESMTPに対応してないんじゃないの?サーバが。

185 :179:03/01/31 20:43 ID:Ee0DVLll
>>184
ESMTPってのが分からないんですけど。。
でも上のはhttp.plが print SOCKET "GET $url HTTP/1.1\n";
ってのを送ってるから502が帰ってくるのであって、print SOCKET "HELO domain\r\n"
ってやればちゃんと 250 earth.hc.cc.**.ac.jpってのが帰ってきます。
でもこれをブラウザ上で呼び出すと、Error500になってしまいます。

186 :nobodyさん:03/01/31 20:47 ID:???
>>185
つぅかなぜsmtpにhttpリクエストを送る・・・

187 :179:03/01/31 20:50 ID:Ee0DVLll
>>186
。。いや急遽スクリプト書き直したもんで、見落としてました。


188 :nobodyさん:03/01/31 20:52 ID:???
>>182
はぁ、、わからんのなら答えなくてよろしい。

この場合、CGIが変なヘッダーを出しとるわい。って怒ってる。
で、おそらくHTTP/1.1 200はyahoo.comが出したもの。(http.plを見ればわかる)
つまり、通信は成功してる。ということ。

それから、>>183で出てきたものは、SMTPでーもんの出力だけ。HTTPでしゃべられても
困るっていうことを言ってる。全然大きな情報じゃない。

>>181
そもそも、そんな変なことで悩む前に、「使えないみたい」「動く気配がない」
って言われて原因が分かる超人に期待するのは無謀だと気づけ。

189 :nobodyさん:03/01/31 20:54 ID:???
>>188
>この場合、CGIが変なヘッダーを出しとるわい。って怒ってる。
彼2行目でそう言ってる。


190 :nobodyさん:03/01/31 20:54 ID:???
>>188
>この場合、CGIが変なヘッダーを出しとるわい。って怒ってる。

>>182もその可能性を示唆してると思われ。

191 :nobodyさん:03/01/31 20:55 ID:???
ケコーン

192 :179:03/01/31 21:04 ID:Ee0DVLll
鯖にはSOCKETモジュールがインストールされていて、シェルからSOKCET関数も使えるが、
cgi上ではError500 を吐くの場合 1.cgi上では実行権限が与えられていない
2.それともSOCKET関数とは別の問題 なのか知りたいんです。

# html書き出し部分はここです。
while (chomp($buf=<SOCKET>)) {
print "Content-type: text/html\n\n";
print "$buf\n";
exit;

この場合もシェルだと
Content-type: text/html
220 earth.hc.cc.**.ac.jp ESMTPとなります。

193 :nobodyさん:03/01/31 21:05 ID:???
chomp($buf=<SOCKET>)

194 :nobodyさん:03/01/31 21:08 ID:???
とりあえず無バッファリングにしてみる。

195 :188:03/01/31 21:16 ID:???
>>189-190
>>182は、通信"以前"って書いてあったからー
通信以後に発生したエラーだし、つっこんでもOKだと思って。。

196 :179:03/01/31 21:28 ID:Ee0DVLll
シェルから呼び出した時しかファイルに書き込まれません。log属性は666です。
(chomp($buf=<SOCKET>));
open(OUT,">> http.log");
print OUT "$buf\n";
close(OUT);

197 :nobodyさん:03/01/31 21:30 ID:???
>>196
ディレクトリのパーミッションは?

198 :179:03/01/31 21:32 ID:Ee0DVLll
cgi-binディレクトリは755になってます。

199 :nobodyさん:03/01/31 21:36 ID:???
ネタか。

200 :179:03/01/31 21:42 ID:Ee0DVLll
cgiスクリプトとlogが同一ディレクトリにある場合って、755でも動きませんか?
ちなみに777で試してみても結果は同じでした。

201 :199:03/01/31 21:46 ID:???
>>198について言ったわけじゃない

202 :nobodyさん:03/01/31 23:06 ID:???
suExecだったしな。

203 :179:03/02/01 01:24 ID:???
他の所でソケット通信の話題OKという所があったので、移住します。有り難うございました。

204 :nobodyさん:03/02/01 17:41 ID:Cax25w+6
BiglobeでHP作ってて、CGI使って日記作ろうと思ったんですが、
パスワード入れて管理モードに行こうとすると、
『CGI専用サーバなのでできるか』と言われます。
biglobeだとCGI専用サーバとかになっちゃうらしいんですけど、cgiのほうのどっか設定変えたらできるんですかね。

当方、初心者です。


205 :nobodyさん:03/02/01 17:42 ID:???
>>204
わかってます。帰れ。

206 :nobodyさん:03/02/01 17:44 ID:???
CGIは安全、mod_phpは危険ってどういうこと?

207 :nobodyさん:03/02/01 17:44 ID:???
>>206
幻想です。CGIが安全ってまた訳がわからんけれど。

208 ::03/02/01 17:45 ID:/eR4kJXs
>>196
ファイル名の指定を絶対パスにしてみ


209 :nobodyさん:03/02/01 17:46 ID:???
>>207
ちなみにhttp://pc2.2ch.net/test/read.cgi/php/1036915437/864なんですけど。
PHPだとsetUIDとかでしょうかねぇ?PHP知らないけど。

210 :209:03/02/01 17:47 ID:???
s/setUIDとか/setUIDできないとか/

211 :nobodyさん:03/02/01 17:48 ID:???
>>209
一つのモジュールに負荷が集中するって事じゃないの?

212 :209:03/02/01 17:50 ID:???
>>211
といいますと??
スマソ まじでわからんです。

213 :212:03/02/01 20:19 ID:???
放置されとる・・・・
答える価値もないと判断されたか(鬱

214 ::03/02/02 02:12 ID:eQAjYeC3
CGI は別プロセスでロジックが動く。
モジュールは、httpd のプロセス内(同じメモリ空間)で動く。
したがって、動作上で OS のメモリ保護が期待できるか否かと言った違いは
ある。まあ、クラック耐性が多少高い程度だがな。

215 :nobodyさん:03/02/02 02:13 ID:VwKQrujS
CGIで、ブラウザにコンテンツをキャッシュさせるには
プログラム側でどのようなヘッダを吐けばいいのですか?

ちなみにContent-Typeしか吐いてない場合、
IEはキャッシュしてくれないようです。

やりたいことは、コンテンツをキャッシュさせて、ブラウザから送られてくる
リクエストヘッダを調べて、コンテンツを吐くか吐かないか制御したいのです。

216 :nobodyさん:03/02/02 03:31 ID:???
>>215
If-Modified-Since と Last-modified あたりかな。
まぁでもCGI側でブラウザのキャッシュのことを気にしなくていいような気もするが・・・


217 :215:03/02/02 04:04 ID:???
>>216
Last-Modified付けてもIf-Modified-Since送ってきませんでした。IE5

もしキャッシュできれば、余分なI/Oが減って2chのread.cgiが軽くなるかなー
なんて考えていましたが、無理かな。。

218 :nobodyさん:03/02/02 15:06 ID:???
phpでperlのlocal宣言ってあるの?

219 :nobodyさん:03/02/02 15:27 ID:???
>>218
phpはperlなんかと違って変数のスコープは関数内に限定されます。

220 :nobodyさん:03/02/02 23:13 ID:???
>>215
nph- にして自前でヘッダを全部出力しないと、
サーバソフトが勝手にレスポンスヘッダに 'Cache-Control: no-cache' とか
付けて吐き出してくれてしまったりします。

nph- にすればキャッシュだけでなくかなり自由度の高いシステムを作れるけど、
いかんせん面倒くさいのが何とも。
HTTPの仕様書とにらめっこをしながらプログラムを書く羽目に。

221 :nobodyさん:03/02/03 08:11 ID:FFrB/oLu
ここ( ttp://www.area-s.com/ )で配布されている、
NarrationBBSというのがものすごく気に入って自分のサイトに
設置しようと思い、CGIについて理解しようとネットを駆け巡り
5時間が過ぎました。CGIについては全くの初心者ですが、
一通りの設置の流れや、やらなければならないことは理解した
つもりです。で、いまだにCGIをちゃんと使えるようになって
いないのですが、どなたか助けていただけませんでしょうか。

現在の進行状態としては、プロバイダー(地域のCATVでCGI利用可確認済み)確認、
目的のCGIのダウンロード、プロバイダーに指定された内容の「.htaccess.txt」
ファイルの転送、パスの変更後CGIファイルの転送とパーミッションの設定、
ホームページのトップからCGIへのリンクを作成。

と、こんな感じなんですが、リンクをクリックすると、ダウンロードしますか?の
確認メッセージがでてきてしまい、CGIを動作させられません。

222 :nobodyさん:03/02/03 08:12 ID:???
>>221
shine

223 :nobodyさん:03/02/03 09:26 ID:8N4vyrOL
http://www.agemasukudasai.com/bloom/

224 :nobodyさん:03/02/03 09:55 ID:???
CGIを使って、特定のディレクトリ以下をアクセス禁止にするような事できますか?
htaccessが使えないような場合のことです。

225 :nobodyさん:03/02/03 10:17 ID:???
>>221
.htaccessの中身をここにうpしてみよう。
あとパーミッションはいくつに設定したの?


226 :nobodyさん:03/02/03 15:58 ID:QjlL5TK8
>>225さん すみません。朝方までがんばってやっていて今まで寝てました
,htaccessの中身は以下のとおりです

# .htaccess
AddHandler cgi-script .cgi

このファイルのパーミッションは、プロバイダの指示が

>テキストファイルの内容は以下のように記述して下さい。
># .htaccess
>AddHandler cgi-script .cgi

>転送するときにパーミッションを「644」にして下さい。

とあったので644、その他のものについては cgi 755 dat 666 pl 644
との指示がCGI配布サイトにありましたのでその通りに。また、『※全ての
ファイルを格納するディレクトリ(フォルダ)は777にしてください。』と
あったのでcgiファイルのあるフォルダは777にしました。

ディレクトリ構造は以下のとおりなんですがこれでいいのでしょうか?
public_html ┬ index.html
└ cgi-bin ─ nb ┬ nbs.cgi
├ nbe.cgi
├ cnt.cgi
├ img ─ 画像ファイル(アイコン含む)
├ bbs.dat
├ nar.dat
├ num.dat
├ rjc.dat
├ usr.dat
├ jcode.pl
└ index.html ダミー用

227 :nobodyさん:03/02/03 16:00 ID:QjlL5TK8
すみません、変な風になっちゃいましたね
public_html ┬ index.html
       └ cgi-bin ─ nb ┬ nbs.cgi
├ nbe.cgi
├ cnt.cgi
├ img ─ 画像ファイル(アイコン含む)
├ bbs.dat
├ nar.dat
├ num.dat
├ rjc.dat
├ usr.dat
├ jcode.pl
└ index.html ダミー用
こんな感じです

228 :nobodyさん:03/02/03 16:45 ID:TJH3fomo
>>227
.htaccess.txt
じゃなくて
.htaccess


229 :302:03/02/03 16:49 ID:???
>>228さん レスありがとうございます。

FTPソフトを用いてtxt拡張子を消しましたがうまくいきません。
リンクをクリックすると、ダウンロードしますか?の確認メッセージが
やっぱりでてきてしまい、CGIを動作させられません。

230 :221:03/02/03 16:51 ID:QjlL5TK8
すいません、229は302じゃなくて221です・・・。

231 :221:03/02/03 17:05 ID:QjlL5TK8
いまパスの設定を見直して、リンクを書き直したら
ダウンロードしますか?はでてこなくなりましたが、
Internal Server Error になってしまいました。
この場合、ほとんどはパスの設定ミスということらしい(?)ですが、
htaccessのパーミッションはプロバイダの指定どおり、他のcgiファイルなどは
cgi配布サイトの指示どおりにしています。

ひとつ疑問が残るとすれば、cgiファイルを格納しているディレクトリの
パーミッション設定なんですが、cgi配布元によると、cgi格納ディレクトリは
777にせよとのことなのですが、これは>>227の階層構造でいうと、cgi-binと
nbsフォルダのパーミッションを777にすればいいんですよね?

・・・なんでInternal Server Errorになるんだろう(T-T)

232 :nobodyさん:03/02/03 17:18 ID:???
殆どの場合#!/usr/local/bin/perl
もしくは#!/usr/bin/perl です。

両方試してみた?

233 :nobodyさん:03/02/03 17:19 ID:800eNsZd
>>231
777でだめなら755にしる。

234 :221:03/02/03 17:21 ID:QjlL5TK8
>>233
755にしたらちゃんと表示されました!
皆さん本当にありがとうございました〜
なんだかんだいって、やっぱり2chは頼りになります

235 :nobodyさん:03/02/03 18:50 ID:???
>>234
頼りにするのは困る。最終手段として使え。自分で調べられないと生きていけないぞ。

今回の問題は、suEXECのセキュリティーチェックに引っかかってる。点。
worldから書き込み可能なファイルは、所有者以外に書き換えられた可能性がある
から、実行させてくれない。ということ。

236 :179:03/02/03 21:00 ID:???
203の中間報告。結果は学校の鯖ではSocket.pm、IO::Socket.pm、FileHandleなどの
モジュールが呼び出せないためSocket通信できませんでした。
push(@INC, "/hoge"); とかも駄目でした。


237 :nobodyさん:03/02/03 21:15 ID:???
システムコール呼び出しとかで何とかならんかのう。

238 :sub():03/02/04 00:03 ID:rUOqBsxa
ファイルの任意の行だけ上書きする処理ってどうやるんでしょう?
一行づつループかけてマッチした行以外をTMPファイルに吐き出して
それをログファイルに上書き(>)した後、書き換えたい行を(>>)で書けば
よいんでしょうか?3日悩んでます。。。


239 :nobodyさん:03/02/04 00:36 ID:???
>>238
死ねクソマルチ。

240 :179:03/02/04 01:52 ID:???
動いたので最終報告しようとしたら、既に答え書いてあるし。うーん
>237
の言う通り、システムコールで動きました。

241 :nobodyさん:03/02/04 09:32 ID:???
なんだマルチか。


242 :nobodyさん:03/02/04 16:44 ID:???
ファイルを、while (<IN>) {〜}といった記述をしないで、
一行ずつ読み込んでいく方法はないものでしょうか。

@file = <IN> といったメモリにファイル全部読み込む方法は使わず、
一行ずつ読み込んで、一行ごとに違う処理をしていきたいのです。

while の中でループ回数カウントしてifで判定しろ、なんていうのはなしで。

ファイルを一行読み込む場合、
open(IN,"$logfile");
$line = <IN>;
と、やれば出きるのはどこにでも書いてあるのですが、
2度目以降 $line = <IN> としても空でした…。

Perl は一行ごとに分けるデータ構造が身についてしまってるのがダメなのかなぁ…。
seek と read 使えばよさそうなのは解ってはいるのですが、
ベースから書き換えなくてはならず、このままの構造でなんとかできないものかと。

243 :242:03/02/04 17:30 ID:???
あ、Perl初心者スレと間違えました・・・。
あちらにいってきます。

244 :179:03/02/04 18:53 ID:???
>238 = 242 ?
まあいいや。seekとread使わないと駄目じゃない?
それなら方法が下のページの"ファイルをブロック化する" に書いてあるけど。
ttp://homepage2.nifty.com/S_HIASA/kotohazime/perlpro.htm

245 :nobodyさん:03/02/05 00:47 ID:Rqrb27N+
CGIと言うのは、一つで思い処理をさせるのと、
分散して、複数のCGIを設置するのとどちらが良いのでしょうか?

例えば、カテゴリ別の掲示板だった場合…
bbs.cgiで10のカテゴリの掲示板を運営できるものと、
bbs1.cgiと、bbs2.cgiで5のカテゴリずつ運営する場合です。

この場合、下記の場合の方が、負荷を軽減できると感じてしまいますが
実際の所はどちらがよいのでしょうか?

246 :nobodyさん:03/02/05 00:48 ID:k4P35St7
>>245 訂正
思い > 重い

247 :nobodyさん:03/02/05 00:53 ID:???
>>245
そのCGIが、インタプリタによって実行されるものだと勝手に仮定すると、

普通に考えて、一度に解析されるコードの量が少ないと、負荷は減る。はず。
でも、>>245の場合、実際に解析されるもの自体は同じだと思うから、効果は無い。と思う。

分割するとしたら、読み込み用、書き込み用、メンテナンス用とか、機能別に分割する
方が、よろしい

248 :245:03/02/05 01:03 ID:Rqrb27N+
>>245です。

CGIの内容は、スレッド掲示板をいくつでも作れてしまうというものです。
書き込み、読み込み、メンテ用などは、各CGIで動作します。
このCGIシステム一つで、掲示板を50個を運営するのと、
CGIシステムを5個設置して、10個の掲示板を運営するのと…という場合です。

読み込み用のCGIがbbs.cgiだとすると、
50の掲示板それぞれ、1分間に10人がアクセスすると、
bbs.cgiを500回動作させる事になります。

249 :nobodyさん:03/02/05 03:24 ID:CZbUch9c
Your script produced this error: chmod trapped by operation mask at ./upload.cgi line 199.

chmod 0604, "$storedir$prefix$id.$type";

250 :nobodyさん:03/02/05 08:29 ID:???
>>248
名前変えただけで中身が同じなら負荷は変わらないでしょ。

251 :nobodyさん:03/02/05 10:47 ID:OGgWzvAl
教えて下さい。
PHPとか、PEALとか、 JAVAとか、 ASPとかあるけど、
大きなデータベースを使ったWEBアプリケーションを作る場合、
どれが性能がいいですか?
今ASPしかやってませんが、次になにを勉強しようか
考えてます。

252 :nobodyさん:03/02/05 10:57 ID:???
>>251
全部軽く覚えてSQL投げ比べてみるとか。

C系の言語習得してるならどれも習得に大した時間はいらないわけで。

253 :nobodyさん:03/02/05 11:04 ID:???
>>252
といってもCじゃだめだけどな

254 :nobodyさん:03/02/05 11:17 ID:OGgWzvAl
>>252
それもそうなのですが、当方Win2000Serverしかなく
他を試すのがたいへんなので広く知ってる方に教えて
頂けないかという少々怠慢なお願いでした...。
ちなみに同僚はPHPにすれ、と言ってました。

255 :nobodyさん:03/02/05 11:48 ID:hzviKg6+
$race2 = 'C2十';
というデータでInternal Server Errorになりました。
とりあえず、$race2 = 'C2';
で対応しましたが、

これって、エディタの設定(sjis)が悪いんでしょうか。
それともコードでしょうか。

256 :nobodyさん:03/02/05 11:50 ID:???
>>255
結局なんにもわかってないって事か。

257 :255:03/02/05 12:02 ID:???
わかってないといわれれば、そうなんですけど。
文字化けする文字が悪さをした、としか分かっていません。

258 :nobodyさん:03/02/05 12:37 ID:???
何をおっしゃる兎さん
$race2 = 'C2十\';

259 :nobodyさん:03/02/05 12:40 ID:???
>>258
'の中で\は評価されたっけか。

260 :nobodyさん:03/02/05 12:49 ID:???
>>258
それだけじゃ何なんで、説明するわ。

シングルクォート内であっても、末尾が '\' で終わる文字は書けない。
(閉じるための ' がエスケープされてしまい、
Can't find string terminator "'" anywhere before EOF
というエラーになる)
'十' という文字は2バイト目が思いっきり '\' なので、エラーになる。

他にダメな文字は以下のとおり。

―ソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬
畚秉綵臀藹觸軆鐔饅鷭xx


ちなみにエラーを書くときは、このPerlの出すエラーを書くようにね。
Internal Server Error なんて、ヘッダの吐き忘れでも出るから意味なし。


261 :nobodyさん:03/02/05 12:58 ID:???
まあPerlは使うなってことですな。

262 :nobodyさん:03/02/05 13:00 ID:???
>>261
愉快な結論だな。

263 :nobodyさん:03/02/05 13:01 ID:???
>>261
その言い方はおかしい。こう言うべき。

「まあ馬鹿はPerlを使うなってことですな。」


264 :255:03/02/05 13:01 ID:???
サンクス、皆様

265 :255:03/02/05 13:20 ID:???
馬鹿だけど、使わせてください。
おながいしますmm

266 :255:03/02/05 13:23 ID:???
でもやっぱり馬鹿だし、phpかrudyにしようかな(w

267 :nobodyさん:03/02/05 13:24 ID:???
>>266
何使っても結局はまると思うぞ。

268 :nobodyさん :03/02/05 13:32 ID:/TzrVcwr
if ( length ($FORM{"number$count"}) == 0){
$num{"$str"} = 0;
}
else{
$num{"$str"} = $FORM{"number$count"};
}

とは何をやっているのですか?
初心者で厨な質問で申し訳ないです

お願いいたします

269 :nobodyさん:03/02/05 13:33 ID:???
>>268
データがあるなら代入して無いなら取りあえず0

270 :_:03/02/05 14:35 ID:KqDONkoE
>>268
if文の意味なしと思われ。
$num{"$str"} = $FORM{"number$count"};


271 :nobodyさん:03/02/05 15:30 ID:???
>>270
$num{"$str"} がぬるぽになることを恐れたんだろう。

272 :nobodyさん:03/02/05 15:45 ID:???
コンナトコロデ アブラヲウッテルトハ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>271

273 :nobodyさん:03/02/05 21:06 ID:tr4FI/E+
質問です。

Perlで、use IO::Socketを使って、
2chを読んで加工して表示するCGIを作っているのですが、

板自体
http://pc2.2ch.net/php/
は読めるのですが、
http://pc2.2ch.net/test/read.cgi/php/1041530204/l50
などのCGIが出力するスレが読めません。

Found
The document has moved here.

が帰ってきます。どうすれば読めるようになりますでしょうか?
ヒントでも構いませんので、よろしくお願いします。

274 :nobodyさん:03/02/05 21:15 ID:???
Locationヘッダーが指すファイルを読む。

275 :nobodyさん:03/02/05 21:32 ID:gt7kwXPU
激しく厨房な発言ですので注意してください

@niftyでmethod=POSTが使用できるのでしょか?
いろいろ見てはいるのですが解らなかったので
おしえてくほしいです

276 :nobodyさん:03/02/05 21:36 ID:???
@niftyにあるサイトの掲示板の書き込みボタンでも押してみればいいじゃん・・・

277 :275:03/02/05 21:53 ID:gt7kwXPU
押しましたけど・・・わからないですよ??

278 :nobodyさん:03/02/05 21:58 ID:???
>>277
すぐさまこの板から出てゆけ。


279 :275:03/02/05 22:00 ID:gt7kwXPU
そんなこといわないでくだされ・・・・
BBS設置できなくてこまってるんでつよ・・・

280 :nobodyさん:03/02/05 22:02 ID:???
>>279
エラーがでないなら使えるってことだろうが。
それにCGIを許可しておいてPOSTを禁じるやつがどこにいる。

281 :nobodyさん:03/02/05 22:02 ID:???
>>279
ニフならプロバイダ謹製のがあるんじゃないか?
POSTも分からんのならそういうの使え。


282 :280:03/02/05 22:03 ID:???
ところで、CGI専用ディレクトリにおいている?専用のURLでアクセスしている?
確か@niftyはそういう制限があったはず。

283 :275:03/02/05 22:11 ID:gt7kwXPU
281
二つひつようなもんで
専用の場所に置いて専用のURLでアクセス
してるんですが、えらーになるんですよ


284 :273:03/02/05 23:15 ID:tr4FI/E+
>>274さんありがとうございます。

2chを取得する>>273の件ですが、
Headerを取得してみたところ、

head pc2.2ch.net /test/read.cgi/php/1041530204/l50 80
HTTP/1.1 302 Found
Date: Wed, 05 Feb 2003 14:11:00 GMT
Server: Apache/2.0.44 (Unix) mod_perl/1.99_07-dev Perl/v5.8.0 mod_ssl/2.0.43 OpenSSL/0.9.6g DAV/2 FrontPage/5.0.2.2624 PHP/4.3.0RC3 mod_gzip/2.0.26.1a
Location: http://binbo8.he.net/cgi-bin/error500
Connection: close
Content-Type: text/html; charset=iso-8859-1

となってLocationに期待のものが入ってません。
GETはhostだけ渡してますが、なにかやり方がマズイのでしょうか。



285 :nobodyさん:03/02/05 23:29 ID:???
>>284
$ telnet pc2.2ch.net 80
HEAD /php/ HTTP/1.0
Host: pc2.2ch.net

うしし。

286 :nobodyさん:03/02/05 23:48 ID:???
素直にmonazillaに誘導した方が良くない?

287 :273:03/02/05 23:55 ID:tr4FI/E+
>>286さんありがとー
monazillaってとこに言ってきたら、read.cgiの仕様が解説してあって

print $SOCKET "GET $path HTTP/1.0\r\n";
print $SOCKET "Host: $host\r\n";
print $SOCKET "Connection: close\r\n";
print $SOCKET "User-Agent: dummy\r\n";
print $SOCKET "Accept: */*\r\n";
print $SOCKET "Accept-Language: ja\r\n";
print $SOCKET "\r\n";

したら見事読みました! 


288 :nobodyさん:03/02/06 06:20 ID:???
質問です。よろしくお願いします。
ttp://homepage2.nifty.com/yoshi-m/makehp/free_cgi/CGI/counter/now_counter.html
↑上記のサイトにある閲覧者カウンター(現在の訪問者数を数えるCGI)の設置を
試みています。無事、設置できたのですが、同一IPアドレスをチェックする機能が
ついていないので、GOOGLEなどで検索して調べて同一IPのカウントを制限するような
改造を試みたのですが、どうにもうまくいきません。
バカな質問かもしれませんが、どなたか、どうしたら上手くいくかご教授お願いでき
ないでしょうか?


289 :nobodyさん:03/02/06 07:04 ID:???
>>288
具体的にどうやって、どううまくいかないのかを書いてくれないと。
1から10まで手取り足取り教えてもらえると思ったら大間違いだよ。


290 :nobodyさん:03/02/06 08:54 ID:???
>>288
1から10まで手取り足取り教えてほしければこちらへ

【 スクリプト改造工房 PART 5 】
http://pc2.2ch.net/test/read.cgi/php/1028193595/







やってくれる人がいるかどうかはしらんが。

291 :nobodyさん:03/02/06 12:48 ID:???
perlで掲示板組んでます。
いまいちわからないんですが、例えばフォームのvalueで指定した文字(変数?)は
$変数名にそのまま反映するんでしょうか?

初歩的なことを聞いてスマソです。
誰か教えて下さい〜。。もう一人じゃだめぽ。。

292 :nobodyさん:03/02/06 13:02 ID:???
>>291
されない。

293 :nobodyさん:03/02/06 13:10 ID:???
>>291
君にはPHPをすすめる。


294 :nobodyさん:03/02/06 13:58 ID:???
最近はされんけどなw

295 :291:03/02/06 14:09 ID:???
>>292
>>293
>>294
されないんでつか。。(・ω・;)
返答ありがとうございました。


296 :nobodyさん:03/02/06 17:08 ID:???
CGI.pmで、こういうのがあったぞ。

IMPORTING ALL PARAMETERS INTO A NAMESPACE:
$query->import_names('R');

This creates a series of variables in the 'R' namespace.
For example, $R::foo, @R:foo. For keyword lists, a vari-
able @R::keywords will appear. If no namespace is given,
this method will assume 'Q'. WARNING: don't import any-
thing into 'main'; this is a major security risk!!!!

最後の1行は、つい最近までPHPのデフォルトの動作だった。
PHPはそんなもんなんだよ。

297 :nobodyさん:03/02/06 21:19 ID:s4S7/zxS
常日頃からパソコン(またはサーバー)で短い時間ごとにメールを受信させ、
そのメールの中身を解析して適切な答えを返す&HTML生成してくれるものは
ありますか?

298 :(=`ェ´=) ◆9rperl5mn2 :03/02/06 21:28 ID:???
>>297 AI搭載?

299 :nobodyさん:03/02/06 21:36 ID:s4S7/zxS
いえいえ、初歩的にOutlookExpressとかで「○分おきに送受信」でもいいです。

300 :(=`ェ´=) ◆9rperl5mn2 :03/02/06 21:47 ID:???
>>299
単に定期的にメールを受信させるだけ?
CGIと関係あるのかな・・・

301 :nobodyさん:03/02/06 21:49 ID:???
>>300
ないと思われ
ブラウザで出力→CGI、という短絡的な考えなんでしょ

ところで300おめこ


302 :nobodyさん:03/02/06 21:55 ID:s4S7/zxS
受信させる方法については>>299でもいいが、
肝心なのはその後で、自動に受信したメールの本文を自動に解析し、
適切な答えを返信する&HTML生成してくれるものを探しています。

303 :nobodyさん:03/02/06 22:06 ID:???
「適当な」っていうのが、フレーム問題が発生しそうな課題ですな。

304 :nobodyさん:03/02/06 22:07 ID:???
>>302
探しています……って、そういう目的ならスレ違いだよ。


305 :nobodyさん:03/02/06 22:23 ID:s4S7/zxS
ご指摘どおり、スレを変えました。
アドバイスありがとうございます。

http://pc2.2ch.net/test/read.cgi/php/1041564353/266-

306 :nobodyさん:03/02/08 14:13 ID:P3EB+0+g
CGIというか、場合によってはHTMLやブラウザの問題なんですが、
以下のような仕様は有名なものなのでしょうか?

あるページAではフレームを切って、
Bという、CGIで作られたサイトを(Aの一部に)表示している。
この時、Bに渡される環境変数HTTP_REFERERは、Perl式で書くと
Win IE6では$ENV{'HTTP_REFERER'}はAのURL。
Mac IE5では$ENV{'HTTP_REFERER'}はundefined。

なぜWinとMacで違うんでしょう。RFCとかでは既定されてないのかな。

307 :nobodyさん:03/02/08 14:28 ID:n3LLA3DF
http://bbs.1oku.com/bbs/bbs.phtml?id=yasuko
★もうすぐ春ですよ★

308 :nobodyさん:03/02/08 21:48 ID:???
>>306
そんなのブラウザに実装によるだろう。諦めろ。

つうかフレームを使うページは(略

309 :nobodyさん:03/02/09 00:27 ID:???
@t = split(/ /, join(/ /, ("1","2","3")));
print $#t;

とすると2ではなくて0と表示されるのは普通?
漏れの環境がオカシイの?
半角スペースでjoinすると、ぴっちり繋がるもんなん?

310 :309:03/02/09 00:39 ID:???
スマソ、joinの第一引数は""で囲む、普通の文字列ですた。

311 :nobodyさん:03/02/09 00:41 ID:???
>>309
@t = split(/ /, join(' ', ("1","2","3")));
print $#t;


312 :nobodyさん:03/02/09 03:56 ID:???
ローカル環境のperl.exeが勝手に消滅してるみたいなんだけどなんでかな?
削除した覚えはないのだが??

今までCGIのチェックに使ってきて何の問題もなかったんだけど、不思議。

つい2,3日前までanhttpd使ってて、今日PHPをapacheのモジュールで
動かしてみようとwindows用のapache(以前入れて放置してあった物)を
いじってたらperl/CGIが動かない。
PHPは正常に動くのになんでかな?と思いつつ、パス関係かなとperl.exeを
探したら??無い。あれ?って思ってanhttpdを起動したら昨日まで異常なかった
Perl/CGIがエラーに・・・。
なんでじゃ〜?不思議でしょうがない。こんな事ってあるんだろうか?

313 :nobodyさん:03/02/09 04:01 ID:???
私もPHP入れたらPerlがおかしくなった事あったけど
私の場合は削除はされてなかったんで、パスの指定し直したら直った。
まぁ、Perl再インストールすれば大丈夫じゃないの?
ついでに最新版確認してきてね。

314 :nobodyさん:03/02/09 04:55 ID:???
うちはAN HTTPDで使ってるけど、PHP入れても別におかしくはなってないよ。
ちなみに他ディレクトリで解凍してから、C:\php にコピーして設定という方法で
インスコした。


315 :nobodyさん:03/02/09 05:32 ID:???
>>314
同様の環境。
ただし、perlとphpは同じドライブに入ってないけどw

316 :nobodyさん:03/02/09 23:57 ID:Xc8YBGxY
質問です。
今までPerlでCGIやってたんですが、C言語でCGIを動かそうと思ってます。
色々サイト巡ってとりあえずCygwinをインストールしました。
しかし、Apacheの設定がどうしても分かりません。
Windows+ApacheでC言語のCGIを動かすための説明があるサイト等、
紹介してもらえないでしょうか。

317 :nobodyさん:03/02/09 23:59 ID:???
>>316
拡張子無しを実行条件にしたらどうだい?

318 :nobodyさん:03/02/10 00:05 ID:???
>>316
Perlで書いたものが動けば問題なく動くはずだけど。

コンパイラはcygwin上のgccよりもVC++やBCCの方がいいと思う・・・

319 :nobodyさん:03/02/10 00:18 ID:VClzLIdP
レス多謝です。

>>317
すみません、不勉強なもので意味が分かりませんでした;
差し支えなければ、もう少し具体的に教えて頂けないでしょうか。

>>318
あ、そうだったんですか・・・(恥
BCCはC言語の勉強に前から使ってたんですが、
どうやってCGIとして動くようにすればいいのかが分からず・・・
gccだと gcc -o test.cgi test.c みたいに実行するようなこと書いてあったんですが
BCCの場合はどうすればいいんでしょうか。

320 :nobodyさん:03/02/10 00:23 ID:???
>>318
bcc32のオプションが分からないから答えられないけど、できあがった実行ファイルの拡張子を.cgiにすればよいのでは?

321 :nobodyさん:03/02/10 00:27 ID:VClzLIdP
>>320
printf("Content-type: text/plain\n\n");
printf("Hello, World!");
をBCCでコンパイルし、.cgiにリネームしてウェブ鯖で実行したところ、
ダウンロードダイアログが開いて、
落としたのは「Hello, World!」と書かれたテキストファイル.cgiでした・・・
何故ブラウザで開かれないんでしょうか・・・

322 :nobodyさん:03/02/10 00:28 ID:???
>>321
>printf("Content-type: text/plain\n\n");
原因。

323 :nobodyさん:03/02/10 00:28 ID:???
>>321
Perlで同じようなものを作ったときは問題なく表示されるの?

324 :nobodyさん:03/02/10 00:32 ID:???
ああぁぁぁぁぁああっ
すみません、書き込み直後気付いてtext/htmlにしたらちゃんと出来ました。。
皆さんどうもありがとうございました!

325 :nobodyさん:03/02/10 00:34 ID:???
>>323
はい、Perlだとtext/plainでも表示されたんで、すぐに思い付けませんでした。。。

326 :nobodyさん:03/02/10 00:34 ID:???
text/plainなら大抵の環境でプレーンテキストとして開かれると思うけど^_^;

327 :nobodyさん:03/02/10 00:35 ID:???
>>325
そういう部分は言語によらないはずだよ。
打ち間違わなかった?

328 :325:03/02/10 00:44 ID:???
打ち間違いは多分無いと思いますけど・・・
手持ちの「Per;/CGI入門教室」とか言う本も、
最初のとこはtext/plainでやってます。。。

329 :nobodyさん:03/02/10 03:21 ID:???
>>328
ブラウザの仕様だと思われ。
IEではダウンロード、NN7,OPERA,Lynxだと表示。

330 :nobodyさん:03/02/10 04:33 ID:???
>>329
でもPerlではならないって言っているよ。
打ち間違いとしか思えない・・

331 :nobodyさん:03/02/10 11:46 ID:???
MIMEタイプをプレーンテキストにすると、ダウソになることあるよ、perlでも。

332 :nobodyさん:03/02/10 18:34 ID:???
2つのperlファイルがあるんですけど
両方とも1つのcgiを改造して作成しました。

それをローカルでテストすると上手く動くのに
サーバーにアップしたら片方はエラーで動かないんです。

もちろん1行目やパーミッションも同じように設定してます。
何が原因なんでしょうか・・・。

333 :nobodyさん:03/02/10 19:06 ID:???
>>332
それだけで分かれというほうが無理だろ……


334 :nobodyさん:03/02/10 23:02 ID:???
>>332
>もちろん1行目やパーミッションも同じように設定してます。

むしろそれが原因ではないのかと。

335 :312:03/02/11 01:19 ID:???
>>312でperl.exeが消滅した件ですが、理由がわかりました。
消滅する前にとあるソフトをインストールしたんですが、そのとき
インストールする前にインストーラーの
「インストールが完了していません。続けますか、やめますか?」
のエラーダイアログが出てそのメッセージをキャンセルしたんですよ。
それがactive perlをインストールした時のものだったわけです。
つまり、前のactive perlが完全にインストールされてなくて、
(インストール時にPCが固まったか何かで)半端なまま使ってたって事です。
それでインストールをキャンセルしたために、使ってたperl.exeが削除
されてしまったって事ですな。

336 :312:03/02/11 01:24 ID:???
と言う訳でactive perlを再インストールして解決しました。

>>313
バージョンは5.6.1 build 633 と5.8.0 build 804 ってのが
あったんですが、違いがよく分かんないのでどっちでもいいやって
事で5.8.0 build 804 の方をインストールしてみました。
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl

337 :nobodyさん:03/02/11 22:44 ID:VNfk5QCU
DBと連携するCGIがあるんですけど、
今度セキュリティレベルを高める、という話になりました。
で、やりだまに上がったのがCGIのファイル中に記述してあるDBユーザ/パスワード。
これを別ファイルにするとか言ってるんですけど、意味あるんでしょうか??
皆さんは、こういう場合どうやってますか?
教えてくださいませ。

338 :nobodyさん:03/02/11 22:50 ID:???
>>337
別ファイルにして、それを外部から参照できない場所(ドキュメントルートより上位)に
置けばいいんでない?


339 :nobodyさん:03/02/11 23:07 ID:VNfk5QCU
ようわからんのですが、cgi-binの中なんて普通参照できないですよね。
それともできちゃうもんなんですかね?

340 :nobodyさん:03/02/11 23:17 ID:???
>337
たとえば、SuEXECを導入しているとすると意味がある。
実行ファイル *.cgi のパーミッションは701にして、
それ以外の *。pl などは600にする。DBに渡すパスワードとかはこの*.plの方に記述しておけば、
ゲストユーザーからは*.plを実行したり読み出したりする権限はないので、
セキュリティは保たれる。


341 :337:03/02/11 23:50 ID:VNfk5QCU
なるほど。
よく理解できました。ありがd

342 :さ迷える子羊:03/02/12 02:22 ID:???
地域サイトを作成して、そこのメール会員を募集し
毎週メールを送ることになりました。
サーバは専用cobaltRAQ4でWEBと併用、言語はPerlなのですが、
下記のように考えております。
自分のいくつかあるメールアドレスに計2000通とか送って実験したのですが
結構時間がかかります。
効率のよい方法はありませんでしょうか?
qmail,Postfixにするとかではなく、あくまでもperl内で。

for(@member){
会員の情報をげっと = split();
$mail = ヘッダと内容を作る;
&jcode::convert(\$mail,"jis","sjis");
if( !open(MAIL,"|$sendmail -t") ){ &error('sendmail'); }
print(MAIL $mail);
close(MAIL);
}

343 :nobodyさん:03/02/12 03:58 ID:???
perl内で出来ることなんて無いんじゃないかな。
できても微々たるものかと。
大きそうなのはconvertくらい?

qmailやpostfixが嫌ってことは、sendmailでやりたいってことでいいのかな?
smtpfeedとかいうのがあるから調べてみるといいかも。

344 :さ迷える子羊:03/02/12 13:23 ID:???
>>343 さんレスありがとうございます。
qmail、postfix、smtpfeed等ですが嫌いなわけではないのです。
専用サーバなのにsuを頂けない状態なので、
インストールは「お金を払って頼む」しか手段がありません。
以前ImageMagick入れてもらうだけで10万近くかかりました。
ですので、ソフトのインスト−ルは見合わせております。
個人のお金ではないのですが、ちょっと高すぎて躊躇します。

345 :nobodyさん:03/02/12 15:43 ID:???
>>342
> if( !open(MAIL,"|$sendmail -t") ){ &error('sendmail'); }

自力で SMTP 喋るようにすれば、少なくとも sendmail を
立ち上げる負荷は無くなる。
Socket.pm (Perl の標準モジュール) くらいはサーバにも
入ってるだろ?

346 :さ迷える子羊:03/02/12 16:03 ID:???
>>345
ご教授ありがとうございます。早速調べて見たいとおもいます。

347 :nobodyさん:03/02/12 22:50 ID:???
>>345
絶対Socket=SMTPライブラリ・・・いや、メール送信ライブラリと勘違いしてるぞ。

348 :nobodyさん:03/02/13 00:10 ID:???
>>347


349 :nobodyさん:03/02/13 05:10 ID:???
>>347
Socket使って自力(sendmailに頼らずに)でやれという意味だと思うけど。


350 :nobodyさん:03/02/13 08:45 ID:???
>>349
わかってる。それを>>346>>347だと勘違いして今頃失望している頃だろうと言っている。

351 :346:03/02/13 13:58 ID:???
use Socket使ってやるのではないのですか?
PORT番号を取得してソケット生成して・・・・・
って、あまりまだ調べてないのですが。

352 :nobodyさん:03/02/13 15:26 ID:???
>>351
その方向で合ってるよ。
ちなみに SMTP のポート番号は通常 25。
詳しくは RFC 2821 な。
ttp://www.puni.net/~mimori/rfc/menu.html

353 :nobodyさん:03/02/13 16:42 ID:???
>>350
ならば「誰が」を省略するなよ。紛らわしい。


354 :nobodyさん:03/02/13 17:41 ID:???
読み手の読解力が無いだけでしょ

355 :nobodyさん:03/02/13 20:59 ID:???
>>353
禿同
>>354
どっちにもとれるだろ。読解力ないの?


356 :nobodyさん:03/02/13 21:20 ID:???
>>355の中の人も大変だな。

357 :nobodyさん:03/02/13 21:25 ID:???
>>355
文脈から推測する力も無いのか・・・
哀れだ

358 :nobodyさん:03/02/13 21:32 ID:???
プログラムの前にまず国語からはじめような。

359 :nobodyさん:03/02/14 03:36 ID:???
>>357
文脈から推測してもどちらとも取れるが。


360 :nobodyさん:03/02/14 03:36 ID:???
>>346
IO::Socket便利だよ。

でもPerlの方が重い予感。
専鯖ならともかく、共有鯖だったらやんないでね。

361 :nobodyさん:03/02/14 03:37 ID:???
「勘違いしてるぞ。」が「勘違いするぞ。」ならば分かるが。


362 :344=346:03/02/15 04:08 ID:???
>>360
さらなる情報ありがとうです。後日調べたいと思います。

>専鯖ならともかく、共有鯖だったらやんないでね。
明記の通り専用サーバですのでガンガンメール送ってみたいと思います。
ってほど会員増えないと思いますけど。
ちなみに戦闘力調べたら、1分で250通前後でした。
しかしながら4種類のメールに対して複数送っているので、
実際はそれ以下か・・・・・(´・ω・`)ショボーン

363 :nobodyさん:03/02/15 07:53 ID:???
>>359,>>361
代弁ありがとう。

364 :nobodyさん:03/02/15 09:31 ID:???
下らない論争で随分消費してますね(´ё`)

365 :nobodyさん:03/02/15 11:10 ID:???
>>364-365
その筆頭。


366 :nobodyさん:03/02/15 13:04 ID:WKdky/xD
read.cgiって何ですか?

367 :nobodyさん:03/02/15 14:20 ID:PUb1GMYC
掲示板を作っています。
書き込みをユーザーが削除できる機能を作っていますが上手く行きません。
sub delete{
local($no,$name,$email,$dai,$comment,$date,$ip,$host,$pw);
if($in{'no'} eq '' || $in{'pwd'} eq ''){&error("パスワードまたは削除Noが記入漏れです");}

open(IN,"$logfile")||&error("ファイルを開けませんでした");
flock(IN,2);
@data = <IN>;
close(IN);
$flag=0;
@new=();
foreach(@data){
($no,$name,$email,$dai,$comment,$date,$ip,$host,$pwd) = split(/<>/);
if($in{'no'} == $no){$flag=1; $PWD=$pwd;}
else{push(@new,$_);}
}
if($flag == 0){&error("該当する記事がありません");}
if($PWD eq ''){&error("その記事にはパスワードが設定されていません");}
$match = ("$in{'pwd'} = $PWD");
if($match ne 'yes'){&error("パスワードが違います");}
open(OUT,">$logfile")||&error("削除に失敗しました");
flock(OUT,2);
print OUT @new;
close(OUT);
}
何処が悪いかご指摘をお願いします…


368 :nobodyさん:03/02/15 14:24 ID:???
>>367
正直、読めというのか。そのインデントも減った暮れもないコードを。

どこがうまく行ってないかくらい自分でもわかるだろ。その辺を分析してエッセンスだけを提示してくれよ。

369 :nobodyさん:03/02/15 15:47 ID:???
$match = ("$in{'pwd'} = $PWD");
if($match ne 'yes'){&error("パスワードが違います");}


if ( $in{'pwd'} ne $PWD ) { &error( "パスワードが違います" ); }


370 :nobodyさん:03/02/15 21:49 ID:???
まあまあ。インデントはHTMLの都合上、省略されたりしてうまく表示できないわけだから
しょうがないよ。
でも「上手くいきません」は勘弁な。どう上手くいかないのかを必ず書くこと。
こういう動作を期待していたが、いざ実行してみるとこんな動作をしてしまった、みたいに
書ければとてもいい。


371 :nobodyさん:03/02/15 22:02 ID:???
いやもう、必ず「パスワードが違います」と言われちゃうんだろ?
>>369を参考にな。

372 :nobodyさん:03/02/15 22:23 ID:???
おまえら優しすぎ。


373 :nobodyさん:03/02/15 22:46 ID:bgMyjtsw
CGI(perl)が動かん。OS Win2000。DOS窓なら動くってのにブラウザではびくともしない。けっ
ActivePerlをインストールしてHttpdを入れた。Httpdはドキュメントルートと実行プログラムの位置とかなら設定したけど、他のごちゃごちゃしたところとかはいじってない。
プロパイダはYahoo!BBを使ってる

heloo World!っていうのを表示する簡単なcgiで、ソースは、
#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<HTML><BODY>\n";
print "<H2>Hello! WORLD</H2>\n";
print "</BODY></HTML>\n";
なんだが。これをブラウザでローカルテストするとHTTP 500 - 内部サーバー エラー になるんですが(´ー`)? 一体原因はどこよ?

374 :nobodyさん:03/02/15 22:49 ID:/6YfHvht
/usr/local/bin/perlにPerlが置いてないとか
"Content-Type"とか

375 :nobodyさん:03/02/15 23:07 ID:???
その"Httpd"の名前を具体的に書けよ

376 :nobodyさん:03/02/15 23:09 ID:???
500か
じゃあウェブサーバーの問題ではなさそうだな。

多分>>374のどれか。たとえばActivePerlは標準では\usr\local\binにはインストールされない。

377 :nobodyさん:03/02/15 23:24 ID:???
>>374
「Content-Type」の大文字小文字は問われません。

>>373
CGIでPerlを呼ぶ設定にしてある?

378 :373:03/02/15 23:41 ID:bgMyjtsw
>>374
perlの位置はC:\Perl\bin\perl.exe から C:\usr\local\bin\perl.exe に直した。
それと同時にHttpdの設定も変更したけど意味無し

>>375
AN HTTPD Daemon Version 1.42

>>377
>>373以外にやることありますかね(´ー`)?

379 :nobodyさん:03/02/15 23:55 ID:???
>>373

拡張子CGIファイルでPerlを実行するように設定しておけば
一行目に関係なく動く(かもしれない。)

そうしていないなら一行目の
#!/usr/local/bin/perl

を#!C:\usr\local\bin\perl

にすればうごく(かもしれない)

380 :飛石3連休 ◆8772606082 :03/02/16 00:00 ID:???
ANHTTPDの設定でPerlへのパスがあってれば、
スクリプト内部の #!/usr/local/bin/perl
をチェックしない設定がないかい?
CGIファイルの拡張子は?

381 :飛石3連休 ◆8772606082 :03/02/16 00:02 ID:???
追記
CGIをチェックする
という設定を使えばエラーがどこで出てるかわかると記憶があるが。

382 :nobodyさん:03/02/16 00:10 ID:???
もちろん一般パスで使う設定にしてあるよね?

383 :373:03/02/16 00:49 ID:51g/G1ig
>>379
動かん

>>380
設定の位置はなんとなく分かった・・でも動かん。
拡張子は.cgi
.plにしても動かんよ?

>>381
検査結果:
Error 500
CGI エラー - CGIを実行できません : だそうだ

>>382
してあるよ?

自分としては、いろいろやってみてできなかったし、YahooBB関係じゃないかと思うのだが・・
それともやっぱりソースとか設定とかが原因ですか(´ー`)?

384 :nobodyさん:03/02/16 00:54 ID:???
バージョンは正確にいうと何だ?
最後のアルファベットも含めて。

385 :nobodyさん:03/02/16 00:56 ID:???
そういえば最近AnHTTPdってCGIがうまく動かないというバグがあったね

386 :nobodyさん:03/02/16 00:56 ID:???
>>373
ローカルで動かそうとしてんじゃないの?なんでYahooBBが。

AN HTTPD と ActivePerl の組み合わせなら kent のとこでも参考に
ttp://www.kent-web.com/www/index.html

387 :nobodyさん:03/02/16 01:00 ID:???
kentだって、プ

388 :nobodyさん:03/02/16 01:13 ID:51g/G1ig
>>384
1.42g

>>386
知り合いが何かそう言ってたんだよ!知るか。

とりあえず今から386のサイトに飛んできます

389 :nobodyさん:03/02/16 01:29 ID:51g/G1ig
逝ってきた。が、やはり動かん
細かいとことかでもいいんで何かあれば言ってください。お願いします

390 :nobodyさん:03/02/16 01:35 ID:???
386のサイト
http://homepage1.nifty.com/monden/cpu/386.html

ちなみに、ActivePerl+httpdを設定無しで
例のhelioWorldを動作させたがきちんと表示されたよ。
両方とも再インストールでどう?

391 :nobodyさん:03/02/16 01:47 ID:51g/G1ig
今日はもう気力が無いのでまた明日で

392 :モモコ:03/02/16 03:35 ID:???
英語用のアンケートCGI探してます。
レンタルCGIでお願いします。
どなたかご存知ですか?



393 :nobodyさん:03/02/16 06:28 ID:???
>>392
スレ違い。


394 :nobodyさん:03/02/16 10:01 ID:0jPHodHR
byte表示を`バイト表示にしたいんですがどうすればいいでつか?
たぶん$size / 1024を使うとは思うんですが書き方がわかりません

395 :nobodyさん:03/02/16 10:12 ID:???
>>394
>たぶん$size / 1024を使うとは思うんですが書き方がわかりません

答えでてるじゃん。

396 :nobodyさん:03/02/16 10:30 ID:0jPHodHR
$kzyte=ってかくんでしょうが細かいとこがよくわかりません。。。

397 :nobodyさん:03/02/16 14:39 ID:???
>>396
Perlだとして、

print ($size/1024), "イ`バイト";

398 :373:03/02/16 15:30 ID:51g/G1ig
win2000の再インストールをしてき増

399 :nobodyさん:03/02/16 15:45 ID:???
>>398
まだ出来ないのか。がんがれよ

AN HTTPD でどうしてもできないなら Apache のほう使うのもいいかもね
設定のしかたが難しい印象があるかもしれんが、解説ページを1つ紹介しとく
ttp://www2j.biglobe.ne.jp/~apollo/server/server.html

400 :nobodyさん:03/02/16 15:49 ID:PVMDa3kD
あふぇ

401 :nobodyさん:03/02/16 15:54 ID:HkwUW3eX
http://f-cc.com/~momonga/

402 :373:03/02/16 17:16 ID:51g/G1ig
さて、再インストールも終わったところで399の解説ページでも見てくるかな

403 :373:03/02/16 17:44 ID:51g/G1ig
まあその前にもう一度ActivePearlを入れなおしてみようとしているわけなんだが、
インストールする位置はどこがいい?
標準ではc:\perl\になってるわけだが、これでもいいのか(´ー`)?

404 :nobodyさん:03/02/16 17:44 ID:???
>>403
どこでもいいよ。

405 :nobodyさん:03/02/16 17:54 ID:???
>>403
貴様漏れの紹介したページ読んでないですか?
たしかに>>404の言うとおりどこでもいいんだけど、ローカルでテストしたあとは
サーバーにアップロードするんでしょ?そのときいちいちスクリプトの一行目の
Perlのパスを書き換えないでいいように、サーバーの設定とそろえておくほうがいい。
そのへんのフォローも書いてるから>>399のサイトを読みながらインストールしてみ

406 :373:03/02/16 18:08 ID:51g/G1ig
成功した!皆さんほんとにありがとう!
再インストールして良かったよ。疲れたけど

>>405
どもどもすみませぬ。399のとこにはお世話になりますた。
非常に感謝しておりますです。はい。

これからたくさんやりたいことがあるので、
いろいろと勉強してがんばりたいです。それじゃ。

407 :nobodyさん:03/02/16 19:12 ID:y0NHKpEd
>>1なんで最後に〜.cgiってつけなくちゃ駄目なんですか?

408 :nobodyさん:03/02/16 19:42 ID:???
>>407
拡張子がcgiなら取りあえず実行してくれ。

って言う設定になってるからですよ。httpサーバが。

409 :nobodyさん:03/02/16 20:44 ID:???
>>407
サーバの設定をいじれば.unkoでも.chinkoでもできる

410 :nobodyさん:03/02/18 00:15 ID:FF7juywa
ageとく。


411 :nobodyさん:03/02/19 03:48 ID:???
>>407
httpd.conf の中にありまふ
.cgi で検索してると出てくるよ
AddHandler cgi-script .cgi
て具合に

412 :nobodyさん:03/02/19 04:11 ID:vr421/dJ
メールフォームで、SSLページから受信した内容を、
PGPなんかで暗号化してメールを受信出来るようなCGIとか
ありませんかねぇ。。

SSLからそのまま平文メールだと意味無いんで・・・・・

フリー&シェアウェア&市販、どれでもいいんですが、
自鯖で使えるやつを探してます。




413 :nobodyさん:03/02/19 04:32 ID:oWKZ/weY
>>412
他のスレと勘違いしてねぇか?

こんなCGI探してますスレッド Ver8
http://pc2.2ch.net/test/read.cgi/php/1041564353/

414 :nobodyさん:03/02/19 04:42 ID:???
Webサーバ=Apacheと決めつけている厨房がいるスレはここですか?

415 : ◆s/jp/vus/g :03/02/19 04:44 ID:???
SSL mailform
↓暗号
SMTP
↓非暗号=マズー
POP3

ここで聞く
http://www.kikakuya.com/service/eEgg79/option_pgp.html

416 : ◆9Vl0N4X/ag :03/02/19 04:51 ID:???
俺ってやさしすぎ・・・かな
http://www.gnupg.org/
http://hp.vector.co.jp/authors/VA019487/

417 : ◆nBdXIOeCFk :03/02/19 15:55 ID:iFOkWU9W
とりあいずCGIファイル(カウンタ)を作ってみたんですが、
そのファイルを開くと、
「ファイルを開くアプリケーションを選んでください」
になってしまいます、どのアプリケーションで開けば良いのでしょうか?



418 :nobodyさん:03/02/19 16:14 ID:???
>>417
向こうのスレの質問を取り消してきなさいな。
マルチと言われますよ。

419 :nobodyさん:03/02/19 17:10 ID:???
>>418
どっちにしろどこに行っても結果は同じ機がする。

420 :nobodyさん:03/02/19 19:14 ID:???
>>413
スマソ。スレ間違いでした。逝ってきます!

421 :nobodyさん:03/02/19 19:45 ID:???
「ずるぽんあぷろだ」の
formの部分を他のwebページに貼って
そこから投稿しようとしたんですけどできませんでした。
おそらく外部からの投稿を禁止してるんだと思います。
どの辺を弄ればよいのかご教授いただけないでしょうか?


422 :nobodyさん:03/02/19 19:46 ID:dIKdV7ST
あげ忘れましたすいません。

423 : ◆s/jp/vus/g :03/02/19 19:48 ID:???
そのcgi知らないけど、$ENV{'HTTP_REFERER'} 辺りを削る。

424 :nobodyさん:03/02/19 19:56 ID:???
>>423
ありがとうございます。
$ENV{'HTTP_REFERER'}
↑これを探してなかったんで質問させていただいたんですが、
今、もう一度検索しなおしてみたところ似たような部分がありましたので
解決できそうです。
ありがとうございました。

425 :417 ◆nBdXIOeCFk :03/02/19 22:05 ID:qxP6cynE
http://tohoho.wakusei.ne.jp/wwwcgi6.htm

このHP見ましたが英語でわかりません、

住民の方詳しくお願いします。

WIN98です


426 :nobodyさん:03/02/19 22:08 ID:???
>>425
出て行け。迷惑だ。

427 :nobodyさん:03/02/19 22:12 ID:???
>>425
中学校に入ると、英語を習うので、そうしたら読んでみるといいでしょう。
今すぐ読みたいなら、お母さんに英語教室に通わせてもらうと良いでしょう。

428 :常時sage ◆s/jp/vus/g :03/02/19 22:20 ID:???
>>425 にオススメ => http://www.eccjr.co.jp/

429 :nobodyさん:03/02/19 22:39 ID:???
ハードディスクにあるjpgやpngの画像ファイルの縦と横の長さをサーバーサイドで取得するにはどうすればいいのでしょうか?

430 :nobodyさん:03/02/19 22:47 ID:???
>>429
GDとか使うか自分で解析するか。
画像サイズって大抵ヘッダにあるから簡単なファイル操作で取得出来るよ。


431 :430:03/02/19 23:03 ID:???
>>430
GDとかヘッダで検索してみてわからなかったらまたお願いします。

432 :まちがえました429:03/02/19 23:04 ID:???
でした。

433 :nobodyさん:03/02/20 00:02 ID:???
>>430
おい、>>429は、
鯖から接続してきたクライアントのハードディスクの中身を抜こうとしてるんじゃないのか?
それができる前提で質問をしてないか?


434 :nobodyさん:03/02/20 00:17 ID:???
>>433
そうなの?サーバのHDDもしくはファイルアップロードで画像をアップロードさせる前提だと思ったよ。

まぁ、いずれにしても俺のアドバイスがクラッキングに役立つとも思えんけど。

435 :417 ◆nBdXIOeCFk :03/02/20 00:58 ID:ESnUqnD0
結局みんな詳しくは判らないのね、、、



436 :nobodyさん:03/02/20 01:03 ID:???
>>435
うん。だから、きみが、がんばって、ほんやくして、ぼくたちに おしえてよ。

437 :nobodyさん:03/02/20 01:15 ID:???
>>435
これ買って勉強してください。
http://www.amazon.co.jp/exec/obidos/ASIN/4839904308/ref%3Dbr%5Flf%5Fb%5F7/250-8992305-8523460

438 :nobodyさん:03/02/21 02:57 ID:+apCT8OA
「$msgが半角スペースと全角スペースじゃなかったら$msgをprint」というのを

print "$comment\n\n" if($comment ne (" " || " "));

と書いたんですが、
どうやら、ここが原因で動かないようになってしまいました。
真夜中ですがどなたかいらっしゃいましたら、ご教授して頂けないでしょうか?

439 :nobodyさん:03/02/21 02:59 ID:???
× $msg
○ $comment

ですた。

440 :nobodyさん:03/02/21 03:06 ID:???
寝る前なんで適当に。
(' ' || ' ') が先に評価されて、それと$commentが比較されるからじゃないかな。
$commentと' '、$commentと' 'のそれぞれを比較して || しましょう。

441 :nobodyさん:03/02/21 03:07 ID:p5R52YmN
>>438
これだと、if文で最初に評価されるのは、(" " || " ") この部分になるのでは?

if ($comment ne " " && $comment ne " ")

これでどうよ?
・・・間違ってるかもしれんけど。


442 :441:03/02/21 03:08 ID:???
>>440
あら・・・かぶった・・・
スマソ


443 :438:03/02/21 03:19 ID:???
直しまりました。ありがdですた。
寝る前にこんな単純すぎるミスの質問で申し訳ないです。
おやすみなさい。

444 :nobodyさん:03/02/21 17:39 ID:???
ちょいと教えてください。
CGIから他のサーバにあるhtmlをゲットしようとしているんですけど、
例えば ttp://pc.watch.impress.co.jp/docs/2003/0221/kaigai01.htm ならば
pc.watch.impress.co.jpにソケット繋いで GET /docs/2003/0221/kaigai01.htm HTTP/1.0 で
取得できるんですが、同じようにしても取得できないサーバがあるんです。

その取得できないサーバはDDNSを使っているのですけど、これが原因でしょうか?

445 :nobodyさん:03/02/21 20:18 ID:???
>>444
例えば2ちゃんねるってHost:ヘッダ要素がないと取得出来なかったりするけど。
HTTP1.1で必須なんだっけか?忘れたけど。

446 :444:03/02/21 20:41 ID:???
>>445
おかげさまで取得できるようになりました。
404が返ってきていたので原因は別にあると思っていたんですけど、
試しにHTTP/1.1にしてみたらできました。

447 :nobodyさん:03/02/23 22:39 ID:BpzQ/pnE
Windowsで、メールを送信するプログラムのローカルテスト環境を作ることってできますか?

448 :nobodyさん:03/02/23 22:53 ID:???
すみませんが、調べてもどうしても判らなかったので教えて下さい。

全角のアルファベットを全て半角に置き換える場合、どのようにしたら
よいのでしょうか。

$zenkaku =~ s/A/A/g;

とやれば一文字だけはできますが、これを複数に適用する記述が
判らないのです。素人質問だとは思いますが、どなたかご回答を
お願いします。


449 :nobodyさん:03/02/23 22:55 ID:???
>>447
http://www.google.com/search?q=Windows+%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB+%E3%83%A1%E3%83%BC%E3%83%AB+%E9%80%81%E4%BF%A1+&hl=ja&lr=lang_ja

450 :nobodyさん:03/02/23 22:59 ID:???
>>448
Perlでの話なら
http://www.din.or.jp/~ohzaki/perl.htm#JP_Z2H

451 :448:03/02/24 00:03 ID:???
>>450
どうもです!お陰さまであっさり解決できました。

452 :645:03/02/25 08:55 ID:???
先日掲示板を発動させたのですが、、
書き込みをすると↓下記のような文字が
掲示板の書き込みフォームの上に勝手に掲載されちゃうんです(ToT)
いろいろ調べて試してみたのですが、自分ぢゃ解決できませんでした。。
なにか思い当たる節や、解決方判る方いらっしゃいましたら宜しくお願いします

Content-Length: 3314 Set-Cookie: kemokemo00=UserID:1046126357219106173157,
Name:キョドっち,Email:,Url:; expires=Friday, 25-Apr-2003 22:39:17 GMT; path= Location:
ttp://members.tsukaeru.net/jenny/chabo.cgi?p=1&v=5&n=%83L%83%87%83h%82%C1%82%BF



453 :nobodyさん:03/02/25 10:37 ID:1K3y7TR8
>>452
フォーム付近を読んでみれば?
そもそも、それだけの説明で分かるとでも思っているのか?

454 :nobodyさん:03/02/25 11:54 ID:Py/Ha9JO
http://genesis.vis.ne.jp/cgi/bbs/topics_board/
ここのFAQcgiを設置しようとしてるんですけど、長い文を投稿すると書き込めないんです。
文字数無制限に投稿できるようにしたいんですけど、
どこを変えればできますか?
よろしくお願いします。

455 :nobodyさん:03/02/25 13:10 ID:???
>>452
思い当たる節 = つかえないNETだからだよ。
解決方 = ヘッダーはContent-typeを最後に出力するように。

456 :nobodyさん:03/02/25 17:24 ID:???
>>454
エラーが出るのか否か?
エラーが出るならばエラーコードを書いてみよ。

457 :nobodyさん:03/02/25 17:40 ID:Ep506vrC
>>454
それ昔設置してみたことあるけど、
文字数制限なんてなかったような気がするぞ?

458 :マリモーマ ◆r6PDGT6Xd2 :03/02/25 18:03 ID:JgDR1Phl
>>252
ヘッダーを 2回表示してると 思われ

459 :マリモーマ ◆r6PDGT6Xd2 :03/02/25 18:04 ID:JgDR1Phl
間違い >>452 だった

460 :nobodyさん:03/02/25 19:19 ID:???
CGI使う環境って小規模だよね?
だれかWEBアプリ使ってる香具師いる?

461 :454:03/02/25 23:28 ID:ohvUuxZB
>>456
エラーはでません。長文だと反応がありません。
文字数を減らすと書き込めます。

>>457
そうなんですか。
なんでだろ〜

462 :nobodyさん:03/02/25 23:49 ID:???
>>461
もしかして method を GET にしてるとかじゃないですよね?

463 :454:03/02/26 00:15 ID:???
>>462
ふがっ!そんなバカな…と思ってみてみるとGETにしてました!
なんでだろ〜

ありがとうございました。
ここがなければ新たなCGI探しに旅立つところでした。

464 :マリモーマ ◆r6PDGT6Xd2 :03/02/26 06:46 ID:O7FL4tD3
>>460
ここへ どうぞ http://pc2.2ch.net/test/read.cgi/php/1046170460

465 :マリモーマ ◆r6PDGT6Xd2 :03/02/26 06:50 ID:O7FL4tD3
こっちの方が よかった
http://pc2.2ch.net/test/read.cgi/php/997967112/

466 :nobodyさん:03/02/27 12:48 ID:hjlRXuUv
レスキューCGIのショッピングバスケット拾ってうpしたのですがエラーはでないでメールは送信できるのですが、受信できないというか送られてきません。
サバはsendmailとCGIに対応してます。
原因として何がかんがえられますか? 

467 :nobodyさん:03/02/27 13:25 ID:???
>>466
メアドの間違い
CGIの設定ミス
sendmailのパスの違い


468 :nobodyさん:03/02/27 18:29 ID:YAYUiWhm
Web上で、表形式にデータを表示しているのですが、1列目の項目は
チェックボックス、2列目以降は、項目値にリンクを張っています。
この状態でチェックボックスやリンクをクリックしたときにCGIを使用して
ログを出力したいと思います。
そのとき、どのチェックボックスやリンクをクリックしたかを引数で
渡すにはどうすればいいのでしょうか?




469 :nobodyさん:03/02/27 20:45 ID:???
>>468
意味わかんねー。
CGIの基本的な仕組み理解してる?

試しにその画面がどんなHTMLなのか貼ってみ。

470 :nobodyさん:03/02/28 12:42 ID:oJJV0L53
レスキューのwebformつかってるんだけど、カゴシステムで
受注者にも同じ内容のメールを送るにはどーすればいいの?

471 :nobodyさん:03/02/28 13:22 ID:OqudrRUT
クライアントのクッキーがオンになっているかいないかって
CGI側で判断できますか?


472 :nobodyさん:03/02/28 13:39 ID:z8TnOjQ7
「データー調査」の信用情報機関
電話番号から住所 年収 財産 結婚暦
暗証番号 旧住所〜新住所 ブラックリスト
生存 行方 本名 などなど
初恋の人 思い出の人に逢えるかも・・・・?
http://www.tyousa.com


473 :nobodyさん:03/02/28 13:47 ID:???
>>470
中身はよー知らんが、to:にそのアドレスを追加すればいんでないの?
to:発注者メアド,受注者メアド
そもそもレスキューに頼っているようじゃ、(ry

>>471
一旦クッキー喰わせてから、リロードを促して、2度目のアクセス時に$ENV{'HTTP_COOKIE'}の有無を確かめてみては?

>>472
仄暗い過去は思い出したくない(泪)

474 :nobodyさん:03/02/28 19:44 ID:5OavBBuq





し ろ い イ ソ タ ー


ト で す ね

475 :nobodyさん:03/02/28 20:54 ID:583oYx0/
CGI.pmとCGI::Lite.pmの違いって何?

CGIでできてCGI::Liteでできないこと

476 :nobodyさん:03/02/28 21:15 ID:???
CGI.pm -> CGIとしてやりたいことは何でもできる。HTMLさえメソッドで生成できる。重い。
CGI::Lite -> だいたい下のページに書かれたことしかできない。軽い。
ttp://yaino.com/gzudoc2/0001/000004.html

477 :473:03/02/28 21:40 ID:???
> 仄暗い過去は思い出したくない(泪)
今日20年ぶりに同級生に出くわした。ちとびびった(汗)

478 :nobodyさん?:03/02/28 21:57 ID:L/lBXc66
環境変数はHTTPヘッダ内に無いみたいですがどのレイヤで付加されるのですか?

479 :nobodyさん:03/02/28 22:45 ID:???
>>478
HTTP_*の環境変数は、CGIっていう規格に入ってる。と思う。
つまり、HTTPDがつけてる。
REMOTE_*、SCRIPT_*もその辺りでつけてる。

環境変数っていう仕掛けは、UNIXにもともとある仕組みで、あるプロセスから
新しいプロセスを作ったら、もとのプロセスから継承される。というものだから、
それ以外の変なものは、そんな風にどこかで付いたもの。かと。

480 :nobodyさん?:03/02/28 23:38 ID:???
HTTP_USER_AGENTはUA側で変更可能でREMOTE_HOST等は変更不可能なのは
HTTP_USER_AGENTはHTTPDがUAから送られてくるものを信じて設定するが、
REMOTE_HOSTはUA側ではどうすることもできないからってことでしょうか?


481 :nobodyさん:03/03/01 00:04 ID:???
>>480
>REMOTE_HOSTはUA側ではどうすることもできないからってことでしょうか?

と、言うかこっちで取得できる以上、こっちで設定すればいいジャント。

482 :nobodyさん:03/03/01 00:22 ID:???
中国のCGIなんですけど、
http://www.cgier.com/cgi-bin/leoboard.cgi
こんなんの日本語のやつある?

483 :nobodyさん:03/03/01 00:55 ID:???
HTTP_*は、HTTPDがクライアントからの情報を適当に変換して付けた。
REMOTE_*は、HTTPDがクライアントを見て考えてつけた。
(絶対に設定できないっていうわけではないけど・・IPだから)

484 :nobodyさん:03/03/01 01:00 ID:???
>(絶対に設定できないっていうわけではないけど・・IPだから)

ん?

485 :478:03/03/01 04:22 ID:DetgchOg
レスありがとうございます。

もひとつ質問。
2chに書き込みするとき8080,80番ポートが空いてると串規制で
書き込めないことがありますが、
http://www15.big.or.jp/~take3/proxy/proxy.cgi
↑のCGI串だと書き込めます。
なんでかわかりますか?

486 :ハッカ飴:03/03/01 05:13 ID:???
きちっと文字コード変換をした上で、
シフトJISの半角カナを正しく扱う方法ってありませんか?

2chなどの半角カナ対応板はどれも文字コード変換ができていません。
というか、文字化けの原因になっているjcode.plを捨てています。

そこで完璧な方法が欲しいのですが・・・。

487 :nobodyさん:03/03/01 06:51 ID:???
>>480
変更不可能というわけじゃないけどな。
まあ変更(というか偽装)したら接続を確立できなくなるけど。

488 :nobodyさん:03/03/01 06:57 ID:zvvmjqfD
趣味でエロサンプルムービー専門のサイトはじめました。
http://homepage3.nifty.com/digikei/sample/sample.html
気合入れてどんどん更新していきます

489 :nobodyさん:03/03/01 11:19 ID:???
>>486
getcodeが失敗していたら、優先的にShift_JISにする。

490 :nobodyさん?:03/03/01 11:41 ID:???
>>486
意味がわからん

491 :nobodyさん:03/03/01 12:33 ID:???
>>486
EUCとシフトJISのコードがかぶる問題?
・漢字をhiddenで渡し、返ってきた値で判別
・submitボタンのvalueに漢字を設定、返ってきた値で判別

492 :nobodyさん:03/03/01 13:52 ID:???
>>486
普通は文字コードの変換なんていらないよ。
シフトJISのページにEUCを送りつけるブラウザなんていまどき存在しないだろ。
(ネスケの2.xとかがそんな感じだった)

でも、最近困っているのがrefererの文字コード。
これはサーチエンジンの文字コードに依存するから統一されてない。
しかも、googleがUTF-8なんていうこじゃれた物を使うから参った。
URL確認してgoogleの場合だけ処理分けるかな…

493 :nobodyさん:03/03/01 15:54 ID:fsy3TEBy
perlでネットワークプログラミングを勉強したいです。
FTPクライアントぐらいは作れます。
もっとスキルアップするための役立つサイトなどは無いでしょうか?
生パケットを弄るような・・・

494 :nobodyさん:03/03/01 20:25 ID:???
>>492
Jcode.pm使えよ

495 :ハッカ飴:03/03/01 21:12 ID:???
>>491のおかげで解決しました。
みんなもありがとう。

496 :nobodyさん:03/03/01 21:13 ID:???
>>494
アクセス解析はC++で書いてるんでな。
ログ表示はPerlだから、表示するときに変換すりゃいいか。

497 :真剣 ◆DvLQ1Mvmkc :03/03/02 02:36 ID:???
皆さんはじめまして。独自ドメインを所得しまして、
真剣にCGIに取り組もうと色々と勉強していますが、
解らない事が多々ありまして、質問に参りました。

私などは独自でPERLなどを理解していないものですから
フリーの配布サイト様に頼るしかできません。
しかし、私が探している「検索系」のCGIがどうしても
見つかりません。

できれば、http://www.yadoplaza.com/の左フレームにある
検索をおすと該当する条件がこのようなテーブルで
抽出されるような物がベストです。
このようなシステムに近い事は配布サイト様のCGIを
少しいじるだけで可能でしょうか?

また、このような配布CGIは存在するのでしょうか?

WEBレスキュー様に簡易データベースというのを発見しましたが
これをいじくれば、できるのか・・・・

本当に皆さんのようなプロにはあほみたいな質問だとは思いますが
どうか教えていただければ幸いです。

498 :nobodyさん:03/03/02 04:51 ID:???
>>497
そのサイトはJava-Servletじゃないかと予想してみる。・・・やっぱりそうみたい(ApacheJServ/1.1.2)

貴方じゃ一生かかっても作れないから、それこそプロに相談した方がいいよ。


499 :真剣 ◆DvLQ1Mvmkc :03/03/02 07:48 ID:???
>>498
丁寧に調べてまで下さり有難うございます。
Java なんたらですか。お言葉どうり一生無理ですね。(´・ω・`)ショボーン
資金豊富ではないので簡易データベースをちょちょっといじって
頑張ってCGIでがむばるしかないのでつか?

うーん。がんばるか。。それにしてもデータベースの元に
なるCSVを編集するだけでもしんどいですね。

500 :nobodyさん:03/03/02 08:53 ID:???
servlet、考えようによっては下手なCGIより書きやすいけど。

501 :nobodyさん:03/03/02 16:50 ID:???
gd ライブラリを使って、CでCGI作成し実行したのですが、
apache で、Internal Server Error が!

以下のページのソースをpngを吐くように変更し、コンパイルを掛け
cgi-binに置いたのですが、上手くいきません。
http://www2k.biglobe.ne.jp/~motoi/cdecgi03.html

Premature end of script headers: /cgi-bin/gdtest.cgi

httpd.conf をいじる必要があるのでしょうか?
 一応、類似の配賦されているperlで書かれたソフトを試したら
PNGが読み込まれているので、原因がつかめません。
 


502 :nobodyさん:03/03/02 17:04 ID:???
>>501
取りあえずローカルのコマンドラインで動かせば?

command > a.png

で出力内容をファイルに出来る。


503 :nobodyさん:03/03/02 17:28 ID:???
>>502
gdtest.cgi>&my.png
ソース内のprintf("Content-type"......)を消しreコンパイルし
リダイレクトさせて、ブラウザから見たのだが、
表示されない。
 apache以前の問題と判明。



504 :nobodyさん:03/03/02 17:50 ID:???
>>503
な、原因の切り出しくらいは自分の手で出来るんだよと。

505 :nobodyさん:03/03/02 20:58 ID:???
今度は、PNGをちゃんと吐くソースを書いたのだが、
やっぱり無理です〜。(;;)
 環境依存っぽいんですけど・・・・。

#include "gd.h"
#include <stdio.h>
int main() {
gdImagePtr im;
FILE *pngout, *jpegout;
int black;
int white;
im = gdImageCreate(64, 64);
black = gdImageColorAllocate(im, 0, 0, 0);
white = gdImageColorAllocate(im, 255, 255, 255);
gdImageLine(im, 0, 0, 63, 63, white);
pngout = fopen("test.png", "wb");
jpegout = fopen("test.jpg", "wb");
gdImagePng(im, pngout);
printf("Content-type: image/png\n\n");
gdImageJpeg(im, jpegout, -1);
fclose(pngout);
fclose(jpegout);
gdImageDestroy(im);

}





506 :nobodyさん:03/03/02 21:21 ID:???
>>505
いつSTDOUTにデータ吐いてるの?


507 :nobodyさん:03/03/02 21:24 ID:???
>>505
ttp://www.nihon-sys.com/runruncgi/cgi-bin/srcview.cgi?imgcnt.cc


508 :nobodyさん:03/03/02 23:07 ID:???
>>506
 すいません、Tera Termからエディタに移した後なので、
 コピペミスです。
以下、正しいソースです。
#include "gd.h"
#include <stdio.h>
int main() {
gdImagePtr im;
FILE *pngout, *jpegout;
int black;
int white;
im = gdImageCreate(64, 64);
black = gdImageColorAllocate(im, 0, 0, 0);
white = gdImageColorAllocate(im, 255, 255, 255);
gdImageLine(im, 0, 0, 63, 63, white);
pngout = fopen("test.png", "wb");
jpegout = fopen("test.jpg", "wb");
gdImagePng(im, pngout);
printf("Content-type: image/png\n\n");
gdImagePng(im,stdout);
gdImageJpeg(im, jpegout,-1);
fclose(pngout);
fclose(jpegout);
gdImageDestroy(im);
}


509 :nobodyさん:03/03/02 23:07 ID:???
>>507
 それも一応試したのですが、Internel Server Erorrが
 帰ってきます。
 

510 :nobodyさん:03/03/02 23:15 ID:???
>>508
\r\n\r\n

511 :nobodyさん:03/03/02 23:23 ID:???
>>510
すいません、環境書いていませんでした。
apache + linux です。
一応今試しましたが、Internrel Server Errorが帰ってきます。
error_log には、Premature end of script headers:
です。
なお、httpd.conf には、TypesConfig /etc/mime.types
となっていて、png は入っています。



512 :nobodyさん:03/03/03 00:16 ID:???
>>511
ヘッダー吐く前に死んでるってあるから、
少なくともバグはprintfよりも上にあるってことがわかるな。

ファイル名は*.cgiなんだから……http:d.confは.cgiがどんな扱いになってるのかを確認した方がいい。


513 :nobodyさん:03/03/03 00:18 ID:???
実行権限無かったり・・・まさかな。

514 :nobodyさん:03/03/03 01:05 ID:???
>>513
アリ ※-(・∀・)/※ エール

515 :nobodyさん:03/03/03 12:11 ID:???
>>512
>>513
 cgi は、実行できます。printenv.cgi で試しました。
>>514
 まさかの事態のため、$ chmod 777 test.cgi と
 実行権限は設定してありますので。

 なお、cgiのコンパイルは、以下のように通しています。
gcc -o ./test.cgi ./test.c -static -lgd -lpng -ljpeg
-lm -lz -Wall -O2
  実際、上記のソースで動くんでしょうか?
 環境が問題なのか、切り分けしたいので・・・。


516 :nobodyさん:03/03/03 12:44 ID:???
>>512
>>513
>>514
 ごめんなさい、 ごめんなさい、 ごめんなさい、 
 ごめんなさい、 ごめんなさい、 ごめんなさい、

 chmod 755 or chmod 700 で動かしたら動作しました。

   ∧_∧
  ( ´∀`)<ねー。許してね。
  (    )
  / / /
 (_)_)

517 :nobodyさん:03/03/03 13:03 ID:???
>>516
許してーあ・げ・な・いっ♥♪
許してーあ・げ・な・いっ♥♪

518 :nobodyさん:03/03/03 13:47 ID:???
>>515
もしもどこかでpopenを使っていたら、popen前(というよりパイプに書き出す前)にstdoutをフラッシュしておいた方がいい。
以前これで小一時間悩んだことが・・・

519 :518:03/03/03 13:58 ID:???
探すのが面倒な場合は、とりあえずmainの先頭にsetvbuf(stdout,NULL,_IONBF,0L);(要stdio.h)を追加してstdoutをバッファリング無しにしてみる。

520 :nobodyさん:03/03/03 15:36 ID:???
>>518
>>519
fflush(stdout)ですね。
とりあえず、gdライブラリを使っているので、大丈夫です。
popen ということは、ppmtogif 等のコマンドに対して、
パイプを使って書き込むパターンですね。
 試したことはないので、試す際には参考にさせてもらいます。


521 :nobodyさん:03/03/03 16:18 ID:0801sff0
↓↓↓↓↓★ピンクエンジェル★↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp/linkvp.html

522 :nobodyさん:03/03/03 18:40 ID:CiYwJP6e
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

http://www5b.biglobe.ne.jp/~ryo-kyo/osukon.html

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

523 :poor:03/03/04 05:12 ID:pSR3aMdf
質問です

524 :poor:03/03/04 05:17 ID:pSR3aMdf
PERLに詳しい方お願いします。
2箇所機能的に動かないところがあります。
直していただけれましたら5000円お支払いします。

525 :nobodyさん:03/03/04 05:43 ID:???
安過ぎだろ・・・まじで。

526 :nobodyさん:03/03/04 06:32 ID:???
>>524
#!/usr/local/bin/perl
      ↓
#!/usr/bin/perl

2500円でいいや。

527 :poor:03/03/04 11:28 ID:pSR3aMdf
まじめに!!
もう少し支払ってもいいです。
メールアドレスを下さい。
添付でファイルを送ります、

528 :nobodyさん:03/03/04 11:57 ID:???
ネタ確定。
↓その後の言い訳。

529 :poor:03/03/04 12:34 ID:pSR3aMdf

# AND OR 判断
if ($method eq 'AND' && $flag == $queryNum){
for ($j = 0; $j < 38; $j++){
$hits[$hitCounts][$j] = $clients[$i][$j];
}
$hits[$hitCounts][38] = $flag;
$hitCounts++;
}elsif ($method eq 'OR' && $flag > 0){
for ($j = 0; $j < 38; $j++){
$hits[$hitCounts][$j] = $clients[$i][$j];
}
$hits[$hitCounts][38] = $flag;
$hitCounts++;
}
}
return $hitCounts;
}

530 :nobodyさん:03/03/04 13:23 ID:???
>>529
{ } の対応が合っていないから
当たりですか?

531 :nobodyさん:03/03/04 13:45 ID:???
>>529
冗談はおいといて、何をしたいんだ?
ifもelifもやってること同じじぇねーか
しかもループ外で++してるだけならreturnは最初より1増えて
戻るだけだろ

やっぱりネタか
↓↓↓次の方どうぞ↓↓↓

532 :poor:03/03/04 14:06 ID:pSR3aMdf
メーアドレス教えて下さい。振込先口座も。
業者に頼むと3万円と言われました。

533 :poor:03/03/04 14:41 ID:b5xaOKg7
2万までなら払います。

534 :nobodyさん:03/03/04 14:48 ID:???
>>529が本物のソースなら他にも突っ込みどころ満載だろうよ。
ソース全部晒して何をどうしたいか言え。
それで大勢に見てもらったほうがよっぽどよくなるだろう。

535 :nobodyさん:03/03/04 14:48 ID:xylsMcYb
パーミッションについての質問です。
おそらくこの板の皆さんにとっては馬鹿らしい内容かとは思うのですが真剣に悩んでおりますのでどうか教えてください。

掲示板のパーミッション設定ですが、使用者が
(1)管理者 (2)グループ (3)その他
の3つに別れてますよね。
で、権限が
(a)呼び出し (b)書き込み (c)実行
の3つと。
パーミッション設定する場合、(1)である自分自身は(a)(b)(c)すべて有効でないといけないと思うんですが、
(2)(3)については、それぞれ(a)〜(c)のどの部分を有効にすべきなのかを教えていただきたいのですが。

536 :nobodyさん:03/03/04 15:07 ID:???
>>535
setuid実行環境なら、プログラムの置かれているディレクトリにはその他への実行権限が必用。
他は所有者にのみ権限を与えればよい。

そうでない場合は、プログラム本体には読みとりと実行を、ログファイルには読みとりと書き込みの権限を与える。
もしも実行時にファイルを作成することがあるのならば、その他へ書き込み権限を与えた専用のディレクトリを作成する。間違ってもそれを他の用途に使ってはならない。

537 :nobodyさん:03/03/04 15:22 ID:???
>poor

こいつマルチポストしてるから答えなくていいよ


538 :nobodyさん:03/03/04 15:38 ID:xylsMcYb
>>536さん
とてもよくわかりました!
ありがとうございました!

539 :Name_Not_Found:03/03/04 18:07 ID:I14iMBLm
ねえねえ、今動いてる、なんの変哲もないCGIチャット。

これを SSL サーバで動かそうと思ったら、
SSL 対応のための修正がいるんですかね?

一般に、SSLサーバで動くCGIには、通常に比べて
制限などはありますか?

540 :nobodyさん:03/03/04 19:42 ID:???
>>539
特に何もすることはないですよ。

541 :nobodyさん:03/03/04 20:23 ID:Yab0v18z
配布されている掲示板を使っていて、ふとログを見てみると
日付に関するところが"1046714534"のような
数字になっているんですがこれは何を表しているんでしょうか?
また、どのように展開するのでしょうか?

542 :nobodyさん:03/03/04 20:38 ID:???
>>541
1970年1月1日0時0分0秒からの経過時間(秒)

543 :nobodyさん:03/03/04 20:57 ID:???
>>541
> どのように展開するのでしょうか?
localtime(3)

544 :nobodyさん:03/03/04 21:41 ID:v+m1rapO
C=C=C=┌(;・_・)┘トコトコ
http://hkwr.com/
http://hkwr.com/bbs

545 :nobodyさん:03/03/06 00:23 ID:DsuR7EV5
あるグループで、データベースをホームページで閲覧・管理するための
CGIを探してます。商品名・価格・販売個数などの欄を、掲示板感覚で
手軽に書き換えられるようなCGIを無料配布してるとこないでしょうか?
WebDBを管理するもので管理者以外でも書き込めるもの、です。

イメージ的には、Webオークションとかをやるようなサイトが使っている
CGIなんですが、無料配布されているところはないでしょうか。。。

普通の掲示板だとレスが長々とついていってしまい、管理も、閲覧するときも
みづらくなってしまいますので・・

販売個数や売上げなどのいくつかの項目を随時手軽に更新させられるような
ものがあれば教えていただけませんでしょうか

546 :nobodyさん:03/03/06 00:49 ID:???
>>545
こんなCGI探してますスレッド Ver8
http://pc2.2ch.net/test/read.cgi/php/1041564353/


547 :nobodyさん:03/03/06 04:15 ID:???
IPアドレスを偽装すれば、何か犯罪になるのでしょうか?

548 :nobodyさん:03/03/06 04:19 ID:???
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/mona/

549 :nobodyさん:03/03/06 05:11 ID:???
>>547
セキュリティ板へどうぞ

550 :nobodyさん:03/03/06 08:01 ID:???
フリーのアクセス解析CGIを利用しているのですが、
IE6.0を使っている人から403エラーで中に入れないと指摘がありました。
念のためエラーページにも解析を入れたところ、
IE6.0でもエラーの出る人と出ない人がいるようです。
当方マカーのためIE6.0のことはよくわかりません。

原因のわかるかたがいらっしゃいましたら、是非教えてください。
宜しくお願い致します。

551 :nobodyさん:03/03/06 08:08 ID:???
>>550
パーミッションは?

552 :550:03/03/06 08:23 ID:k3C4MM6+
>>551
パーミッションは、cgiは755、datは666です。

553 :nobodyさん:03/03/06 18:30 ID:???
ここのずるぽんあぷろだ改造版
http://www.geocities.co.jp/SiliconValley-Bay/4472/script/zurubon.html
をアップしてCGIにアクセスすると

open error!

fileのopenが出来ません。


Return

と出てくるのですが何が悪いのでしょうか?
readmeがないので設定がよくわからないのですが・・・

554 :nobodyさん:03/03/06 19:14 ID:???
>>553
>本家を自分一人で設置できるぐらいのスキルが最低限必要です。

って書いてある。
トラブルを自己解決できないような香具師は使うなってことだね。


555 :nobodyさん:03/03/06 19:23 ID:???
>>554
http://cgi2.html.ne.jp/~around/bbs/bbs.cgi?book=script_support
ここで解決した。
普通は707なんてパーミッション滅多に使わないので
解らなくて当然では?
と自分で自分を擁護してもしょうがないので、
ではさらば

556 :nobodyさん:03/03/06 19:55 ID:???
滅多に使わないの?
俺良く使うけど。

557 :nobodyさん:03/03/06 20:34 ID:???
>>556
だいたいは755じゃない?
CGIの場合。

558 :nobodyさん:03/03/06 21:55 ID:???
>>557
何故グループにアクセス権あげるの?

559 :nobodyさん:03/03/06 22:15 ID:???
>>557
今時suEXEC知らん奴なんているのか?

560 :nobodyさん:03/03/07 20:30 ID:???
滅多に使わないとか、良く使う、とかって何か不思議な争いだなぁ
目的にあったパーミッションを考えたら当然だと思うんだが。

561 :nobodyさん:03/03/07 20:56 ID:???
>>560
000。恥ずかしい過去。


562 :nobodyさん:03/03/08 03:43 ID:???
>>557
グループにアクセス権与えるのは愚の骨頂だよ。
CGIの中に管理用パスワードとか書いてあれば抜き放題。

563 :nobodyさん:03/03/08 11:36 ID:IsIbiOhH
まじっすか!Σ(゜凵K)
CGIの中に管理用パスワード置いてました

564 :nobodyさん:03/03/08 11:39 ID:???
>>562
その他に与えるのは大丈夫なの?

565 :nobodyさん:03/03/08 12:10 ID:???
>>564
与えないとnobodyさんが読み書きできません。

まぁ、suExecの場合は与えちゃダメですが。

566 :nobodyさん:03/03/08 13:13 ID:???
1ユーザ=1グループか全ユーザ=1グループなど、
サーバ側がグループをどう扱っているかによるけど、
与えないほうが無難だな。

567 :nobodyさん:03/03/08 13:14 ID:???
UNIX板の人にぜひ読ませたいスレだな(w

不必要なアクセス権を設定しちゃいけません。
間借りしてるなら規定されているはずだし、
自分で立ててるならちゃんと管理してねってことで。

568 :nobodyさん:03/03/08 13:23 ID:???
だいたい共有鯖を使ってる時点で(以下略

569 :nobodyさん:03/03/08 13:28 ID:???
>>568
telnetが思いっきり口を開けてる自宅鯖も十分怖いけどな。

570 :nobodyさん:03/03/08 13:44 ID:???
(;´○`)

571 :nobodyさん:03/03/08 15:45 ID:???
スクリプトが、ファイルを作らなければいけない場合の
安全なディレクトリのパーミッションについて。

1.suEXEC ON
 0700

2.OFF
 0777 =>常に危険
 0707 =>一般ユーザーが隔離グループに入ってる場合は有効。

でも基本的にsuEXECじゃない共有鯖は安全じゃない

572 :nobodyさん:03/03/08 18:17 ID:???
どんな設定にしようと管理者には丸見えなんだよな(;´○`)

573 :nobodyさん:03/03/08 19:40 ID:???
>>572
何か問題あるか?

574 :nobodyさん:03/03/08 22:00 ID:???
>>572
あーんな物とかこーんな物とか?(;´Д`)ハァハァ

575 :nobodyさん:03/03/08 23:09 ID:???
>>573
会社のメールアカウントを私的利用したらばれちゃう。


576 :nobodyさん:03/03/09 19:30 ID:zYZaV2tZ
とあるCGIにファイルをダウンロードするフォームがあるんだけど、
ダウンロードボタンを押すとそのままブラウザにそのファイルが表
示されてしまう。TXTであれHTMLであれCGIであれそうだ。
これって何がいけないのかな?原因わかる?
ほかのサーバーにおんなじCGIを置いてボタンを押すとちゃんとDL
ダイアログが出てDLできるんだが・・・。

577 :nobodyさん:03/03/09 19:31 ID:???
>>576
>とあるCGIにファイルをダウンロードするフォームがあるんだけど、

この辞典で訳がわからなくなった。

578 :nobodyさん:03/03/09 19:34 ID:048q+sGA
http://bbs.1oku.com/bbs/bbs.phtml?id=rantyan
★その目で確認すべし!!★超おすすめ★

579 :576:03/03/09 19:37 ID:zYZaV2tZ
>>577
ダウンローダーとかファイル管理CGIとか、そんなようなやつ。
------
| DL |
------
↑ボタンを押すと選んだファイルがDLされるっていう動作になるはずが
ならないんだよ・・・。

580 :nobodyさん:03/03/09 19:51 ID:???
>>579
Content-Typeがおかしいのでは?

581 :nobodyさん:03/03/09 20:36 ID:???
>>579
>>580だと思う。application/octet-streamになっている?

582 :nobodyさん:03/03/09 20:37 ID:???
さすが通信分野だよな。バイトストリームじゃなくてオクテットストリームか。

583 :nobodyさん:03/03/09 20:38 ID:???
>>582
MIMEを通信と言い切ってしまうにはちょっと抵抗あるけどな。

584 :nobodyさん:03/03/09 20:41 ID:???
>>583
MIMEって通信以外でも使われているの?

585 :nobodyさん:03/03/09 20:43 ID:???
>>584
どっちかというとワイヤプロトコルだからちょっと違和感って感じ。

586 :nobodyさん:03/03/09 20:46 ID:???
>>585
言いたいことが分かったような分からないような・・
まあちょっと違和感と言っているから全く筋違いというわけでもなさそうだな。

587 :nobodyさん:03/03/10 00:12 ID:p/bgqDIW
cgiでmp3のID3タグの内容を取得できないでしょうか?

588 :nobodyさん:03/03/10 00:21 ID:???
>>587
ファイルをバイナリとして分解してID3部分を取り出せばできますが

589 :nobodyさん:03/03/10 00:35 ID:???
ID3v2のCOM使えば瞬間芸の予感

590 :587:03/03/10 00:47 ID:???
すんなせん、もうちょっとヒント下さい。

591 :nobodyさん:03/03/10 01:17 ID:???
>>590
>>589をミロ


592 :587:03/03/10 01:32 ID:???
すんません、ID3v2のCOMがわからないです・・・

バイナリで取得するって事ではない、んですよね?

593 :nobodyさん:03/03/10 01:37 ID:???
>>592
検索の仕方も知らないのか?プログラム書くのはこれっきりやめろ。
http://216.239.39.101/search?hl=ja&ie=UTF-8&oe=UTF-8&q=ID3v2+%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
普通のライブラリもPerlモジュールもどっちも1分で見つかったぞ。


594 :587:03/03/10 01:51 ID:???
すいませんCOMの意味を知らなかったんで・・・、

検索行ってきます。

ヒントありがとう。

595 :nobodyさん:03/03/10 15:33 ID:waQu7wS1
はじめてCGIでカウンタを付けようとしている初心者です。
相談にのっていただけませんか。

借りているサーバーがパーミッションの設定・変更はできないと書いてあり、
FTPソフトでいじることができませんでした。
CGIの実行やCGIによるファイルの読み書きにつきましては、
パーミッションの設定・変更なしに利用できると書いてあったので
実際CGIをアップしてみたのですがエラーになって表示されませんでした。

CGIが間違っているせいなのか、パーミッション変更不可のため動かないのか、悩んでいます。

596 :nobodyさん:03/03/10 16:05 ID:???
age

597 :nobodyさん:03/03/10 16:24 ID:y6h+x0ia
>>595
説明不足でよくわかりません。
どこのサーバーとか、
そのサーバーの設定等がWEB上で見れれば何とかなるんだが・・・。
(たまに説明をWEBでしてるところあるよね)

とマジレスしてみるテスト。

598 :595:03/03/10 16:24 ID:???
いろいろ検索してみたのですが、パーミッションの変更ができないということは
そもそもCGIの設置は無理なのかもしれません。
念のため、使っているサーバーのCGIについてのページを貼ります。
やっぱ無理でしょうか?

ttp://www.onamae.com/help/18-5.shtml

599 :nobodyさん:03/03/10 16:28 ID:???
>>598
/*
プレミアサーバーの仕様は?
仕様は以下の通りとなっております。
・Microsoft Windows2000 Server
・Microsoft Internet Infomation Server(IIS)5.0
・Microsoft Exchange2000
なお、Perlはバージョン5.6.1を使用しております。
*/

よって、UNIX特有のパーミッションという概念はありません。


600 :nobodyさん:03/03/10 16:30 ID:???
>>599
Winじゃん。
ローカルで動作確認できるんじゃないの?

601 :595:03/03/10 16:33 ID:???
>>599 ありがとうございます。

パーミッションという概念がない場合、
どんなCGIも自動で機能するのでしょうか?
それとも、それ用のCGIを選択して使用するべきなのでしょうか?
先ほど試みたのはKENTWEBのeカウンタというものです。
(いちばん簡単そうに見えたので)
ttp://www.kent-web.com/count/ecount.html?

602 :nobodyさん:03/03/10 16:34 ID:M2RJhlYt
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
★その目で確認すべし!!★超おすすめ★

603 :595:03/03/10 16:35 ID:???
>>600
ローカルで動作確認ですか?
意味すらわからないレベルなので、ちょっと検索して調べてきます。
ほんとに知識不足で申し訳ありません。

604 :nobodyさん:03/03/10 16:44 ID:???
>>603
先に >>598>>601 みたいな情報を出すようにしてくれ。

で、暇だったので試してみたけど、中身まったくいじらなくても置くだけで
http://(略)/ecount.cgi?check は動作したよ。
こちらは Apache + ActivePerl で IIS じゃないけど、まあ変わらんでしょ。

605 :595:03/03/10 17:05 ID:???
>>604
今、中身をいじらずにアップしてみましたが
ログファイルのパスが不正です:./ecount.dat
ログファイルのパーミッションが不正です
と表示されてしまいました。やっぱり駄目みたいです。ああ。。。

ローカルで動かすにはソフトをダウンロードしなくてはならないようなので
また後で来させていただきます。
どうもありがとうございました。

606 :576=579:03/03/10 17:13 ID:AgGCKLX9
>>580
>>581
回答ありがと。
チェックしてみたらこうなってました。
print qq(Content-type: application/octet-stream\nContent-Disposition:attachment;filename=$1\n\n);
これでいいんですよね?
というか、他のサーバーではできたから問題はここじゃないような気がするんですけど・・・
#octet-streamなんて初めて見た・・・(汗)

607 :nobodyさん:03/03/10 17:17 ID:y6h+x0ia
>>605
ならば、ttp://www.onamae.com/help/18-5.shtml
の「Perlでパスの指定がうまくゆかない。」の項目をよく見よ。
このサーバーの厄介なところじゃないかな。

608 :576:03/03/10 17:33 ID:AgGCKLX9
>>595
>CGIの実行やCGIによるファイルの読み書きにつきましては、
>パーミッションの設定・変更なしに利用できる
これって、パーミッションが「何でも動く」んじゃなくて、
パーミッションをサーバーが自動で変えてくれる、って意味じゃない?
・・・私が前いたサーバーはそうだった。
だからパーミッションの問題じゃないと思う。
で、同じ問題にぶつかった事があるんだ。詳しい人に聞いたらこういう事だったよ。
:アップしたCGIが動かないのはCGIスクリプトに問題があるのではないか。
:サーバーで使ってはいけないってなってる命令語が含まれていないか。
:含まれていればUPしても使えない(こともあるかも)。
#ここでいう問題ってのは、「スクリプトがまちがっとる!」ということ
#じゃないぞ。そのサーバーで使うのに問題があるってこと。

たとえばセキュリティの問題で、カウンタに使われることのあるSSIは禁止
だとかさ。ファイルを作る命令語はダメだとかさ。
あなたのサーバーって、そういう制限を設けてるサーバーじゃないの?
もっとも・・・「制限がある」ってなっても、初心者だったらスクリプト見て
「これは制限されてるのがある・ない」ってわかんないと思うから、
ヘタの鉄砲数うちゃ当たるってなもんで、入れてみて動くものを使うようにす
ればよいと思う。
#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。

609 :576:03/03/10 17:38 ID:???
>>607
ほうほう・・・そういうところもあるんだね・・・。
絶対パスか。

610 :nobodyさん:03/03/10 17:53 ID:???
>>605
それは「動作してる」よ。意図通りに動いてはいないけれどね。
次からは、1.サーバエラーが発生したのか、2.意図通りに動かないのか、
を明記するようにして欲しい。

>>609
>#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。
問題の切り分けがきちんとできており、最初から、問題は
サーバの仕様にあると限定できるのであれば、おっしゃる通りです。
でも今回の場合は(ry



611 :595:03/03/10 18:02 ID:???
>>607
うわーーーーー!出来た!出来たよぅ!
もう涙が出そうにうれしい。。。
ほんとうにありがとうございました。感謝!

612 :nobodyさん:03/03/10 18:05 ID:???
>>606
そのCGIにtelnetでHEADリクエストしてもちゃんとoctet-stream返って来るかい?


613 :595:03/03/10 18:09 ID:???
>>608-610
どうもありがとうございました。
608さんのおっしゃるとおり、
サーバーはパーミッションを自動で変更してくれたようです。
それで607さんの絶対パスについてのところを参照にCGIのパスをいじったところ、
DATファイルが反応するようになり、
GIFファイルも直したら反応するようになり、
サーバー上でカウンタが動くようになりました。

610さん、申し訳ありません。
サーバーエラーなのか、意図どおりに動かないのかすら判断できなかったのです。

みなさん、ほんとうにありがとうございました。

614 :606:03/03/10 18:27 ID:AgGCKLX9
612>>
telnetできないっす。
こりゃCGIの問題じゃなくって、サーバーの仕様とかかな?
・・・そういう仕様って、アリ?

615 :608:03/03/10 18:30 ID:AgGCKLX9
>>595
治りましたか。よかったよかった(^^)

サーバーエラー>紛らわしいよね(笑)

616 :606:03/03/10 18:32 ID:AgGCKLX9
>>614
言葉がたりんかった。
Telnetできないのは、Telnet開放されてないから(^^;


617 :nobodyさん:03/03/10 18:33 ID:???
>>616
Port:80 に telnet せよ、という意味じゃないの?

618 :nobodyさん:03/03/10 18:49 ID:???
Win2000のtelnetなら23以外にもアクセスできるよな。

619 :nobodyさん?:03/03/10 20:23 ID:???
>>485はなんで?

620 :nobodyさん:03/03/10 20:53 ID:???
管理サイドの人間しかわからんのでわ?

621 :nobodyさん:03/03/10 20:58 ID:???
>>619
規制されないリモートホストとポートをCGI串が吐いているからだろう

622 :607:03/03/10 21:38 ID:y6h+x0ia
>>595
おめでとう。(カメレススマソ)

623 :nobodyさん?:03/03/10 21:59 ID:???
>>621
リモホはwww15.big.or.jpだし、80番ポートは空いてるよ

624 :612:03/03/10 22:26 ID:???
>>616
>>617です。

telnet www.hogehigehage.com 80

HEAD /unko.cgi HTTP/1.x


625 :nobodyさん:03/03/10 23:22 ID:F/vwue5x
yukiwikiを実験で設置してみたのですが、いまいちだったので
FTPから丸ごと削除しようとしました。そうしたら、/diff/, /info/, /wiki/
というディレクトリ及びその中身のファイルが、Permission Deniedと言われ、
削除できずに残りました。どのようにすれば削除できるのでしょう?

626 :nobodyさん?:03/03/10 23:25 ID:???
FTPクライアントが何かわからんけど
ディレクトリに書き込み権限がないんじゃないの?

627 :625:03/03/11 06:17 ID:???
自己解決しました。nobody権限のファイルがcgiによって作成されていたみたいです。
cgiによって作られたファイルはcgiからでないと削除できないと分かり、
ファイルをunlinkして回るcgiを作って走らせたところ、無事消えました。

628 :nobodyさん:03/03/11 09:12 ID:???
>>627
otherに権限持たせれば出来ると思われ。

629 :nobodyさん:03/03/11 16:29 ID:mYfv1t4y
本当に初歩的な質問だと思うんですが、
どれだけ調べてもヒントすら見つからないので、
全く見当違いなことを考えてるんだと思い質問させていただきます。

ディレクトリを作るのはmkdirですよね。
ならファイルを生成するのはどうしたらいいんでしょうか?

たとえばtestというディレクトリを作り、
その中にtest.datというファイルを作る
なんてことはどうすればできるんでしょうか?

630 :nobodyさん:03/03/11 16:35 ID:???
取り敢えず下記でできる。
open(FILE,">>ふぁいる名");
print(FILE "でーた\n");
close(FILE);

631 :nobodyさん:03/03/11 16:39 ID:???
>>629
Perlですか?
言語(or環境or状況)を書くように

632 :nobodyさん:03/03/11 17:41 ID:04f/wl45
CGI配布サイトなんかに行くと、「軽い掲示板」「重い掲示板」っていう
表現がありますよね。処理が軽いとか。
この「軽い」「重い」って・・・?

設定項目(=変数)が多いと重い?
サブルーチンが多いと重い?
それとも行数が多いと重い?
コメントが含まれていると重い?

どんなんでしょ?(ちなみにPerlCGIで。)

633 :nobodyさん:03/03/11 17:47 ID:???
>>632
レスポンスタイムが遅い。ターンアラウンドタイムが遅い。

634 :nobodyさん:03/03/11 18:06 ID:???
>>632
>設定項目(=変数)が多いと重い?
>サブルーチンが多いと重い?
>それとも行数が多いと重い?
>コメントが含まれていると重い?

すべてNO
厳密に測定すれば差は出るだろうけど

635 :nobodyさん:03/03/11 19:32 ID:???
>>632
プリントアウトした時の紙の重さじゃないの?

636 :nobodyさん:03/03/11 19:51 ID:???
>>635
それを言うなら、仕様書の

637 :nobodyさん:03/03/11 19:56 ID:???
作者の愛情の重みだよ。

638 :nobodyさん:03/03/11 20:03 ID:???
無限ループは愛情があふれているんだね・・・・・・

639 :nobodyさん:03/03/11 20:08 ID:???
>>638


640 :nobodyさん:03/03/12 06:35 ID:???
>>638
溺愛しすぎも良くないよね。

641 :nobodyさん:03/03/12 10:34 ID:???
なごんだ

642 :nobodyさん:03/03/12 19:04 ID:???
色んな所でKENT氏のlogを配列に入れてforeach()するのは悪いとあるんだけど、
どうしたら良いの?
while使っても大差ないと思うんだけど。

643 :nobodyさん:03/03/12 19:14 ID:???
>>642
そう言うレベルの話じゃないと思う。

644 :nobodyさん:03/03/12 22:04 ID:???
>>642
違いがわかるようになってから出直してください。

645 :nobodyさん:03/03/12 23:22 ID:???
何で悪いかは理解してるのか?
もう春なんだなあ・・・

646 :nobodyさん:03/03/12 23:47 ID:???
>>643-645
質問スレに馬鹿なレス返すな。
もう春なんだなぁ・・・

647 :nobodyさん:03/03/13 00:09 ID:???
>>646
手本で納得できるレス返してみれ

648 :nobodyさん:03/03/13 00:15 ID:???
cgiから別のcgiを起動して値を取得して処理する
ということをやりたいのですが、可能ですか?

649 :nobodyさん:03/03/13 00:16 ID:???
>648
Perlならrequireで検索。

650 :nobodyさん:03/03/13 00:55 ID:???
質問です
config.plに$test = test;を入れといて、
print.cgiにprint "$test";って入れて表示させる方法ってどうやるんですか?
よろしくお願いします(plの1;やcgiのヘッダーはできているとする)

651 :nobodyさん:03/03/13 01:08 ID:???
>>650
普通にrequireすればいいんでないの?


652 :nobodyさん:03/03/13 06:33 ID:???
>>651
なんかだめです

653 :648:03/03/13 08:31 ID:9FkJfCBr
>>649
ごめんなさい
もう少し詳しく書きます
別のcgiは別のサーバにあります。
で、POSTでそのcgiに値を渡し
そのcgiが(ブラウザに)出力する結果を元に
処理を行う、それをいくつか繰り返す

以上の事をcgiで行うことは可能でしょうか



654 :nobodyさん:03/03/13 08:59 ID:???
>>653
可能
ただし、これ以上の質問は使っている言語専用スレで

> cgiで行うことは可能でしょうか
cgi の部分を、PerlなりPHPなり自分が使っている言語に
置き換えて読み返してみれば、すぐ解ることでしょが


655 :nobodyさん:03/03/13 09:09 ID:Lbm4LPV1
見て
http://homepage3.nifty.com/digikei/

656 :bloom:03/03/13 09:18 ID:+b8Vztun
http://www.agemasukudasai.com/bloom/

657 :632:03/03/13 15:56 ID:rD3WUou4
>>633
ちょっと質問悪かったかも。

重い・軽い・っていうのは、どういう作りによっておきるのか?
と、聞きたかったのです。
それで、設定項目が・・・なんてことを言ったのですが。

>>634
うーん、そっか。
んじゃあとりあえず、40KBとかあるスクリプトが必ずしも
重いとは限らないわけね。

658 :nobodyさん:03/03/13 15:58 ID:???
>>657
>>634って結構眉唾。

659 :nobodyさん:03/03/13 16:38 ID:xb4yxiHK
futomi's cgi cafe、のprofessional版を使用とすると
アクセス解析するページを見ると、×印が表示されます。
FAQの
http://www.futomi.com/library/faq/acc_faq.html#1
は見ました。
standard版だと上記の方法で×印が表示されないようには出来たんですが
professional版だと駄目でした。
サーバーはxreaの無料鯖を使ってます。
×を表示しないようにする方法を知ってる方がいたらぜひとも!
教えてください。

660 :nobodyさん:03/03/13 16:41 ID:???
>>659
私は、このウェブサービスが、初心者向けサービスでないことを知っています。最低限必要な情報しか提供していないことを知っています。

私は、問題を自分で解決する努力をします。わからないことはまず自分で調べます。


(XREA 規約より)

661 :nobodyさん:03/03/13 16:45 ID:???
>>659
ちゃんと設置できているなら広告のせいだろう

662 :659:03/03/13 16:47 ID:???
出来る限り調べたのですがどうしても分からなかった為。
やった事を書くのを忘れていたので書かせて頂きます。
自動広告表示が原因だと思うのですが
自動広告をやめてhtmlに直接タグを書いて広告を表示しても
×印が消えなかったです。
futomi's CGI Cafe のFAQではこれで×は消えると書いていたのですが
駄目でした。
検索エンジンでも調べてみましたが駄目で、
自分で言うのもあれですが努力はかなりしました。
出来れば解決方法が分かれば教えてください。
宜しくお願いします。

663 :nobodyさん:03/03/13 16:47 ID:???
>>657
重い = 処理時間が長い
つまり効率的な処理ができていないものと言える。
(処理そのものが複雑な場合もあるが、それはとりあえず置いておく)

効率的な処理というのは、>>632で挙げられたことと全く関係がない
わけではないが、そこに大きな関係を見出すことは難しい。
また処理の方法というのは、ほとんどの場合幾通りものアプローチが
あるもので、どれが効率良いかは試験と経験でしかわからない。

というわけで、ネット上で配布されているようなものに関して言えば、
使ってみるかソースを読んで解析するかしないとわからないよ。
既ユーザに使用感を聞いてみるのが一番簡単な方法かもね。

664 :nobodyさん:03/03/13 19:07 ID:ajLCHyyn
保守あげ

665 :nobodyさん:03/03/13 19:47 ID:???
>657
>設定項目(=変数)が多いと重い?
設定項目が多くても、処理が少なければ軽い。

>サブルーチンが多いと重い?
サブルーチンが少なくても、全体の処理が多ければ重い。

>それとも行数が多いと重い?
たった1行でも無限ループになっていたらそっちの方が重い。

>コメントが含まれていると重い?
誤差の内。

結局は、計算機が計算を行なう回数と、ファイルアクセスなどを行なう回数及び時間に関わる。
結果として、>663さんの言うのが正しいわけだが。
どういう作りで、というなら、シンプルな方が軽い。
もちろん、下手な奴が作ればシンプルでも重くなるが。
あとはベンチマークでもやって自分で計るのが一番。
いうまでもないがローカルでな。

666 :nobodyさん:03/03/13 20:32 ID:???
6666666666

667 :nobodyさん:03/03/13 21:37 ID:???
しかし、4、50kbもあるソースなんて書く方が辛くない?
出来る範囲で分割させた方が管理しやすいと思うんだけど。
書き込みと表示を分けるとか。

668 :nobodyさん:03/03/13 21:40 ID:???
>>667
関数作らずに平気で2000行とか書く人なんですよ。きっと。

669 :nobodyさん:03/03/13 21:49 ID:0oN+bQDd
普通、1関数何行ぐらい?


670 :nobodyさん:03/03/13 21:57 ID:???
平均10行未満 最長でも80行
一画面に収まらない関数を作った場合は再検討する。

671 :nobodyさん:03/03/13 22:26 ID:???
インデントが4つ以上の深さになったら他のいい書き方がないか考えてみよう。

これについては、C-BOARDは強烈。画面をまたぐifのブロック。

672 :nobodyさん:03/03/13 23:58 ID:???
私も、大体10〜20行ぐらいかな。
1ファイルは大体20kb以内。500行ぐらいが己の限界です。
2000行なんて書いてたら、思いついた所を探す時には、泣いちゃうよ〜。

673 :nobodyさん:03/03/14 00:05 ID:???
>>672
>これについては、C-BOARDは強烈。画面をまたぐifのブロック。
あなたが挙げているインデントの増加という面ではこれはむしろその抑止に働いていると思う。


kbだから大体2KBってとこか。平均10文字で200行。微妙かも。


674 :nobodyさん:03/03/14 00:14 ID:???
childシリーズってレンタル鯖で禁止されるほど禿負荷なんだよね。

675 :nobodyさん:03/03/14 15:39 ID:d7q/oEUS
皆さん、コメントとかつけないのですか?
ちゃんとコメントつけると、私は数十行などすぐ逝ってしまいます。


676 :nobodyさん:03/03/14 15:46 ID:???
>>675
君のソースを読んでみたい

677 :nobodyさん:03/03/14 15:53 ID:???
>>675
コメントはルーチンの行数には数えないだろ

678 :nobodyさん:03/03/14 17:06 ID:???
何行コメント書いてるの?

679 :nobodyさん:03/03/14 17:07 ID:???
本文よりコメントの方が長かったら、それはそれですごいと思う。

680 :nobodyさん:03/03/14 17:15 ID:???
やたらとコメントをつけないとわからなくなるようじゃ、
変数などの命名がヘタなんだろう。

681 :657:03/03/14 17:29 ID:Qg58BTXT
40KBのスクリプト・・・ウェブ管理CGIだから(笑)
ちなみに私がつくったんじゃないっす。そこまで技術力は(以下略)

>>663,665
あ、なあんだ・・・そういうことだったのか。

なんとなく、変数があるとそれを記憶するのにメモリを使う=重い
なんてこと思ってた・・・。
コメントは極力ないほうがいいのか、っていうのも、Perlが「上から」
見ていく言語だから、飛ばすものは無いほうが、なんてことを考えてた・・。
#行が増えると検索に時間がかかる、のと同じレベルで考えてました。

そっか。これで安心してコード書けそう。

>>675
私はせいぜい設定項目にコメントつけて、サブルーチンに
これは何をするヤツって書くぐらい。
シンプルな掲示板なら数十行まではいかない。
配布するつもりないから使用条件とか書かなくていいし。

682 :nobodyさん:03/03/14 18:02 ID:???
>681
まだ勘違いしているようだが。
重いのとメモリ食うのははまた別。

683 :nobodyさん:03/03/14 20:29 ID:i5QyaZbU
ソースを表示させるにはどうしたらいいのでしょうか?
以下のようなイメージで「ソース」をクリックすると、ページの
ソースが見えるようにしたいのですが、このままですと
当然CGIそのものが実行されてしまいます。

print '<a href="http://11.11.111.111/cgi-bin/hogehoge">ソース</a>';

教えていただけませんか。

684 : ◆dq7M./4Uw. :03/03/14 20:32 ID:???
>683
ソースを.txtにして別途アップロードへれ。。。

685 :nobodyさん:03/03/14 20:32 ID:???
>>683
拡張子をtxtとかにしろ

686 :どーでもいい話だけど:03/03/14 20:45 ID:???
MIMEをtxtにしてもIEの馬鹿はHTMLと勘違いする時ある。ネスケは命令を忠実に守る。
なんなのIEは。


687 :683:03/03/14 20:57 ID:???
回答いろいろありがとうございます。

そうなんです。拡張子を.txtにしてもなぜかcgiが実行されてしまい
ます。ただし別ディレクトリに保存したら正しくソースが表示
されますが...できれば*.txtのファイルは別途作成せずに
やりたいです。

688 :nobodyさん:03/03/14 21:15 ID:???
cgi-bin以下にあるファイルを全てCGIとして実行するように設定することがある。
cgi-binの中に画像ファイルを置いても表示されないことがあるのはそのタイプ。
apacheならScriptAliasってやつだね。

で問題のソースの表示だけど、
別ディレクトリにtxtで置くか、ファイルの中身だけを表示するCGIを別に作成する。
後者は下手なプログラムだと知らない人に遊ばれちゃうので注意が必要。

689 :nobodyさん:03/03/14 21:46 ID:???
パスワードまで覗かれないでね。

690 :683:03/03/14 21:53 ID:0q8cRWlr
ありがとうございます。httpd.confにScriptAliasの指定がして
ありました。別ディレクトリに.txtをおくことにします。

691 :nobodyさん:03/03/15 02:42 ID:Ch+qUXLE
ケントさんのデータ処理系スクリプトとかで、
ログを更新する際、
open(IN,"hoge.log");
@lines = <IN>;
close(IN);
push (@lines,"$d0<>$d1<>$d2<>$d3<>$d4\n");
open(OUT,">hoge.log");
@lines = <OUT>;
close(OUT);
って感じに一度全て配列に代入し、
配列に新しい値を加えた後、
ログファイルに書き込んでるんですが、

open(OUT,">>hoge.log");
print OUT "$d0<>$d1<>$d2<>$d3<>$d4\n";
close(OUT);
↑これじゃあだめなんでしょうか?
だめな理由とかあれば教えていただけないでしょうか?

692 :nobodyさん:03/03/15 02:48 ID:???
>>691
配列に新しい値が加わっていないじゃないか

693 :nobodyさん:03/03/15 02:53 ID:???
>>692
あ、そうですね。
でももう、その配列を利用しないのなら下のでもいいんですかね?

#即レスありがdです。

694 :nobodyさん:03/03/15 02:59 ID:???
>>693
ケントのは読み込んでからデータを追加してファイル丸ごと上書きだろ。

別に追加でも構わないけど、下のじゃロックもかけてないからダメだ。

695 :nobodyさん:03/03/15 03:08 ID:???
>>694
追加でもかまわないんですね。
どうもありがとうございました。
あと、ロックですが、
前後に&lock;と&unlock;
してあるんで大丈夫と思います。

696 :nobodyさん:03/03/15 03:15 ID:???
ケントのソースはあまり参考にしないほうがいいぞ

697 :nobodyさん:03/03/15 03:38 ID:5hlN9xGB
初歩的な質問かもしれませんが、個人等で公開している
ドメイン検索エンジンは、通常どういった仕組みで作られて
いるのでしょうか。

検索してもこれといったものが見つからなかったため、
質問させていただきました。
すみませんが、どうか宜しくお願いします。

698 :nobodyさん:03/03/15 03:42 ID:???
何を聞きたいのかよく分からんが、ネームサーバに問い合わせればいいんでないの?

699 :nobodyさん:03/03/15 04:08 ID:???
それしかないよね
何を知りたいのだろう?

700 :nobodyさん:03/03/15 04:21 ID:5hlN9xGB
>>698-699
説明不足ですみません。
お名前.comのような、.com等のドメインが空いているか
サーチするプログラムを自前で作りたいということです。

701 :nobodyさん:03/03/15 04:22 ID:???
$xxがMD5のハッシュ値なら〜
見たいな事をしたいんですが、どのように書けばいいでしょうか?

702 :nobodyさん:03/03/15 04:26 ID:???
>>700
ドメイン名を正引きすればいいだけ

703 :nobodyさん:03/03/15 04:27 ID:???
正引きじゃねぇや、whoisだ

704 :nobodyさん:03/03/15 13:37 ID:???
>>701
言語書いてないから適当に

/[0-9a-zA-Z+\/]*=*/


705 :nobodyさん:03/03/15 15:20 ID:???
>>704
すいませんperlなんですけど、
/[a-fA-F\d]{32}/
↑これじゃあ見当違いですか?

706 :nobodyさん:03/03/15 18:05 ID:sA3oWGif
この板が適切かどうか分からないんですけど、、、掲示板cgiに関する
質問です。
よく吐きだしたhtmlを直接表示させる掲示板cgiがありますけど、その吐きだした
htmlをいったんファイルとして保存して、そのhtmlを掲示板として表示させるように
するにはどうしたらいいんでしょ?

707 :nobodyさん:03/03/15 19:04 ID:???
>htmlをいったんファイルとして保存して、そのhtmlを掲示板として表示させるように
そのまんま。
答え出てるじゃない。

708 :nobodyさん:03/03/15 19:16 ID:???
ここでよいですよ。

> 吐きだしたhtmlをいったんファイルとして保存して、
> そのhtmlを掲示板として表示させるようにするにはどうしたらいいんでしょ?

htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
Perlなら print "location: URL\n\n";

709 :706:03/03/15 19:57 ID:1k1hrfmM
>>707
したいことの論理が正しいことは分かりましたが(w、具体的なやり方が
分からないのでし。

>>708
>htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
>Perlなら print "location: URL\n\n";
この行はどこに挿入したらいいんでしょうかぁ? フッター作成の後?
それともcgiの最終行ですか?

710 :nobodyさん:03/03/15 20:08 ID:???
>>709
printで画面に表示する部分をファイルに出力に改造して、
その処理が終ったらLocationで飛ばす

711 :706:03/03/15 20:10 ID:1k1hrfmM
>>710
すみません
>printで画面に表示する部分をファイルに出力に改造して、
これの具体的な書き方を教えてください。
それから受け手のhtmlファイルですけど、何か準備は要りますか?

712 :nobodyさん:03/03/15 20:16 ID:???
なんでわざわざhtmlのファイルを作りたいの?

713 :nobodyさん:03/03/15 20:18 ID:???
>>711
自分でスクリプト書くスキルないのならKent-Webとか
CGIスクリプト配布サイトにあるの使っては?
下のが記事部分をHTMLファイルで出力してるタイプ。
http://www.kent-web.com/bbs/sunbbs.html?

714 :706:03/03/15 20:20 ID:1k1hrfmM
>>712
本来の目的は、掲示板cgiが生成して表示した掲示板のhtmlでは検索エンジンが
拾って来れないようなので、それを拾ってこれるようにするためです。

715 :nobodyさん:03/03/15 20:25 ID:???
>>714
>拾って来れないようなので、

例えばgoogleとか拾ってくれます。


716 :706:03/03/15 20:27 ID:1k1hrfmM
>>715
いや、URLの末尾がxxx.cgiになっているものは拾ってきてくれないようですが。

717 :nobodyさん:03/03/15 21:26 ID:???
ログファイルへの書き込みの後に画面表示のために
print "文字"; てのがあるはずだが、その部分を
open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
そのままだと画面表示されないので、Locationで作成したHTMLにジャンプするって感じだな。
index.htmなどからリンクをはる時には $htmlfileにリンクをはれば良い。
ファイルロックするとかLocationを使いたくない時は自分で考えれ。

上からの流れをまとめるとこういう感じだ。
自分でできないと思ったら、あきらめるか>>713のところのを使うとよい。

718 :nobodyさん:03/03/15 22:26 ID:???
>714
ロボット避けのMETAタグとかの勉強をした方が早いと思う。

719 :nobodyさん:03/03/15 22:28 ID:5hlN9xGB
>>703
どうもありがとうございます。
おかげさまで前進することができました。

720 :706:03/03/15 23:44 ID:1k1hrfmM
>>717
うがー
>print "文字"; てのがあるはずだが、その部分を
>open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
毎行こうするわけですか。かなりめんどい・・・

当分、諦めるかな・・・ 気が向いたら>>713も検討してみます。

>>718
ロボット避けのMETAタグは使用していないでし。

721 :nobodyさん:03/03/16 00:22 ID:???
select FH;

722 :nobodyさん:03/03/16 00:25 ID:???
open FH, '| tee filename';
select FH;

723 :706:03/03/16 01:04 ID:???
どうもお騒がせしましたが、とりあえず所期の目的を達成しました。
単にフレームのhtmlファイルをこしらえて、そこにcgiを流し込んだの
です。htmlファイルにはキーワードをしっかりと仕込みました、はい。

いろいろとお教えいただきありがとうございました。

724 :nobodyさん:03/03/16 02:01 ID:0/UJ/9KJ
Perlで
+-2003
+-03
| +-16
| | +-0.dat
| | +-1.dat
| +-18
| +-0.dat
| +-1.dat
+-05
+-04
+-0.dat
とかなっているディレクトリ構成で、CurrentDirが今2003にいたと
して ./2003/03/ 配下の全データ(サブディレクトリ、ファイル)を
削除しようとした場合、みなさんどんなソース書きます?

やっぱ一番下までディレクトリ見に行って、ファイルを全部消して
からぽちぽちとディレクトリを消していかねばならんのですか?

なんか おぉ〜 っていうソースないですか?

725 :nobodyさん:03/03/16 02:04 ID:0/UJ/9KJ
すまそ。ずれちった。
+-2003
  +-03
  | +-16
  | | +-0.dat
  | | +-1.dat
  | +-18
  |   +-0.dat
  |   +-1.dat
  +-05
    +-04
     +-0.dat
ね。

726 :nobodyさん:03/03/16 02:12 ID:???
unlink '03';

727 :nobodyさん:03/03/16 02:13 ID:???
UNIXコマンドを使う手もあるが、つかえない鯖も多いから、再起呼び出しで削除用のサブルーチン作った方がいい。

ちなみに>1はちゃんと読んだか?

728 :nobodyさん:03/03/16 05:44 ID:zuyh3uNE
チャットで、同じ文字が続くと文字を小さくしたいんですが、どうすればいいんでしょうか。

こんにちは!!!!!!!!!!!!!!!  だとか
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお だとか。

729 :nobodyさん:03/03/16 06:25 ID:???
>>728
言語すら書かずに質問ですか。
みなさん、こんなのにマジ回答しても徒労に終わりますよ。


730 :nobodyさん:03/03/16 06:30 ID:???
>>728
if($string/hoge*{2}){print"small$text";}

731 :nobodyさん:03/03/16 11:12 ID:???
Perlなんですけど

<input type="radio" name="test1" value="$c_data1">

<input type="text" name="test2" value="$c_data2" size=6 maxlengh="6">

↑みたいな感じでラジオとテキストボックスでデータの入力を
選択できる状態にして・・・。

もしも、テキストボックスに文字列が入っていたら
ラジオボックスのデータを無効にしてテキストボックスに入力された
データを保存しる。ってものをやってるんですけど・・・。
テキストボックスに特定の文字列が入っていたら。の処理はわかりますが
その文字列が予測できないんで、不特定多数になっちゃって特定できず
ifのカッコ内でどう処理すりゃいいかワカンネーんです・・。
こんな説明で判ってくれる人がいたらヨロヨロでつ・・。

732 :nobodyさん:03/03/16 11:31 ID:???
つーわけで

733 :nobodyさん:03/03/16 13:08 ID:bu9vx7r5
>>727
ありがとです。やっぱそうなっちゃうかな。

んで板の注意ありがと。
やっちまいました。逝ってきます(T-T)

734 :731:03/03/16 13:15 ID:???
解決しますた。

735 :nobodyさん:03/03/16 13:18 ID:0oFKfJrd

http://homepage3.nifty.com/digikei/sample/sample.html

736 :nobodyさん:03/03/16 14:33 ID:vu3Qqexl
perlで

if ($testが「TEST>>」から始まっていれば) {
 print "$testから「TEST>>」を抜いたもの";
}

ということをしたいんですが、正規表現がよくわからず、
思ったように動いてくれません。
どのように書けばよいのでしょうか?

737 :nobodyさん:03/03/16 14:58 ID:???
if($test =~ /^TEST>>(.*)/){
  print $1;
}

738 :nobodyさん:03/03/16 15:50 ID:???
>>737
何故同じ事をしてるのに無理なんだろうと思ったら、
>を>にデコードしてたからでした。
すいませんでした。

739 :nobodyさん:03/03/16 15:51 ID:???
>>738
&>です

740 :nobodyさん:03/03/16 15:53 ID:???
書き方忘れた・・・
&&gt;ってことです・・・

741 :nobodyさん:03/03/16 16:00 ID:F4DlRSun
掲示板への最終書き込み時間をHPのトップページに表示したいのですが
教えていただけないですか?

742 :nobodyさん:03/03/16 16:17 ID:???
>>741
やればできそう。

743 :nobodyさん:03/03/16 16:27 ID:???
>>741
できるけど、お前には無理だからやめとけ。
そんな漠然とした質問じゃ、掲示板のログの最新時間を
書き出せとしか言いようがない。

744 :nobodyさん:03/03/16 16:36 ID:KSrtergb
>>742>>741
教えてください

745 :nobodyさん:03/03/16 17:10 ID:zuyh3uNE
Perlでフォームの内容を判断させるにはどういう命令を使ったらいいんでしょうか。
あほ が含まれてるだとか、判断したいんです。

746 :nobodyさん:03/03/16 17:11 ID:???
正規表現

747 :nobodyさん:03/03/16 17:12 ID:???
パターンマッチ

748 :nobodyさん:03/03/16 17:22 ID:zuyh3uNE
正規表現?パターンマッチ?

749 :nobodyさん:03/03/16 18:15 ID:???
以下のスレッドで。
【Perl】初心者コーナー Part19
http://pc2.2ch.net/test/read.cgi/php/1044717887/


750 :nobodyさん:03/03/17 02:07 ID:???
メメント観た。
これは凄い。しかし難しい。
記憶などがテーマになってる映画だが、
観ている側も気を抜かず、正確に記憶しないと、
話がわからなくなる。
そんな気がした映画でした。

しかし、今まで観た映画の中で一番疲れたかも。

751 :nobodyさん:03/03/17 02:08 ID:???
思いっきり誤爆スマソ

752 :nobodyさん:03/03/17 02:09 ID:???
メメントのCGI化キボンヌ

753 :nobodyさん:03/03/17 02:12 ID:???


754 :nobodyさん:03/03/17 05:50 ID:???
■ 新しいサーバで read.cgi が正しく動かない問題。
http://qb.2ch.net/test/read.cgi/accuse/1047840578/l50

誰か詳しい方、分かりますでしょうか?

755 :nobodyさん:03/03/17 12:28 ID:DmD+ibnT
「既に配布されていないCGI」を集めてるスレを探してるんだけど、
誰かどこにあるか知らない?
どこかのスレの関連スレで見かけたんだけどどこだかわかんない。スレタイを
覚えてないもんで・・。


756 :nobodyさん:03/03/17 12:45 ID:???
>>755
dat落ちしますた

757 :755:03/03/17 12:57 ID:???
>>756
あちゃー。検索しても出ないワケだね。
Thanx。

758 :nobodyさん:03/03/17 15:02 ID:???
>>757
ちなみにダウソ板にあったんだよ。
あやすぃCGI関連だったけどね。

759 :nobodyさん:03/03/17 17:30 ID:6C47WdHm
質問します。
SELECTタグのMULITIPLEで選択したやつを、一定件数表示させ、
前頁、次頁で送るのがうまくいきません。
ちなみに
a href=\"$script?mode=serch&page=next&SELECTDATA=$SELECT"
を、次頁に貼り付けてます。
ページ送りをはずすと問題ないんですが?
どうも、SELECTDATAの区切りの判断に原因があるみたいとは思うんですが、
そこから先が(?_?)です。
おだづげを。


760 :nobodyさん:03/03/17 17:59 ID:???
>>759
そもそも言わんとしてることがさっぱりわからん。

> うまくいきません。
どう、うまくいかないのさ?

> ページ送りをはずすと問題ないんですが?
はずしたら、「前頁、次頁で送る」という用件を満たさないんじゃねーの?

761 :bloom:03/03/17 18:05 ID:A0XLzQcG
http://www.agemasukudasai.com/bloom/

762 :nobodyさん:03/03/17 18:23 ID:6C47WdHm
>>760
すんません。
FROMで条件を選択させる簡易データーベースなんですが、
単数選択だと問題なく表示されます。前頁、次頁の送りも問題ありません。
ところが、複数選択すると1件も表示されなくなります。

>はずしたら、「前頁、次頁で送る」という用件を満たさないんじゃねーの?
そのとおりです。選択自体は問題ないといいたかったので。

763 :nobodyさん:03/03/17 18:31 ID:???
結局、コードがおかしいだけじゃねーか

764 :nobodyさん:03/03/17 18:31 ID:???
>>762
$SELECT にどんな文字列になってるのかも示さずに
>どうも、SELECTDATAの区切りの判断に原因があるみたいとは思うんですが、
>そこから先が(?_?)です。
なんて書かれても答えれないですー。

765 :nobodyさん:03/03/17 18:40 ID:???
>>762
普通にprintデバッグしろや。まずは原因を突き止めろ。

766 :nobodyさん:03/03/17 18:53 ID:???
つーか痛すぎだろこいつ
そんな説明で満足いく解答が返ってくると思うか普通?
それすらも判らないんだから、まず無理。

767 :nobodyさん:03/03/17 18:59 ID:???
>>766
まぁ、とりあえずは >>764>>765 に対する回答を待つとしましょうや。

768 :nobodyさん:03/03/17 19:43 ID:6C47WdHm
無茶苦茶言われてる、759です。
なんせ、CGIはじめた馬ツ鹿なもんで・・。
sub search {
・・・
&repeate;
#ここで、P1をPRINTさせると、(AとBで検索した場合)AB と表示される
#「次頁」をクリックすると、ここで終了してしまう。
if ($i == 0) {
print "<P><LI>該当する内容がありません\n";
} else {
・・・
if ($next < $i) {
print "<a href=\"$script?mode=search&page=$next&P1=$P1\> 次頁 </a>\n";
・・・}

}


#改行が多すぎるとしかられたので、その1


769 :nobodyさん:03/03/17 19:44 ID:6C47WdHm
その2 759です。

#------------------
sub repeate {
$start = $page + 1;
$end = $page + 12;
$P1 = $in{'P1'};
・・・
@P1M = split(/\0/,$P1);
$flag = 1;
foreach (@P1M){
if ($_ ne "指定なし" && $_ ne $p1){
$flag = 0;
}else{
$flag = 1;
last;
}
}
if (!$flag) { next; }
・・・
こんなんで、いいでしょうか?自分としたら(AとBで検索した場合)AB の区切り文字が認識されずにABで検索されてしまっているんでは?
と思ってんですが。じゃぁSPLITは?
と、こんがらがっているんですが。
やっぱ、説明になってないですか?


770 :nobodyさん:03/03/17 19:53 ID:???
さっぱり分からんが、ひとつ気になった。
$P1と$p1は違う変数。もし分かってやってるとしても、紛らわしくてバグの原因になるので
こういう命名法はやめたほうがいい。
アドバイスできなくてすまん。


771 :nobodyさん:03/03/17 20:02 ID:???
>>768
>なんせ、CGIはじめた馬ツ鹿なもんで・・。
お前無茶苦茶言われてる理由がわかんねぇのか?
CGI初心者は歓迎だよ。お前がコミュニケーション初心者だからだよ。
例えお前がCGIのプロだったとしてもそんな質問の仕方したら同じように叩かれる。

772 :nobodyさん:03/03/17 20:10 ID:YHcQyyod
perlでファイルをアップロードするプログラムを組んでいます。
ファイルと、その他の入力項目も同時にPOSTしており、
サーバー側で、入力のエラーチェックもやっています。

入力エラーを判断すると、エラーのHTMLを出力します。
ユーザーには、ブラウザの戻るボタンで、入力画面に戻らせようと
考えているのですが、IE6では「ページの有効期限切れ」が表示されてしまい、
入力画面に戻ることができません。

IEの仕様ということは解っているのですが、何とか回避する方法はないのでしょうか?

やはり、入力値を保存しといて、それを元に再表示するしかないんすかねぇ・・・


773 :nobodyさん:03/03/17 20:27 ID:???
戻ってデータが消えているよりはよっぽどマシでしょう。

774 :nobodyさん:03/03/17 20:28 ID:???
>>768-769
こんなのだけじゃわからんわ

775 :nobodyさん:03/03/17 20:32 ID:6C47WdHm
>>770
有難うございました。

776 :nobodyさん:03/03/17 21:07 ID:???
>>759
送られてきたデータをどうやって変数に入れてるかわからないからこんな回答でがまんしる。

@P1M = split(/\0/,$P1);
$flag = 1;$SELECT_DATA = "";
foreach (@P1M){
$SELECT_DATA .= "P1=$_&";
if ($_ ne "指定なし" && $_ ne $p1){
$flag = 0;

送られてきたときの P1=aaa&P1=bbb&P1=ccc& の形に戻して$SELECT_DATA に入れて
次のページへのリンクには
print "<a href=\"$script?mode=search&page=$next&$SELECT_DATA\"> 次頁 </a>\n";

(multipleの\0区切りはcgi-libかな?)

777 :nobodyさん:03/03/17 21:17 ID:???
>>768
> #ここで、P1をPRINTさせると、(AとBで検索した場合)AB と表示される
質問するときは、文章で説明するんじゃなくて、
ソース「そのもの」と結果「そのもの」を明示してよ。
AとBが選択されていたなら、追加した print 文による結果は
...&SELECTDATA=A&SELECTDATA=B&...
みたいな感じになったはず。これを「このまま」書いて質問して欲しいの。

質問ではこれがいきなり AB になってるから、途中で何をやっているやら
回答する側だってサパーリなの。。。

778 :nobodyさん:03/03/17 21:57 ID:???
「質問内容を校正するスレ」があるといいんだがな。
質問する前にそこでちゃんとした質問文にする、と。
#しかしアフォな質問の仕方しかできないやつは↑のスレを利用するなんて考えもしないだろうな。

779 :nobodyさん:03/03/17 22:30 ID:???
なんか幼稚園児の教育みたいだなw

780 :nobodyさん:03/03/17 22:33 ID:???
むしろ全ソース上げて仕様を示せ

781 :nobodyさん:03/03/17 22:34 ID:???
>>772
Expires: ヘッダを付けるか、mod_exipres 組み込んで、いろいろといぢってみるとか?
やったこと無いのでこれ以上はマニュアル参照キボンヌ。

782 :nobodyさん:03/03/17 22:38 ID:???
いや、質問者からいかにして質問の要点を引き出すか、というのも
このスレの楽しみかたの一つなのですテヘテヘ。

783 :nobodyさん:03/03/17 22:38 ID:???
>>772
わざわざ別ページにしないで、入力画面の上にでも
エラーメッセージ出せばいいじゃないの
エラー項目に印でもつけてどこがエラーか教えれば十分でしょ

784 :nobodyさん:03/03/17 22:46 ID:6pGOeCWh
これ買おうと思ってんだけど、どうよ?
「インターネットショップのためのCGI&受注管理」
http://www.amazon.co.jp/exec/obidos/ASIN/4871938883/ref=pd_bxgy_img_2/250-2312092-8829042

785 :772 [解決]:03/03/17 23:25 ID:???
回答感謝でっす。

>>781
その辺、いろいろやってみました・・・が、だめでした。

>>783
あ。その手があったか・・・
でも、たった今、再表示するロジック書き終わったとこです・・・
明日書きゃよかった・・・ウワァァン!


786 :nobodyさん:03/03/18 03:19 ID:???
検索エンジンで、チェックボックスをチェックしてるカテゴリからのみ検索
って感じのことをしたいのですが、
たとえば、↓のようにしたとき、

<input type="checkbox" name="hoge" value="0">
<input type="checkbox" name="hoge" value="1">

複数を選択することができない(しても意味ない)ですよね?
それで、色々検索したんですけど、

<input type="checkbox" name="hoge[]" value="0">
<input type="checkbox" name="hoge[]" value="1">

↑こんなんでやるみたいだって事はわかったんですが、
それ以上はわかりませんでした。
少しでもいいんで、助けていただけないでしょうか?

787 :nobodyさん:03/03/18 03:27 ID:???
>>786
「複数を選択することができない」のはtype=radioだ。
type=checkboxは複数選択できる。

788 :nobodyさん:03/03/18 03:37 ID:???
>>786
チェックボックスは複数選択できる
nameは同じ項目のチェックボックスなら同じ名前にする
hogeでもいいけど、後の[]はなんだ?いらない
valueは送信文字列で数字でも単語でもいい
他に送信ボタンなんかも必要

で、これを何で受け取って処理するわけ?

789 :nobodyさん:03/03/18 03:45 ID:???
え?ちょっとまってください
<input type="checkbox" name="hoge" value="0">
<input type="checkbox" name="hoge" value="1">
<input type="checkbox" name="hoge" value="2">
<input type="checkbox" name="hoge" value="3">
で、2つ目と3つ目を選択したとき、
値はどう入るんでしょうか?
hoge=1,2ってなるんですか?

790 :nobodyさん:03/03/18 03:46 ID:???
検索エンジンのイメージだとcheckboxがいいだろうな。
<input type="checkbox" name="hoge_1" value="1">て感じか。
最近perl弄ってないから忘れたが、hoge[]て使えるのか?

791 :nobodyさん:03/03/18 03:56 ID:???
>>789
hoge=1&hoge=2となる。
同じnameが複数出てくるわけ。
cgi-lib.plなどでは、これを\0区切りで分解してくれる。


792 :nobodyさん:03/03/18 04:05 ID:???
>>791
なるほど解りました

で、最終的に全ての値を@hogeに入れたいんですが・・・
どのようにすればいいのでしょうか?

#そろそろウザイですよね?すいません

793 :nobodyさん:03/03/18 04:10 ID:???
>>792
自分でやってもいいし、cgi-lib.pl使ってるんだったら、
>>791が言うように
>cgi-lib.plなどでは、これを\0区切りで分解してくれる
んだから、\0で区切ればいい。

794 :nobodyさん:03/03/18 04:12 ID:???
>>792
<FORM>タグで囲んで送信先を指定とかしないと。
その送信先が受け取ってフォームデコードして
分割や置換えなど必要な処理をして代入すればいい。

795 :nobodyさん:03/03/18 04:13 ID:???
jcode.libしか使ってないんですよ

明日調べてみます。今日はもう眠いんで
どうも有難うございました。

796 :nobodyさん:03/03/18 04:13 ID:???
>>790
INPUT要素のNAME属性の値はPerlとは全く関係ないだろ。
PHPなら関係あるかもしれんが。

797 :nobodyさん:03/03/18 04:14 ID:???
libじゃないやplでした

798 :nobodyさん:03/03/18 04:14 ID:???
>>795
ってことは自分でQUERY_STRINGか標準入力をパースしてるんだよな?
だったら「hoge=1&hoge=2」とかの数字を記録すればいいんじゃねーの。

799 :nobodyさん:03/03/18 04:16 ID:???
>>794
その辺はわかってます
書いてないだけです

800 :nobodyさん:03/03/18 04:33 ID:???
>>799
そもそも、>>789「値はどう入るんでしょうか?」はprintすりゃ分かるだろ?
自前でパースしてるみたいだし。それぐらいやらなきゃ質問する資格無しよ。

801 :nobodyさん:03/03/18 14:04 ID:???
>>799
わかってますって、こっちはあんたがどういうレベルなのか
わからんのだよ。

>複数を選択することができない(しても意味ない)ですよね?
チェックボックスとラジオの区別がついていないPC初心者みたいなこと
書いてたら余計にそう思うだろ。

省略するなら全体がわかるぐらいの説明ぐらい書いてくれ。

802 :nobodyさん:03/03/18 14:14 ID:???
>>801
チェックボックスとラジオボタンならともかく、チェックボックスとラジオの区別が付かん奴はおらんと思うぞ。

803 :nobodyさん:03/03/18 14:22 ID:???
質問スレで情報を小出しにする奴はまともな返答をもらえると思っちゃいけない。
どうせ何が必要で何が必要でないかの判別もできないんだからな。
それがわかってるなら最初から自己解決できるはずだ。
質問するなら最初から全ての情報を掲示せよ。

804 :nobodyさん:03/03/18 14:25 ID:???
>>789の質問に対する答えは、>>791で完了している。

>>792の質問の答えはこれで十分じゃろ。むう。
use CGI;
my @hoge = CGI->new->param('hoge');
print join(',', @hoge) . "\n";

もし、まともな質問ができるなら、殆どの場合、自分で問題を解決できる。

805 :nobodyさん:03/03/18 14:35 ID:???
>>801
君、全然わかってないでしょ?
>>789みてもまだ>>794見たいなことを言う君っていったい

806 :nobodyさん:03/03/19 03:13 ID:???
質問させてください。
$message =~ s/(https?)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\">$1\:$2<\/a>/g;
↑これでオートリンクにできるんですが、ttp://でも自動リンクにしたい場合どう書けばいいのでしょうか?

807 :nobodyさん:03/03/19 03:30 ID:???
h?ttps?

808 :nobodyさん:03/03/19 03:59 ID:???
>>807
有難うございます。でもそれじゃあttp://にリンクされてしまいます。
言葉が足りてませんでした。httpに直してリンクしたいって事です。

809 :nobodyさん:03/03/19 04:03 ID:???
誤解を招くんで書き直します。

$message =~ s/(https?)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\">$1\:$2<\/a>/g;
↑これはhttp://hoge
<a href="http://hoge">http://hoge</a>にしてくれます

で、私がしたいのは
ttp://hogeを
<a href="http://hoge">ttp://hoge</a>にってことです。
つまり表示はttpでリンク先はhを足したのです

810 :nobodyさん:03/03/19 04:11 ID:???
$message =~ s/(https?)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\">$1\:$2<\/a>/g;
$message =~ s/(ttp)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"http\:$2\">$1\:$2<\/a>/g;
すいませんこれで解決しました。
でももっとスマートな方法あれば教えて頂けませんか?

811 :nobodyさん:03/03/19 04:40 ID:???
$message =~ s/(h?)(ttps?)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"h$2\:$3\">$2\:$3<\/a>/g;

812 :nobodyさん:03/03/19 07:52 ID:???
いかんいかん
$message =~ s/h?(ttps?)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"h$1\:$2\">$1\:$2<\/a>/g;

ところで、なんでこんなことするわけ?
見たところ、掲示板か何かの本文の処理みたいだけど。
せっかくh抜きで書いたものを、強制的に直リンにしてしまうとは・・・

813 :nobodyさん:03/03/19 08:00 ID:???
わざわざリンクを切っている意味を知らない厨だからだろう。

814 ::03/03/19 10:52 ID:???
Perlでwgetを使おうとしています。

#!/usr/local/bin/perl

$WGET = "/usr/bin/wget";
$URL = "http://www.yahoo.co.jp/index.html";

@lines = `$WGET -q -O - $URL` or die;

print "Content-type:text/html\n\n";
print @lines;

exit;

こんな感じで、とりあえず取得はできるんですが、User-Agentの指定はできるんでしょうか?
教えてください。お願いします。

815 :nobodyさん:03/03/19 11:07 ID:???
>>814
-U オプション


816 :nobodyさん:03/03/19 21:31 ID:dpgy+pXr
チャットで初期画面にログが出なくて、一度発言するとログが出るんですが、
なぜ出ないのでしょう?
どういうことが考えられるかわかりますか?

817 :nobodyさん:03/03/19 21:48 ID:???
>>816
>どういうことが考えられるかわかりますか?

あなたの頭が相当に悪いということぐらいしかわかりません。
どこのチャット(スクリプト)の話をしてるかぐらい書きなさい。

818 :nobodyさん:03/03/19 22:04 ID:nD9UxgHP
>>817
いや、自分で作ってるヤツなんですが、
初期画面でログが出ないのってよくある落とし穴かと思って、
よくある落とし穴の答えを出してくれるかと思っちゃいました。

初期画面でログが出なくて、フォームだけ出るのってあんまり無いことなのかな?

819 :nobodyさん:03/03/19 22:08 ID:???
落とし穴も何も、自分で掘った穴に落ちてるだけじゃねーか

↓↓↓次の方どうぞ↓↓↓

820 :nobodyさん:03/03/19 22:08 ID:???
>>818
初期画面でログが出ないようにお前が作ったんだろ。

お前しか知らないソースのバグが俺たちに分かるわけ無いだろうが。

821 :nobodyさん:03/03/19 22:09 ID:???
お ま い が そ う 作 っ た か ら
-- 終了 --


822 :nobodyさん:03/03/19 22:19 ID:???
よくある落とし穴じゃないってことですね。
どうもありがとうございました。

823 :nobodyさん:03/03/19 22:45 ID:w/Iesnah
HP持ってるヤツのうち反戦者集まれ!行動しよーぜ
http://sports2.2ch.net/test/read.cgi/iraq/1048063233/l50

各板司令部へ入電
現在イラク板で反戦バナー製作の案が出ております。
これに伴い人材が不足している為苦戦中です。
余力のある方世界平和の為に救助を求みます。

計画
1、バナー画像を作る。
2、アクセス集計プログラムと設置集計プログラムを作る。
3、クリック先のページを作る。(2の設置できる場所)

824 :nobodyさん:03/03/20 19:49 ID:7VWyNL/K
なつみかんなどのアンテナはサーバに常駐するものなのでしょうか?
また、そうなのであれば常駐しない手動更新のアンテナというものは存在するのでしょうか?

825 :nobodyさん:03/03/20 20:23 ID:???
>>824
手動更新のアンテナって要するにLast-Modifiedチェッカ?

あるアクセスが前回のアクセスから一定時間たってる場合、Last-Modifiedを
再取得するようなスクリプトは組んでみたけど、サーバがLast-Modifiedを
返してくれなかったり、対象に日時を取得できるような文字列が無かったり
するケースだと、仕様的にNGだったなあ。

826 :nobody:03/03/20 23:34 ID:Oa4xESM8
某サイトを運営しております。
先日、利用している掲示板のデータが紛失してしまいました。
バックアップを取っておいたので上書きしたらデータがおかしな所で区切られるようになりました。
普通は「,」で日付やタイトルや名前、本文などを区切られているのですが
途中から改行で区切られるようになってメチャクチャになってしまいました。
あたりまえですが掲示板のコメント本文には改行が多く含まれている為困っております。
データを一行ずつ改行を消すか<BR>を入れるにしても量がハンパじゃありません。
誰かCGIに詳しい方、正しく表示できる方法を教えてください。よろしくお願いします。


827 :nobodyさん:03/03/20 23:57 ID:???
それだけで誰が答えられるって言うんだ・・・

828 :nobodyさん:03/03/21 00:05 ID:???
本文中の改行と、レコード区切りの改行を違うものにして識別しているのは、
移植性が悪いと思うんだけど、その辺はレスキューやらKENTの脳では考えられ
なかったらしい…。っていうのがその問題の原因。あまり関係ないけど…。

で、どうやって復活させるかというと、1レコード中の項目数は同じなんだから、
これを利用すればいい。

レコードの区切りを\n、本文中の改行を\rにする

my @all = split(/,/, $all);
while (@all) {
 my @line = splice(@all, 0, 1行の項目数);
 foreach (@line) {
  s/\x0d\x0a/\r/g
  tr/\x0d\x0a/\r/;
 }
 print OUT join(',', @line) . "\n";
}

829 :nobodyさん:03/03/21 00:08 ID:???
print OUTの前に、
$line[-1] =~ s/\x0d?\x0a?$//;
がないとゴミが発生するな。。

830 :nobodyさん:03/03/21 00:09 ID:???
あ。。trがおかしい。
tr/\x0d\x0a/\r\r/;

831 :826:03/03/21 00:22 ID:7GAZusfY
ご親切にありがとうございます。
でも自分はperlやCGI言語が実はあまり分かりません…。
でもなんとか頑張ってみます。

832 :nobodyさん:03/03/21 00:38 ID:???
> perlやCGI言語が実はあまり分かりません…。

じゃあ、どういう回答を期待していたのか。



833 :nobodyさん:03/03/21 00:41 ID:???
>832
Web製作の方から誘導されてきた模様。

834 :nobodyさん:03/03/21 00:56 ID:???
>>833
ふむ。提示された情報はあちらと同じなのかな。

>>826 は、掲示板スクリプトの入手先 or ログファイルの中身の一部(晒すべきでない
箇所はマスクして) 等の情報は、最低でも提示しないと。

835 :nobodyさん:03/03/21 02:19 ID:???
HTMLみたく、「タグで何とかなる」と思ってんじゃない?


836 :nobodyさん:03/03/21 02:58 ID:???
ここの画像アップBBS使ってるんですが、画像の番号をオリジナルに
するには、何処をつつけばいいのでしょうか?
www.kent-web.com/bbs/joyful.html?

837 :nobodyさん:03/03/21 03:13 ID:???
>>836
改造スレへ

838 :nobodyさん:03/03/21 21:41 ID:???
anHTTPdスレでレスが無かったので、こちらに来ました。

anHTTPdでCGIを起動している時、CGIでヘッダーを「text/plain」と
プレーンテキストとして出力しているのですが Htmlと解釈されていまします。
設定で直るのでしょうか?

839 :nobodyさん:03/03/21 21:51 ID:???
>>838
IE は Content-Type を無視してデータの中身で判断する
インテリジェントなブラウザです。

840 :nobodyさん:03/03/21 23:01 ID:???
>>838
hogehoge.cgi
なら
hogehoge.cgi/
で騙せる。> IE


841 :nobodyさん:03/03/21 23:10 ID:???
お二方、有難うございます。
ずっと悩んでいたんですが、ブラウザの仕様・・?だったんですね。

842 :T女の竹田:03/03/22 00:08 ID:???
>>841
hogehoge.cgi?.txt とか(笑)


843 :T女の竹田:03/03/22 00:13 ID:???
あ、今試してみたけどダメだね。
wmaの時はこれでうまく行ったんだけど。
さすがマイクロソフト!

844 :T女の竹田:03/03/22 00:28 ID:???
Wordもそうだけど、なぜマイクロソフトは
「HTMLっぽく見える」
「ユーザーがテキストだと激しく主張している何か」を
HTMLとして扱うことに、こうまで執念を燃やすのだろう?
マイクロソフトに何か利益が?

845 :nobodyさん:03/03/22 00:36 ID:???
イラク攻撃と同じぐらいの何かがあるのだろうよ

846 :nobodyさん:03/03/22 04:28 ID:???
IEだとHTML文書をそのままテキストとして見せたいという要求は認められないのか。

847 :nobodyさん:03/03/22 06:38 ID:???
面白いのみつけた。
http://pc.2ch.net/test/read.cgi/prog/1045401372/381
さすがIE!

848 :nobodyさん:03/03/22 12:25 ID:QDGorIu0
質問があります。
FORMで送信し、それを処理するのはCGIですよね?
他にもありますか?

実は、早稲田大学のシステムで、フォームターゲットが〜〜.htmになっているんですが、
これって機能するんでしょうか?
実際ページを表示できませんと出るんですが・・・科目登録ができない・・・

849 :nobodyさん:03/03/22 12:29 ID:QDGorIu0
具体的ソースです。
一部伏せています。

<html>
<body onLoad="fncSubmit();">
<script type='text/javascript'>

function fncSubmit() {
// submit
document.frm1.submit();
}

</script>
<form name="frm1" action="https://www.***.******.**/******/********.htm" method="POST">
<input type="hidden" name="HID_P1" value="*******">
〜〜〜中略〜〜〜

</form>
</body>
</html>

これが原因でエラーなのでしょうか?
それとも単に込んでいるだけなのかわかりません......

850 :nobodyさん:03/03/22 12:29 ID:???
>>848
ASPとかServletとかJavaScriptとかそもそもブラウザとか。いろいろ。


851 :nobodyさん:03/03/22 12:30 ID:???
>>850
htm拡張子でも有り得るわけですね?
ありがとうございました

852 :nobodyさん:03/03/22 12:53 ID:???
UNIXは拡張子に依存していない

853 :nobodyさん:03/03/23 05:01 ID:obrjhThh
アップロード/ダウンロードCGIについて質問です。
通常、ひとつのファイルしかアップロード/ダウンロード出来ませんが
ディレクトリを指定して、その階層化のファイル、ディレクトリをまるごと
アップロード/ダウンロードする事は出来ませんか?


854 :nobodyさん:03/03/23 05:28 ID:???
できません。

855 :nobodyさん:03/03/23 08:30 ID:???
フォルダを圧縮すればok

856 :nobodyさん:03/03/23 16:27 ID:GYklYBj0
アップロードcgiをperlで作っている最中です。

クライアント側を↓こう定義して、localファイルを指定してボタンを押し、
<FORM ACTION="/cgi-bin/upload.cgi" ENCTYPE="multipart/form-data" METHOD="POST">
ファイル: <INPUT TYPE="file" NAME="File" SIZE="32"><BR>
<INPUT TYPE="submit" VALUE="送信">
</FORM>

cgi側でこう受け取ると
require 'cgi-lib.pl';
&ReadParse(\%in);
print "$key=[$in{$key}]<BR>\n" foreach $key ( keys %in);

ファイルの内容は
$in{'File'}に格納されるのですが、
localファイル名を取得することができません。

htmlの定義が足りないような気がして色々調べてみましたが
よくわかりませんでした。

スレ違いなような気もしますがよろしくお願いします。



857 :nobodyさん:03/03/23 16:31 ID:???
>>856
ファイル名なんて飛んでくるんですか?

858 :nobodyさん:03/03/23 17:24 ID:???
ファイル名は来ませんよ。中身だけです。

859 :nobodyさん:03/03/23 17:38 ID:???
>>856
cgi-lib.pl 使うのは悪いこっちゃないが、「やりたい事」がそこまで明確ならば、
まず標準入力からどんなデータを取得できるのかをファイルに落とす、等して
確かめてみればすぐ解ることだと思われ。

860 :856:03/03/23 17:41 ID:???
ありがとうございました。

861 :nobodyさん:03/03/23 19:38 ID:???
>>825
亀レスですが、アンテナ自体のプロセスが常駐するものだと思っていました。
調べててcronを使えばいいことを知り、さっき設定がうまくいきました。どうもです。

862 :nobodyさん:03/03/23 21:52 ID:???
元の名前でうpできるアップローダなかったっけ

863 :nobodyさん:03/03/23 23:32 ID:hItEViUJ
$hoge$huga$fooのうち、
2つ以上選んだ場合にエラーが出るようにしたいんですが、
私の頭では恥ずかしながら下のが限界でした。
もうちょっとコンパクトに書くにはどうすればいいんでしょうか?

if (($hoge ne '' && $huga ne '') || ($huga ne '' && $foo ne '') || ($foo ne '' && hoge ne '') || ($hoge ne '' && $huga ne '' && $foo ne '')) {
 &error("一つだけにして!!");
}

864 :nobodyさん:03/03/23 23:43 ID:???
>>863
選ぶと言うのがよくわからん。
それはHTMLのフォームから入力した場合をいうのか?
多分そうだろうな。
んで、言語はPerlか?
やっぱり、多分そうだろうな。

だったら、PerlではないHTMLの部分で、radioを使えばそもそも一つしか選べなくなるけど、
そういうことではないのか?


865 :nobodyさん:03/03/23 23:53 ID:???
>>864
選ぶってのは間違いです。スマソ
テキストボックスが3つ(hoge,huga,foo)あって、
たとえば、hogeに何か書き込んであるのに
hugaにも値が入ってると、
えらーを出したいって事です。

866 :nobodyさん:03/03/23 23:53 ID:???
あ、perlです

867 :nobodyさん:03/03/23 23:56 ID:???
あ、因みに一つも選んでないときもエラーを出したいんですが、
今は別でやってます。
もしこれも一緒にできれば一緒にしたいんですが・・・

868 :nobodyさん:03/03/23 23:57 ID:???
>>865


//hogeの処理
if($hoge ne "")
{
if(!($huga eq $baka eq ""))
エラー

}

//hugaの処理
if($huga ne "")
{
if(!($hoge eq $baka eq ""))
エラー

}


・・・


869 :nobodyさん:03/03/24 00:28 ID:???
>>868
あぁ、そうやって処理をわけるか>>863か迷ったんですけど
そっちの方がいいですかね
参考になりましたサンクスです


870 :nobodyさん:03/03/24 01:52 ID:???
>>865
die("いってよし") if ( ($hoge ne "") + ($huga ne "") + ($baka ne "") ) > 2;
ってのはどうよ?

871 :nobodyさん:03/03/24 01:54 ID:???
>>863
$count=0;
map{$count++ if $_ ne ''; } ($hoge, $hage, $foo);
if ($count != 1) {
エラー
}
って手もあるよ。

872 :870:03/03/24 01:57 ID:???
>>865
die if (!$a + !$b + !$c) > 1;
こっちの方がよかったかも?

873 :870:03/03/24 02:00 ID:???
die unless (!$a + !$b + !$c) > 1;
ダタヨ。鬱だ。

874 :nobodyさん:03/03/24 02:15 ID:???
>>872-873
それは、'0'のことを考えるとあまり良くないような。
それに、>1 じゃなくて、>=1と書きたかったのでは?

結局、
die unless ($a ne '') + ($b ne '') + ($c ne '') != 1;
でどう?


875 :nobodyさん:03/03/24 02:58 ID:???
皆さんサンクスです。かなり参考になりました。

876 :nobodyさん:03/03/24 05:49 ID:???
CGI動かしたら502ってエラーが出てきたけどこれはなんでしょう?

877 :nobodyさん:03/03/24 06:02 ID:???
書き忘れ。調べたら、
「ゲートウェイ,もしくはプロキシとして動作させているサーバが,上流から無効なレスポンスを受け取ったことを示す」
って出てきたけど素人の俺様には意味が分かりませんでした。

878 :nobodyさん:03/03/24 12:29 ID:???
>>863
$it = $hoge || $huga || $foo;
if ($hoge.$huga.$foo ne $it) { # 連結して比較
  &error("一つだけにして!!");
}
じゃだめか?

879 :nobodyさん:03/03/24 18:22 ID:JKyHEx6G
質問です.

CGI で HTML のデータを標準出力するようなものを
実行したときには,その HTML が WWW ブラウザに
表示されるのでしょうか?


880 :nobodyさん:03/03/24 18:25 ID:???
>>879
Perl スレの回答じゃダメなのか…


881 :879:03/03/24 19:10 ID:JKyHEx6G
あの,ある CGI プログラムに関して,
標準出力に HTML をちゃんとはき出してるのを確認したんですが,
WWW ブラウザからその CGI を実行すると,
何も表示されないんです.

どうしてなんでしょうか?

882 :nobodyさん:03/03/24 19:32 ID:???
ソース晒せ

883 :nobodyさん:03/03/24 19:55 ID:???
>>881
タグだけで、httpのヘッダがないんじゃないの?

884 :nobodyさん:03/03/24 20:02 ID:???
>>881
telnetで確認しろ。最初の15行を晒せ

885 :nobodyさん:03/03/24 20:17 ID:???
>>881
> 標準出力に HTML をちゃんとはき出してるのを確認したんですが,

これもあやしいな。どうやったんだか

886 :nobodyさん:03/03/24 20:41 ID:???
CGIをダウンロードしようとするとhtmlファイルになってしまうのですが
そのままDLすることはできないんですの?

887 :nobodyさん:03/03/24 20:49 ID:???
>>886
>CGIをダウンロードしようとすると
意味不明。まあ言わんとしてることは解るんだけど。

その CGI とやらは配布されているものなのか?
だとしたら配布元に聞くのが最速解。

888 :nobodyさん:03/03/24 20:57 ID:???
配布元じゃないっすわ
フリーで配布されてる掲示板が上手く改造されてたんでちょっとあたしも欲しいな〜と
フォルダ覗けたんでcgiを頂きたいな〜と思ったんですの
でもhtmlに…
無知で文才もなくてすまそ。

889 :nobodyさん:03/03/24 21:07 ID:???
***.cgiにアクセスすると、そのCGIが実行されて結果だけが送られてくる(という設定にしているサーバがほとんど

890 :nobodyさん:03/03/24 21:33 ID:fQ3PutSJ
>>888
この方法で無断ダウンロードしようとすると、不正アクセス禁止法でタイーホされるかも(ウソデス)
本人にメールを送って頼み込むのがいい。ただし、必ずくれるとは限らないので注意。

891 :4:03/03/24 21:37 ID:muzproYQ
同じサーバのアカウントとってSCRIPT_FILENAMEから相手の
ディレクトリを予想してターゲットのファイルをopenすればうまい
具合にタイーホされる。

892 :nobodyさん:03/03/24 21:37 ID:???
っちゅーかね、先に >>888 を言えよ。
どーしてこう質問下手な奴ばっかりなんだ?

893 :nobodyさん:03/03/24 21:48 ID:???
【特許】今では一般的なCookieによるセッション管理に関する特許が成立していた
http://book.2ch.net/test/read.cgi/bizplus/1048507777/

894 :nobodyさん:03/03/24 21:48 ID:???
もう一度お尋ねさせてもらいます。
502エラーが出ました。検索してみると
「ゲートウェイ,もしくはプロキシとして動作させているサーバが,上流から無効なレスポンスを受け取ったことを示す」
と、出てきましたが意味が分かりません。
このサーバーは俺に何をしろと言ってるのでしょうか?

502になる時と正常に動く事はマチマチです。


895 :nobodyさん:03/03/24 21:55 ID:???
>>894
そのサーバは自鯖?レン鯖?
動かしてるプログラムは自作?拾い物?
サーバのログ等は見られるの?

この程度の情報も出さずに回答がもらえると思っちょるのかバカチン。

896 :879:03/03/24 23:01 ID:JKyHEx6G
ども.

>>885

確認はコマンドラインからしました.
ヘッダをつけても同じことでした.

なんででしょう?

897 :nobodyさん:03/03/24 23:07 ID:???
>>896

>>882に対しては無視か? まともに質問ができない奴は回答されないぞ?

898 :879:03/03/24 23:15 ID:JKyHEx6G
ソースさらせというのはもっともなんですが,
質問に関係ない部分をどう廃除していいかわからなくて…

899 :4:03/03/24 23:25 ID:muzproYQ
>>898
先頭10行でいい

900 :4:03/03/24 23:27 ID:muzproYQ
コマンドラインから実行しても怪しい。
例えばREQUEST_METHODがGETの場合だけHTMLを出力するような
プログラムを書いたとしても、コマンドラインからでは何もでない。
その逆もある。

901 :4:03/03/24 23:28 ID:muzproYQ
>>899
先頭10行ってのはコマンドラインから出力した10行ね

キリ番ゲト

902 :nobodyさん:03/03/24 23:41 ID:Q3dLkmth
★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html

903 :879:03/03/24 23:45 ID:JKyHEx6G
ども.

それではコマンドラインで出力した結果を書きます
以下です.

Content-type: text/html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"></head>
<title>入力内容確認</title>
<body>
<h1>入力内容確認</h1>
(以下略)

904 :nobodyさん:03/03/24 23:50 ID:???
>>903
合ってるな。

905 :4:03/03/24 23:51 ID:muzproYQ
普通だ。
それは何も条件なしで出力しているのか?
ついでに聞くがCGIは初めてです?

906 :nobodyさん:03/03/24 23:52 ID:???
>>903
プログラム自体は合ってそうだから、
あとは>>895(と、パーミッション)に答えたら解決だな。
つっか>>895を無視ってんじゃねーよボケ。本当に質問に答えて欲しいのか?


907 :4:03/03/24 23:53 ID:muzproYQ
どうもいいが、<title>は<head></head>の中に書くのでは?

908 :nobodyさん:03/03/24 23:54 ID:???
>>903
そのCGIってどこに置いて実行したの?
コマンドラインって、サーバに置いてtelnetかSSHで?
あまり関係ないけど、言語は何?

909 :nobodyさん:03/03/25 00:00 ID:???
>>908
こういう時はPerlと相場が決まっている(よなぁ)

あと、>>884やれよ>>>879
それで解決だろ。
telnet ホスト 80
GET /hogehgoe.cgi HTTP/1.0



910 :879:03/03/25 01:26 ID:1VNT2YvW
ども〜

Windows98 でローカルで httpd というサーバを動かしてやってます.
CGI の言語は perl です.

で,この httpd を通して,WWW ブラウザ(IE)でみると,
何も表示しないんです.

なんででしょう?

911 :nobodyさん:03/03/25 01:29 ID:???
httpdって当たり前のような気が・・・
それともhttpdという名前のHTTPサーバがあるのかな(確かにUNIX用Apacheの実行ファイルの名前はhttpdだ)

912 :nobodyさん:03/03/25 01:34 ID:???
>>910
日本語が不自由な人はここでは解決できません。

913 :879:03/03/25 01:35 ID:1VNT2YvW
ここでいう httpd というのは Windows で動く,
あるサーバプログラムのことです.

914 :nobodyさん:03/03/25 01:46 ID:???
>>913
なぜ名前を伏せる。

915 :nobodyさん:03/03/25 01:46 ID:???
解決に近づく質問には一切答えていない。
よってネタ決定。以降>>879は放置でお願いします>みなさま

916 :nobodyさん:03/03/25 01:49 ID:???
print "Content-Type:text/html\n\n";とやっているのなら、print "Content-Type:text/html\r\n\r\n";にしてみたら?


917 :4:03/03/25 01:51 ID:4EHffvQl
どうでもいいが俺は、
print "Content-Type: text/html\x0d\x0a\x0d\x0a";
と書くな。

918 :nobodyさん:03/03/25 01:58 ID:???
>>917
\r\nだとWinではCRCRLFになってしまうからな。
今のWin用Perl達でもそうなのかどうかは知らないが。

919 :nobodyさん:03/03/25 02:15 ID:???
今も変わってないかと。

920 :nobodyさん:03/03/25 02:24 ID:???
>>919
「ActivePerlだと\nがLFだ云々」ってム板で聞いた覚えがあったけど勘違いかも。

921 :nobodyさん:03/03/25 02:28 ID:???
ActivePerlでも\n\nで使えてる

922 :nobodyさん:03/03/25 02:43 ID:???
>>921
論点分かってる?

923 :nobodyさん:03/03/25 02:44 ID:???
推測するより出力を見た方が早いわけだが。

924 :nobodyさん:03/03/25 03:15 ID:???
>>922
来た来た(^∀^)ゲラゲラ

925 :nobodyさん:03/03/25 03:18 ID:???
>>910
httpdがCGI実行できるように設定されていない・・・なんていうオチじゃない?

926 :nobodyさん:03/03/25 08:28 ID:???
自鯖なら、ソースとログ出せば一発。
出す気が無いなら自分で解決してください。

次の質問どぞー。

927 :nobodyさん:03/03/25 14:29 ID:XDBil0k6
PATH_INFOを有効にするためにはサーバ側での設定が必要なのでしょうか?

928 :nobodyさん:03/03/25 14:40 ID:???
>>927
Apache2.0にはAcceptPathInfo がある。

929 :894:03/03/25 15:56 ID:???
>>895
レンタル鯖。
プログラムは自作。

全く同じ動作でも502が出たり正常に動いたりします。

正確に言えば、ちょくちょく502が発生すると言った感じです。
すぐに直ります。

930 :nobodyさん:03/03/25 16:08 ID:???
>>929
その自作プログラムはどういう動作をするの?晒せないの?
ローカルでは問題無く動くの?
他のCGIプログラムでも同様の現象なの?
レンタル先に問い合わせてみたの?レンタル先は晒せないの?
ローカル ― サーバ間にPROXYは存在するの?

931 :nobodyさん:03/03/25 16:23 ID:???
>>930
かわいそうな子なんだから放っておいてあげなよ。

932 :nobodyさん:03/03/25 16:25 ID:???
質問させていただきます。
ttp://number.goo.ne.jp/index.html
ここの「スポーツ投票」のように投票項目を選択し投票すると、結果が別
ページで表示されるようにするにはどうすればよいのでしょうか?
投票CGIは用意しているのですが、別ページの投票項目どのようにして
反映させているのか分かりません。
どなたか教えてください。お願いします。


933 :nobodyさん:03/03/25 16:27 ID:???
>>932
Web制作板に行ってみるのも良いかもしれない。

934 :nobodyさん:03/03/25 16:36 ID:???
>>933さん
わかりました。行ってみます。
場違いな質問ごめんなさい。

935 :お初:03/03/25 18:05 ID:???
初カキコです。早速質問なんですが、
↓の用に自作で作ってみたのですがうまく作動しません。
***.cgiに
#!/***/***/***/perl

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
print "<A HREF="http://$2ch">$2ch</A>\n";
print "</BODY>\n";
print "</HTML>\n";
で、HTMLに
<HTML>
<BODY>
<FORM METHOD="POST"
ACTION="./***.cgi">
ログイン名:
<INPUT TYPE="text" NAME="2ch">
</FORM>
</BODY>
</HTML>
本来は、フォームに『2ch.net』などと書き入れて、エンターを
押すと、リンクするタグが表示されるようにしたかったのですが、
白紙で全く分かりません。ご伝授、お願いします。(.. )ペコリ

936 :nobodyさん:03/03/25 18:07 ID:???
>>935
どう動かないのか言ってもらわんと・・・。

937 :nobodyさん:03/03/25 18:11 ID:???
>>935
CGIスクリプトが、FORMから入力された値を「どのようにして受け取るか」
という点を理解されていないようです。

ということで、学習すべき次の課題が見つかったじゃないですか。


938 :nobodyさん:03/03/25 18:13 ID:???
>>935
こんなページが参考になると思いますよ
http://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&c2coff=1&q=post+cgi+%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

939 :nobodyさん:03/03/25 18:15 ID:???
>>937
 C G I モードのレガシーなPHPなら正しいが?


940 :nobodyさん:03/03/25 18:16 ID:???
>>935
ちなみに、ホントに白紙だった?

> print "<A HREF="http://$2ch">$2ch</A>\n";

まるでエスケープしてないここら辺がヒジョーに怪しいんですが。(w
CGI よりも言語のお勉強の方が先かもよ。


941 :nobodyさん:03/03/25 18:18 ID:???
基礎から学べ

942 :nobodyさん:03/03/25 18:20 ID:???
>>939
perl って書いてあるやん…。
わざわざ Content-Type 入ってるやん…。
<? も無く print 使ってるやん…。

943 :nobodyさん:03/03/25 18:24 ID:???
HSPでの質問なんですが、以下のプログラム(多少命令が抜けてますが)で
変数に変換したtxtファイルを送ろうと思うんですが、これを受け取るためのCGIの知識が疎くて
CGIの作成方法がてんでわかりません。ご教授おねがいいたします。
#include "hspsock.as"
onexit *exi
*txtlod
sdim hi,32768,1
bload "config.txt",hi
*start
repeat 16
wait 1
sockopen xx,"",5856
if stat=0 :goto *mess
loop
//接続失敗
end
//接続成功>内容
*mess
sockput ""+hi,xx
repert 15
wait 1
if stat=0 :goto *exi :else :wait 1 :++xf
if xf>5 :goto *start
loop
*exi
wait
sockclose xx
end

944 :nobodyさん:03/03/25 18:43 ID:???
>>943
足りないのはCGIの知識じゃなくてHTTPの知識じゃない?
config.txt の中身は何?HTTPでおしゃべりするための台本かな…

945 :nobodyさん:03/03/25 18:43 ID:???
>>943
死ねクソマルチ。

946 :4:03/03/25 18:54 ID:4EHffvQl
>>944
正解だと思われる。
>>943
送りたいデータの最大量(sdim hi,32768,1)から見てPOSTで送る必要がある。
POST /hoge/hoge.cgi HTTP/1.1
Host: hoge.com
Content-Length: 送るデータ量

送るデータ

です。
ただ、バイナリデータ(日本語含む)ならきちんとEncodeしろ。
余談だが俺はHSPでWEBサーバ書いたことあるぞ。遊び程度だが・・

947 :4:03/03/25 19:01 ID:4EHffvQl
>>935
それだけならPOSTでなくて、GETで十分と思われる。
$ENV{'QUERY_STRING'}を=で分けた後にDecodeしろ。
>>940さんが言うようにエスケープもしろ。"""は"\""だ。
むしろヒアドキュメントで書け。言語勉強してこい。

948 :nobodyさん:03/03/25 19:05 ID:???
>>947
>むしろヒアドキュメントで書け。

鼻くそをほじってしまった。命令形で書くようなことでも無かろう。
むしろ、ソースコードからさっさとhtmlを追い出す努力をすべきだと思うよ。

949 :お初:03/03/25 19:46 ID:???
$2ch=$ENV{'QUERY_STRING'}を使いましたら、表示されました。
しかし、リンク時、フォームに1chと入力すると、
リンク先、リンクの文字が$2ch=1chになります

950 :nobodyさん:03/03/25 19:54 ID:???
>>949
悪いことは言わない。
こんなところで聞かずに本買って一人で勉強しなさい。ね?
馬鹿をさらすのは必ずしも悪いことじゃないけど、
自分で努力しないのは一番嫌われることだよ?

951 :4:03/03/25 21:03 ID:4EHffvQl
>>948
おっしゃるとおりです。
以前初心者にスタイルのことをどうこういうなと言われたのを
忘れていました。>>949すみません。
実はなんとなくキャラ変えています。偉そうなイメージで・・ゲレ
>>950さんの言うとおり言語からやり直したほうがいい。
一応書くと、
$2ch = (split(/=/, $ENV{'QUERY_STRING'}))[1];
$2ch =~ s/%([a-fA-F\d][a-fA-F\d])/pack('H2', $1)/ge;
でいいはずだ。
# Perlの変数って数字から始まってよかった?

952 :nobodyさん:03/03/25 21:05 ID:???
いや >>949 は、無事動きましたよ、という報告なのだろう。ウンウン


953 :nobodyさん:03/03/25 21:08 ID:???
>>951
> # Perlの変数って数字から始まってよかった?
そもそも、数字で始まる予約変数があるからダメでせう。


954 :nobodyさん:03/03/25 21:11 ID:???
>数字で始まる予約変数があるから

通常の変数でも可能ってこったな。

955 :お初:03/03/25 21:16 ID:???
有難うございました。>>951さんの教えてくれた記述どおりやりましたら、
無事、リンクできました。どうもこのたびはご迷惑お掛けしました。

956 :nobodyさん:03/03/26 04:10 ID:???
あるレン鯖屋のサイトに「○○(CGIスクリプトの名前)はハードディスクを破壊するので禁止します。」と書かれていたのですが、
そんなことできるんでしょうか。


957 :nobodyさん:03/03/26 04:19 ID:S5IZshnU
★男はココを見るべし★女と金と???★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html

958 :nobodyさん:03/03/26 07:50 ID:???
>>956
破壊にも色々あるけど、root 権限で動くとかじゃなければ無理だろ。
お子ちゃまの暴走に対する抑止効果は期待できるかもね。
良質の客が去っていくという逆の効果も発生するだろうが。

959 :お初:03/03/26 10:16 ID:???
言われたとおり、早速、本を買ってきて3時間ほど苦闘しましたが、失敗しました(TT

教えて頂いた応用で、
$2ch = (split(/=/, $ENV{'QUERY_STRING'}))[1];
$2ch =~ s/%([a-fA-F\d][a-fA-F\d])/pack('H2', $1)/ge;
に、($2ch,$1ch)=split(/&/,$data);をつけて、
フォームを2つに増やし、↓HTML
<HTML>
<BODY>
<FORM METHOD="GET" ACTION="./***.cgi">
ログイン名:
<INPUT TYPE="text" NAME="2ch">
<INPUT TYPE="text" NAME="1ch">
<INPUT type="submit">
</FORM>
</BODY>
</HTML>
リンク先を
http://$2ch.$1ch.net/ にして$2chのフォームに、2、
$1chのフォームに1と入力したのですが、
リンク先がhttp://2.1ch.net/になってしまします。
本当に勉強してもお手上げでした。

960 :お初:03/03/26 10:18 ID:???
間違えました。上2段は&dataでした
$data = (split(/=/, $ENV{'QUERY_STRING'}))[1];
$data =~ s/%([a-fA-F\d][a-fA-F\d])/pack('H2', $1)/ge;


961 :nobodyさん:03/03/26 10:25 ID:???
>>959
まずは変数名を変えれ。
($2ch,$1ch)=split(/&/,$data);
を、
($host2,$host1)=split(/&/,$data);
などに。
してから、
print qq(http://$host2.$host1.net);
と。

962 :nobodyさん:03/03/26 10:26 ID:???
>>959
ちょっと待ってくれ。
自分で書いたソース、各行でどんな処理をしているのかを理解しているのか?
そもそも
1. 動きゃいいのか?
2. Perl(じゃなくてもいいけど)のプログラミングスキルを身に付けたいのか?

# ところで朝7時から開いてる本屋があるのか?

963 :bloom:03/03/26 10:30 ID:C4vNyXIc
http://www.agemasukudasai.com/bloom/

964 :お初:03/03/26 11:52 ID:???
>>962さん、昨日買いました

プログラムのスキルはまだですが、多少の知識を得ました


965 :nobodyさん:03/03/26 11:54 ID:???
>>964
>買いました

こんなところで油売ってないで呼んで理解してください。

966 :4:03/03/26 13:40 ID:qOessVDe
>>965
激しく同意
そもそも
($ch2,$ch1)=split(/&/,$ENV{'QUERY_STRING'});
$ch2 = (split(/=/, $ch2))[1];
としないと。しかもどっちが2chで、どっちが1chか怪しい。
GETでどのような形式のデータが送られてくるか$ENV{'QUERY_STRING'}を
そのままprintして確かめてください。

967 :4:03/03/26 13:46 ID:qOessVDe
my($name, $value, %ch);
foreach (split(/&/, $ENV{'QUERY_STRING'})) {
($name, $value) = split(/=/, $_, 2);
$value =~ s/%([a-fA-F\d][a-fA-F\d])/pack('H2', $1)/ge;
$ch{$name} = $value;
}
print "http://$ch{'2ch'}.$ch{'1ch'}.net/";

968 :お初:03/03/26 13:58 ID:???
本当にいつもすみませんでした。無事、URLを表示する事が出来ました。
4様、その他アドバイスをくださった方々に非常に感謝してます。
m(_ _)m

969 :nobodyさん:03/03/26 14:52 ID:S5IZshnU
★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html

970 :nobodyさん:03/03/26 15:14 ID:???
つーかそのソースの各行がどんな処理をしてて、
ここをこうするとこうなって・・・
てなことはどうでもいいんだな多分。
せっかく本買ったのにもう見ることも無いんだろうな
で、また何かわからないことがあると、
とりあえずこのスレにきて「お初」って書いて質問するんだろうな

971 :nobodyさん:03/03/26 16:21 ID:???
>>970
何か不都合でも?

972 :nobodyさん:03/03/26 21:04 ID:???
>>970
このスレは質問者のためだけのスレではないのです。
回答者も、質問者から如何にして質問の要点を引き出すか、を楽しめるスレなのです。

なんちて。

973 :nobodyさん:03/03/26 21:05 ID:???
馬鹿はこれでも努力した方でしょう。

974 :nobodyさん:03/03/26 21:09 ID:WT1OtOAR
CGI(perl)でPOSTで<FORM>からデータをもらうときはどうすれば
いいのですか?

975 :nobodyさん:03/03/26 21:10 ID:???
>>974
標準入力から受け取ってください。

976 :nobodyさん:03/03/26 21:16 ID:???
>>975
標準入力ってなんですか?

977 :nobodyさん:03/03/26 21:16 ID:???
>>976
stdinのことですよ。

978 :nobodyさん:03/03/26 21:17 ID:???
>>977
ますます分かりません(T.T)

979 :nobodyさん:03/03/26 21:17 ID:???
Perlなら、STDINっていうファイルハンドルがあるから、それを使って読む。

980 :nobodyさん:03/03/26 21:19 ID:???
>>978
帰れ。

981 :nobodyさん:03/03/26 21:19 ID:???
>>979
なんとなくわかりました(ToT)

982 :nobodyさん:03/03/26 21:21 ID:???
>>974-981 ワラタ

983 :4:03/03/26 21:23 ID:qOessVDe
標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。

984 :4:03/03/26 21:24 ID:qOessVDe
LENGTHね・・

985 :nobodyさん:03/03/26 21:24 ID:???
標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。標準入力から読みます。
my $buf;
sysread(STDIN, $buf, $ENV{'CONTENT_LENGHT'});
print $buf;
質問、sysreadとreadの使いどころは?
自分はSocket関連だとsysread使いますが、ファイルを読むときは
readです。

986 :4:03/03/26 21:25 ID:qOessVDe
>>983
CGIと関係なかったかも。
スマソ

987 :950:03/03/26 22:56 ID:???
新スレ立てました。
http://pc2.2ch.net/test/read.cgi/php/1048686475/l50

988 :nobodyさん:03/03/27 00:16 ID:OfSB210s
質問したいんですが、ホント馬鹿な質問っぽいんで先にごめんなさい。

foreach (0 .. 10) {
 if (-e "$_.dat") {
  open(IN,"$_.dat") || &error("ファイルオープンエラー");
  close(IN);
 }
}

↑こんなことする意味ってありますか?(ifの部分)
それだったらエラーを返さずに

foreach (0 .. 10) {
 open(IN,"$_.dat");
 close(IN);
}

これだけでいくのと一緒・・・っていうかこうするべきなんでしょうか?

989 :nobodyさん:03/03/27 00:20 ID:???
>>988
そもそも何がしたいのかに依る気がするんですが。

990 :nobodyさん:03/03/27 00:20 ID:???
>>988
意味あるだろ? エラートラップをこまめにする癖をつけるのが悪いとは思わないし。
.datファイルが破損することだって絶対にないとはいえないし。

991 :nobodyさん:03/03/27 00:23 ID:???
-eでいちいち存在をチェックしなくても、openで失敗するから問題ないっていうこと?

openが存在しないっていう理由でのみ失敗するなら、if (-e ...は無意味なんだけど。

992 :nobodyさん:03/03/27 00:28 ID:???
つまりファイルが無ければ処理しないでスルーして次のファイル・・・
ってことをしてるつもりなんですが、
やっぱり下のじゃ問題ありっぽいですねサンクスです

993 :nobodyさん:03/03/27 00:41 ID:???
なぜオープンに失敗したらnextするとしないんだろう。

994 :nobodyさん:03/03/27 00:57 ID:???































995 :nobodyさん:03/03/27 01:44 ID:???
ume

996 :nobodyさん:03/03/27 01:45 ID:???


997 :nobodyさん:03/03/27 01:45 ID:???
産め!

998 :nobodyさん:03/03/27 02:04 ID:???
埋め

999 :nobodyさん:03/03/27 02:06 ID:???
15350

1000 :nobodyさん:03/03/27 02:07 ID:KPZ2y82F
>>990
死ね。

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

239 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)