X



自作CGIを評価するスレ

0001Premature end of script headers : /this/thread
垢版 |
03/04/05 12:47ID:tIET0nhf
自分の作ったCGIをみんなに評価してもらうスレだよ。言語は問わないよ。
よほどプログラムが短くないかぎりはアプロダにでもアップしてね。
0443nobodyさん
垢版 |
03/08/12 15:36ID:QPay4kE6
>>442
age
0444山崎 渉
垢版 |
03/08/15 22:37ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0446nobodyさん
垢版 |
03/08/31 01:55ID:6GeG39LL
Blogの試作公開

http://ex.1000gex.net/blog.zip

common.phpで初期設定。

排他制御も何も入れてないがとりあえず動いた。
これからトラックバックを盛り込むけど難儀するだろうなぁ
0447nobodyさん
垢版 |
03/08/31 02:19ID:???
何?評価して欲しいの?
ただの宣伝?
0448nobodyさん
垢版 |
03/08/31 02:27ID:6GeG39LL
ダメ出しきのん。

SAFE_MODEでさっそく引っかかったが
0451nobodyさん
垢版 |
03/08/31 11:38ID:???
こちら素人だが、ざっと読んで気づいた点を。
script書き始めなら上々の滑り出しだと思う。

■L38の $ip のダブルクウォートは意図不明。

■” と ’ が混在してるけど、このスクリプトで使われてる ” は上記をのぞいて ’ に統一可能。

■L41は、$newdata = $newcont . '<>' . $_SERVER['REMOTE_ADDR'] ; と書けば十分なのでは。

■関数名とレフトブラケットの間に半角スペースがあったり無かったりする。これは趣味だから
どう書いてもいいと思うが、普通は入れない。制御語(ifとかforとか)の後には入れる。そうすることで
関数と制御構造を見分けやすくする。カラーリング機能のないエディタではこの方が見やすい気もする。
いずれにせよ、どっちかに統一したほうがよいと思われ。

■切り詰めを忘れている。ので、現データが 13<>127.127.127.127 で上書きデータが、14<>25.25.25.25 だった
場合、14<>25.25.25.257.127 に。書き込んだ後で、ftruncate(); を使ってファイルを切り詰める必要あり。
0452nobodyさん
垢版 |
03/08/31 11:40ID:???
■L29の rewind(); は意図不明。
ログファイルが壊れる(例えば 8424<>127.0.0.1420<>127.0.0.8420<>127.0.0.842の ように)から
入れたのなら、アイディアとしては◎だが、スマートな処理とはいえないかと。

■あと、排他制御にバグがあるのでは。
ロックがかかっていても、fopen(); も flock(); も、 warning や fatal error (noticeも) を吐かないため、
処理が続行する。排他制御になってもならなくてもこのスクリプトは処理を最後まで実行するので、flock(); は
ちゃんと働いてない。
実際には起こらないかも知れないが、論理上、ロックがかかっているために L32 の fgets(); が失敗して
$buf に false が入ってカウンターが0に戻る可能性がある。L26でロックが取れなかった場合、
つまり前のリクエストを処理中の可能性がある場合、書き込みをスキップするかスクリプトを終了
するかブロックモードで待機させる必要があると思う。http://jp.php.net/flockにあるとおり、flock(); は
失敗すると false を返す。

■同じ理由で、前のロックが邪魔してロックがかかっていないのに書き込みに進行してしまうことがある。
書き込みがいくつも重なると、dat の内容がが妙なことになる予感。ここらあたりを rewind(); が力技で
解消しているように見える。
0453nobodyさん
垢版 |
03/08/31 21:50ID:???
本7に対してそこまでしなくていいのに
0454nobodyさん
垢版 |
03/08/31 21:56ID:6GeG39LL
ちなみにサンプルページ

http://s2.arigato3.net/~hon7/blog/

ハイブリッドP2Pによるトラックバックを考えてます
0456nobodyさん
垢版 |
03/09/01 01:41ID:???
相変わらず発言が電波過ぎる…
0457ガイキチ厨房
垢版 |
03/09/01 16:10ID:???
>>452

詳しく指摘していただきありがとうございます。
とりあえず''に統一し、関数名とレフトブラケットの間のスペースを
制御構造のみ入れるようにしました。

また、書き込み処理を行った後に、

 // ファイルを切り詰める
 ftruncate($fp, ftell($fp));

という処理を加えました。

ロックのバグについてなのですが、Googleで調べたところ、
flockはデフォルトでブロックモードになっているらしいのですが、

http://itbtech.itboost.co.jp/perl/perl_06.php

よろしくお願いします。
0459nobodyさん
垢版 |
03/09/01 23:17ID:???
Perlでも評価してもらえます?
0461nobodyさん
垢版 |
03/09/02 16:15ID:???
>457
ああごめん。Manualみたらおもっくそそう書いてあった、、。
flockでとまるから一般の環境なら多分大丈夫だね。
こっちの検証スクリプトの間違いなのでflockとrewindの話しはなかったことに。
秒間50リクエストくらいでは問題なかったです(php4.3.0 apache1.3.27 RHLinux)。
ftruncate ( $fp , ftell ( $fp ) ) ; は ( $fp , strlen ( $newdata ) ) ; なんちゅう書き方もある。
0462ガイキチ厨房
垢版 |
03/09/02 19:51ID:???

なるほど、参考になりました。ありがとうございます。
0463nobodyさん
垢版 |
03/09/03 02:03ID:6rADPhxn
とある会社の部活動のHPを管理している者です。

Web上で部の共有資産の貸し出し申し込み等の管理を行えるといいなぁ、と思いいろいろとCGIを探してはいるのですがなかなか見つかりません。
探しているのは、次のようなCGIです。

1.画面で借りたい物を選択・自分の名前・貸出期間等の入力、申し込み
2.画面上では「貸し出し中」等に表記が変化(それか削除されるなど、申し込みが行えない状態に変化)
3.sendmailが使えないサーバなので、申し込みがあったことをログに吐き出し、管理人が定期的にそれをチェックし貸し出す

こういうものです。
サーバはinfoseekのiswebでPerl、Python、Ruby、PHPが使えます。

ショッピングカートCGIを活用してもいいなと思ったのですが、sendmailを利用する物がほとんどで、上記のようにログにのみはき出す物はあったことはあったのですがシェアウェア(\15K!)でした。
それほど資産の数が多いわけでもなく、貸し出し回数もそんなに多くないので、15000円もかけるわけにはいきません。
出来れば無料、もしくは1〜2千円程度で利用できるCGIがありましたら、教えてください。

よろしくおねがいします。
0465sage
垢版 |
03/09/03 12:28ID:Udj8Y4pI
>464

463です

え〜と。
スレ違いだ、ということですか…?

…すいませんでした。
0466nobodyさん
垢版 |
03/09/03 13:26ID:???
sageはmail欄でw。
どっかに「こんなCGI探してます」的なスレあったハズだよ。
0467nobodyさん
垢版 |
03/09/03 13:44ID:???
>>465
>スレ違いだ、ということですか…?
スレ違いじゃないと思うんだったら自作CGIへのリンク貼れよ。
自作CGIを評価するスレなんだからさ。
0469463
垢版 |
03/09/04 00:28ID:???
>>464
>>467
ご迷惑をおかけしました。

>>466
>>468
そこに行ってみます。ありがとうございます
0471nobodyさん
垢版 |
03/10/02 22:11ID:???
perlでRead-Write Lockを実装してみますた。

複数プロセスでの10,000件書き込み耐久試験もクリアしたっぽいです。
ただ、ちょっと遅いように感じるのですがどでしょ?

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0473nobodyさん
垢版 |
03/10/07 02:23ID:86/MwT3y
知識ゼロからがんばってXML化にこぎつけました。
スタイルシートだけでWebデザインが可能です。
PHP4+MySQL

http://arigato3.s36.xrea.com/x/bbs.php
0474nobodyさん
垢版 |
03/10/07 03:18ID:???
>>473
すごいね。どのくらいすごいのかいまいちわからんけど。
どのくらい時間かかった?
0476nobodyさん
垢版 |
03/10/07 06:12ID:???
>>473
ダメXMLの見本として宣伝してもいいですか?っていうくらいダメなXML。
0478nobodyさん
垢版 |
03/10/07 09:34ID:86/MwT3y
>>476=印刷屋をクビになったオヤジ
0479nobodyさん
垢版 |
03/10/07 09:34ID:86/MwT3y
>>474
片手間で1週間ぐらい
0480nobodyさん
垢版 |
03/10/07 18:52ID:???
> 知識ゼロからがんばって XML化にこぎつけました。
            ___Λ____
           |知識ゼロのまま|
0482nobodyさん
垢版 |
03/10/08 10:35ID:???
よいXMLの見本が見たい。
0483nobodyさん
垢版 |
03/10/19 04:34ID:faEGA12Q
●●●マスコミの 「盗聴/盗撮」 は許されるの?その4●●●   http://natto.2ch.net/mass/kako/994/994602694.html
62 名前: 文責:名無しさん 投稿日: 2001/07/10(火) 12:21
小型盗聴器、電話盗聴、web(電子メール)盗聴、郵便物の開封、
集合住宅の隣に引っ越してきて壁に聴診器、または集音マイクを向ける。
関係者からの聞き込み、ごみあさり、ストーキングにより行動パーターンの把握、
行動パターンを調べた上での待ち伏せ。全部、人海戦術を使えば十分可能です。

323 名前: 文責:名無しさん 投稿日: 2001/07/30(月) 20:48
集団で盗聴なり、付きまといなり、身辺調査なりした後で、集めた個人情報を利用して、
メディアを通じて本人にしかわからないように「監視してる」とほのめかしたり。
待ち伏せや尾行などしておいて、本人の前で「監視してるぞお〜」と、嫌がらせをしてみたりする。
これを一定期間継続して繰り返す。
一定期間、上記の嫌がらせを繰り返すと、加害者がすでに嫌がらせをしていなくても、
被害者は、ずう〜っと嫌がらせが続けられてると思い込んでしまう。
(痴漢の被害者が、外であった人が全員痴漢だと思い込むのと同じ)
それと同じように、ここのスレッドに書かれている、盗聴した情報を二次利用する嫌がらせを
やっていないときでも、被害者は自分から自分と関わりがある
情報をメディアから探し出して自分に関係があるのではないかとこじつけてしまう(関係妄想)。
関係妄想を引き起こすように嫌がらせを行うそれ自体がマインドコントロールの一過程である。
被害者が関係妄想を引き起こした時点で今度は精神病にかかったと噂を流して、さらにからかう真似をする。
ノイローゼになるように追い込んで、更に自殺するように持っていこうとする。     
被害者がこういった心理状態になるのを嫌がらせの関係者は経験的に知っているのだろう。
0485nobodyさん
垢版 |
03/12/09 13:27ID:Dust1o+d
すいません、午前中探したんですけど、見つかりませんでした。

パソコンと携帯3社兼用の掲示板で、スレッドまたはツリー表示でかつ
パスワードで入る人の管理が出来るCGIご存じありませんか?
スレッド、パスワードどちらかだけだとあったんですが・・・。
0486nobodyさん
垢版 |
03/12/10 13:25ID:/scbZ0TM
誤爆でしたとさ
0487SERA
垢版 |
03/12/10 21:19ID:cJpFW25/
箱庭諸島PHP版の改造版、箱庭諸島S.Eを今日公開配布開始しました。
0489nobodyさん
垢版 |
03/12/19 17:18ID:s0hPhfIy
http://erobon.e-un.jp/
これはどうでしょうか?
デザイン以外は自分で作りました。
0491nobodyさん
垢版 |
03/12/20 01:11ID:A80S/toC
>>490
CGIです。
サーバーサイドで動いているのでCGIです。
もっと勉強してください。
0493nobodyさん
垢版 |
03/12/20 01:26ID:m9BC3a2H
>491-492 ネタは他所でやれよ馬鹿
0494nobodyさん
垢版 |
03/12/20 01:27ID:A80S/toC
>>492
いま検索して調べたら
metaタグの後にtitleタグを書いてました。
0495nobodyさん
垢版 |
03/12/20 02:56ID:???
>>491
あのね、見た目とかを評価してもらうスレじゃないの
ソースを公開してちょうだい
0496nobodyさん
垢版 |
03/12/20 02:58ID:???
> サーバーサイドで動いているのでCGIです。

CGIは動いたりしない。
0497nobodyさん
垢版 |
03/12/20 03:19ID:???
>もっと勉強してください。

悪代官が黄門様に無礼者と言ってるのを思い出しちゃったw
0498nobodyさん
垢版 |
03/12/20 10:48ID:rKU28so3
>>496
CGIとはWEBサーバーがWEBブラウザからの要求に応じてプログラム
を起動するための仕組みです。

”CGIは動いたりしない。”
馬鹿か?
0499nobodyさん
垢版 |
03/12/20 10:49ID:rKU28so3
>>498

俺は悪代官だよ~W~
0502nobodyさん
垢版 |
03/12/20 14:07ID:???
CGIはシステムでも仕掛けでもない。
インターフィエスの一仕様。

モジュールからプロセス作ることもできるが、
あれもCGI?
0503nobodyさん
垢版 |
03/12/20 18:53ID:FBPjlTLi
>>502
どうせperl=cgiとか
まだ思ってるアフォだろ?
0504HTTP/1.1 200 OK
垢版 |
03/12/20 21:23ID:???
unlessはほかの言語と混同するからやめれ
とか書いてある本があった気がする
ほかの言語を使わなければいいだけの話なのに・・・
0505nobodyさん
垢版 |
03/12/21 00:57ID:???
>>504
マジ?

それって、if ははほかの言語と混同するからやめれというのと同じことだよね
0506nobodyさん
垢版 |
03/12/21 15:53ID:???
汎用的なプログラミングの作法を身につける為なんじゃないかな?if だと他の言語でも大抵応用が効く。
同じような理由でperlの$_(暗黙の代入)はなるべく使うなとか書いてる本もあったよ。

0507nobodyさん
垢版 |
03/12/22 08:45ID:???
>>506
なんだそりゃ?(藁
じゃあ混同しやすい elsif は使わないほうがいいってことか?
0509nobodyさん
垢版 |
03/12/26 11:25ID:???
>>508
差別はイクナイ!
何国ってのがどこのことだか知らんが,何国の人に失礼だよ(藁
0510nobodyさん
垢版 |
03/12/26 20:54ID:???
>>509
ハァ?
あたまのよわいのがなんにんか・・ って書いてあるが、どう読んだら何国の人になるんだ?

502,504,506,508が(ry
0512nobodyさん
垢版 |
03/12/27 06:08ID:???
>>510
「なにじんか」って読んだんだろ。>>511の言うように洒落だろうがつまらん。
0513nobodyさん
垢版 |
03/12/31 15:09ID:OIDb7RDT
表計算ができるランキングCGIを作ってみたので評価お願いします。
http://ssr.xrea.jp

けっこういい出来に仕上がったと思うけど、初めての人は操作にとまどうかも
0514nobodyさん
垢版 |
04/01/05 13:20ID:8h9t8BrG
>>513
落としたYo
とりあえず使えそう・面白そうな物だったら、朴らせてもらうわ(w
0515nobodyさん
垢版 |
04/01/12 07:57ID:fR13iSUk
age
0518nobodyさん
垢版 |
04/01/17 18:12ID:???
上と下に出てる「1」って何だ?
0519nobodyさん
垢版 |
04/01/17 19:01ID:???
>>516
http://fine.tok2.com/home/moritomo/cgi/accesstakelog.txt
http://fine.tok2.com/home/moritomo/cgi/admin_remote_log.txt
http://fine.tok2.com/home/moritomo/cgi/akusesu.txt
http://fine.tok2.com/home/moritomo/cgi/countlog.txt
http://fine.tok2.com/home/moritomo/cgi/hatugen.txt
http://fine.tok2.com/home/moritomo/cgi/newaccesslog.txt
http://fine.tok2.com/home/moritomo/cgi/newcount.txt
http://fine.tok2.com/home/moritomo/cgi/newdomain.txt

以下略


ヴァカですか?
0521nobodyさん
垢版 |
04/01/18 02:22ID:???
ところで、ちゃんと評価してるのって最初のほうだけだね。
0522nobodyさん
垢版 |
04/01/18 03:41ID:???
>>521
・ここは見た目じゃなくコードを評価するスレだ。
・use strict; しろ。
・perlstyle 読め。
・デカいの持ってきても面倒だから読まんぞ。

…のどれかに該当していたら、まともなレスは返ってこない。
0523nobodyさん
垢版 |
04/01/18 21:22ID:???
コードの見た目を評価するスレの間違い。
0524>>516
垢版 |
04/01/25 15:17ID:yPaa9elS
DirectoryIndexの設定をしているtoktokも問題かと思うが。

Forbiddenにしたみたいだけど、
せめてファイル名変えなよ。
0525nobodyさん
垢版 |
04/03/06 14:54ID:???
誰も居ない……ケチつけるなら今のうち。

if-elsifの書き方、
if{
..
}elsif{
..
}
より
if{
..
}
elsif{
..
}
の方が俺にとっては読み易いんだコンチクショー。
0526nobodyさん
垢版 |
04/03/19 18:15ID:???
>>522
perlstyleなんて知らなかった…ありがとう、勉強になったよ。
0528nobodyさん
垢版 |
04/05/09 20:52ID:???
例えば既成の掲示板のCGIとかから

require 'axlog.pl';
AxLog::getlog('ログファイル名','ログ最大記録数');

の用に呼び出して使うアクセス解析。

何となく作ったんですが評価お願いします。

アクセス解析 http://torihamlog.s55.xrea.com/search/axlog.pl.txt
ログビューワー http://torihamlog.s55.xrea.com/search/axlogv.cgi.txt

ここにログビューワを設置して、それにアクセス解析しこんでます。
リモホとかIPとか晒す事になるので困る人は見ないで下さい。
パスワードは 1234 です。
http://torihamlog.s55.xrea.com/search/axlogv.cgi

念のため…コレ呼び出すとログを削除します。
http://torihamlog.s55.xrea.com/search/dellog.cgi
0530nobodyさん
垢版 |
04/05/09 21:49ID:???
>>529
とりあえず axlog.pl をザッと見た感じ。

> 39: my $logfile = ($_[0]) ? $_[0] : "log.dat";
my $logfile = $_[0] || "log.dat";

my $logfile = defined $_[0] && length $_[0] ? $_[0] : "log.dat";

> 48: $ENV{'TZ'} = "JST-9";
local するか、呼び出し元と条件を揃える (設定しない) 。

> 58 〜 62
my($path) = $ENV{'SCRIPT_NAME'} =~ m|^(.*/)|;

ログに ASCII 以外の文字を吐くのはあまりお勧めしない。

あと axlog.pl.txt や axlog.cgi.txt でも「.pl」や「.cgi」は含まれて
いるので CGI プログラムとして動く。Apache のマニュアル参照。
0531nobodyさん
垢版 |
04/05/09 22:26ID:???
>>529
axlogv.cgi 。

> 6: use vars qw/$pw $logfile $gzip_send $gzip/;
不要。

> 47 〜 53:
my $gzip = $^O =~ /Win/
  ? "gzip.exe -1 -c"
  : "/bin/gzip -1 -c"
;

> 69: if ($mode eq "css") { Style_Sheets(); }
わざわざ CGI で吐かせる理由は?

> 74: else { print "Status: 403 Forbidden\n\n"; exit; }
エラーメッセージを吐いた方が親切。

> 256: Content-type: text/plain; charset=Shift_JIS
text/css
0532528
垢版 |
04/05/10 19:23ID:???
>>530-531
評価ありがとうございます。
色々参考になります。

cssについてはファイルを一つにまとめたかったからです。
やっぱあんまり良くないですか?

>> 74: else { print "Status: 403 Forbidden\n\n"; exit; }
>エラーメッセージを吐いた方が親切。

if ($mode eq "css") { Style_Sheets(); }
elsif ($pass ne $pw) { Error('パスワードが違います。') }
elsif (($pass eq $pw) && ($mode eq "view") && ($ENV{'REQUEST_METHOD'} eq "POST")) { View(); }
else { Pass_form(); }

こうゆう風にしようと思っています。
0533nobodyさん
垢版 |
04/05/11 00:31ID:???
>>532
・CSS を変更する為にスクリプトを編集する危険を冒す必要がある。
・外部に CSS を持つのに対し、常に二倍の回数実行される。
・CSS を使い回す時に悩む事になる。

これらのデメリットを考慮の上で、なお一つにまとめるメリットの方が
勝ると判断したならいいんじゃないか?
0534528
垢版 |
04/05/14 20:45ID:1r/FkAS3
>>532
自己レス
すげー馬鹿なこと書いていた

if ($mode eq "css") { Style_Sheets(); }
elsif (($pass) && ($pass ne $pw)) { Error('パスワードが違います。') }
elsif (($pass eq $pw) && ($mode eq "view") && ($ENV{'REQUEST_METHOD'} eq "POST")) { View(); }
else { Pass_form(); }

たぶんコレでいいかな…

作った動機はなんとなくなんだけど、実用性とかどうでせう?
一応CGIの設置とかできて、ほんのちょっとだけいじれる程度人向けのつもりです。
0537nobodyさん
垢版 |
04/07/04 05:07ID:???
>>535
とりあえず画像のファイル名を変えた方が良いよw
20点頂きました
0538nobodyさん
垢版 |
04/07/04 05:12ID:???
>>535
もじゅーるは使えない鯖なんでつか?
使えるんなら使ったほうがいいでつよ。
Image::Magick、CGI、Jcode等々
何に使うのかは自分で調べてね。

EUCで書いたり表示したりしたほうがいいと思うけど、Shift_JISでやりたいのなら反対しないさ。

所々myを付けているが、どうせなら全部に付けちゃいな。
strictしろってこった。
ついでにHTML的にも4.01strict すれば?
0540nobodyさん
垢版 |
04/10/08 20:39:40ID:HUGW4EIR
タイトル::時刻::内容\n

というようなデータが数行あるような場合
それらを読んできて切り分けるって処理を
してます。
これの評価お願いします。

sub split_data{

my @ref,@tmp,%hush;
@tmp = @_;

for (@tmp){
chomp;
($hush{title},$hush{time},$hush{contents}) = split /::/;
push (@ref,{%hush});
}

return(@ref);

}

@tmp = ("a::b::c\n","d::e::f\n","g::h::i\n");

@ref = split_data(@tmp)

for(0..$#ref){
print "title:".$ref[$_]->{title};
print " time:".$ref[$_]->{time};
print " contents:".$ref[$_]->{contents}."\n";
}
0541nobodyさん
垢版 |
04/10/09 00:21:55ID:???
>>540
myで複数宣言するときは()がいる
hushじゃなくてたぶんhashね. 連想配列っていみなら

ハッシュのスライスを使うとエレガントかも
@hash{qw/title time contents/} = split /::/;

foreachつかえよ
for(...$#ref)
0542540
垢版 |
04/10/09 02:08:52ID:???
541>

>ハッシュのスライスを使うとエレガントかも
>@hash{qw/title time contents/} = split /::/;

ありがと、参考になりました。

my は複数でも()いりませんよ。バージョンによるだろうけど
最後に、今更foreach使ってる人いるんですか?w
レスを投稿する


ニューススポーツなんでも実況