bbs.cgi開発【WebProg ..
2:nobodyさん
02/04/19 08:49 .net
【bbs.cgiのメインフロー】
1、システム関連設定(タイムゾーン&日付・時刻&連想配列)
2、POST入力情報を取得($FORM{}に格納)
3、入力要素の体裁(コントロールコードや<>を除く)
4、各種ファイルPATH生成(詳細は下記参照)
5、設定ファイルから規制などを設定(詳細は下記)
6、ホスト情報($HOST・$PROXY・$IP)
7、クッキー発行
8、書きこみ状態のチェック&補完(monazilla&携帯)
9、書き込み情報のチェック&補完(トリップ&キャップ&節穴&名無し)
10、エラーレスポンス(ポスト情報の判定)
11、要素ごとのサイズや入力の判定(長さや入力無し)
12、ポートチェック
13、新規スレッドと普通書き込みの分岐
14、レス書き込みまたはスレッド立て規制
15、書き込み情報設定(レスポンスアンカー・ID)
16、DATファイルへ書き込み(.dat)
17、関連ファイルの更新(.html・subject・subback・iモード)
18、index.htmlの更新(圧縮)
3:nobodyさん
02/04/19 08:49 .net
【変数の指定】
use vars qw(%FORM);入力情報
use vars qw(%SETTING);設定情報
use vars qw($NOWTIME);現在の時間
use vars qw($DATE);表示日付
use vars qw($IP);ホスト情報(生?)
use vars qw($PROXY);ホスト情報(プロクシ)
use vars qw($HOST);ホスト情報($IP<$PROXY>)
use vars qw($PATH);$PATH = "../" . $FORM{'bbs'} . "/";(板アドレス)
use vars qw($DATPATH);$DATPATH = $PATH . "dat/";(データディレクトリ)
use vars qw($TEMPPATH);$TEMPPATH = $PATH . "html/";(テンポディレクトリ)
use vars qw($INDEXFILE);$INDEXFILE = $PATH . "index.html";
use vars qw($INDEXGZFILE);$INDEXGZFILE = $PATH . "index.html.gz";
use vars qw($SUBFILE);$SUBFILE = $PATH . "subback.html";
use vars qw($SUBGZFILE);$SUBGZFILE = $PATH . "subback.html.gz";
use vars qw($IMODEFILE);$IMODEFILE = $PATH . "i/index.html";
use vars qw($DATAFILE);データファイル
なお、これらについては、変数自体を使わないという選択もありです。
4:nobodyさん
02/04/19 09:06 .net
#!/usr/local/bin/perl
use strict 'vars';
# とりあえずな感じ。
# last modified 2002年 3月 17日 by トオル
use vars qw($version);
$version ="2002年";
#====================================================
# システム関連設定(タイムゾーン)
#====================================================
use vars qw(%FORM);
use vars qw(%SETTING);
use vars qw($NOWTIME);
$NOWTIME = time;
# タイムゾーンをセットする
{
$ENV{'TZ'} = "JST-9";
}
# シグナル対処関数
sub SigExit {
exit(0);
}
{
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "SigExit";
}
5:nobodyさん
02/04/19 09:07 .net
use vars qw($IP);
use vars qw($HOST);
use vars qw($PROXY);
$IP = $ENV{'REMOTE_ADDR'};
$IP = gethostbyaddr(pack('c4',split(/\./, $IP)), 2) || $IP;
if ($ENV{'HTTP_VIA'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/) {
$PROXY = $ENV{'HTTP_VIA'};
}
if ($ENV{'HTTP_X_FORWARDED_FOR'} =~ s/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\D*).*/$1.$2.$3.$4/) {
$PROXY = $ENV{'HTTP_X_FORWARDED_FOR'};
}
if ($ENV{'HTTP_FORWARDED'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/) {
$PROXY = $ENV{'HTTP_FORWARDED'};
}
$PROXY = gethostbyaddr(pack('c4', split(/\./, $PROXY)), 2);
$HOST = $IP;
$HOST .= "<$PROXY>" if ($PROXY);
6:nobody
02/04/19 09:26 .net
一回聞いてみたかったんだけど、こういうスクリプトで
CGI.pmをわざわざ使わないようにする理由ってなに?
どうせならCGI.pmとか色々モジュール使いーの、perl5.6.1使いーの
したほうがよろしいような気がするのですが。
7:nobodyさん
02/04/19 13:08 .net
利用者の多いところでCGI.pmは得策ではないだろう。(mod_perlなら話は別だが)
ただ大量のvarsはいただけないな。
Perl5.6なら"our $var = initvalue"で済むものが見苦しすぎる。
8:nobodyさん
02/04/19 16:41 eKZPn7So.net
2chのbbs.cgiってPerlで書かれてるの?
C言語で作られてるって聞いたんだけど・・・・
9:nobodyさん
02/04/19 16:45 .net
>>8
read.cgiはC
10:nobody
02/04/20 07:52 .net
CGI::Simple なんてどうだろう。作者によると同機能でCGI.pmの2倍は速い
との事だけど。
11:aki
02/04/20 08:19 .net
>>10
これかな。
URLリンク(tachyon.perlmonk.org)
12:nobodyさん
02/04/20 09:19 .net
そうそう、それよりもう少しあたらしいのがこっち
URLリンク(search.cpan.org)
(↑ただしドキュメンテーションがない模様・・・)
13:nobodyさん
02/04/20 11:03 .net
he.netで使ってるPerlのバージョンは全部5.004_01な模様なので
そこらへんも考慮しなきゃ、、
14:nobodyさん
02/04/20 12:22 .net
perlのバージョンなんてどうやて調べんのよ?
URLリンク(oyster.2ch.net)
15:nobodyさん
02/04/20 14:01 .net
CGI::Simple見てみた。
が、バグが多すぎてまだ実用レベルではないね。
例えば、パラメタのキーに".globals"などのメタデータのキーが入ってるとクラッシュする。
(場合によってはクラッシュせずに予想外の動作をするものもある)
これじゃCGI.pm v3.xの方がまだマシだね。
16:nobodyさん
02/04/20 16:55 .net
速いにこしたことはないけどCGI.pmを使いたくないほど過酷な環境
ならPerlCGIをやめたほうがいいと思うのだが。
17:nobodyさん
02/04/20 17:27 .net
mod_perlマンセー
18:nobodyさん
02/04/20 21:59 .net
CGI.pmを使っても全く影響が感じられないような素晴らしい環境なんてそうは無いだろ。
19:nobodyさん
02/04/22 09:43 J+MAbrVW.net
URLリンク(www8.ocn.ne.jp)
bbs.cgiのソースです。
20:nobodyさん
02/04/22 11:06 .net
で、なにを改良するんさ?
21:nobodyさん
02/04/22 11:08 .net
この板が激しく適切ですね
22:aki
02/04/22 12:02 .net
(´-`).oO(なんか、実験板方面が閉鎖的なんだよなぁ……。)
23:nobodyさん
02/04/22 17:13 .net
>>22
(´-`).。oO(禿げ同・・)
24:nobodyさん
02/04/22 21:03 oJQeFi6r.net
実験場とは別に、この板で作ってみるとか。
2ちゃんねるで使われるかどうかは別にして。
25:nobodyさん
02/04/23 01:31 Og/loODO.net
一応リンク
monazilla Part 3
スレリンク(tech板)l20
2ちゃん専用ブラウザ「かちゅ〜しゃ」Part60
スレリンク(software板)l20
2ちゃんねる用ブラウザ「ホットゾヌ」 Part10
スレリンク(software板)l20
2ちゃんねる用ブラウザ「A Bone」Vol.15
スレリンク(software板)l20
新鋭2ちゃんねるブラウザ「Jane2ch」 part 3
スレリンク(software板)l20
2ちゃんねる用ブラウザ「ギコナビ」 Part2
スレリンク(software板)l20
26:aki
02/04/23 16:38 .net
>>24
賛成。
とりあえずおおざっぱな方針かな?
個人的には、もはや軽量化はどうでもよくて、
「使いやすい」2ch互換スクリプトにしたいところ。
もちろん、無駄は省かれるべきだけど。
27:nobodyさん
02/04/23 20:42 M/9S6Mh9.net
age
28:nobodyさん
02/04/25 00:36 Dqy3iBWZ.net
>>26
じゃあ、このbbs.cgiを参考にしつつ、
17氏スクリプトを作りつつ、使いやすい2ch掲示板クローンを作るって方向でどうですか?
17氏が引退して、「2chスクリプトくれくれ君」が増えてうざいし。。
29:nobodyさん
02/04/25 00:44 mY6Jeycp.net
URLリンク(tolkien.s7.xrea.com)
全部perlで1から作り上げたらしいよ。
30:nobodyさん
02/04/25 01:32 EeJjolbS.net
というか、どう考えても17氏スクリプトと2ch互換は、転送量とか考えたら設計が古くてだめでしょ。
アハンと12chくらいじゃないかな?
31:nobodyさん
02/04/25 11:32 .net
完全なクローンなんて作っても仕方ない。
プロトコル互換の「もっとずっと使いやすい」BBSを設計してみてはどうだろう。
.
.
.
.
.
.
でも専用ブラウザで見るなら同じことなんだよな。
32:nobodyさん
02/04/28 01:08 .net
>>30-31
bbs.cgi開発【WebProg板】
1 :nobodyさん :02/04/19 08:10 ID:20PTEIcN
スレリンク(jikken板)l50
2ちゃんねるの、bbs.cgiが、現在住民の手により作られているようです。
WebProg板でも、改良に役立つように、協力しませんか?
33:nobodyさん
02/05/05 22:52 dTR58Yl2.net
ちょっと話は違うけど、PHPとDBを利用して作ったほうが
負荷も少なく、早くて、しかもログが壊れにくいと思うんだけど、
どうなんでしょうか。
34:nobodyさん
02/05/05 23:01 .net
んでもひろゆきとかドル猫達はいじれない罠
35:nobodyさん
02/05/05 23:46 .net
漏れはperlがなんとなく好きなんだが、
速さとかを突き詰めていけばphpとかそういう方向に行くんだろうな
36:nobodyさん
02/05/06 00:03 .net
>>35
phpって速いの?Perlより遅い気がするんだけど。
もしかして4.2xは速いの?
37:nobodyさん
02/05/06 00:18 .net
>>36
モジュル版が速いって事では?
38:nobodyさん
02/05/06 00:59 .net
>>36
mod_perlを使えばperl早いけど、
夜勤さんが使わないっていってるからなぁ。
39:nobodyさん
02/05/06 23:09 .net
c++
40:nobodyさん
02/05/06 23:18 .net
++c;
41:nobodyさん
02/05/07 08:43 .net
+c+
42:nobodyさん
02/05/07 08:43 .net
(+c+)
43:名無しだよもん
02/05/07 08:50 .net
>>42 >>スレリンク(php板)
44:nobodyさん
02/05/07 08:50 .net
>>43
(+c+)b
45:nobodyさん
02/05/07 09:52 .net
コラボ ワラタヨ
46:nobodyさん
02/05/08 03:10 .net
test
URLリンク(isweb43.infoseek.co.jp)
47:aki
02/05/08 03:51 .net
これなに?
なんかとても面白そうな雰囲気が。
48:nobodyさん
02/05/08 16:36 .net
>>46
ほー。いいねそれ。
49:nobodyさん
02/05/09 14:48 .net
>>46
17スクリプトだろ、、、
50:nobodyさん
02/05/10 14:23 .net
それはどうかな。
51:nobodyさん
02/10/03 16:43 .net
ここでいいのかな
トリップをメール欄に書くとおかしくなるの既出?
例えば、
名前[#hogehoge]メール欄[sage]
→名前[ ◆/Re6aTC.]メール欄[sage]
名前[#hogehoge]メール欄[sage #hogehoge]
→名前[ ◆jG/Re6aTC.]メール欄[sage]
52:nobodyさん
02/10/03 16:46 .net
>>51
昨日からトリップ10桁になったんだよ
メール欄とは無関係、メール欄の#以降が削除されるのは以前からの仕様
53:nobodyさん
02/10/03 16:49 .net
ホントだ。
思い切り誤解ですた。ごめんなさい。
54:nobodyさん
02/11/04 15:34 .net
>>1の軽量化コンペのログ、HTML化されてた模様
URLリンク(ooo.2ch.net)
55:nobodyさん
02/11/14 15:48 .net
843 名前:夜勤 ★ 投稿日:02/11/14 15:22 ID:??? ???
ex , ex2 うまくいっているのかなぁ。
結局は、極端にいえば「もう一行も bbs.cgi にはコード追加できません」
ってことのような感じ、もちろんコードの内容にもよりますけど。
人が増えすぎて、コードを削らなきゃならない段階のようです。
解決策は
(1) コードを削る。
(2) サーバを増設する。
ということでしょうが、どっちにしろ なんともかんとも
さーおまいら出番ですよ。
56:nobodyさん
02/11/29 01:10 .net
夜勤って頭悪いと思う。
57:ゆかりぼん
02/12/28 22:19 mkbLi1ni.net
うん。
58:nobodyさん
02/12/29 00:49 kIUCOKS/.net
>>55
夜勤が本気でそんなこと言ってるなら夜勤は真性のアフォ。
59:nobodyさん
02/12/29 04:37 .net
「サーバを増設したいから、●買ってくれ」が正解。
60:山崎渉
03/01/15 13:39 .net
(^^)
61:nobodyさん
03/02/16 00:43 .net
廃れてるなぁ。
誰かまじめにbbs.cgi開発する人いないの?
62:nobodyさん
03/02/16 10:28 .net
>>61
真面目に開発している人はここには来ない罠。
63:nobodyさん
03/02/16 18:54 .net
>>61
いいだしっぺの法則。
64:nobodyさん
03/02/16 19:20 .net
お前らも暇な奴だなぁ(オレモナー
っていうのは置いておいて、真面目にやっている人がいるなら
ソースコードを提供してもいいよ。ただし再配布は禁止。
どうよ?
65:nobodyさん
03/02/16 19:28 .net
あー、書き忘れたけれど興味あるならメールください。
フリーメールはNGです。
kigaru2@kigaru2.net
(正体ばればれだなぁ。)
66:63
03/02/16 19:54 .net
>>65
hu8up@ww2.personal.ne.jp
このメアドでよろしいでしょうか。
67:63
03/02/16 22:18 .net
突っ込み無い…(´・ω・`)ショボーン
68:nobodyさん
03/02/16 22:19 .net
>>67
返事がない。攣られたようだ。
69:nobodyさん
03/02/16 23:19 .net
>66
どあほー^^;
70:63
03/02/17 03:29 .net
>>69
ヽ(´ー`)ノ
71:nobodyさん
03/02/18 20:43 pPA3E1lh.net
おまえら、出番ですよ。
スレリンク(unix板:826番)
72:nobodyさん
03/02/18 21:52 .net
正直perl以外は(´・ω・`)ショボーン
73:nobodyさん
03/02/18 22:17 .net
時代はPHPか。
勉強してみるか(お。
74:山崎渉
03/03/13 17:13 .net
(^^)
75:山崎渉
03/04/17 12:24 .net
(^^)
76:nobodyさん
03/04/17 12:33 9xDxcLAx.net
■ お手伝いさん募集中。。。
URLリンク(jbbs.shitaraba.com)
夜勤さんが助手を募集しているらしい。
来たれ猛者。
77: ◆garnetGnNk
03/04/18 07:02 .net
へるぷみー。
URLリンク(www.kigaru2.net)
78:山崎渉
03/04/20 06:04 .net
∧_∧
( ^^ )< ぬるぽ(^^)
79: ◆garnetGnNk
03/04/20 21:46 .net
反応なしかyo!
というか、面倒くなったのであと誰かよろ。
80:nobodyさん
03/04/20 23:39 .net
17氏の手に入った。
PATHINFO対応に改造するにはどうすればいいでつか?
81:nobodyさん
03/04/21 03:04 .net
>>80
PATHINFO対応の他のBBSのソースを参考にしたら?
82: ◆garnetGnNk
03/05/05 19:13 o0tvPWt6.net
誰も突っ込みいれてない(´・ω・`)
一応動くんだけどなー。
誰か試してくれないかなー。
83:nobodyさん
03/05/05 19:20 uopb4ZqD.net
>>82
これはbbs.cgiをCで書いたやつとかですか?
84: ◆garnetGnNk
03/05/05 20:13 o0tvPWt6.net
そだよ。
まだ足りない機能もあるけど^^;
85:nobodyさん
03/05/05 21:06 xzfVtRnc.net
>>84
ダウンロードとコンパイル出来ました。
RedHat8です。
2ch初心者で申し訳無いんですけど、起動の方法がわかりません。
「ERROR:POSTしてください!」とか出ました。
86:動画直リン
03/05/05 21:10 lHdchtO/.net
URLリンク(homepage.mac.com)
87: ◆garnetGnNk
03/05/06 07:24 VK0iAUmq.net
コンパイルは適当に
gcc -O2 -Wall -o bbs.cgi bbs.c
とやればいいと思ふ。
>85
コンソールじゃなくて、CGIで起動しているんだよね?
環境変数がセットされてないのかなぁ?
ごめん、よくわからないや^^;
88:nobodyさん
03/05/06 09:35 .net
=""とかけばよいものを、="\0"と書くのがわからない。つーか静的なんだから自動的に0に初期化されるね。
staticのついていない関数の宣言はヘッダーファイルでした方がいいよ。
getenvがNULLを返さないかどうか監視しないと、strcmp等で悲惨な結果を生むことがあるだろう。例え(環境変数が)定義されていないはずがないと思っても。
もしもデコード対象の文字列が%で終わっていたらhex_packでまずいことになるかもね。hex_packでもきちんと文字列をチェックするか、decodeで2バイトstrncpyしてstrtolするといいよ。
mallocの戻り値をチェックしているところもあればしていないところも・・・
ところで、なんで*.hファイル(ヘッダーファイルだよね?)で関数の定義をしているの?(^_^;)
>>85
書き込み用のフォームを用意していないからでしょ。直接bbs.cgiにアクセスすればそりゃあそのエラーが出るよ。
あとはPOSTじゃなくて小文字でpostだったりすると(そこは非標準関数のstrcasecmpを使えばうまくゆくね)。
>>87
コンソールから起動すれば多分Segmentation Faultが出るよ(理由は上述)。
89:nobodyさん
03/05/06 11:12 ODhBfC+Q.net
>>87
SETTING.TXTが2chとは違うようだけど。
90: ◆garnetGnNk
03/05/06 11:17 VK0iAUmq.net
>88
突っ込み多謝ですm(_ _)m
>ところで、なんで*.hファイル(ヘッダーファイルだよね?)で関数の定義をしているの?(^_^;)
他のコードを書くのに便利そうな関数は別ファイルにしようかなぁと。
それなら*.cにしる!ってことなんですけれども^^;
91: ◆garnetGnNk
03/05/06 11:20 VK0iAUmq.net
>89
実験室仕様です。
2chに合わせるにはbbs.hを書き換えればいいと思います。
若干(でもないけど)テンポラリファイルの仕様も違うけど、
多分大丈夫^^;
92:nobodyさん
03/05/06 13:26 ODhBfC+Q.net
>>91
書き換えるのがめんどいのでSETTING.TXTもアップしてけろ
93:nobodyさん
03/05/06 13:27 .net
SETTINT.TXTをパースする仕組みがないのでは。
94: ◆garnetGnNk
03/05/06 14:00 VK0iAUmq.net
更新したー。
88さんの指摘と、ID生成部分の修正、DATファイルの書き込み判定を追加。
>92
URLリンク(www90.sakura.ne.jp)
bbs.hの書き換えは俺も面倒い^^;
>93
文字列を分割する処理だよね?<パース
これのことではない?
value = split( key, '=' );
split( value, '\n' );
95:nobodyさん
03/05/06 21:29 .net
(・∀・)ニヤニヤ
96:nobodyさん
03/05/17 23:03 KafpXCdl.net
いちお貼っとく
■ 新しいサーバで read.cgi が正しく動かない問題。
スレリンク(operate板)
bbs.cgi 再開発プロジェクト
スレリンク(operate板)
97: ◆dq7M./4Uw.
03/05/18 01:04 .net
男爵Cも書けるのか…
まぁそれはいいとしておいらはCはほとんど書けないから出番なしかなー。
98:山崎渉
03/05/22 02:01 .net
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
99:山崎渉
03/05/28 17:20 .net
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
100:コナン ◆Hj.s1.SYl2
03/06/01 18:47 .net
今だ!100ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
101:4 ◆Vqdc2LXgwQ
03/07/05 09:28 .net
>>61
ワラタ
ところで話変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP)
このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。
この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
突然こんな事いいだしてすまそ・・
GBAと比べてみてどうなんでしょうか?(シェアのことは抜きで)
102:山崎 渉
03/07/15 11:14 .net
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
103:山崎 渉
03/08/02 02:37 .net
∧_∧
( ^^ )< ぬるぽ(^^)
104:ぼるじょあ ◆ySd1dMH5Gk
03/08/02 05:19 .net
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎―――◎ 山崎渉&ぼるじょあ
105:山崎 渉
03/08/15 23:00 .net
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
106:ゆうゆう ◆garnetGnNk
03/09/24 22:04 .net
10月過ぎて暇だったら続きを頑張ってみようと思う。
Makefileも作らないと。
107:nobodyさん
03/09/25 23:51 OzoDTLwU.net
初めてPerl、CGIの勉強をしようと思うのですが、
皆様がこの本は良いと思ったのを、教えては
頂けないでしょうか。お願いします。
108:nobodyさん
03/09/27 02:01 .net
>107
スレ違い。
109:nobodyさん
03/11/04 20:03 .net
PHP使って、bzip2圧縮で転送量削減とかできないの?
110:nobodyさん
03/11/06 03:26 .net
>>109
ガンバレ。
ところで、bzip2ってブラウザ対応してたっけ…?
111: ◆Bf99mSIZZY
03/11/07 21:04 .net
しんどいわぁ。
URLリンク(www.h4.dion.ne.jp)
112: ◆.CzKQna1OU
03/11/14 16:59 .net
URLリンク(2chp.net)
来てください。
113:nobodyさん
03/11/14 17:00 0jzATOs4.net
age
114:nobodyさん
03/11/14 17:00 0jzATOs4.net
age
115:nobodyさん
03/11/14 20:23 oxeSKhMt.net
一つ提案
・広告対策/スクリプト荒らし対策もbbs.cgiに組み込んで欲しい
ブラックリストを作って該当する物は排除といった感じで
116:nobodyさん
03/11/14 23:45 .net
今ごろ何を言ってるんだか
117: ◆Bf99mSIZZY
03/11/16 18:15 .net
こんなもんで…
URLリンク(www.h4.dion.ne.jp)
118: ◆garnetGnNk
03/12/15 20:01 .net
うひょ。
すごいなぁ。
119: ◆Bf99mSIZZY
03/12/18 20:45 .net
ミススペルとか、怪しいエイゴは見逃してね。。
120: ◆garnetGnNk
03/12/24 01:39 .net
<a
121: ◆garnetGnNk
03/12/24 01:39 .net
おみとろんのばか・・・・
URLリンク(www111.sakura.ne.jp)
がんがって書き直してみた。
といっても、最小限の機能な上、限りなく怪しいソースだけど・・・。
122:nobodyさん
03/12/26 16:33 cCj+LlKE.net
bbs.cgi再開発プロジェクト2
スレリンク(operate板)
いろいろ発注もあり。
123: ◆Bf99mSIZZY
03/12/26 20:00 .net
>>121
(σ・∀・)σゲッツ
124: ◆garnetGnNk
03/12/27 23:42 .net
限りなく怪しいソース第二弾。
URLリンク(www111.sakura.ne.jp)
・トリップ、fusianasan、名無しさん に対応
・デコード処理のバグ修正
・Makefileのバグ修正
125: ◆Bf99mSIZZY
04/01/01 03:10 .net
あいかわらずきれいなソースだね。
ただ、ヘッダに変数を置くのは止めたほうがいいと思われ。
126:nobodyさん
04/01/01 17:55 lAUuyD9W.net
>>124
言い方がキツイかもしれんがもう少しちゃんと組まないと利用者がとんでも
ない被害をこうむるぞ。このままではたぶんコア吐きまくりになる。
バッファ・オーバーに対する緊張感が感じられない。
差し出がましいようだが製作中をチラっと紹介。
URLリンク(org.s38.xrea.com)
Apacheモジュール化を前提にしてるから回りくどい動作をしてるが
実用性を重視して設計してる。
現状はただのCGIでファイルでデータ保持してるがこれをApacheのメモリ
空間に置き換える。
そこそこの形にまとまれば軽くPerl版の100倍とかの速度になるんじゃないかな?
127:nobodyさん
04/01/01 20:11 .net
>>124
くだらない煽りだと思われるかもしれないけど、もう少しCを勉強した方がいいよ。
128:nobodyさん
04/01/01 20:13 .net
>>126 はHDDがフォーマットされるぞ
129:nobodyさん
04/01/01 20:19 .net
>>128
スーパーユーザーで動かすのか?
130:nobodyさん
04/01/01 20:28 lAUuyD9W.net
>>129
つっこみナイス
>>126をApacheAPIに置き換える前に一応素のCGIとしても仕上げておこうと
思うが何か問題点があったら遠慮無しに叩いてもらえないだろうか。
131: ◆Bf99mSIZZY
04/01/01 20:41 .net
>>126
結構うまく設計されてると思うけど。。
脆弱性があるなら、その部分を指摘してもらえるとありがたいと思うよ。
(ついでに私のもよろー。)
ソース見たよ。
1Mのmallocって今時は普通?
132:nobodyさん
04/01/01 20:50 .net
>>130
エンティティヘッダの区切りは \n じゃなくて \r\n にしろよ。
つかまだ完成度数%くらい?のものを叩けと言われてもなぁ…
133:nobodyさん
04/01/01 21:00 lAUuyD9W.net
細かい部分で自分で調べてもらうとして、
・確保したメモリが確実に初期化されているという保証はあるのか?
・散在したリソースが整理して管理できてるか?
・冗長性の無い関数(strlenとかstrcat等)にそのままデータを入れていないか?
っていう部分のポリシーが私の考え方と相違している。
危険性を多分に含んでいることは間違いない。
というより皆バラバラで作ってないで統合して分担できればいいんだが。
PM出現きのん
134:nobodyさん
04/01/01 21:02 lAUuyD9W.net
>>132
改行コードは処理系が吸収してくれるはずなんだが。
ちなみに私の環境はWin2k3+Cygwin+GCC3.3とLinux2.4+GCC3.3
135: ◆Bf99mSIZZY
04/01/01 22:48 .net
>>133
メモリの初期化はmemsetではだめなの?
バッファオーバーフローを考えるなら、sprintfも危険ですよ。
strlenがだめなのは、ポインタにNULLが入っているかもしれないから?
でもそれを言ったら、文字列操作系が全部だめって事になりそう。
136:nobodyさん
04/01/01 23:03 lAUuyD9W.net
>>135
データ型も保証されていた方がいいよね?
stringまわりは手前できちんと例外処理しておけば済む事じゃない?
サイニタイジングまわりをどうするかで思案中、、
regexでゴリっと正規表現使うかリクエスト・ボディの全バイトで
ポインタ回してチェックするかどっちがいいだろう。
137:nobodyさん
04/01/02 02:12 Sa3Xeut9.net
>>136の後半は撤回。
トークン後にサニタイジングね。
138: ◆Bf99mSIZZY
04/01/02 14:28 .net
>>136
C++ですか?
だとしたら、ちょっと期待してます。
# C++のApacheモジュールについて、よく知らないので。
139:nobodyさん
04/01/02 15:24 Sa3Xeut9.net
>>138
素のApacheAPIのつもりだが、、
C++でApacheモジュール使う利点ってあるの?
サニタイジング云々はとりあえずCGIとして機能する為に必要なだけで、、
ApacheモジュールにするならApacheAPIバリバリでお手軽に行くつもりだが。
CGIならSTLは重宝するが。
140: ◆Bf99mSIZZY
04/01/02 17:41 .net
>>139
string、例外処理というところでC++だと思ったのですが、違いましたか。
C++の標準stringあるだけでも、結構便利だと思いますけど。
それと、ap_escape_htmlは文字参照に対応していないので、
注意した方がいいですよ。
141:nobodyさん
04/01/02 18:58 Sa3Xeut9.net
>>140
C++は楽な反面でコードがキモいしなぁ、、
必要に応じて自前で作るべき処理もあるかもしれないね。
それより基本構造に着目しないと作り直す意味があまりないような。
目的は軽量でメンテしやすい物に置き換える事だよね?
142:nobodyさん
04/01/03 05:49 .net
キモい本7のくせに何を言ってやがる
143:nobodyさん
04/01/03 19:48 2DwnkFHA.net
read.cgiで消費メモリを抑えたいんだが、
datを全部バッファせずに逐次でHTML出力しようとてる。
この時上部の100レス単位のリンクを入れるにはどうすればいいだろう。
やはり一度datを全部読んでその行数で調べるしかないのだろうか。
問題点はデータを全て読む前に何レスか分からないとリンクが作れない事。
なんかいい方法ないだろうか。
144: ◆Bf99mSIZZY
04/01/03 21:16 .net
>>143
できれば、このスレはsage進行で。
145:nobodyさん
04/01/03 23:49 .net
>>143
インデクスを作成しておけばいい。
146:143
04/01/04 01:17 .net
>>145
subject.txtを見に行くって事?
それもいいかもしれないなぁ。
負荷とのトレードオフかもしれないけど。
パフォーマンスがテーマになるといろいろ難しいね
147:nobodyさん
04/01/04 01:17 .net
>>143
うるさいよ本7
148:nobodyさん
04/01/04 08:02 .net
現状のmmap方式で問題なかろう。
149: ◆garnetGnNk
04/01/04 14:12 .net
>125-127
突っ込み多謝。
1から出直してきます。
150:nobodyさん
04/01/04 18:31 .net
datファイルの各行の頭のファイル位置を
別のインデクスファイルに記録しておき、
必要に応じてそれを参照して、アクセスするって事でせう。
欠点はインデクスファイルが増える所と、
レス削除した時にそのファイルも操作が必要という所。
151:143@mod_bbs
04/01/04 18:49 .net
>>150
なるほど。貴重な意見ありがとうね。
>>150のアイディアとフルバッファとの違いを比較して最終仕様を決めたいと思う。
今のところread.cgiの読み出し〜表示に関しては動いてるので今日はbbs.cgiの再現
に着手します。
とにかくバカっ早いです。
152:nobodyさん
04/01/04 21:48 .net
>>151
お前はsageるな
153:nobodyさん
04/01/05 03:28 .net
>>150みたいに本7にマジレスしてるやつって一体・・・?
154:nobodyさん
04/01/05 04:23 .net
>>153みたいに煽ることしかしないやつって一体・・・?
155:nobodyさん
04/01/05 04:36 .net
お前もポンシチのサイト行ってあっちで仲良くやれや
156:nobodyさん
04/01/05 16:02 .net
マジ質問だが。
本7とそうじゃないのってどうやって見分けてるわけ?
157:143@mod_bbs
04/01/06 01:06 .net
それ俺も聞きたい
158:nobodyさん
04/01/06 17:27 .net
>>157
お前はプログラムの中で名乗っているだろうが。
159: ◆garnetGnNk
04/01/16 00:30 .net
動いた気がする
URLリンク(www111.sakura.ne.jp)
160:nobodyさん
04/01/17 01:11 .net
記念かきこ。
sevletで書いて、配置名をbbs.cgiにしてみるとか?(^_^;
161:nobodyさん
04/01/17 08:22 .net
なんでunsignedなんだろー
162: ◆garnetGnNk
04/01/18 01:10 .net
0xFFを-127で表現したくないからというのはダメ?
日本語コードを処理するのにごにょごにょなのでついでに統一してみると。
ちょっと修正
URLリンク(www111.sakura.ne.jp)
163: ◆Bf99mSIZZY
04/01/18 22:50 .net
>>160
HTMLテンポラリをXMLで保持/操作すると楽そう。
>>161-162
やっぱり負値の文字コードは使いたくないよね。
忘れて0x80以上の整定数と比較しちゃったり。
(文字なんだから本来は数値拡張文字('\x80')で比較しないといけないんだけど。。)
# is何とか系の関数に負値の文字コードを渡すとおかしくなるライブラリがあったとか。
164: ◆garnetGnNk
04/01/28 23:25 .net
0x80 以上の数値拡張文字は警告が出るのでいやん。
いつになったら完成するのやら。
URLリンク(www111.sakura.ne.jp)
165:nobodyさん
04/04/04 17:47 J82jU72N.net
上げときますね。。。
166:nobodyさん
04/04/08 23:55 NW0U0Ty4.net
応援
167:nobodyさん
04/11/06 09:17:55 VblYqxKV.net
需要期待上げ
168:Jim
04/12/14 23:47:47 B3VCI5Mv.net
hehehehe
169:nobodyさん
06/11/01 12:18:36 .net
おまえらwebprog住民はUNIX板に負けてて悔しくないのかあげ
170:nobodyさん
06/11/03 00:01:38 .net
>>169
ていうか、両方見てる奴も多いんじゃね?
171:nobodyさん
07/09/18 08:59:22 .net
>>169
この板はとてもレベルが高いとは思えない
っていうかUNIX板も年々ひどいことになってるけど
172:London
08/10/12 13:38:34 .net
Dpgorv <a href="URLリンク(dbvrposuiwvk.com)">dbvrposuiwvk</a>, [url=URLリンク(mnubhtuopdfl.com) [link=URLリンク(qjvuohlcmoky.com) URLリンク(hewavegiworh.com)
173:crYgOOKkUmpa
09/05/19 15:29:14 .net
Good site, admin.
174:nobodyさん
09/05/20 14:37:34 .net
bbs.cgiの開発に携わりたいのだが、もう今からだと身内でしかやってないのかな
175:nobodyさん
09/05/20 18:40:59 .net
最初から身内でしかやってない。
たまにソースが漏れたり、断片的に提示されてるが。
176:nobodyさん
09/05/20 22:55:40 .net
Unix板大活躍のころは誰でも入れたとかじゃなかったっけ?
あ、そのときいた人たちが身内か。
177:nobodyさん
09/05/20 23:33:07 .net
それはread.cgiの方だね。
有志で開発されていたから、一時期ソースが公開されていた。
178: ◆TWARamEjuA
09/05/21 02:44:00 7XpNxxPZ.net
ネタを引っ提げて、ょぅι゙ょに来ると良いかも♪
bbs.cgi再開発プロジェクト6
スレリンク(operate板)l50
あと、こんな事が進んでいたり♪
幸せサーバープロジェクト 「アイデア・技術のある人募集中」★3
スレリンク(operate板)l50
179:nobodyさん
09/05/21 10:17:36 .net
>>178
そこのスレに参加しても話すら聞いてくれな
180:nobodyさん
10/02/03 21:51:05 .net
referer1が http:/ホスト名/ だとOKなのに http:/ホスト名/test/bbs.cgi だと
ERROR:ブラウザ変ですよん。になるのはどうしてですか
181:hLAuDjbRDo
10/06/30 06:21:15 .net
<a href="URLリンク(sumerki3.net)">ム褞 3</a>
182:nobodyさん
11/04/23 09:48:22.03 CAXnq9fZ.net
bbs.cgi 流出age
183:nobodyさん
11/07/21 15:59:46.68 SEgu5R0c.net
age
184:電脳プリオン 忍法帖【Lv=40,xxxPT】(4+0:8) 【25.3m】
13/02/10 19:16:48.57 .net ?PLT(12080)
∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←>>103
/ ←>>78
185:nobodyさん
13/04/24 14:59:20.19 kRbkZ5UA.net
IPアドレス共有サービスが出てきたからID作成にソースポートを入れないとだな
Webサーバでもソースポートのログ取ってる?
186:nobodyさん
17/12/30 12:33:02.05 YhlYw6jg.net
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
FJ8W76CFIB
187:nobodyさん
22/06/19 00:43:05.64 .net
まだ
188:nobodyさん
23/01/29 13:19:31.33 .net
あなたはこのスレッドにはもう書けません
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
239日前に更新/38 KB
担当:undef