X



トップページ運用情報
1001コメント339KB
bbs.cgi再開発プロジェクト7
レス数が1000を超えています。これ以上書き込みはできません。
0001root▲ ★
垢版 |
NGNG
bbs.cgiの開発作業をすすめていくためのスレッドです。

FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。

・雪だるま作戦への対応
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・長いメインルーチンをより短くコンパクトに

あたりがターゲットか。

前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
0002root▲ ★
垢版 |
NGNG
過去スレ:
bbs.cgi 再開発プロジェクト
http://qb3.2ch.net/operate/kako/1053/10530/1053067870.html
bbs.cgi再開発プロジェクト2
http://qb3.2ch.net/operate/kako/1069/10691/1069144193.html
bbs.cgi再開発プロジェクト3
http://qb5.2ch.net/operate/kako/1076/10766/1076666901.html
bbs.cgi再開発プロジェクト4
http://qb5.2ch.net/operate/kako/1101/11019/1101984763.html
bbs.cgi再開発プロジェクト5
http://qb5.2ch.net/operate/kako/1103/11034/1103495887.html
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/

関連スレ:
【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
http://qb5.2ch.net/test/read.cgi/operate/1130482779/
0003動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/02(水) 17:06:52ID:LLtT2fuS0
/i

っていまだに生きてるんでしょうかね?
もしそうでなければ「Apacheレベルでcへリダイレクトに変更」でもかまわないとおもうのですが・・・

# たしかiってcの前身でいいんですよね?
0004root▲ ★
垢版 |
NGNG
前スレの終盤で出た事項:
・/i はのろいらしい
・で、ほとんど取ったつもりだが、まだちょっとだけ残っているらしい

988 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:46:50 ID:???0 ?###
友人の話では、Perl では /i の処理がめちゃんこ遅いという話があるらしい。

つまり、
if($ENV{'SERVER_NAME'} =~ /2ch\.net/i)

みたいなのも、ちりも積もれば山となる可能性ありと。

989 名前: ◆SSu.zv/rvs [sage] 投稿日:2005/11/02(水) 16:48:01 ID:4sehsTr40
ほとんど /i は取ったつもりだけど・・・

990 名前:▲ ◆SANUKI/VII [sage] 投稿日:2005/11/02(水) 16:48:34 ID:j49UPKofP
iってまだあったっけ?

991 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:50:00 ID:???0 ?###
>>989
多くはないみたいですが、いくつか散見されるようです。
(>>988 は実際のソースからのコピペ)

992 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:54:08 ID:???0 ?###
気づいたところは、私のほうでも取っておくです。
今ざっと見直してみましたが、たぶん、もうそんなにないと思いますです。
0005root▲ ★
垢版 |
NGNG
>>3
えっと、そうじゃなくて、文字列比較の時の /i です。
つまり、大文字小文字を区別しない場合の話。

どうも、Perlってこんなかんじのことをしているらしいのです(裏とっていないのでうそかもです)。

/ABC/i の処理

abc
abC
aBc
Abc
AbC
ABc
AbC
aBC
ABC
と、それぞれ比較
0008 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 17:33:35ID:4sehsTr40
正規表現をインタプリタで動かしたら
1,000万はあながち嘘じゃないっすよ
0010root▲ ★
垢版 |
NGNG
>>8
複雑なのをくべると、まじめにありそうですね。< 1000万

/i の件については、知り合いのPerlプログラマの話だと、

/ABC/i
/[Aa][Bb][Cc]/

で、下のほうが明らかにパフォーマンスがいい(というか、上が悪杉らしい)そうなので、
Perlの /i の実装がへぼいということの模様です。
0011動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/02(水) 18:03:00ID:LLtT2fuS0
>>10
あーその話ですか、スマソ。では本件の場合は2ch.netの大文字小文字区別なわけなので

if($ENV{'SERVER_NAME'} =~ /2ch\.net/i)



if($ENV{'SERVER_NAME'} =~ /2[Cc][Hh]\.[Nn][Ee][Tt]/)

とすればいいんでしょかね。
0012root▲ ★
垢版 |
NGNG
>>11
そういうことなわけですが、
現状、単純に /i を取ってしまってもいいような気がします。
0015 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:09:22ID:4sehsTr40
iをとってコーディングしています
0016root▲ ★
垢版 |
NGNG
>>14-15
…ですね。ほとんどの部分はそうなっているです。

>>13
規格上はそうですが、そのへんはいろいろ微妙なようですね。
小文字に直してから送出してくるブラウザやシステムも、少なからずある模様。
0017 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:13:03ID:4sehsTr40
実際にはそれで(iなし) 何の問題も起こっていません
0018 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:15:39ID:4sehsTr40
ちなみに

2CH.net 等でアクセスしたら(bbs.cgiにそう入ってきたら) Samba24=600 にしてます
0020root▲ ★
垢版 |
NGNG
>>19
そんなのあるですか。

とりあえずできるだけ(数箇所ですが)、追放してみた。 @ qb6
様子を見て配布予定。
0021動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/02(水) 18:48:02ID:mRTXrOn10
>>18
$ENV{SERVER_NAME}はブラウザから渡される値を直ではなくapacheが生成するのでは?

まあ/iが高価なこととは関係ないんだけど
0022 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:52:20ID:4sehsTr40
いやー

言いたいことは 「iは使わない」という方針でやっているから
議論の意味がないということだったり
0023root▲ ★
垢版 |
NGNG
>>22
999(仮名)をみるところも、/i 追放してよかですか?
0024 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:54:37ID:4sehsTr40
できるならってことかと、
0025root▲ ★
垢版 |
NGNG
>>24
なるほど。
じゃ、追放したいですね。1レスごとに絶対になめるところだから。

追放しますので、規制リストを書く時には気をつけてくださいーって、
ちょろさんに伝えておいてくださいです。
0026 ◆SSu.zv/rvs
垢版 |
2005/11/02(水) 18:58:26ID:4sehsTr40
ちょろさんがやっているのは一面かと、
多面はアクセスする側だったり、、、
0028root▲ ★
垢版 |
NGNG
sec2chdを見ている限り、大文字小文字がきちんと入るなら、
現状ならアクセスする側も実害はないかなと、思っていたり。
0030root▲ ★
垢版 |
NGNG
>>29
ですね。
プロファイリングのおかげで、
改良前のIsKoukokuがめちゃくちゃ高コストだったことがわかったです。

今は※の人の改良のおかげで、live系以外は有効にできました。
0031root▲ ★
垢版 |
NGNG
BBS.CGI - 2005/11/03

index.html にできるリンク関連を修正。

・www2.ime.st => www.ime.st
https:// でも ftp:// でも http:// になってしまっていたのを修正(虫取り)
・同時に /ig も追放。
0033root▲ ★
垢版 |
NGNG
さらに調整。

https:// と ftp:// は ime.st / pinktower.com を経由しない
(bbs.cgiが当初の思想として予期した動作)
http:// の外部リンクは ime.st / pinktower.com 経由(従来通り)
・gopher: whois: news: telnet: の特殊処理を廃止
https:// と ftp:// の処理は、一部サーバ(live系など)ではリンクにしない
http:// は従来通りどのサーバでもリンクにする
0034root▲ ★
垢版 |
NGNG
重そうな正規表現パターンマッチングを少しは整理できたと思うです。
html/ の下のやつ全部、この処理通っているので、
意外とばかにならないんじゃないかなと。
0035root▲ ★
垢版 |
NGNG
>>33 は、板トップ(index.html)生成部分の処理です。
(read.cgi ではないので要注意)
0037root▲ ★
垢版 |
NGNG
>>36
大昔から、変わってなかったんでしょうね。

この4つは「私が2ちゃんねるに来た2001年〜現在まで、
一度もリンクとして使われているのを見たことがなかった」ので、
もはや不要であろうと判断したです。
0038root▲ ★
垢版 |
NGNG
&jcode::tr(\$GB->{FORM}->{'FROM'}, '#', '#');
とか、
&jcode::tr(\$GB->{FORM}->{'mail'}, '#', '#');

とかって、もうちょっと効率よくできないのかしら。
0041root▲ ★
垢版 |
NGNG
BBS.CGI - 2005/11/04

動きそのものは変わりませんが、雪だるまをめざして
bbs_main のかなりの部分をサブルーチン化しました。

$GB 操作しているのでカプセル化はぜんぜんですが、
自分で読んでいて、bbs_main が長すぎて頭がうにーになってきたので、
整理の意味を込めて、いじっています。

ひととおりのテストはしてありますので、大丈夫だとは思いますが、
もし何かへんなことがあったら、知らせてくださいです。
0043 ◆TWARamEjuA
垢版 |
NGNG
>>40
http://search.cpan.org/src/DANKOGAI/Encode-2.00/encoding.pm
うー(苦笑)
=head1 ABSTRACT

Let's start with a bit of history: Perl 5.6.0 introduced Unicode
support. You could apply C<substr()> and regexes even to complex CJK
characters -- so long as the script was written in UTF-8. But back
then, text editors that supported UTF-8 were still rare and many users
instead chose to write scripts in legacy encodings, giving up a whole
new feature of Perl 5.6.

Rewind to the future: starting from perl 5.8.0 with the B<encoding>
pragma, you can write your script in any encoding you like (so long
as the C<Encode> module supports it) and still enjoy Unicode support.
This pragma achieves that by doing the following:

0045root▲ ★
垢版 |
NGNG
>>44
Jcodeは他のところで使っているはずなので、全サーバに入っているはずですね。

どうすればいいのかしら。
0046 ◆TWARamEjuA
垢版 |
NGNG
>>44
おそらくほとんどのbanana鯖には入っていないと思うので、
かなりむりぽかと(哀)@なのでPerl5.6.*のまま

>>45
なので、banana鯖に入ってJcode.pm 0.88あたりをゲトして組み込まなきゃだと思うのですです(泪)
最新のJcode.pm は2.1*でしてEncode.pmのラッパになっていたりします。@5.8.*

なので、PIEの中の人にbananaにperlを5.8.*(最新は5.8.7)におながいしないと。。。
0047root▲ ★
垢版 |
NGNG
>>41 ですが、まだまだ作業進行中です。
今は 40% ぐらいの進捗か。

先は長いとゆうことで。
0049動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/05(土) 08:17:34ID:oU3fQSIn0
再開発に協力したいのですが、
一般人はソースとか見ること出来ないですか?
0050動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/05(土) 09:19:57ID:cU0kVqJKP
>>49
そう言うことがわからない人は再開発しなくていいで(^_^;)
0053動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/07(月) 22:09:18ID:I44rESOi0
再開発に協力したいのですが、
一般人はソースとか見ること出来ないですか?
0054 ◆TWARamEjuA
垢版 |
NGNG
協力するにも色々な方法があるわけでして♪
root★さんが悩んで居られるようでしたら助言をしてあげたり最適化したルーチンを提示したりとかとか♪

なんでもかでも「対等でなければならない」なんて孟宗竹なんてのは根っこから切り取らないと♪
0055root▲ ★
垢版 |
2005/11/08(火) 03:17:02ID:???0
1000超えの判定って、html/ の下を作るところの最初の部分でやっているのね。
ちょっと、驚いた。
0056 ◆SSu.zv/rvs
垢版 |
2005/11/08(火) 04:13:24ID:NtcGXxuC0
挑戦してみる?

よたしは毎年挑戦しようと思ったけど
負け続け、、、
0057root▲ ★
垢版 |
2005/11/08(火) 04:22:33ID:???0
>>56
その様子は、何度かaccuse/operateを通じて見ているです。

なんか、いかにも効率悪そうで、気持ち悪くて、重そうなことをしてるんだなぁと
はじめて実際に、少しだけ気持ちがわかったわけです。
(これまでは、そこにたどり着く前に既に負けていた)

&MakeWorkFile を初めて呼ぶところの前までの整理整頓と、
できる範囲でのサブルーチン化は、それなりにやったです。

でも、そこから先が、、、。
たぶん、アイガー北壁なんだろうなと。

#==================================================
# ファイル操作(subject.txt & subback.html)
#==================================================

# 雪だるまサーバでは、以降のファイル処理はしない(bbsdが実行)
if(&IsSnowManServer($ENV{'SERVER_NAME'}))
{
&endhtml($GB);
}

####################################
# ここから先はまだカオス状態 by む #
####################################
0058root▲ ★
垢版 |
2005/11/08(火) 04:32:01ID:???0
まずは読んでいたりします。

ここからは思いつきで手直しすると遭難しそうなので(何せアイガー北壁)、
じっくり、やってみようかなと。

とりあえず、
$GBX->{OVER1000} = 0 ;# 1000超えフラグ(現在は未使用)

を追加してみた。
0059root▲ ★
垢版 |
2005/11/08(火) 05:04:58ID:???0
BBS_CONTENTS_NUMBER の意味を初めて知った私ガイル。
0060root▲ ★
垢版 |
2005/11/08(火) 05:10:01ID:???0
BBS_LINE_NUMBER は、「省略されました」か。
0061root▲ ★
垢版 |
2005/11/08(火) 05:14:02ID:???0
MakeWorkFile とりあえず読み終わり。
今日はもう遅いから、どうするかはいったん寝て考えるか。

とりあえず >>1 の処理と BBS_LINE_NUMBER 分のレスについての
おんなじような処理について、
べたにおんなじルーチンが2回書かれていたということはわかたです。
0062動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/08(火) 13:18:33ID:Im6W7Y3z0
BBS_CONTENTS_NUMBER分のレスかな。
1とそれ以外、同じようで違う。
まとめるのが面倒で放置って感じっすか。
0064root▲ ★
垢版 |
2005/11/08(火) 13:53:33ID:???0
>>63
そのページは当然見てますけど、
これまでbbs.cgiについては私の知識がその程度だったってことです。
0065root▲ ★
垢版 |
2005/11/08(火) 16:19:23ID:???0
こんなかんじかな。

#############################################################################
# 処理中のdatの現在のレス数を調べる
# 新スレの場合0、異常発生時は-1
#############################################################################
sub GetResNum
{
my ($GB) = @_;
my $resnum = 0;

# 1) 新スレなら0を返す
if($GB->{NEWTHREAD}) { return 0; }
# 2) subject.txtを調べてみる
# subject.txtはSaborin系サーバでも逐次更新されているはず
$resnum = &GetResNumFromSubject($GB);
# 3) とれなかったら仕方ないので、datの行数を読む
# 990超えている時も、安全のためdatを読む
if ($resnum <= 0 || $resnum > 990)
{
$resnum = &GetResNumFromDat($GB);
}
# 4) それも失敗したら、-1を返す
if ($resnum <= 0) { return -1; }
# 得られた結果を返す
else { return $resnum; }
}
0066root▲ ★
垢版 |
2005/11/08(火) 16:23:35ID:???0
今は、毎回こういうことをやっているです。

open(RDAT,"<$dattemp");
@logdat=<RDAT>; #ログを配列に読み込む
close(RDAT);

#ログのカキコ数を取得
$lognum = @logdat;
if($lognum > 999)
{
if(open(OUT,">>$dattemp"))
{

my $b1000 = "このスレッドは1000を超えました。 <br> \
もう書けないので、新しいスレッドを立ててくださいです。。。 ";
my $p1000 = $GBA->{PATH} . "1000.txt";
(以下略)
0067root▲ ★
垢版 |
2005/11/08(火) 16:28:33ID:???0
1000超えのdat追記部分は、Process1000ってのを書こう。
0068root▲ ★
垢版 |
2005/11/08(火) 16:42:46ID:???0
>>65
通常の板だと、これだとコストが低くないかもなぁ。
subject.txt って、何百行とか千何百行とかあるわけで。
bbsdのように、mmap() するのもちょっとあれだし。

スレ数が少ない板は、subject.txt優先で、
スレ数が多い板は、dat優先がよさげ?
どのくらいが変更点なのかな。
0069root▲ ★
垢版 |
2005/11/08(火) 16:43:22ID:???0
変更点じゃなくて、分岐点か。
0070root▲ ★
垢版 |
2005/11/08(火) 16:45:36ID:???0
&GetHojisuu 書く必要がありそうですね。
こいつは出航時に1回だけ読めばいいだろうから、initFOXでやろう。
0071root▲ ★
垢版 |
2005/11/08(火) 17:40:32ID:???0
>>70
mumumuGetHojisuu 実装済み。

出航時に、$FOX->{HOJISUU} にサーバの保持数が入っている。
0072root▲ ★
垢版 |
2005/11/08(火) 17:50:05ID:???0
で、>>65 はこうか。

#############################################################################
# 処理中のdatの現在のレス数を調べる
# 新スレの場合0、異常発生時は-1
#############################################################################
sub GetResNum
{
my ($GB) = @_;
my $resnum = 0;

# 1) 新スレなら0を返す
if($GB->{NEWTHREAD}) { return 0; }
# 2) 保持数が少ない板では、subject.txt を調べる
if ($FOX->{HOJISUU} < 200)
{
# 2) subject.txtを調べてみる
# subject.txtはSaborin系サーバでも逐次更新されている
$resnum = &GetResNumFromSubject($GB);
}
# 3) 次に、datの行数を読む (2)がしくった場合も同様)
# 990超えている時も、安全のためdatを読むことにしよう
if ($resnum <= 0 || $resnum > 990)
{
$resnum = &GetResNumFromDat($GB);
}
# 4) それも失敗したら、-1を返す
if ($resnum <= 0) { return -1; }
# 得られた結果を返す
else { return $resnum; }
}
0073root▲ ★
垢版 |
2005/11/08(火) 17:55:37ID:???0
このほうがいいか。

#############################################################################
# 処理中のdatの現在のレス数を調べる
# 新スレの場合0、異常発生時は-1
#############################################################################
sub GetResNum
{
my ($GB) = @_;
my $resnum = 0;

# 1) 新スレなら0を返す
if($GB->{NEWTHREAD}) { return 0; }
# 2) 保持数が少ない板では、subject.txt を調べる
if ($FOX->{HOJISUU} < 200)
{
# subject.txtを調べてみる
# subject.txtはSaborin系サーバでも逐次更新されている
$resnum = &GetResNumFromSubject($GB);
}
# 3) 次に、datの行数を読む (2)がしくった場合も同様)
# 990超えている時も、安全のためdatを読むことにしよう
if ($resnum <= 0 || $resnum > 990)
{
$resnum = &GetResNumFromDat($GB);
if ($resnum <= 0) { return -1; }
}
# 上記により得られた結果を返す
return $resnum;
}
0074root▲ ★
垢版 |
2005/11/08(火) 18:07:21ID:???0
外枠を作った。

Perlがだめだめな私に、愛の手を。

#############################################################################
# subject.txtに書いてあるレス数を調べる
# 異常時は-1
#############################################################################
sub GetResNumFromSubject
{
my ($GB) = @_;
my $subject = $GB->{PATH} . "subject.txt";
my $resnum = 0;

# subject.txtを開き、中身を調べる
open(SUBJ,"<$subject");
# ここに実際の処理を入れる
# 探すためのキーは$GB->{FORM}->{'key'}に入っている
# Perlではどうやるのが高速なんだろう
close(SUBJ);

return $resnum;
}

#############################################################################
# datのレス数を調べる(行数を調べる)
# 異常時は-1
#############################################################################
sub GetResNumFromDat
{
my ($GB) = @_;
my $datfile = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
my $resnum = 0;

# datを開き、行数を調べる
open(DAT,"<$datfile");
# ここに実際の処理を入れる
# Perlではどうやるのが高速なんだろう
close(DAT);

return $resnum;
}
0076動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/08(火) 19:34:21ID:NjmJiyb00
subject.txtから読む場合は、スレのタイトルに「<>」「(」「)」とか半角スペースが
入ってるとsplitで面倒になるかもね。出来るだけsubstr使うべきなんだろうな。

datファイルの行数調べるには・・・unixのwcコマンド使うとかw
0077root▲ ★
垢版 |
2005/11/08(火) 19:34:42ID:???0
出先に移動。10分ぐらい時間が。

>>75
ひとつ、書き忘れていたです。

どうせ必要になるので、
datを読んだ時には、つまりGetResNumFromDatが呼ばれた時には、
そのdat内の>>1と、以下の条件(*1)で抽出した行のdatは、
内容を保存しておきたいですね。

つまり、datを複数回読み込みモードでopenしたくないわけです。

(*1)if BBS_CONTENTS_NUMBERよりもレス数が多い
お尻のBBS_CONTENTS_NUMBER行ぶんのdatの内容を保存
else
頭の >>2 〜 最後の行までのdatの内容を保存

これは、html/ の下のファイルを作るのに使っているですよ。

保存は、、、そうすね、
$GB->{DAT1} 文字列変数
$GB->{DATLAST} 文字列配列変数

っていうことにするか。

で、たぶんほんとは、subject.txt 的に上位のやつだけ作れるともっといいわけですが、
(つまり実際に index.html を合成する時に使うものだけ)
今は pageview.cgi があった時のコードのままになっているです。
つまり、1000個datがあれば、html/ の下のファイルも1000個あるです。
これは、別に考えることにしよう。
0078root▲ ★
垢版 |
2005/11/08(火) 19:38:36ID:???0
index.html 合成するところで、判定すりゃいいのか。

1000000000.dat に対する html/1000000000.html の最新版が必要になったら、
html/1000000000.html と 1000000000.dat の mtime を調べて、
(この時点では dat への追記は終わっているものとする)
もし html のほうの mtime のほうが古かったら、dat から html を合成するサブルーチンを呼べばいいと。
0079root▲ ★
垢版 |
2005/11/08(火) 19:38:50ID:???0
さて、いったん時間切れ。
またのちほど。
0080 ◆TWARamEjuA
垢版 |
NGNG
つ open ゴニョゴニョ or return -1; # 500鰓で悩む恐れ有りなので
0081root▲ ★
垢版 |
2005/11/08(火) 19:39:43ID:???0
で、$GB->{SABORIN} がtrueだったら、このへんの処理はキャンセルできると。
0082root▲ ★
垢版 |
2005/11/08(火) 19:41:22ID:???0
>>80
現在、datのopenはメインルーチン内で堂々とやっているですよ。
ひろゆき的堂々人生。
0083 ◆SSu.zv/rvs
垢版 |
2005/11/08(火) 20:04:30ID:NtcGXxuC0
>内容を保存しておきたいですね。

それがうまくいけば楽なんですけどね、
bbs.cgi が非同期で同時に 30本とか走っているんですよ。
FIFOとかじゃなくてさ、

「どれが最後に終わるかわからない」という話だったり、
平気で後から来たのが追い越していきます。

それとの戦いの痕跡かと、
0084動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/08(火) 20:14:25ID:2de4x2Mv0
$GB->{DAT1} = <DAT>;
@{$GB->{DATLAST}} = <DAT>;
$resnum = $.;
if ( @{$GB->{DATLAST}} > BBS_CONTENTS_NUMBER ) {
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -BBS_CONTENTS_NUMBER);
}

こんな感じになるんかな
でも>>83なのね
0085root▲ ★
垢版 |
2005/11/08(火) 21:04:50ID:???0
>>83
ですね。

今のやつは、なんでもかんでもdat読んで配列に突っ込んで、
配列の要素数数えて、
BBS_CONTENTS_NUMBERより大ならおしりから、
より小ならあたまからhtmlにして、html/html に入れ込む
みたいなことをやっているです。
で、1000行以上あったら、1000超え判定していたりするです。

つまり、datの読み込みモードでのオープンは1回で済んでいるものの、
毎回datを全行絶対なめなめしているわけです。
このへんをなんとかしたいかなぁと。
0086root▲ ★
垢版 |
2005/11/08(火) 21:11:57ID:???0
で、>>83 のこころは、
「subject.txt からとろうというのは誰もが思いつくわけだけど、
それって所詮非同期なんじゃないのかしら」

ってゆうことですよね。
ううむ。

> if ($resnum <= 0 || $resnum > 990)

ここを 900 とかかなぁ。
0087動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/08(火) 21:23:18ID:xTFEnbVV0
subject.txt更新前に別のbbs.cgiが参照するとずれるような希ガス
っていうかずれたからdat読みになったんじゃ?(違うかも)
0088root▲ ★
垢版 |
2005/11/08(火) 21:28:11ID:???0
>>87
所詮、参考記録でいいと思っていたりするです。
クリティカルなところで、コストを少しでもさげられるといいなと。

そのへんが、>>86 の if 文なわけで。
どうしてもうまくいかなきゃ、GetResNumFromSubjectをあきらめると。
0089◆cZfSunOs.U
垢版 |
2005/11/08(火) 21:35:48ID:+RowFQSH0
まぁ,bbs.cgi やその他各種呪文用 CGI と bbsd との I/F が完成したら,
雪だるま系鯖以外でも bbsd を使うという選択肢もあるのでしょうけど.
0090動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/08(火) 22:05:38ID:xTFEnbVV0
>>88
参考記録といってもずれたままになりそうなのは気になる

個人的にはレス数と一緒にサイズも記録してあれば
少なくとも全読みは避けられそうと思っているけど
影響大きそうだからなあ
0091 ◆SSu.zv/rvs
垢版 |
2005/11/08(火) 22:07:47ID:NtcGXxuC0
>参考記録

ってどういう意味?
0092root▲ ★
垢版 |
2005/11/09(水) 00:55:26ID:???0
subject.txtから取ったレス数よりも実際のdatの行数がいくつか増えてしまっていてもいい、
ぐらいの感覚で書きました。

ただ、900超えたあたりからはクリティカルか。

いずれにせよ、毎回全読みするコストを何とか下げられないかな、というのが、
subject.txtからとる趣旨なわけで、それが期待できないなら、
単にサブルーチン化して、整理整頓するだけかなぁと。

# おじさん、インテンショナルな徹夜で時差調整中?
0093 ◆SSu.zv/rvs
垢版 |
2005/11/09(水) 00:58:26ID:kbrSpD780
>subject.txtから取ったレス数よりも実際のdatの行数がいくつか増えてしまっていてもいい、
>ぐらいの感覚で書きました。

わたしもその意見には賛成で、実は以前それを実験しました。

で、結果はというと、
惨憺たるものだったかと、たしか専用ブラウザが困ってしまうんじゃなかったかと、
もう何年も前の話で忘れちまったが、

眠くなったら寝るというみだらな作戦です。
0094root▲ ★
垢版 |
2005/11/09(水) 01:00:45ID:???0
>>93
で、900超えたらsubject.txtを信用するのやめて、
今までの方法でdatを読んじゃおうという、日和見風見鶏作戦かなぁと。

で、900をできるだけ1000に近づける方向でがんがってみると。
0095 ◆SSu.zv/rvs
垢版 |
2005/11/09(水) 01:02:49ID:kbrSpD780
「dat と subject.txt のずれを許容してくれない」
とっても厳密に扱われているというのが問題だと思います。

900 とか 980 のことじゃなく
0096root▲ ★
垢版 |
2005/11/09(水) 01:02:54ID:???0
>>93
あ、そっか。
シンクロ具合とゆってますね。
あんまりずれが大きいと、subject.txt をあてにして動いているアプリさんたちが
困っちゃうってことですか。

めしめし。
0097動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/09(水) 01:18:58ID:svPRiUsW0
現状でも、スレスト時にsubject.txtが変更されないため
subject.txtと実際の行数が一致しなくなり
毎回のように取得に行ってしまうクライアントもありますよ。
0098動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/09(水) 01:19:33ID:rY6bA6aZ0
それはそのブラウザの作りが悪い
0099 ◆SSu.zv/rvs
垢版 |
2005/11/09(水) 01:22:30ID:kbrSpD780
>>97
そんなんですよね

>>98
でも、その数が膨大だったりするのだ。


で、実際には高速で回転しているところは
dat と subject.txt が一致することなんてほとんどないから
それを利用してむ Saborin が生まれたのだ。
作る前はどうなるかと思ったけど、実際にやってみると
これがまずまず動いているんだな、よかったよかった
0100root▲ ★
垢版 |
2005/11/09(水) 01:36:13ID:???0
>>99
Saborin は確かに、結構効果ありますね。

Saborin = index.html / subback.html の更新をまばらにする
ただし subject.txt は更新する
ex系とlive系で絶賛動作中

SaborinはLAが閾値を超えると自動的に発動
cobra=30 / tiger=20 / banana=4
0102root▲ ★
垢版 |
2005/11/09(水) 01:42:01ID:???0
>>100
> 自動的に発動
^
一般サーバでも
0103root▲ ★
垢版 |
2005/11/09(水) 01:43:13ID:???0
で、狼やらVIPやらanimeサーバやらで 500 エラーが起こりやすい理由の一端は、
>>80 が原因の予感のもより。
0105root▲ ★
垢版 |
2005/11/09(水) 01:53:07ID:???0
>>104
狼でちょっとだけ聞いてみたところでは、
どうもクリーンナップ大作戦の後、少し減ったらしいです。

出なくなるのは、まだまだ先かなと。
0106root▲ ★
垢版 |
2005/11/09(水) 04:04:11ID:???0
結局、
・まずは従来通りdatから全部とることにして、クリーンナップをすすめる

ことにしました。
コストは、かわんないですもんね。

で、GetDatInfoを書きました。
>>84 さんに感謝です。

#############################################################################
# 処理中のdatの情報を$GBにセットする
# $GB->{DATNUM}, $GB->{DAT1}, $GB->{DATLAST}
#############################################################################
sub GetDatInfo
{
my ($GB, $outdat) = @_;
my $datfile = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
my $datlastnum = $FOX->{$GB->{FORM}->{bbs}}->{"BBS_CONTENTS_NUMBER"};

if($GB->{NEWTHREAD})
{
# 新スレの場合
$GB->{DAT1} = $outdat;
$GB->{DATNUM} = 1;
@{$GB->{DATLAST}} = ();
}
else
{
# レスの場合
open(DAT,"<$datfile");
$GB->{DAT1} = <DAT>;
@{$GB->{DATLAST}} = <DAT>;
$GB->{DATNUM} = $.;
close(DAT);
if (@{$GB->{DATLAST}} > $datlastnum)
{
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -$datlastnum);
}
}

return 0;
}
0107root▲ ★
垢版 |
NGNG
BBS.CGI - 2005/11/09

雪だるまに向けたクリーンナップ大作戦 その3

・GetDatInfo (>>106) を作り、datへの追記(新スレでは作成)直後に呼ぶようにしました。
・datの情報はもっぱらここでとることにし、$GB に蓄えて使いまわすようにしました。
・html/ の下を作るところ(MakeWorkFile)では、datはオープンしなくしました。
・Over1000 をサブルーチン化して、GetDatInfo の直後に呼ぶようにしました。
・これでMakeWorkFile内から、1000超えチェックが分離できました。
0108root▲ ★
垢版 |
NGNG
subject.txt を作るところ

sage のほうが、処理工数が多いのね。
ちょっと目からうろこ。
0109root▲ ★
垢版 |
NGNG
BBS.CGI - 2005/11/09a

# 051109a 雪だるまに向けたクリーンナップ大作戦 その4
# UpdateSubject (subject.txt作成) サブルーチン化
# いよいよ、神の領域の入り口に突入か by む
0110root▲ ★
垢版 |
NGNG
# 051109b @newsub を @{$GB->{NEWSUB}} にして追放(UpdateSubjectに封じ込め) by む

本日はここまでの予定。
0111root▲ ★
垢版 |
NGNG
で、わかってきたことは、
subject.txt って軽々しく作っている割に、
suback.html も index.html も /i/index.html (qb系 dso系 bbspinkのみ)も、
ぜーんぶ、これをベースにこしらえているらしいということだなぁ。

こりゃ、非同期にsubject.txtをなんてのは、とんでもない話だなぁ。
何が起きるか、予想もできないや。

というかたぶんもともと、宣撫らでの参照のために作ったんじゃなくて、
そうゆう内部処理のために、作ってるんだろうなぁ。

なぁ。
0113 ◆SSu.zv/rvs
垢版 |
2005/11/09(水) 21:19:18ID:V3FpTdxV0
なぁ


その部分は歴代誰もさわっていない気がする
なぜなら太古のままの姿で残っているから、
しいていえば dat と subject のずれをなくすため
およびdjをなくすため、神か or トオルさんが2001年ころ手を加えたかと、
0114root▲ ★
垢版 |
2005/11/09(水) 22:36:45ID:???0
>>113
神殿の入り口にさしかかったと。
0117動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/10(木) 22:15:46ID:ww1y0hkN0
今日あたりから妙な動作をしてる気がするんだが、何かいじってる?
具体的には
・某板で、かなり時間を置いて違う内容を書き込もうとしても二重書き込みが出る
・しょうがないのでIP変えたら書き込めた
・IP変えた後、他の板に書き込んだら何故かcookie確認が出ない
出た現象としてはそれだけ。
どこの板とかは出さないので、回答には特に期待していないけど。
0118root▲ ★
垢版 |
2005/11/10(木) 23:22:03ID:???0
>>117
そのへん、全然変えてないです。

上2つは、過疎な板だと正常な動作としてよくあるですね。
一番下は、ちと気になりますが。
0119動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/10(木) 23:50:38ID:r6yN1X4Qo
確認画面の話が出てるから、自分もちょっと

先日の京ぽんのID末尾o→0の関係でごちゃごちゃやってた以降
自分の味ぽんはどの板で書いても、回線切ろうが、電源切ろうが
確認画面が1度も出ないんですが、良いのでしょうか?

ごちゃごちゃの当日に指摘した時は流された気がしますが…
0120root▲ ★
垢版 |
2005/11/10(木) 23:56:11ID:???0
>>119
奥様(味ぽんユーザ)では「普通は最初だけ出るよ」
「でも、最初でも出ないときがあるみたい。再現性はわかんない」

ということらしいです。
うぅむ。

# 「最初だけ出る」が、意図した動作。
0121動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/11(金) 00:11:52ID:NuFqu9WRo
>>120
そう、「最初の1回だけ出て後は出ない」なら今まで通りで何の
疑問も感じない訳ですが

自分は最近、確認画面を全然見てないから謎なんですよ


まぁ、面倒が無くて良いって言えば良い訳ですけど
0122root▲ ★
垢版 |
2005/11/11(金) 00:14:17ID:???0
>>121
それって、京ぽんを 0 にしてからなったということですかね。
ううむ。
0123動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/11(金) 00:30:50ID:NuFqu9WRo
>>122
タイミング的にはそんな感じです
完全にイコールかと言われると判りませんが

確か一連の作業中に一時的に味ぽんから書き込めなくなって
その後、復活してからの様な気がしますが
0124root▲ ★
垢版 |
2005/11/11(金) 00:58:58ID:???0
>>123
ふーむ。

うちの環境では幸運にも実物で試してもらえるので、
また、時間取れたときにみてみるです。
0125root▲ ★
垢版 |
2005/11/11(金) 01:03:49ID:???0
おぉ、わかた、、、。>>123

あとで、なおしておこう。 @ 今qb6で別の作業中
0127root▲ ★
垢版 |
2005/11/11(金) 02:07:06ID:???0
とりあえずoperate2で動くのを確認しました。>>126

今日の作業がおわったら、配布で。
0128root▲ ★
垢版 |
2005/11/11(金) 02:50:50ID:???0
BBS.CGI - 2005/11/11

109 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/11(金) 02:42:33 ID:d6RFRwJS0
・味ぽんでも投稿確認画面が出るように(虫取り)
・MakeWorkFile から緊急ストッパーを切り出し(Emerg1020 Emerg1050)
・UpdateSubback サブルーチン化
・MakeIndex4PC サブルーチン化

今日までで、bbs_main中から、だらだらと長くて保守性の悪い部分はなくなったはず
0130動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/11(金) 11:16:25ID:ujB+FScJ0
一般的な意味を聞いてるなら味ぽん!=京ぽん。JRCの出した初代AirH" Phoneの事と考えるのが普通。
MUMUMU氏の意図ならAirH" PHONE全部という可能性もあるな。
# もうAirH" PHONEというブランドは無いんだけども。
0132root▲ ★
垢版 |
2005/11/11(金) 11:53:17ID:???0
私の定義:

・味ぽん: AH-J3001V AH-J3002V AH-J3003S

これらはbbs.cgi内で特別扱いしています( o 表示のゆえん )。

京ぽんのbbs.cgiでの特別扱いは全廃されました。
PCと全く同じ扱いです。

今後出るWillcom端末は、特別扱いしたくないですね。
ちゃんとリファラ吐いて、クッキー食べてほしい。
0133root▲ ★
垢版 |
2005/11/11(金) 15:53:35ID:???0
bbs.cgi のぐろーばるーについてのチラシの裏

$FOX <= 船単位で設定 (基本的に出航時に1回設定される)
$GB <= 1トランザクション単位で設定 (1投稿ごとに設定される)

例えば、SETTING.TXT の値はこうやって得られるです。

・SETTING.TXTは出航時に読めばよい固定値だから$FOX
・でも板名はトランザクションごとに変わるから$GB
・その下に要素がぶらさがる

$FOX->{$GB->{FORM}->{'bbs'}}->{"BBS_CONTENTS_NUMBER"}

SpeedyCGIの特性を利用した、すごくよい使い分けと思います。
もしこれがなかったら、どうやってもカオスからは脱出できなかった。

他の処理系をまたぐ必要のあるぐろーばるーは、全部追放か$GBに押し込める方向で。
でないと、どれがどれなんだかちっとも。

で、概ねそれはできたような気がしているです。
といっても、ほとんどはおじさんがやったわけですが。
0134root▲ ★
垢版 |
2005/11/11(金) 15:56:31ID:???0
で、該当部分。
# ちょっと感動した。

#設定ファイルを読む
sub foxReadSettings
{
my ($GB) = @_ ;
my $ita = $GB->{FORM}->{'bbs'} ;

$GB->{DEBUG} .= "SETTING.TXT よみこむ? $ita<br>";
if(defined($FOX->{$ita}))
{
$GB->{DEBUG} .= "SETTING.TXT 既に読み込み済みー(1)$ita<br>";
return 0;
}
$GB->{DEBUG} .= "SETTING.TXT よみこみー$ita<br>";
(以下略)
0136root▲ ★
垢版 |
2005/11/11(金) 16:24:07ID:???0
>>135
既に概ね、外れているです。
(ここはたまたま、外れてなかっただけみたい)
0137 ◆SSu.zv/rvs
垢版 |
2005/11/11(金) 16:31:56ID:jjmtFB0c0
なにか言いたいけど
すでに getting drunk
0139 ◆SSu.zv/rvs
垢版 |
2005/11/11(金) 16:36:12ID:jjmtFB0c0
そろそろ 11時? たぶん
三人でぽとる一本あけたから、、、、

with Jim &79
0140 ◆MUMUMUhnYI
垢版 |
2005/11/11(金) 16:41:15ID:8LbVSMli0
ぼうしぬいで、だらだら。

>>139
79さんですか。
そりゃ、たいへんだ。

ところで、飲酒禁止とか控えるとかゆう話、ありませんでしたっけ。
0141 ◆SSu.zv/rvs
垢版 |
2005/11/11(金) 16:43:19ID:jjmtFB0c0
ないない

蒸留酒はok to me
0142 ◆MUMUMUhnYI
垢版 |
2005/11/11(金) 16:45:01ID:8LbVSMli0
そっか。

プリンが規制中なんでしたっけ。
0143 ◆SSu.zv/rvs
垢版 |
2005/11/11(金) 16:46:03ID:jjmtFB0c0
そうそう

beer とか wine はご法度

でも沢山のんだけど in Euro
0145 ◆TWARamEjuA
垢版 |
NGNG
DispError(sprintf qq|プリンが規制中です(%d)|, $GB->{prin}) if defined $GB->{prin};
0147root▲ ★
垢版 |
NGNG
167 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/12(土) 05:19:07 ID:axdTew+g0 ?###
BBS.CGI - 2005/11/12a

# 051112a 雪だるまに向けたクリーンナップ大作戦 その6
# $GB->{OUTDAT}, $GB->{LOGDAT}, $GB->{xID}, $GB->{xBE} 新設
# ResAnchor, MakeBEString, MakeIdStringAndLogdat, MakeLogdat,
# MakeOutdat, Update924, WriteDatFile 以上サブルーチン化 by む

これで、bbs_main の真ん中当たりにあったアドホックなワーク用変数を
ほとんど整理した。

明日あたりから、Check_HardPosting (連続投稿ですか?のところ)を見始めるか。
0149◆SANUKI/VII
垢版 |
NGNG
↑あら、ならなかったです

キャップ付けるとoutdatってなるだす
0150root▲ ★
垢版 |
NGNG
>>148-149
MakeOutdat をサブルーチン化する時に、
saku sakud saku2ch だけ特殊処理をしているところ
(これらは HOST: を表示しているが、キャップだとさらにそれらは出ない)
に、虫を入れてしまいました。

すみません。

2chの動作報告はここで。 パート18
http://qb5.2ch.net/test/read.cgi/operate/1131005961/173-192
0151root▲ ★
垢版 |
NGNG
サブルーチンにして移動する時に、
色気心を起こして、処理の順番を変えてしまったです。

・虫がいた時

if (saku sakud saku2ch) {
if (capじゃない) {
datにHOST: が入ったのを作る
}
}
else
{
普通のdatを作る
}

・今(前と同じ)

普通のdatを作る
if (saku sakud saku2ch) {
if (catじゃない) {
datにHOST: が入ったのを作る
}
}
0152root▲ ★
垢版 |
NGNG
変えてしまった => 変えてしまっていた >>151

しかも、>>151 の上のやつはオプティマイズにはなっていないわけで。
なんだかなぁ。おじさんにセッキョーされそうだなぁ。(´・ω・`)
0153(^-^)犬 ◆VET4349ZB.
垢版 |
NGNG
猫?                   いや、何となくです。分かりますから、、、ゴメンチャイ
0154動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/13(日) 02:31:52ID:eVSZ3HVd0
qb5用のbbs.cgiの存在は、なかなか微妙だと思います。
削除系全般のHOST処理とか、BBQで串マークとか、規制でもfusianaで書き込めるとか。

バグの温床。 if(板名)ってのはなんとかやめること出来ないのかなあ

と、中身を何も知らないのに言ってみるテスト
0158root▲ ★
垢版 |
NGNG
timecount/timecloseの処理をしているところって、
ずいぶん、贅肉があるみたいな。

歴史的経緯ですか。

simplify したいけど、今はとりあえずこのままにしておくか。
0159 ◆SSu.zv/rvs
垢版 |
2005/11/13(日) 03:58:48ID:pV+LpfpY0
あるファイルをbbs.cgiだけがさわっているのであればラッキー
その確証が得られないor得るのがめんどくさい → 放置
誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか

なんてのが bbs.cgi の歴史です
0160root▲ ★
垢版 |
NGNG
>>159
> 誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか

そうゆうものですか、、、。

私なんか、あんまりそうゆうこと考えずについさわってしまうし、そのことをどんどん公開してしまうし。
だから、いかんのかしら。
0161root▲ ★
垢版 |
NGNG
もちろん理由がなければそういうことはやらないし、
基本的には全部表でやるわけですけど。

て裕香、表でやれないようなことは、やっぱ体にも心にもいくないっす。
せめて2ちゃんねるぐらいでは、そうゆうことはできるだけしたくないなと。
0162root▲ ★
垢版 |
NGNG
2ちゃんねるぐらい = 趣味の世界

ってことですね。
仕事の世界だと、なかなかそうもいかないわけで。

あとはMakeWorkFileをちょっと読んで、今日は中身はいじらずにもうねるか。
0163動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/13(日) 08:17:00ID:ANRcdU0J0
(雑談スマソ)
>>161そこで裕香と誤変換しますか。彼女とか娘とか、はたまた平田裕香のファンなのか・・・チョイキニナル
0164 ◆MUMUMUhnYI
垢版 |
2005/11/13(日) 10:05:33ID:OKtukaNP0
>>163
saku / sakud 等でよく見かける方のいち隠れファンです。
0165桶屋
垢版 |
2005/11/13(日) 11:38:03ID:MUh++HtM0
>>158
今の時代、本当にtimecount/timecloseが必要なのか、一度考え直すのもいいのかも。

連続投稿に関してはsamba24 やバーボンができました。
投稿に関する対応は、ボランティアさんも含めた新しい仕組みが動くようになりました。
timecount/timecloseは、これらがない時代からあるものですね。

timecount/timecloseの必要性と、実装や運用のコストの比較になるのかなと。
0166どくどくさぼてん
垢版 |
2005/11/13(日) 11:57:08ID:S6x+4xF20
samba24は鯖ごと、バーボンに至っては全板一律だからなぁ。
確かsamba24はSETTING.TXTで設定できるようにする、って話もあったけど、
ただ、最近もちょくちょく全板でいっせいに設定値変えとかしてるから、
ちとそうもしづらいのかなぁ。とか。
0167動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/13(日) 14:35:57ID:hLwbWE8U0
>>165
板によって、結構絶妙なバランスで設定されてる
値だと思いますけどね。普通の使い方をしてる人では、
まず引っかからないし見ないから、「空気みたいなもの」
としか感じないかもしれませんが。

けど見てると、設定を微妙に変更することで、荒らしさんは
やっぱり速度が落ちたりとかするのを見たりします。
だから効果はあるんだと思います。

逆に言えば、普通の人がやたら引っかかるようなものは、
それなりに問題なんじゃないですかね。
0169 ◆MUMUMUhnYI
垢版 |
NGNG
>>165-167
それなりに効果は出ていると思います。
たぶん2ちゃんねるが今よりもっともっと小さかった頃は、
画期的な仕組みだったんだと思うです。

でも今となっては、ファイルI/Oのコストが毎回(少ないとはいえ)
発生するのが、ちと気になるですね。
ということで投稿数が多い板だと、
この方式を現在の実装でやるのは、ちょっと苦しいところがあるです。

基本的に、効果を大きくしようとしてFIFOの段数を大きくすると
コストも大きくなってしまいますし、
段数が少ないと、効果が薄いです。

ということで、雪だるまにしてbbsd側でオンメモリでやるなら、
それほどでもないという読みで、今の方式を踏襲する形での実装は、
してもらおうかなと思っているです。
オンメモリならコストは低いし、実装もそれほどでもなさそうなので。

<チラシの裏>
あと、メッセージ本文の最初の何文字かとか本文の長さとか、
投稿したスレッドのキーとか時間とか、いろいろとっているけど、
今は全く使っていないので、このへんの贅肉をとって、
いずれはすっきりしたいなと思っているです。
<チラシの裏の隅>
たぶんこのへんも規制に使おうとした、あるいは昔規制に使ったことがあるんだろうなと。
</チラシの裏の隅>
</チラシの裏>
0170 ◆MUMUMUhnYI
垢版 |
NGNG
で、先回りして言ってしまうと、Samba24って、
そういうところが、よくできているです。

ようは、ひとことでいうと、
「大きい板でもコストを上げることなく、同じしくみで動かすことができる」ってことですかね。
スケーラビリティがあるとゆうか、成長に耐えるとゆうか。

実現している部分は正直、短いコードですけど、
かなり感心したところだったり。
0171 ◆SSu.zv/rvs
垢版 |
2005/11/13(日) 22:13:04ID:pV+LpfpY0
さぁ みんなで踊ろう

S A M B A !

もうすぐ夜明けだ。
0176 ◆SSu.zv/rvs
垢版 |
2005/11/13(日) 22:40:48ID:pV+LpfpY0
いやー

どこへ行ってもこんな感じの一ヶ月でした。
毎日五時に起きてしまい、夜も八時を過ぎればおねむ
きっとホームに帰ってもとうぶんそれが続くかと

起きたらまずススキのの生活・・・
0177 ◆MUMUMUhnYI
垢版 |
NGNG
>>176
早朝営業ですっきり、ってやつですか。

ちと、おふろへ。
その後はSambaの解読と、live20のバージョンアップあたりを。
0179 ◆MUMUMUhnYI
垢版 |
NGNG
さて、、、。

1001のところ、どうするですかねぇ。
私は今の実装でも大きな問題はないと思っていたりしますが。

全部の船に共通の変数があるといいんですが、
たぶんそういうのは、なさげだし。
0180 ◆MUMUMUhnYI
垢版 |
NGNG
WriteDatFile … datに追記
GetDatInfo … dat行数、>>1の内容、datの最後のいくつか(html/の下作成用)を取得
if (datが1000以上) Over1000 … 1001を書いて、chmod 555

というのが、今の流れです。

これをどうするのが、いんだべか。
0181ヾ(゚パ)ノ ◆f0.zuburi6
垢版 |
2005/11/14(月) 00:26:57ID:SGvz0hKn0
>>180
そこのパーミッション書き換えタイミングにレスが重なると1000overカキコが
多発するんでしたっけ?
レス>1001の時にdat追記そのものを破棄することって難しいのかな?
多分難しいからおいちゃんも今の形にしてあったとは思うのですけど。
0182 ◆MUMUMUhnYI
垢版 |
NGNG
Over1000 を複数のbbs.cgiが実行している、っちゅーことなんです。
それはたぶん避けられない気がするんで、さて、どうしたもんかなと。
0183 ◆MUMUMUhnYI
垢版 |
NGNG
で、確実に止まっているようなので、
とりあえずは今のままでいいのかなとは思っていたり。
0184動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/14(月) 00:53:46ID:zmjS5IW10
perlってappendモードで開いているファイルに対して
ftell相当のこと出来ないのけ?
出来るなら、「自分が書き込んだ後の末尾の位置」を覚えておいて
再度(行数判定等のために)読み込んだときの合計サイズと一致している場合のみ
(==1000を書き込んだのが自分である場合のみ)
1001を追記したらよいのでは?

既にオープンしているファイルからftellするのは、
I/Oコスト的には大したことないはずだし。
0185 ◆MUMUMUhnYI
垢版 |
NGNG
>>184
ぱっと見、それだと忙しい時、
1001が書かれなくなるような。
0186ヾ(゚パ)ノ ◆f0.zuburi6
垢版 |
2005/11/14(月) 01:08:58ID:SGvz0hKn0
あーそうか。「同時に」なんだ。
てことは,実現させるには1001番以上が付くかどうかを各bbs.cgiが判定して,
以上なら強制的に止めてしまうしかないんですねえ。
0187 ◆MUMUMUhnYI
垢版 |
NGNG
あとは、GetDatInfoして得たdatの最終行が既に1001だったら、
Over1000で1001を書かないぐらいかなぁ。
0190 ◆MUMUMUhnYI
垢版 |
NGNG
Perlで、その配列の最後の要素にアクセスするのって、どうするんだっけか。

具体的には、@{$GB->{DATLAST}} の最後。
0191 ◆MUMUMUhnYI
垢版 |
NGNG
予想されるのは、

1000
1001 1000を超えました。。。
1002 普通の書き込み

とかで、終わるパターンすね。
chmod 555 は必ずするので、
壊れるリスクは今と同じのはず。
0192動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/14(月) 01:18:48ID:zmjS5IW10
あ、そっか。
まず書き込みをして、それから書けたかどうか判定するのか。

と思ったけど、>>184の5行目の()内が間違いで
(==最終レスを書き込んだのが自分であった場合のみ)
が正しいのかな。

とは言っても、「再読込」した後で他のプロセスが書き込んじゃうという
可能性もある(というより、現状その状態っぽい?)ので
複数プロセスがが1001を書き込むのは避けられない点は同じか。
0193◆cZfSunOs.U
垢版 |
2005/11/14(月) 01:19:56ID:tChr8Idl0
確実にやるにはロックなどで排他制御するしかないでしょうね.
ロック使用を回避するなら,わずかでもタイミングの隙が発生するのは不可抗力かと......
0194 ◆MUMUMUhnYI
垢版 |
NGNG
>>193
やっぱ、そうかなとは思っていたりするです。

概ね動いてはいるようなので、1001がいっぱい書かれることを減らせれば、
とりあえずいいかなと思っていたり。
0197ヾ(゚パ)ノ ◆f0.zuburi6
垢版 |
2005/11/14(月) 01:28:43ID:SGvz0hKn0
むずかしいー
1000時のみロックとかできないんでしょうかー
とか思ってしまいますです
まあ,1000以降で実際に書き込まれないならいいかな なんて思ったりもしますがw
0198動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/14(月) 01:30:04ID:zmjS5IW10
ん?現状でも、既に

AとBが両方書き込んだ後、
A:読み込み(.datは1000行)
B:読み込み(.datは1000行)
A:1001書き込み(.datは1001行)
B:1001書き込み(.datは1002行)
という経過によって、複数の1001が書かれているのではないですか?

とすると、読み込んだ内容をどう判定しようと
重複1001は減らないのでは?
0199ヾ(゚パ)ノ ◆f0.zuburi6
垢版 |
2005/11/14(月) 01:34:41ID:SGvz0hKn0
これかー
ttp://cocohome.hp.infoseek.co.jp/perl_ref/array.html
マイナス添え字で最後から なんだ。

>>198
ああ,ほんとだ…
0200 ◆MUMUMUhnYI
垢版 |
NGNG
いけそうだ。

$GB->{DATLAST}[-1] と $lastdat を比較して、
同じなら1001を書くのをさぼろう。 in Over1000
0201 ◆MUMUMUhnYI
垢版 |
NGNG
こんなの?

$lastdat = "1001<><>Over 1000 Thread<> $b1000 <>\n";

# 既に1001が書いてあったら、書くのをやめる
if ($GB->{DATLAST}[-1] ne $lastdat)
{
# 1001書き込み処理
if(open(OUT,">>$dat"))
{
print OUT $lastdat;
close(OUT);

# $GBの処理
# datの番号をひとつすすめる
++$GB->{DATNUM};
# $GB->{DATLAST}をひとつ押し出す
shift(@{$GB->{DATLAST}});
push(@{$GB->{DATLAST}}, $lastdat);
}
}

# datを書けなくする
umask(0);
chmod(0555, $dat);

return 0;
0205◆cZfSunOs.U
垢版 |
2005/11/14(月) 02:00:20ID:tChr8Idl0
umask() は open() や mkdir() には影響しますが,chmod() には影響しないので不要ですね.
むしろない方が chmod() の実行タイミングがわずかながら早くなって,その分隙は減るかと.
0209 ◆MUMUMUhnYI
垢版 |
NGNG
配ったです。

# 051114 Over1000の処理改良、既に1001が書かれていたら書かない by む

>>208 のは、消したです。
0210 ◆MUMUMUhnYI
垢版 |
NGNG
しかし、あくまで対症療法に過ぎないすね。
効果があるかどうかも、微妙かも。
0211 ◆MUMUMUhnYI
垢版 |
NGNG
で、上のほうにも書きましたが、
何かのタイミングで、

1000 普通のレス
1001 1000を超えました。
1002 普通のレス

みたいなことが、起こるかもですね。
chmod() はするので、止まりはするはずですが。
0212root▲ ★
垢版 |
NGNG
# 051114a 雪だるまに向けたクリーンナップ大作戦 その7
# NotifyBBY, NotifyBBS, SuretateTotalCheck サブルーチン化
# これで雪だるまに向けたbbs_mainのコンパクト化はほぼ終了、長かった by む
0214桶屋
垢版 |
2005/11/14(月) 08:40:00ID:TwePZ4IU0
>>165-167>>169
期待して書いたのだけども、やっぱりなんというか歯切れが悪いというか……。

ここの人でも、ちゃんと説明しきれていない。「timecount/timecloseは、他と違って、
○○で△△の特徴があるから、絶対必要です」みたいなものがない。

>雪だるまにしてbbsd側でオンメモリでやるなら、それほどでもないという読みで、
>今の方式を踏襲する形での実装は、してもらおうかなと思っているです。
ここは、なるほどなーと思いつつも、どうやら消極的賛成で入れているらしい、、、
というのが読んだ感想です。
0215桶屋
垢版 |
2005/11/14(月) 08:45:17ID:TwePZ4IU0
>>211
技術はひとまず置いておいて、これは本当にオッケーですか?

スレッドが終端しない=一番最後に1001の書き込みがないと、
ユーザーがずっと書き込もうと行動し続ける気がするのですけど……。

速い時ほど、そんなことが起きる気がします。
0216 ◆SSu.zv/rvs
垢版 |
2005/11/14(月) 08:48:04ID:6MCcz+Tv0
二年ほど前「もう timecount/timecloseは必要ないだろ」と思いはずしたことがあります。

結果はぼろぼろで、あわてて元に戻しました。
連投あらしのオンパレードでした。
それも低速タイプのやつ。(2ちゃんねるのほとんどの板は低速です)
0217動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/14(月) 10:33:47ID:CMiI899X0
>>216
sambaとかバーボンとかは対スクリプトとか実況級に進行が早い板向けですからな
ゆっくりゆっくり書かれる連投には無力かと。
0218動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/14(月) 10:43:05ID:coSAVKKv0
そういう自動書き込みスクリプト(繋ぎ換えまで一緒にやるようなの)は、
まだゴロゴロしてますからね。。
繋ぎ変えは、もう一歩技術がいるようですけど(プロバイダによるし)、
スクリプト自体は、厨房でも設定可能なレベルみたいですし。
特にタイマー式は厄介(自動確認式もあるし。新規投稿が1回あったら
数回AAを自動投稿するとか。進行遅いスレだと、それだけで簡単に潰せる)。
0219root▲ ★
垢版 |
NGNG
>>215
1001メッセージは合成不可能なので、一つは書かれるはずと。

で、どうせそのスレには書けなくなるので、移行していただけると信じているです。

# でも、1001で終わってないスレは、ちょっと気持ち悪いかも。
0222どくどくさぼてん
垢版 |
2005/11/14(月) 21:23:04ID:E7BBAaWz0
そこは秒間20回とか書き込んでる馬鹿がいるからっぽいし、
そんなもんでいいんじゃないっすかねぇ。
まぁ、あれで止まってるほうがよかったって感じで。
0224◆cZfSunOs.U
垢版 |
2005/11/14(月) 22:30:02ID:tChr8Idl0
まぁ bbsd 版ではそれぐらいのでもちゃんと止まる......と思います.
0229動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/15(火) 16:21:39ID:OS7K8kAL0
まあ確かに試験・実験には最適ですね。
後々出ちゃうよりは、さっさとバグ出ししちゃう方がやりやすいだろうし。
0230root▲ ★
垢版 |
2005/11/15(火) 16:34:44ID:???0
毎回 WriteDatFile で 書いた後で chmod 666 しているとゆうのが、微妙なんだよなぁ。
0232動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/15(火) 21:29:31ID:CYcJPKgw0
bbs.cgiのことは何も知らないですが、

perlで通常書き込みや追記モードなopenに成功したと言うことは、
書き込み権限があるということとイコールだから、
openの後にchmodで書き込み権限を付加するのは、意味ないような・・・

openの前にchmod 666してるとしたら、絶対に書き込んでやる!
という強い意志の表れでしょうか・・・
書き込み権限のないfileに、chmodしてまで書き込もうとする理由が
想像つかないですが・・・

0233動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/15(火) 22:55:24ID:U6Y8OZtIO
HOSTとかはどこへ保存してあるんですか?>root★
>>232
openしなくてもパーミッションはかえられますよ。
良く知らないけど、3get禁止スレとかに管理者が書き込むためとか?
0235動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/16(水) 00:27:38ID:4JWl5LHj0
おめでとう!
0237名無しの報告 ◆Gypsy.V.Ig
垢版 |
2005/11/16(水) 00:42:56ID:nsWWCCvk0
dat取得出来たけど、書きこもうとしたら
リアルでdat落ちしたです  (´・ω・`)
0238 ◆8333833366
垢版 |
2005/11/16(水) 00:44:49ID:Bq57f9F50
必要になったときに、必要な人が立て直せばいいとおもう。
常時必要なスレってわけじゃないと思うし。
0239root▲ ★
垢版 |
2005/11/17(木) 03:41:54ID:???0
230 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/17(木) 03:40:54 ID:1HWflj8o0
# 051117 アクセス規制中にfusianasanして書き込みOKになった場合、しるしつき by む
0242root▲ ★
垢版 |
2005/11/17(木) 03:45:11ID:???0
>>240-241
言賛山支参上のたたりです(す)。
0243root▲ ★
垢版 |
NGNG
しるしを変更。
0244root▲ ★
垢版 |
NGNG
# 051118 saku sakud saku2chでは公式p2ユーザ番号とp2-client-ipを表示 by む
0245root▲ ★
垢版 |
2005/11/21(月) 15:56:42ID:???0
Perlって、いわゆるファイルディスクリプタって、サブルーチンに渡せるんでしたっけ。

具体的には、メインルーチンで

open(FILE,">$workfile");

としたFILEに、サブルーチンから書きたい場合、
どういうふうに記述すればいいかなんですが。
0246root▲ ★
垢版 |
2005/11/21(月) 16:01:18ID:???0
あ、ファイルハンドルっていうんでしたっけ。
なにぶんPerlは、その程度の知識で。
0249root▲ ★
垢版 |
2005/11/21(月) 16:15:55ID:???0
>>247
おぉ、そうやるですか。

ファイルハンドルと文字列(or 文字列の配列)を引数でくべてやると、
そのファイルハンドルに吐き出す、みたいなサブルーチンがあるといいなとゆうことです。

html/ の下を作るところと、
index.html を作るところを、なんとかしたいなと。

ようは、残された神の領域を少しずつ人間の領域にしたいということで。

# 某所でやっている広告切り分けとも、微妙に関連しているという噂も。
0251root▲ ★
垢版 |
2005/11/21(月) 16:31:17ID:???0
ちょっとぐぐってみた限りでは、>>247 のがいいみたいですね。

その場合、こんなふうにしても大丈夫みたいですね。
つまり、localのもじどおり局所化できると。

open(FILE1 ,">foo.txt");
&hoge(*FILE1);
close(FILE1);
...
open(FILE2 ,">foo.txt");
&hoge(*FILE2);
close(FILE2);

sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
0252root▲ ★
垢版 |
2005/11/21(月) 16:34:27ID:???0
もうちょっとtypicalな例を書くか。
こういうのも許されるということですかね。

open(FILE1 ,">foo.txt");
open(FILE2 ,">foo.txt");
&hoge(*FILE1);
&hoge(*FILE2);
close(FILE2);
close(FILE1);

sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
0253root▲ ★
垢版 |
2005/11/21(月) 16:35:01ID:???0
あ、二つ目は bar.txt すね。すまんです。>>252
0254root▲ ★
垢版 |
2005/11/21(月) 18:24:33ID:???0
うまくいったっぽいです。

#! /usr/bin/perl -w

my $str = "This is test.\n";
my @substr = ( "This is test.\n", "This is test 2.\n" );

open(FD, ">test.txt");
open(FD2, ">test2.txt");
&Put1Line(*FD, $str);
&PutLines(*FD2, @substr);
close(FD);
close(FD2);

exit;
#############################################################################
sub Put1Line
{
local (*FD) = shift;
my ($str) = @_;

print FD $str;
return 0;
}
#############################################################################
sub PutLines
{
local (*FD) = shift;
my (@str) = @_;

foreach (@str) { print FD $_; }
return 0;
}
0255root▲ ★
垢版 |
2005/11/21(月) 19:07:42ID:???0
で、つぎのお知恵を拝借、、、。

print SHTM <<EOF;
<TABLE border=1 cellspacing=7 cellpadding=3 width=95% bgcolor="$FOX->{$GBA->{FORM}->{bbs}}->{"BBS_THREAD_COLOR"}" align=center><TR><TD><DL><a name="\$ANCOR"></a><DIV ALIGN="right"><a href ="#menu">■</a><a href="#\$FRONT">▲</a><a href="#\$NEXT">▼</a></DIV><B>【\$ANCOR:$GBA->{DATNUM}】<FONT size=5 color="$FOX->{$GBA->{FORM}->{bbs}}->{'BBS_SUBJECT_COLOR'}">$subject</FONT></B>
EOF

といった行が、それこそ死ぬほどあるわけですが、
こいつらの保守性を少しでもよくする方法は、何かないのかなと。

qq// とかにしようかなとも思ったのですが、/ も使っているわけで、
何かいい知恵はないものなのかなと。
0256どくどくさぼてん
垢版 |
2005/11/21(月) 19:09:54ID:ykuoFpvp0
qq// じゃなくて、qq| | とか qq{ } とかでもよくなかったっけ
0257root▲ ★
垢版 |
2005/11/21(月) 19:11:12ID:???0
>>256
なんでもいいんでしたっけ。
{ } も使いまくりなんで、| | かしら。

# 何せ、その程度の知識しか。
0258どくどくさぼてん
垢版 |
2005/11/21(月) 19:14:51ID:ykuoFpvp0
とりあえずは半角非英数ならなんでもいいらしいっすねぇ。

とりあえずぐぐってでてきた、qq| | を使ってる例文がのってるやつ。
ttp://cocohome.hp.infoseek.co.jp/cocohome/l_text.html
0259root▲ ★
垢版 |
2005/11/21(月) 19:17:10ID:???0
どもです。>>258

で、こういうEOF〜EOF のやつは、
一律 qq|〜| にして、ちゃんとうまくいくのかしら。
0260どくどくさぼてん
垢版 |
2005/11/21(月) 19:24:30ID:ykuoFpvp0
手元のスクリプトいじってみたら、

print SHTM qq|
(中略)
|;

こんなんで動くことは動きましたです。
0262 ◆SSu.zv/rvs
垢版 |
2005/11/21(月) 20:05:13ID:8VTsOE1x0
保守性はないけど硬性はあったり
0263root▲ ★
垢版 |
2005/11/22(火) 01:03:56ID:???0
>>261
どっか間違っても、直感的にわからないとか、
カスタマイズがとってもしにくいとか、そういう話ですね。

そのうち、複数行にするかも。
0264root▲ ★
垢版 |
NGNG
Put1Line と PutLines を使って、
index.html を作るサブルーチン(MakeIndex4PC)を書き換えました。

それに伴い、ひとつ小さな虫取り(不要な</form>の削除)を行いました。

また、HTMLタグを基本的に小文字にしました。
ただ、まだ直していない部分(htm/の下を作るところとか)があるので、
従来通り(w、大文字と小文字のタグが混在しています。

bbs.cgiの動作そのものは変わっていないはずですが、
もし問題を発見した場合、ここでお知らせくださいです。

これで、MakeIndex4PCは神の領域ではなくなったと思う。
今日は、ここまで。
0265root▲ ★
垢版 |
NGNG
ええと、前にあった(今dat落ちかな)、
bbs.cgiが吐くindex.html をコンパクトにするというか、よくする話し合いをしてたスレッドって、
どれでしたっけか。

すぐやるかどうかはわからないけど、教えていただけるといいかもしんないです。

index.html作成部分の保守性がよくなったので(実際潜んでいた虫も見つけた)、
反映できるものもあるかも、かも。
0267root▲ ★
垢版 |
NGNG
>>266
どもです。それです、それです。

MakeIndex4PC, MakeIndex4Keitai, UpdateSubback あたりのクリーンナップ後に、
ぼちぼちってかんじで。

あと、SunOSさんが雪だるま版index.htmlにこのスレのどのへんを採用したかの
情報があると、うれしいかも、かも。
0268root▲ ★
垢版 |
NGNG
とりあえず今20秒ぐらい読んで、>>266 のは >>140 から読めばよいのかなと書いておこうと。
0269root▲ ★
垢版 |
NGNG
>>264 の作業により、クッキーを食べるところと
BEのプロフィールを表示するところ(具体的にはJavaScriptのところ)が、
うまく動いていませんでした。

今、対応したものを配りました。
すみませんでした。

# <-- の後と // --> の前には \n が必要。
0271root▲ ★
垢版 |
NGNG
310 名前: ◆MUMUMUhnYI :2005/11/22(火) 14:08:29 ID:cuANVpjV0 ?###
# 051122a UpdateSubject, UpdateSubback, MakeIndex4Keitai, MakeWorkFileを
# Put1Line, PutLinesに対応
# これで、ファイル作る系の第一次対応はできたはず by む

以上配布済み。
ひととおり予定の作業はおわたです。
ということで、作業可能です。>>305

これでこのへんのサブルーチンは、神の領域ではなくなったと思います。

>>270
以前からある話なわけですが、、、。
PHPって暴走すると、httpdが暴走しちゃうから。
0272root▲ ★
垢版 |
NGNG
あと、神の領域なのは、newbbs と foxIkinari ぐらいだと思う。

…人間のものになったんだろうか。
0274root▲ ★
垢版 |
NGNG
>>273
とりあえずあまり進んでいませんが、こんなことをはじめているです。

########################################################################
# キャップがあるかどうか調べ、あったらそのキャップ名を返す
# 引数: キャップパス、板名、フラグ1、フラグ2
# フラグ1が真の場合、板別キャップの処理を行う
# フラグ2が真の場合、キャップあぶりだしの処理を行う
# 戻り値: キャップハンドル名 または ""(該当なしの場合)
########################################################################
sub FindCap
{
my ($pass, $board, $bflag, $tflag) = @_;
(以下略)
0277root▲ ★
垢版 |
NGNG
うーむ。問題あるとしたら、MakeIndex4PCだなぁ。
neet4vip以外でも、起きているですか?

364 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:08:55 ID:???0 ?###
>>362
ニー速だけ?

365 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:09:55 ID:???0 ?###
私が入れた虫くさいわけで。

しかし、他では出てないんだろうか。

366 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:16:44 ID:???0 ?###
ちなみに、subject.txt が破損すると、起こると思います。
index.html は、subject.txt を見て作っているので。
0278root▲ ★
垢版 |
NGNG
あるいは、MakeWorkFile (html/ の下を作っている)か。
ううむ。
0279root▲ ★
垢版 |
NGNG
確認しました。

ううむ、同じのが複数ある。

あとで、みてみるです。
0281root▲ ★
垢版 |
NGNG
368 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:54:55 ID:???0 ?###
ありがとうです。
MakeWorkFileか。

369 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:56:53 ID:???0 ?###
違うキーのも、同じファイルになってる、ってことですかね。

370 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 18:59:45 ID:???0 ?###
>>369 ですね。
ううむ、なぜだ。

371 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 19:02:21 ID:???0 ?###
わかった気がする。ううむ、、、。

やはり、神の領域は深いらしい。

372 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2005/11/22(火) 19:03:59 ID:JzWOnNm+0
見た感じ、新スレの*.htmlが、直近(同時刻?)に投稿のあったスレの
*.htmlと同じになってしまっているのかな。

373 名前:root▲ ★[sage] 投稿日:2005/11/22(火) 19:08:08 ID:???0 ?###
# 注意: $key と $GB->{FORM}->{'key'} は一致しているとは限らない!!!!

のですね。

また、滑落か。
なおすです。
0282root▲ ★
垢版 |
NGNG
てなわけで、世の中甘くないすね。

なんで、MakeWorkFileに$GBじゃなくて、$GB, $key っていうふうに
引数が2つあるか、っちゅーことですね。

まさか、そんなことしてるとは、思いもよらんかったですよ。
0283root▲ ★
垢版 |
NGNG
Perl でファイルの行数を if 文で、チェックできるんだっけか。
0285赤翡翠 ★
垢版 |
2005/11/22(火) 19:31:54ID:???0
>>274
あ、キャップの判定のことでお願いしたいことが・・・。
あとでメールさせていただきます。
0287root▲ ★
垢版 |
NGNG
お題は「おせっかいなbbs.cgi」にしよう。

説明は、のちほど。
0288動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/22(火) 20:56:48ID:WZb4VPiX0
my $fp;
open($fp, '>', 'hoge.txt') or die;
foo($fp);
close($fo);

sub foo($)
{
my $fp = shift;
while (<$fp>) {
# hogehoge
}
}

これって駄目なのかな
0289root▲ ★
垢版 |
NGNG
>>288
基本は、そうゆうことなんですよ。

今回の問題は、

「subject.txt にはそのスレが既に載っているけど、対応する html/html が製作途中、
あるいはまだ存在してない」

時に、動きが変になったんです。

くわしい説明は、帰宅してめしくってふろはいってからで。
0291288
垢版 |
2005/11/22(火) 21:24:35ID:WZb4VPiX0
おっと、>>245-248辺りを見て反射的に書いちゃいました。
深い意味はないです。
0293root▲ ★
垢版 |
NGNG
>>292
そですね。そうゆうっぽいの。

Perlから明示的に open() しなくてもチェックできる手は、ないのかなと。
0295 ◆TWARamEjuA
垢版 |
NGNG
ファイルシステムが「行」を管理してくれたら可能かもしれませんね(苦笑)

# (Count, ERROR message) = TotalLineNumberinFile(filename)
# Count = TotalLineNumberinFile(filename)
# filename は行数を調べたいファイル名
# Count は行数。-1の時はエラー。リストコンテキストで評価した場合、第2返り値にエラーメッセージが入ります。
# 正常に取得出来たときは'OK'が返ります。
sub TotalLineNumberinFile{
my $filename = shift;
my $count;
open my $filehandle $filename or return wantarray ? (-1,$!) : -1;
$count++ while <$filehandle>;
close $filehandle;
return wantarray ? ($count,'OK') : $count;
}
0297動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/23(水) 03:53:20ID:3uL3GDNB0
index.html作成時に必要なhtmlが無ければ作るというのは変じゃないような気がする。
ほとんどの場合、必要なhtmlが無い=スレ立て直後 だろうけど。
0300root▲ ★
垢版 |
2005/11/23(水) 16:52:24ID:???0
対応したです。

347 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/23(水) 16:47:32 ID:93wvGgv70
# 051123 htmlファイルが存在しなくて、かつしばらくたっても作られない場合にのみ、
# MakeIndex4PCからMakeWorkFileを呼ぶようにする by む

operate2 でテストしました。
html/ の下をからっぽにしてからレスして、必要な html が作られなおすことを確認済み。
0301root▲ ★
垢版 |
2005/11/23(水) 17:02:15ID:???0
ちょっと、ex13でテストしてみるかな。

html/html 全消しします。< ex13
問題が出なければ成功。
0303root▲ ★
垢版 |
2005/11/23(水) 17:04:07ID:???0
大丈夫そうですね。

様子を観察中。
0304赤翡翠 ★
垢版 |
2005/11/23(水) 19:11:10ID:???0
>>285の件、先ほどメールしました。
よろしくお願いいたします。
0305root▲ ★
垢版 |
2005/11/23(水) 19:20:36ID:???0
>>304
メールざっと見ました。

主旨は、帽子の強度というか取り扱い方面に関するご相談、ということですか。
で、bbs.cgi での取り扱いにからむので、ここできいたと。

直感的に、仕様変更というか仕様追加を伴いそうな話な気がするので、
内容をよく読んでから、お返事するです。
場合によっては、別途いろんな方にご相談させていただく可能性も。

ということで。
0307桶屋
垢版 |
2005/11/24(木) 01:53:13ID:tdesbJrh0
>>265-268
どこまでやろうと考えているかはわかりませんが、
それを実際にやるときには、管理人に確認を取った方がいいと思います。
見映えやデザインが変わる恐れもありますので……。

まあ、「あいあい」だけで終わるような気もしますけど。


>>216
レスしていませんでした。興味深い話をどうもですー。
0308桶屋
垢版 |
2005/11/24(木) 01:55:17ID:tdesbJrh0
ここよりもむしろ雪だるまの話になるかもですが、
indexから見たhtml/ の下のファイルは、iframeにして埋めてしまうのはどうかと考えたことがあります。

つまり、index.htmlでは以下のようにしてしまい、スレッド順位が変わるときには"./01.html"の部分だけ書き換え。

<iframe src="./01.html" align="center" width="95%" height="90%" scrolling="auto" frameborder="0" marginwidth="0" marginheight="0">
(説明文)このページではインラインフレームを使用しています。
</iframe>
 ・
 ・
 ・
10スレッド分ほど繰り返す


メリットは、
 ・index.htmlが一気にコンパクトになって生成コストが下がる(cssにするだけより断然効果あり)
 ・前段にキャッシュを使う場合、html/ の下がヒットして稼げるかも

デメリットは、
 ・スクロールが二重に (;^ ^
 ・Netscape 4.7 など古いブラウザは、やっぱりiframeは使えない(cssの時と同じ互換性の問題)
0309桶屋
垢版 |
2005/11/24(木) 01:56:49ID:tdesbJrh0
それで、SETTING.TXTに、例えばINDEX_MODEといった新しいフラグを作っておいて、

INDEX_MODE=0 :デフォルト html/*.htmlファイルを作る。index.htmlも全部作る
INDEX_MODE=1 :html/*.htmlファイルを作る。index.htmはiframeで埋め込む
INDEX_MODE=2 :html/*.htmlファイルを作る。index.htmはサボる。今の実況板仕様
INDEX_MODE=3 :html/*.htmlファイルを作らない。index.htmはローカルルールとスレッド一覧と広告だけ


こういうのはどうですかね?(;^ ^ >SunOSさん他
0310root▲ ★
垢版 |
NGNG
>>307
> どこまでやろうと考えているかはわかりませんが、
> それを実際にやるときには、管理人に確認を取った方がいいと思います。

そうすね。

で、html/html を作るところは、まだカスタマイズの余地がありそうな肝。
例えば下の方のスレにsageでレスした時は、更新しないとか。
(今はレスしたものについては必ず作っている)
0316 ◆TWARamEjuA
垢版 |
NGNG
>>314
どっかで叩かれていたような気も。。。
ひとまず、x 演算子のオペランドが逆です(哀)

#5.003時代のものだったかな?@最新のは5.008(5.8.x)
0317◆cZfSunOs.U
垢版 |
2005/11/24(木) 21:08:18ID:g6I3uHOe0
>>267 実際に bbsd が吐く index.html を直接見るのが一番手っ取り早いかも知れません.
ただ,index.html 以外に index.css というファイルも生成するようになってまして,
これは SETTING.TXT の更新を検出するとそれに合わせて更新するようになってます.

>>308 そういう <iframe> (or <object>) の使用というのも考えたことも
あるにはあるんですが,やはりスクロール等の操作性の問題などもあると思います.
まぁ,bbsd での index.html 生成は bbs.cgi のよりは軽くなってるかと思うので,
とりあえず大筋では従来のやり方を踏襲する形でもいいかなという感じでやってます.
0318root▲ ★
垢版 |
NGNG
厨な質問をば。

if ($errmsgが10桁の数字だったら)

というのは、Perlでどう書いたらいいのかしら。
0319 ◆TWARamEjuA
垢版 |
NGNG
>>318
$errmsg =~ /\d{10}/
かなぁ。。。

$errmsg + 1 < 10000000001
なんてのも有りかな?(文字列に対してもインクリメント出来るから)
0325動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/26(土) 22:43:57ID:zBsPZFmx0
なんかエラー出たんで貼っときますね
ERROR:不明なエラーが発生しました。
(board:livejupiter key:1133001202 errmsg:No such file or directory)
このメッセージをコピペして、運用情報板で報告していただけるとありがたいです。

誘導されてきました
0327◆cZfSunOs.U
垢版 |
2005/11/27(日) 20:05:08ID:Q5XEP8aN0
>>326 それは意図的に1000までにさせてますが,1001以降も表示させた方がいいんでしょうかね?
書き込みフォームをなくすことで終了してるスレということを示すようにはしてますが......
0329動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/27(日) 20:23:12ID:xD14ZgWG0
なぜ書き込めないのか、という理由の表示として、
あった方がわかりやすいかもしれない。
状況を理解してもらうためのメッセージだし。
0332325
垢版 |
2005/11/28(月) 00:34:23ID:N5H/ccvWO
>>325って何だったんですか?
なんとなくしかわからいんで教えてください。(´・ω・)
0335root▲ ★
垢版 |
2005/11/28(月) 14:35:38ID:???0
>>334
それは確か、read.cgi だったような。

index.html は、bbs.cgiのソースを見る限りそうは見えないです。
常にdatのお尻のBBS_CONTENTS_NUMBER行を表示していたと思う。
0336どくどくさぼてん
垢版 |
2005/11/28(月) 14:50:40ID:/GNK4Si70
ありゃ、ほんとだ、、いろいろ見てみましたけど
NHK教育実況板見たら100表示されてますね、、
だけど表示されてないように見えたのは気のせいか、、
すいません、
0340root▲ ★
垢版 |
2005/11/29(火) 12:09:33ID:???0
>>339
F22で落ちた瞬間に書き込みがなされると、こうなるですね。

対策してみるか。
レスの時は、そのdatがなかったら書かない。
0341root▲ ★
垢版 |
NGNG
しかしこれは、リスクをぎりぎりまで減らすことはできても、
「ローカル雪だるま」をしない限り、なしにはできないですね。

従来のbbs.cgiでも、入り口のところでdatの存在は見ているです。
入り口ではあったのに、書くところで圧縮が入ってなくなったということで。

今の様子を見ていると、サーバ資源がどきどきしているlive系ではこの部分スルー(従来通り)で、
他ではこれ入れて、安全性を高めることにしよう。
0342 ◆SSu.zv/rvs
垢版 |
2005/11/29(火) 13:36:30ID:ATVnho5w0
10億回に一回以下の出来事になにかしてもしょうがないと思うです
ほっとけ ほっとけ
0343root▲ ★
垢版 |
2005/11/29(火) 14:09:55ID:???0
>>342
10億回すか。
まぁ、10億かどうかはともかく、レアケースであると。

# というか、想定通りの回答で。
0344root▲ ★
垢版 |
2005/11/29(火) 14:11:12ID:???0
これまで、mnewsplusとかnews4vipとかmorningcoffeeとかで、出ているですね。
所詮、特殊な板か。
0346動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/29(火) 15:45:02ID:OFgfa+aY0
いっそdatをSQL化して、.datは.htmlとかと同じように生成さぼる対象にしてはどうか。
で、read.cgiと同じパラメータ方法でdatの該当行だけとれるようにする。
そうしたらSQLのレベルで1000ロックとか排他とかできるようになりませんかね。
0347root▲ ★
垢版 |
2005/11/29(火) 16:00:52ID:???0
>>346
VIPのプロジェクトってやつですね。

あれ、どのくらい進んだのかな。
0349動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/29(火) 16:22:16ID:OFgfa+aY0
>>347
あれ?それ初耳です。数人であれこれ考えていて出てきただけなので。
もしよろしければ参考URL教えていただけませんか?

>>348
>>346の範囲だと使えなくなるのではなくて、
現行のAPI使った専ブラでは読み込みの追従が遅れるだけ。
0350◆cZfSunOs.U
垢版 |
2005/11/29(火) 16:28:16ID:GdnIox6j0
C レベルでの open() 関数呼び出し段階で

スレ立て時: O_WRONLY|O_CREAT|O_EXCL (同一名ファイルが存在すれば EEXIST)
レス追記時: O_WRONLY|O_APPEND (ファイルが存在しなければ ENOENT)

というフラグ付きで呼ばれるようにできればファイルの存在確認とオープンが
アトミックに行えるんですよね(bbsd ではそうしてます).
となると,Perl では sysopen() を使えばいいのかな......
0353root▲ ★
垢版 |
NGNG
>>348
レガシなdatとsubject.txtは、作るようですよ。< VIPのやつ

>>350
なるほど、なるほど。
で、戻り値でエラーハンドリングもすると。

ちなみに subject.txt 生成部分とかは、ワークのファイルで作って、rename() しているですね。
で、rename() でしくると、どうも500エラーになっているらしいと。

このへんも、何かうまいわざがあるように思っていたり。
flock() じゃなくて。
0354root▲ ★
垢版 |
NGNG
こうかしら。

・スレ立て時
use Fcntl;
sysopen(FH, $path, O_WRONLY|O_CREAT|O_EXCL, 0666) or &DispError2(スレ立て失敗処理);

・レス追記時
use Fcntl;
sysopen(FH, $path, O_WRONLY|O_APPEND) or &DispError2(レスができない処理);

で、index.html とか subject.txt / subback.html とかを
安全にかつうまくこなすには、どういうアイディアが考えられるのかと。
0356root▲ ★
垢版 |
NGNG
これで、うまくいったようです。

これで、datの存在チェックうんぬんのところと、
追記してクローズした後でdatをchmod 666しているところをとばせました。

Over1000処理してchmod 555datをあとから追いついて
chmod 666することがなくなったので、
より、安全にもなったはず。

# 新スレの場合、datがあったらエラー
if($GB->{NEWTHREAD})
{
sysopen(OUT, $filename, O_WRONLY|O_CREAT|O_EXCL, 0666)
or &DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
# レスの場合、datに追記できなかったらエラー
else
{
sysopen(OUT, $filename, O_WRONLY|O_APPEND, 0666)
or &DispError2($GB,"ERROR!","ERROR:レスしようとしたらdatに書けませんでした。今dat落ちしちゃったかもです。");
}
0357root▲ ★
垢版 |
NGNG
chmod 555datを => chmod 555したdatをあとから
0358root▲ ★
垢版 |
NGNG
481 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/30(水) 03:23:06 ID:vRY99gsD0 ?###
# 051130 WriteDatFile改良、sysopenを使用しより安全確実な処理に by む
0359root▲ ★
垢版 |
NGNG
When opening a file, a lock with flock(2) semantics can be obtained by
setting O_SHLOCK for a shared lock, or O_EXLOCK for an exclusive lock.
If creating a file with O_CREAT, the request for the lock will never fail
(provided that the underlying file system supports locking).

ふむ、、、。

しかし、どうなんだろう。
0360root▲ ★
垢版 |
NGNG
これは、index.html / subject.txt / subback.html i/index.html(qb5とbbspinkのみ)
といったファイルの話です。

今は、
index.html subject.txt … 一時ファイル(*1)を作ってそっちで作り、それをrename
subback.html i/index.html … ロックなしでいきなり本ファイル作成(カミカゼ状態)

に、なっているです。

で、animeサーバやmorningcoffee、news4vipなど、たくさんの書き込みがあるところで、
かつlive系と違ってスレ数が多くてファイル生成にコストがかかるところを中心に、
上記の一時ファイルがだんだんと溜まっていき、
例えばanimeサーバではメモリディスクを圧迫していき、何回か破綻状態になりました。

で、このへんをなんとかできると、こういったことも減るんじゃないかなと。

上のほうでもおじさんが書いていたような気がしますが、
まずはopenやsysopenのエラーチェックをまじめにやるべきなのかもですね。
0361root▲ ★
垢版 |
NGNG
あとは、renameでやる手法でやる時の、最後のrenameのところをどうするかか。
今は、こんな処理をしているですね。

my $resuc = 0;
until($resuc)
{
$resuc = rename($subtemp, $subject);
}

これだと、何らかの形でrenameが失敗し続けると、ブロックしてしまうような。

…といったところで、今日はここまでか。

http://qb5.2ch.net/test/read.cgi/operate/1130482779/248
は、またあとで。
0362 ◆TWARamEjuA
垢版 |
NGNG
my $rename_status = eval {
 for (1..10){
  rename($subtemp, $subject) and return 0;
 }
 return $!;
}
if (defined $rename_status) {
 &DispError2($GB,"ERROR!","ERROR:subject.txtは変更出来ませんでした。($rename_status)")
}

こんなかんじかな?
0363◆cZfSunOs.U
垢版 |
2005/11/30(水) 08:23:38ID:0+e07y/o0
>>355 乙です.
>2番目のにも、0666 が必要すね。

mode (0666) が反映されるのはファイル作成時だけなので,
単に追記するだけなら不要です(指定しても実害はないでしょうが).


で subject.txt 等の更新処理ですが,ロックなしだと例えば

bbs.cgi-1: subject.txt 読み込み
bbs.cgi-2: subject.txt 読み込み
bbs.cgi-1: 1111111111.dat レス数インクリメント
bbs.cgi-2: 1111111112.dat レス数インクリメント
bbs.cgi-1: subject.txt.1 に書き出し
bbs.cgi-2: subject.txt.2 に書き出し
bbs.cgi-1: subject.txt.1 -> subject.txt にリネーム
bbs.cgi-2: subject.txt.2 -> subject.txt にリネーム

のようになると「1111111111.dat レス数インクリメント」は反映されなく
なってしまいますね.これならいっそのこと,一時ファイル名は固定にして
O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
スキップするようにしてしまってもいいかも知れません.

きっちりやるとしたら,やはりロックせざるを得ないでしょう.
ちなみに,bbsd ではファイルロックより軽い mutex で排他制御してます.
# もっとも,この前の負荷試験では mutex の保護下でやってるのに
# 1000 越え発生という奇妙な現象も起こってしまったので,
# その点は要観察なわけですが......
0364root▲ ★
垢版 |
NGNG
>>362
そんなようなことを考えていたです。
ただ、エラーにするんじゃなくて、たぶん単にあきらめて一時ファイル消して次に行くかんじで。
(新スレの時はもうちょっといい加減じゃないほうがいいかもですが)

>>363
> のようになると「1111111111.dat レス数インクリメント」は反映されなく
> なってしまいますね.

そですね。
いわゆる「不可視スレ」ができちゃうのも、同じ原因だとにらんでいるです。
news4vip morningcoffee newsplus とかで起きやすいことも、それを裏付けているかんじで。

> これならいっそのこと,一時ファイル名は固定にして
> O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
> スキップするようにしてしまってもいいかも知れません.

これ、直感的にはよさげな気がしますが、
いきなり全サーバに入れるのは、ちとどきどきするですね。
ex11 ex14 anime ぐらいで、ちょっと試したいなと。

あと固定にするとしても、新スレの時とレスの時では、
一時ファイル名として別のを用意したほうがいいような肝するです。

なんてことを、だらだらと。
0365 ◆SSu.zv/rvs
垢版 |
2005/11/30(水) 13:14:38ID:SZP7bktD0
追い越しのことだけは忘れないでくださいネ
0366root▲ ★
垢版 |
NGNG
>>363
> ちなみに,bbsd ではファイルロックより軽い mutex で排他制御してます.

CPANしてみると、Win32::Mutex というのしかなさげですね。ううむ。
0367 ◆SSu.zv/rvs
垢版 |
2005/11/30(水) 13:42:21ID:SZP7bktD0
流れとしては

1) あんま排他とか考えない太古代 (2001)
2) 排他しまくりで壊れない中生代 (2002-)
3) 排他なんてやってる余裕なし、壊れてもok の戦国時代 (2004-)

となっています。
わざわざ、排他は全部はずしたのだー
0368 ◆SSu.zv/rvs
垢版 |
2005/11/30(水) 13:44:55ID:SZP7bktD0
簡単に言えば排他等を組み込んでコスト(お金)を払うのもひとつの戦術ではあるけど、
それによって負荷増大、キャパシティ減少になったとき
それをやめて現状復帰が容易なようなコーディングを切に希望
0369root▲ ★
垢版 |
NGNG
>>367
はい、知っているです。
bbs.cgiにばっちり、コメントで残っているですね。

3) は、live8 とともに私もリアルタイムで経験したです。
で、そろそろ世代交替を狙っているということすね。

雪だるまのほうは、こうなったのかな。

4) コストの低い排他制御で、スマートにこなす現代(2005-)

従来バージョンのほうは、2006年かなぁと。
0370root▲ ★
垢版 |
NGNG
>>368 には、とても同意するです。

ようは「そんなに排他して(コストかけて)、いったい何を守るの?」っていうのを
忘れないようにしないといかんと。
0371root▲ ★
垢版 |
NGNG
で、flockでやる方法は「いやーんばかーん」なわけで、
もうちょっと「はやいうまいやすい」方法は、ないもんかなと。
0372 ◆SSu.zv/rvs
垢版 |
2005/11/30(水) 13:51:31ID:SZP7bktD0
あと 大きな流れとしては「雪だるま」に全部置き換え、
と思っているんで、旧世代の捨て去られる bbs.cg の面倒見ても
意味内科と、
0375root▲ ★
垢版 |
2005/11/30(水) 23:37:23ID:???0
>>374
「過去ログ倉庫はこちら」のところの話かしら。
0378root▲ ★
垢版 |
NGNG
リネーム部分 改良案

#############################################################################
# ファイルのリネームを行う
# 入力: $src、$dst
# 戻り値: 0またはエラーメッセージ
#############################################################################
sub TryRename
{
my ($src, $dst) = @_;
my $status = undef;
my $count = 100;
my $debug = 0;

# ex11で実験することにする
# 他サーバには、うまくいったら入れよう
if($ENV{'SERVER_NAME'} =~ /ex11/)
{
$debug = 1;
}

# 100回、renameを試行してみる
for (1..$count)
{
rename($src, $dst) and return 0;
}
# だめだったらステータスを保存する
$status = $!;

# デバッグしている時は、ユーザの画面にその旨表示する
if($debug)
{
print "bbs.cgiデバッグ中。。。<br>\n";
print "renameに失敗しましたが、そのまま処理を続けます。<br>\n";
print "($src)($dst)($status)<br>\n";
print "<br>\n";
print "このメッセージをコピペして、運用情報板の以下のスレッドに報告していただけるとありがたいです。<br>\n";
print "<br>\n";
print "bbs.cgi再開発プロジェクト7<br>\n";
print "<a href=\"http://qb5.2ch.net/test/read.cgi/operate/1130918407/\">http://qb5.2ch.net/test/read.cgi/operate/1130918407/l50<;/a><br>\n";
print "<br>\n";
}
# デバッグしてない時は、ゴミファイルを消す
else
{
unlink($src);
}

return $status;
}
0379root▲ ★
垢版 |
NGNG
これに対応したbbs.cgiを、ex11に入れてみよう。

で、1日動かしてみると。
0380root▲ ★
垢版 |
NGNG
ex11に入れてみた。
狼のスレに、お知らせしてこよう。

これでまずは、現状把握と。
うまくいけば、おじさんが手で消している一時ファイル消去の頻度が、減るかも、かも。
0381root▲ ★
垢版 |
2005/12/01(木) 02:58:07ID:???0
問題なさそうなので、一番ゴミファイルが残っているanimeサーバにも入れてみた。>>380

というわけで、おやすみなさい。
0382root▲ ★
垢版 |
2005/12/01(木) 11:23:40ID:???0
中間報告
・animeサーバは、切り替えて以降500エラーはなしでした。
・ex11は、出ているようです。

メッセージが悪さしているかもしれないので、
ex11でも、画面にメッセージが出ないようにしてみた。
試験継続で。
0383root▲ ★
垢版 |
2005/12/01(木) 11:24:35ID:???0
なお、rename試行回数を100回から1000回にしてみた。< ex11
0384root▲ ★
垢版 |
2005/12/01(木) 13:00:18ID:???0
だらだらと観察中。

-rw-rw-rw- 1 ch2ex11 ch2 16384 Nov 30 18:54 237491133170255.tmps
-rw-rw-rw- 1 ch2ex11 ch2 32768 Nov 30 19:41 252251133408443.tmps
-rw-rw-rw- 1 ch2ex11 ch2 0 Nov 30 18:33 443801133404390.tmp

ううむ、きりのいい数字が。
このへんにヒントがあるのかもね。
0385root▲ ★
垢版 |
2005/12/01(木) 14:08:05ID:???0
banana723.maido3.com から、アクセスがあるようです。
どこか、臭いかいでいる板があるのかも。

banana723.maido3.com のDNSキャッシュも、リスタートいただけますか。
他には、2ch内部からのアクセスはないようです。
0388root▲ ★
垢版 |
2005/12/01(木) 14:13:51ID:???0
>>387
いんどる = 誤爆する

です。
わかりにくくて、ごめんなさい。
0389root▲ ★
垢版 |
2005/12/01(木) 14:16:26ID:???0
ということで、リスタート自体は必要になります。
よろしくお願いいたします。
0390 ◆SSu.zv/rvs
垢版 |
2005/12/01(木) 14:16:52ID:HU0C966k0
ということは、リスタートが要るのね
0391動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/01(木) 17:55:08ID:L5aUvDTn0
すいません

前スレでも検討中だった2ch規約承諾問題ですが、まだ

> 消費者契約法上、確認を取ってクッキーを発行するのならば契約の成立の主張を主張するのならば分かるが、確認取る前の表示の段階でクッキーを発行しているんだぜ。
> パンフ送れば申し込まなくても契約成立みたいな感じ。
>
> 当然、俺はこの書き込みの著作権を主張するし、2chに2ch以外での著作権の複製権があるなんて俺は今でも認めていない。
>
> 匿名組合との契約書で、契約書を貰った段階で申し込みを止めたら契約は不成立だよな。
> 2chのクッキーの発行のタイミングがおかしいんだよ。確認画面を表示したら契約成立って考えだろ。
> そんな訳ないじゃん。
ttp://live19.2ch.net/test/read.cgi/stock/1131996799/501

こんなたわけた理屈を言っているコテハンがいますので、何とか対処のほどよろしくお願いします。
0392 ◆SSu.zv/rvs
垢版 |
2005/12/01(木) 17:55:54ID:ETiz99/V0
いえいえ
どういたしまして。
0393root▲ ★
垢版 |
2005/12/01(木) 21:44:42ID:???0
animeサーバは、全くゴミファイルが出なかったようです。

%ls */*.tmp
ls: No match.
%ls */*.tmps
ls: No match.

狼はまだ出ています(減った気がするけど)。

%ls */*.tmp
morningcoffee/443801133404390.tmp morningcoffee/830051104688508.tmp
%ls */*.tmps
morningcoffee/131501133424226.tmps morningcoffee/593171133422110.tmps
morningcoffee/192241133416590.tmps morningcoffee/626701133426337.tmps
morningcoffee/237491133170255.tmps morningcoffee/725821133439300.tmps
morningcoffee/252251133408443.tmps morningcoffee/832991133434947.tmps
morningcoffee/322941133409115.tmps morningcoffee/960071133431171.tmps
morningcoffee/364681133435025.tmps

上記のすべてのファイルが16384の倍数(0倍も含む)なので、
ひょっとすると、printが異常終了している、、、のかも。
0394root▲ ★
垢版 |
2005/12/01(木) 21:45:39ID:???0
ちなみに現在は、ex11でもごみファイルを消すようにしています。(>>378 について)
0395root▲ ★
垢版 |
2005/12/01(木) 21:46:07ID:???0
ごみファイルを消す => renameに失敗したらごみファイルを消す
0397 ◆TWARamEjuA
垢版 |
NGNG
unlink($src) while -f $src;
してみるとか?

Rock54方面で、わざわざこんなことした覚えがあるです。。。@FreeBSDだとちゃんと消してくれないようなふいんき?
0398root▲ ★
垢版 |
2005/12/01(木) 22:39:56ID:???0
>>397
えっと、renameしても元が消えないってことですか。
0399 ◆TWARamEjuA
垢版 |
NGNG
>>398
あっと、renameではなくってunlinkの方です。。。

あと気になるのは未だにRock54/BBQの起動スクリプトがちゃんと終了せずにzombieになっちゃうことかなぁ。@cron起動の時だけ
0400root▲ ★
垢版 |
2005/12/01(木) 22:59:45ID:???0
>>399
まじですか。
unlink1回したんじゃ消えないことがあるってことすか。うーむ。

>>397 は偶発的な事象により無限ループに陥る可能性のあるコードなので、
例によって for 文回し(>>378 参照)にしようかと。
0402動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/02(金) 02:30:03ID:lGChLQf70
もう報告して下さいは終わりですか@ex11

--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------

書き込みは反映されてます
0403root▲ ★
垢版 |
2005/12/02(金) 02:58:21ID:???0
>>402
どもです。終わってないっす。

やっぱり、dat追記後の後半の処理でエラーということですか。
0404root▲ ★
垢版 |
NGNG
animeサーバで2日ぐらい動かしてみたけど、とりあえずゴミは残っていなかったので、
今よりもコストが上がらない範囲ということで、>>378 のデバッグ部分を取ったものを入れてみた。

やっぱ、unlinkしてもunlinkされないからそこまでチェックするってのは
あまりにもあれだし、コストも無駄そうな気がするし。
0406root▲ ★
垢版 |
2005/12/03(土) 13:15:37ID:???0
>>405
read.cgi というか、サーバの設定ですね(対応したです)。
0409root▲ ★
垢版 |
NGNG
# 051207 ItabetsuSpecialサブルーチン化、板別の特殊処理
# ProcessMaru サブルーチン化(●のプロセス部分)、
# NanashiProcess => NanashiReplace4Heaven 名称変更
# ProcessNanashi サブルーチン化(名無し補完処理)
# FormInfoCheck サブルーチン化(フォーム情報のチェック)
# これでbbs_mainからのサブルーチン化は概ね終了のはず by む

http://qb6.2ch.net/test/read.cgi/operate2/1131481715/508

>408
これ、どんなものなんでしょか。
0410root▲ ★
垢版 |
NGNG
クリーンナップが一段落したので、久しぶりに、プロファイリングしてみた。
qb6で●なしBEありで、sageでレス。

予想通り、index.html を作るところが一番重かった。
IsKoukokuは、相対的に相当軽くなっている(DBのSJIS化等が効果発揮と思われ)。

これがbbs.cgiからまるごとなくなるんだから、雪だるまはやはり効果絶大ということで。

%dprofpp tmon.out
Total Elapsed Time = 0.687158 Seconds
User+System Time = 0.410596 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
24.3 0.100 0.136 1 0.1005 0.1356 main::MakeIndex4PC
9.50 0.039 0.265 1 0.0389 0.2646 main::bbs_entryXXX
9.50 0.039 0.163 30 0.0013 0.0054 main::BEGIN
5.60 0.023 0.023 1 0.0234 0.0234 main::IsKoukoku
5.60 0.023 0.023 20 0.0012 0.0012 main::GetDatInfo
5.60 0.023 0.022 10 0.0023 0.0022 LWP::UserAgent::BEGIN
3.90 0.016 0.016 1 0.0156 0.0156 Net::HTTP::Methods::my_read
3.90 0.016 0.015 74 0.0002 0.0002 main::PutLines
3.90 0.016 0.015 2 0.0078 0.0076 URI::implementor
3.90 0.016 0.052 3 0.0052 0.0174 Net::DNS::Resolver::UNIX::BEGIN
3.90 0.016 0.037 11 0.0014 0.0033 Net::DNS::Resolver::Base::BEGIN
3.65 0.015 0.020 1 0.0150 0.0198 main::initFOX
3.65 0.015 0.028 21 0.0007 0.0013 main::MakeWorkFile
1.95 0.008 0.007 72 0.0001 0.0001 strict::bits
1.95 0.008 0.008 1 0.0078 0.0078 DynaLoader::dl_findfile
0411動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/08(木) 16:28:32ID:sF2I17Rs0
報告いる?いらなきゃスルーで

--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------

書き込み反映されてました
0412動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/08(木) 20:06:47ID:sF2I17Rs0
せっかくだからもう一回

--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------

書き込み反映されてなかった
0413root▲ ★
垢版 |
2005/12/09(金) 15:04:00ID:???0
>>411-412
えっとえっと、
どの板で、できればどのスレで起きたかも、
教えていただけると。
0416 ◆TWARamEjuA
垢版 |
NGNG
>>415
旧式bbs.cgiのように継ぎ接ぎだらけのようなのでかなりオススメ出来ないです(w
0419root▲ ★
垢版 |
NGNG
またしても、ご相談です。

Perlで、結果が返ってこなくてもブロックしないgethostbyaddr()をするには、
どうしたらいいんでしょうか。

SpeedyCGI前提なので、alermするのはなしで。

BBx のところみたいにNet::DNS 使う?
それとも、何かほかにもっとうまい方法があるのかしら。
0420動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/14(水) 17:27:59ID:J3Y/UqxK0
某所のやつで・・・
$ip_address = "219.101.194.170";
@addr = split(/\./, $ip_address);
$packed_addr = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
print $name."\n";
反応無し orz


>>419
ブロックって?

0421動け動けウゴウゴ2ちゃんねる
垢版 |
2005/12/14(水) 17:28:57ID:ph7PVQZB0
そういやSpeedyCGIを使った方のソースって配布してないのか?
>>419
if文を使って、結果が返ってこなかったらスルーするような関数を作っちゃったらどうよ
0422root▲ ★
垢版 |
NGNG
>>420
DNSが死んだり相手側の設定が悪かったりすると、

> ($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);

ここで結果が返ってこなくて、待たされちゃうわけです。
つまり、ここで止まっちゃうと。

例えば、5秒待って結果が来なかったらあきらめて、
次の行にいってほしいわけです。

>>421
管理人の方針により、bbs.cgiのソースは非公開で。
0426root▲ ★
垢版 |
NGNG
いや、Net::DNS 使えばできるのはわかってるんですが、
手抜きしちゃおうかなとか思っただけです。

ぼちぼち、Net::DNS使う方法に変えるです。
0429root▲ ★
垢版 |
2005/12/14(水) 19:16:18ID:???0
>>428
そのページは前からあるのを知っていて、
その問題がないバージョンを入れてあるわけですが、
それでもどうも、うまく動かないみたいです。

で、alermでやるのは全面的にやめているはず。
0430 ◆TWARamEjuA
垢版 |
NGNG
TimeOutを設定したいとなるとやはりNet::DNSが良いかと思うのですです♪@udp_timeout
0431◆cZfSunOs.U
垢版 |
2005/12/15(木) 00:18:17ID:p57+vtBb0
gethostby*() と同じような感覚で使える Net::DNS 用のラッパ関数を作るとか.
0435root▲ ★
垢版 |
NGNG
リモホの逆引きで、すくんでいるなぁ。< 一部サーバ

このへんも、ぼちぼちってかんじかなと。
0436root▲ ★
垢版 |
NGNG
BBS.CGI - 2006/01/11

650 名前: ◆MUMUMUhnYI [sage] 投稿日:2006/01/11(水) 16:47:41.95 ID:lEMnCwRm0 ?
# 060111 トラックバックで受け取ったものから \r を除去するコードを追加 by む
0438root▲ ★
垢版 |
2006/01/12(木) 02:09:32ID:???0
>>437
そうなっていたです。
(通常のフォームを読むところは、ちゃんとCRも除去している)
0440root▲ ★
垢版 |
NGNG
>>439
微妙にbbs.cgiスレじゃない気がするんで、特化型スレでやるです。

前に試した時は、softupdatesのほうがasyncよりも好成績という
ちょっと意外な結果が出たのです。
0441root▲ ★
垢版 |
NGNG
660 名前: ◆MUMUMUhnYI [sage] 投稿日:2006/01/13(金) 02:13:28.46 ID:ERBncrZx0 ?
# 060113 トラックバックの時は★でもIDが出るように(060107で入った虫の修正)
# トラックバックでもSamba24/Rock54/BBQを有効に(機能追加) by む
0445動け動けウゴウゴ2ちゃんねる
垢版 |
2006/01/17(火) 11:30:18ID:MosUnkCa0
bbs.cgi を、スレッド毎のワーカプロセス化したら
排他処理周りが一気に楽になるんでね?
と思った折れであった。

実況系ではてきめん効きそうだけど
爆撃系には弱くなりそ。
0446root▲ ★
垢版 |
2006/01/17(火) 18:52:26ID:???0
>>445
雪だるまで使っているbbsdって、まさにその思想だったりするですね。
で、期待通りに絶大な効果を発揮したわけですが、
どうもOS(FreeBSD)のマルチスレッド周りに難ありのようで、
現在シングルプロセスシングルスレッドで動作。

でも、これまでの数倍はパフォーマンスよくなったです。
0448 ◆SSu.zv/rvs
垢版 |
2006/01/17(火) 19:13:19ID:m1/bpA6W0
>>445
台数も数倍つかっているから、、

なかなか評価が難しいんですが、
限界性能をしりたいなぁというとこですかねぇ
0452root▲ ★
垢版 |
NGNG
あとで、VIP931のところを確認してみるか。
あと、BBEのところも気になるかも。

とメモメモ。
0453root▲ ★
垢版 |
NGNG
>>452
vip931 のところは、取れなければ臭くないことにするというコードを追加した(はず)。

BBEのところは、まだ。
0454root▲ ★
垢版 |
NGNG
BBEのところ見てみた。
タイムアウト処理は入っている(ありのサブルーチン呼んでいる)ですね。
これなら、すぐに対応しなくても(とりあえず)いいかなと。

頻度が上がってくれば他のBBx同様、非常呼び出しストッパーを組み込む感じで。
0456root▲ ★
垢版 |
NGNG
>>455
これって例の、ascii2d (だっけ)で出回っていたやつの亜種ですか。

つまりリモートからbbs.cgi叩いて投稿すると。
で、いわゆるRockにかからないようなパターンで来ると。
0457動け動けウゴウゴ2ちゃんねる
垢版 |
2006/02/24(金) 23:56:45ID:7wctNf8T0
★051211 半角二次元板ゴミクズ溜まり場報告スレ 2
ttp://qb5.2ch.net/test/read.cgi/sec2chd/1134697413/l50

これ関連のやつですな〜
0458無外流削除宿酔 ★
垢版 |
2006/02/25(土) 00:18:31ID:???0
>>456
スレタイトルや名無しの変更などに、こまめに亜種作って対抗されているような気がします。
0459root▲ ★
垢版 |
NGNG
>>458
つまりいわゆる「いたち」だと。

それはたぶん、bbs.cgi で対応してもそうなるということかも。
0461c⌒っミ `Д)っφ ◆CaKkuEV3EI
垢版 |
NGNG
>>460
専用スレでぁゃιぃファイルの情報を集めて解析していただいたりアンチウイルスベンダーに送ったり、
ぁゃιぃファイルを踏まないように啓蒙したほうがいいと思います。
0462無外流削除宿酔 ★
垢版 |
2006/02/25(土) 00:37:41ID:???0
作者を呪うくらいしか出来ないか。

亜種を簡単に作れるって事は、遠くない将来、全板規模で。。。。
0463root▲ ★
垢版 |
NGNG
>>462
仮にそうなったら、またみんなで踊るしかないかなと。
0466動け動けウゴウゴ2ちゃんねる
垢版 |
2006/02/25(土) 01:59:07ID:BSM/CNZS0
いや、名前欄と内容は、ある程度のパターンをランダムに書いてるんじゃないかな。
同一IDで一時間以内に違う名前欄、内容で書き込みがある。
0467AirRock ★
垢版 |
2006/02/25(土) 02:17:55ID:???0
>462
広告マルチポストの方でそれらしき投稿が2種類観測されていたり,,です。
0468水色@飛行石 ★
垢版 |
2006/02/25(土) 18:00:30ID:???0
一部をRockしてますー。止めることは目的にしてませんがー。

文字バラバラのランダムのと、複数行書いてるのは同じウィルス
スクリプトですねー。ホストが同じものを並べてみるとわかるんですがー。

感染してるホストは100台なんてもんじゃないと思いますー。
Rockされてるのは一部ですがー、それでもホスト情報は100個をとっくに
越えてる気がしますー。

あとはー、トロイの木馬よろしく、作成者が端末に修正版を送り込めるのかもー。
でないと、同時にあの数に感染させたりは無理ですしー。
亜種が新たに配布されてるんじゃなくてー、そこまでやってる可能性大ですー。

もしその推測が当たってるとすると、かなり周到に準備して感染端末
増やしてたんでしょうねー。おそろしやー。

小手先の対応じゃなく、感染端末を地道に潰していくしかないようなー。
けど、プロバイダが協力してくれるかなー。
0469水色@飛行石 ★
垢版 |
2006/02/25(土) 18:03:28ID:???0
まー、地道にBBQしていくという手もありますけどねー。

何割かは固定か半でしょうからー、それで止まるものもあるかもー。
ホストが切り替わっちゃうものは対処無しですがー。
0472無外流削除宿酔 ★
垢版 |
2006/02/25(土) 19:07:44ID:???0
爆撃がとまっているスレに削除かけると、次の瞬間から爆撃が再開されますね。
(特定のIDでは無い)
手の込んだ事しやがる。
0475無外流削除宿酔 ★
垢版 |
2006/02/25(土) 21:27:58ID:???0
いんや。
複数のスレッド&他の人の処理も確認したけど、削除直後にコピペの書き込みが始まるみたい。
0477
垢版 |
2006/02/26(日) 14:58:59ID:jNyX+bV/0
0478 [―{}@{}@{}-] stream ◆PNstream2s
垢版 |
2006/03/01(水) 11:37:21ID:mbWxcgQa0
2chから書き込みする人のDNS逆引きがタイムアウトすると500 Internal Server Error になって書き込めないっぽいです。
500が返ってくるまでかなりの時間がかかるので500になってるのはなかなか気付かないけど。
0479root▲ ★
垢版 |
2006/03/01(水) 13:08:02ID:???0
>>478
ですね。

普通に gethostbyaddr() してるからと。(>>419 あたりから)
0480動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/06(月) 17:12:28ID:zz/FGJqv0
本文の量に最低ラインを設けたら(3行とか64バイトとか)
負荷はどうなるんだろとかふと思った。
人間に入力の手間をかけさせる負荷分散?
0481root▲ ★
垢版 |
NGNG
>>480
上限じゃなくて(これは既にある)下限を設けるということですか。

できなくはない気がするけど、そうしたい理由は何だろうなと。
0482動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/06(月) 17:41:23ID:arkohUGE0
実況とか祭りの発端とかでの「きた」だけで数百レス、みたいな状況を回避しやすくなるとか。
それ以上の効果は望めないだろうけど……。
0483root▲ ★
垢版 |
NGNG
仮にそういう機能入れても、
live2ch とかに自動的に食う行を保管する機能が入るだけの予感が。
0484root▲ ★
垢版 |
NGNG
ありゃ、変換むちゃむちゃ。

空行を補完で。
0487480
垢版 |
2006/03/07(火) 15:02:25ID:pIz9t1pX0
>>481
理由は>>482そのままです。
でも結局>>483のいたちごっこで終わるんだろうなぁ。
まぁなかったことにしてください。
0488root▲ ★
垢版 |
NGNG
# 060320 携帯用ブラウザ(携帯側IPアドレスと固有情報を正しくくれるもの)に対応
# IDの種は固有情報、各種規制にはIDの種を使用、BBM/BBNを参照
# 識別マークは Q (新設) by む

まずは qb5 に。
これで、試してもらうと。
0492動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/30(木) 07:19:11ID:Zqd5sOFo0
2chに投稿するときに「管理者」に著作権が帰属することに同意するっていう表現があるけど
掲示板の規制(アクセス規制)やperlスクリプト作成に携わっていることも「管理」のうちといえるので
FOXあたりは、ひろゆきに「電車男」の印税を(一部)請求することは法理論上は可能みたい

もし、ひろゆきが請求されたくなかったら、借りるサーバー会社を分散させるなどして対処することだな
0493動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/30(木) 07:22:17ID:wFXxYUYW0
法律上は著作権の時効は、著作権者が死んでから50年だから、けっこう長い
0495動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/30(木) 08:33:28ID:t9bEeW0c0
なぜ?
0496動け動けウゴウゴ2ちゃんねる
垢版 |
2006/03/30(木) 17:39:03ID:zvBpulp10
>>495
アクセス規制で負荷を減らすよりも
表示できるレス数を50〜100レス程度に制限したほうが負荷は減ると思う
0498 ◆KONAN/fu2I
垢版 |
NGNG
今何かいじってまつ?

投稿日:2006/03/32(土)

pc8鯖で確認でつ (・∀・)ニヤニヤ
0502動け動けウゴウゴ2ちゃんねる
垢版 |
NGNG
>>501
乙。
bbs.cgiの再開発に全力を尽くそうジャマイカ
0503動け動けウゴウゴ2ちゃんねる
垢版 |
2006/04/05(水) 15:39:43ID:+JQfVRYy0

13名不動明王乙!
0504動け動けウゴウゴ2ちゃんねる
垢版 |
2006/04/10(月) 02:27:50ID:GqAd0tQ50
ふと思ったんだが、
書き込み前に「書き込みキー」を入力させるようにしたらどうよ。
「書き込みキー」は、定期的に画像形式で提供(板看板につけるとか)
bbs.cgiの変更は簡単だけど、専ブラ修正はきついか・・・
(携帯からの書き込みが大変そうだ・・・)

その前にスレ違いだな
0507動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 12:17:13ID:usWGBQsV0
一応こちらに転送しておきましょう
回線スレのほうがいいかもしれないけど

質問・雑談スレ223@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1147877903/605

605 名前:ひろゆき[] 投稿日:2006/05/27(土) 12:05:31 ID:i3Z0R8NC0 ?#
bbs.cgiって普通に上書きしちゃっていいんでしたっけ?

0509ちょろ ★
垢版 |
2006/05/27(土) 16:31:03ID:???0
http://qb5.2ch.net/test/read.cgi/operate/1147877903/623
 623 :ひろゆき:2006/05/27(土) 12:31:01 ID:i3Z0R8NC0 ?#
 規約変更とクッキーの確認の徹底。

ということは、携帯からの投稿でも確認を徹底させるという作戦が
あるのですが、その方向で動いて行くということで、
0510root▲ ★
垢版 |
NGNG
>>509
そうですね。それは既に裏方面の規定路線と。

たぶんですが、固有番号と紐付けするかんじなのかなとか。
0513ちょろ ★
垢版 |
2006/05/27(土) 16:47:31ID:???0
いつか来る日が来たって事で、
以前にVIPとかでテストして駄目だしはしておいたはずです < 専ブラのくっきー
0514root▲ ★
垢版 |
NGNG
>>513
ですね。

ただ、今回そうはなっていないという噂も。
0515ちょろ ★
垢版 |
2006/05/27(土) 16:51:59ID:???0
そのうち落ち着くところに落ち着くでしょう、きっと。
0519root▲ ★
垢版 |
NGNG
クッキーを食う・送る部分の仕様は、
前のものに戻るというか、さらに変更される可能性が大です。
0520名無しさん
垢版 |
2006/05/27(土) 17:05:55ID:lHSYPEbI0
試してみた。
クッキー送らなくても書けました。
0521動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 18:04:03ID:1a+UUe2J0
472 名前:動け動けウゴウゴ2ちゃんねる[sage] 投稿日:2006/05/27(土) 18:00:21 ID:OAMS9SRA0
クッキーって、bbs.cgi から吐き出されるクッキー確認にくっついているものを、
そのまま返せば良いんですよね?

475 名前:ひろゆき[] 投稿日:2006/05/27(土) 18:02:44 ID:i3Z0R8NC0 ?#
>>472
クッキーじゃなくて、formの内容をPOSTしてもらえると。
0523root▲ ★
垢版 |
NGNG
質問・雑談スレ224@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1148709150/581

581 名前:root▲ ★[sage] 投稿日:2006/05/27(土) 19:12:54 ID:???0 ?#
なかなか、難しいですね。

>>545 なわけですが、
はじめから(2)のformを送りつけられると、
クッキーがなくても書けてしまうわけです。

なんかねぇ。
0525root▲ ★
垢版 |
NGNG
どうやるのがいいのかしらね。

通常のIE等で書き込みをする場合、こういうフローになるわけです。

(これまで)

1回目の bbs.cgi

・クッキー持っていない

=> 投稿確認画面が出る

2回目の bbs.cgi

・クッキーを持っている

=> 書き込める
0527root▲ ★
垢版 |
NGNG
(今の、管理人が書いたアルゴリズム)
(IEで画面遷移どおりに書くことを想定)

1回目の bbs.cgi

・クッキー持っていない
・呪文を唱えていない

=> 投稿確認画面が出る

2回目の bbs.cgi

・クッキー持っていない
・呪文を唱えている

=> 書き込める
0528stream ◆PNstream2s
垢版 |
2006/05/27(土) 20:11:00ID:R90XRidn0
そもそもCookieの必要性とはなんなのかという疑問はありますが。

「規約に同意しなければクッキーを覚えない」かつ「クッキーがなければ書き込めない」
を実装するなら、今まで2段階だったのを、3段階にして、

1段階目 規約に同意するかどうか <input type=hidden name=hana value=mogera>
2段階目 書き込み確認 Set-Cookie
3段階目 書き込みました

にすればいいのでは。
0529stream ◆PNstream2s
垢版 |
2006/05/27(土) 20:16:15ID:R90XRidn0
んでこれだと2chブラウザは最初から
hana=mogera を送信するだろうから規約画面は見ないわけですが

たとえばOpenJaneとその派生はもともと、規約画面は自動的に同意しちゃっています。
そういうことを考えると、別にこれでもいいかなと思います。
0530root▲ ★
垢版 |
NGNG
クッキーをチェックする bbs.cgi を qb5/qb6 に入れた。
しかし、超暫定版。

問題なさげなら、配布で。
0531root▲ ★
垢版 |
NGNG
>>528
なるほど、3段階ですか。

悪くないアイディアかも。というか、本筋に近そうですね。
クッキー握っていれば、2段階目はスキップと。

引越しのごたごたが終わったら、考えてみるです。
0533root▲ ★
垢版 |
NGNG
>>532
ループ問題をクリアしたものだけが、このテストに参加できますです。
0534root▲ ★
垢版 |
NGNG
つまり、

・ループバージョンのbbs.cgiは、クッキーチェックがスキップになってしまう

・クッキーチェックを別途追加

という流れです。

従来通りにクッキーを送っている専用ブラウザなら、
対応版を使っていて、かつもらったクッキーを送ってもらえるなら、
qb5 ではエラーにはならないはず。
0536root▲ ★
垢版 |
NGNG
一点。

質問・雑談スレ224@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1148709150/699

699 名前:ノtasukeruyo ◆TWARamEjuA [sage] 投稿日:2006/05/27(土) 21:01:52 ID:4mMa4nT80 ?#
>>673
Set-cookies: で吐き出した物そのものかと?
--------------------------------------------------------------------------------
Monazilla/1.00 MAKA/1.0b

これですが、

bbs.cgi で Set-Cookie: する
そのクッキーを食ったかどうか、*そのbbs.cgiで*チェックする

なんていうこと、できるのかしら。

次の bbs.cgi ならできる(今までのもの)わけですが、、、。

できるなら、いい方法が知りたいです。
0537root▲ ★
垢版 |
NGNG
で、これが大変だと思うので、>>528 がいいかなとか思ったりするわけです。

今までのルーチン(2と3)に、1を追加する感じで。
0538ひろゆき
垢版 |
NGNG
>bbs.cgi で Set-Cookie: する
そのクッキーを食ったかどうか、*そのbbs.cgiで*チェックする

必ず食うんだったら、チェックする必要ないような。。
0539root▲ ★
垢版 |
NGNG
で、手段が先んじるといけないので、目的を先に書いておくと、

管理人は、投稿確認画面から承諾しないで、
ブラウザでバックして、次に再度書き込むことで、
投稿確認画面をスキップできてしまうことを、不満に思っているわけです。

で、これを防ぐために、
投稿確認画面のフォームに、ちょっとした呪文を入れた。
で、この呪文がないと、書けなくしたわけです。

この副作用で現在、クッキーがなくても
呪文さえ唱えれば、投稿できる状態になっていると。
0541root▲ ★
垢版 |
NGNG
>>538
つまり、クッキーのチェックは不要ということなのかしら。
0542動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 21:13:13ID:k8Ji/vKh0
>>528の対応だと、えーと。

今回ハナモゲラを送信するようになった専用ブラウザたち
→昨日までと同じ感じで、クッキー確認が出てから書き込むようになる。

まだ更新前の専用ブラウザたち
→書き込めない(クッキー確認ループになる)

IEなど普通のブラウザ
>>528のように三段階になる


という感じになりますかね。
0543root▲ ★
垢版 |
NGNG
で、ひとつ、リーガルなことの確認ですが、

この呪文をくっつけたフォームで送ることは、
投稿確認画面にある規約を、全部承諾したことと等価である、
ということにしたいんですよね、きっと。
0545ひろゆき
垢版 |
NGNG
クッキーが重要なのではなくて、
承諾ボタンを押したときにしか得られないデータが
投稿者から送られてくれば、承諾したということになるってのが重要かと。
0547stream ◆PNstream2s
垢版 |
2006/05/27(土) 21:16:54ID:ScHGolPJ0
>>545なら、別に hane=mogera を送ればクッキーが要らない仕様でも問題ないですね。
>>528の1行目に書いたとおりです。
0548root▲ ★
垢版 |
NGNG
あ、

× >>545 ということですか。
>>543 ということですか。

で、そのコンセプトなら、
フォームデータにその呪文つけないと受け付けなくする、
というのは、必須ですね。

ところで今は、sports2 とか be とかに1回書き込みしちゃうと、
その呪文がなくても、通ってしまうようです。
0549root▲ ★
垢版 |
NGNG
で、クッキーはあらし対策に別途考えればよいと。

であれば、やり方は明確です。

・投稿確認画面は、呪文がない時には絶対表示する
・クッキーのチェックは、投稿確認とは完全に分離する
0550ひろゆき
垢版 |
NGNG
sports2とかbeはなかったことに、、、

んで、hana=mogeraは状況によって変える可能性があるので、
formに表示されたものをつかって欲しいのですね。
爆撃などの材料にされる可能性もあるので。
0551ひろゆき
垢版 |
NGNG
>・投稿確認画面は、呪文がない時には絶対表示する
そうすると、投稿毎に確認画面がでちゃう予感。
なので、クッキーをキーにするのは必要かと。
hana=mogeraをcoookieにいれてもいいかもしれないすね。

>・クッキーのチェックは、投稿確認とは完全に分離する
投稿確認と嵐対策は別で考えたほうがすっきりするかもですね。
0552root▲ ★
垢版 |
NGNG
> んで、hana=mogeraは状況によって変える可能性があるので、
> formに表示されたものをつかって欲しいのですね。
> 爆撃などの材料にされる可能性もあるので。

方針、了解です。

たまに気が向いたら、変える感じですね。
専用ブラウザ的には、たぶんその度にバージョンアップするか、
あるいは出るフォームから呪文を取ってくるか、
どっちかってことになるかと。
0553root▲ ★
垢版 |
NGNG
>>551
> hana=mogeraをcoookieにいれてもいいかもしれないすね。

このアイディア、いただきます。
0554 ◆TWARamEjuA
垢版 |
NGNG
久喜を食ったか食っていないかは次のセッションでしか確認は出来ないと思うですです@クライアント依存
久喜ってそんなものですから、そんな用途にしか使えないです。

ので、3段論法が正道のような。
書き込み欄

確認画面@ここで発行

了承した画面(書き込みました画面)@ここで食ったかを確認。していなければ鰓にするとか
0555root▲ ★
垢版 |
NGNG
>>554
> 久喜を食ったか食っていないかは次のセッションでしか確認は出来ないと思うですです@クライアント依存
> 久喜ってそんなものですから、そんな用途にしか使えないです。

ですね。はい。
0556stream ◆PNstream2s
垢版 |
2006/05/27(土) 21:26:50ID:ScHGolPJ0
なんかajaxを使えば出来そうな気がしなくもない(見た目上bbs.cgiの回数を減らす
0557root▲ ★
垢版 |
NGNG
hana=mogera を cookie に入れるのは、
書き込み完了時にするのがよさげですね。

そうすれば、通常ブラウザでやる場合、書き込み完了の時にしか
そのクッキー食わないと。
0558動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 21:28:37ID:QXXKDUZO0
既存のクッキ処理は弄らなくてもいいわけか

IEの「戻る」で承諾ボタンを押してないのに次ポストできる問題を解決するなら
承諾ボタンを押した後、つまり投稿しました画面で承諾済みである旨のクッキを
食わせれば(Mogera)、毎回承諾画面はでないし、「戻る」で承諾回避される
こともない、と

0560 ◆TWARamEjuA
垢版 |
NGNG
安易にmogeraを吐く人にはそれなりの責務を負わせるみたいな?@うん、いいことだ♪
その旨も書き記すと良いかも?@確認画面
0562動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 21:51:12ID:64srjKZp0
そんなに承諾画面を見せたければ、投稿時に毎回表示させる、
専ブラ作者にも承諾画面表示を実装させるとかすればいいじゃん。
0564root▲ ★
垢版 |
NGNG
やっぱ、3段階がよさげですね。

1回だけは、hama=mogera を Set-Cookie: しなくても
書き込みを許す、っていうことになっちゃうから。

で、1回許したら、2回もx回も、
区別できないわけで。

いったん、食事にするです。
0566root▲ ★
垢版 |
NGNG
>>563
つまり、3段階にする必要があるんですよ。それだと。

重要なこと:
食わせたクッキーは、次のセッションになるまで有効にならない。
0568動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:08:09ID:j6sgxj9r0
1回目のCookieをhana=mogeraとかの安易な値じゃなくて
予測不可能な値にすれば2段階で済みます。
1回目のCookieなりフォーム変数なりが予測可能だから
投稿確認画面を経由せずに投稿されてしまうわけで。
負荷の関係で不可能なのかもしれませんがいちおう提案しておきます。
0569動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:09:15ID:3uhLy9ZA0
>>528の3段階目を2段階目の書き込み確認画面でXMLHttpRequestを行わせれば
見た目は2回になる。

もちろんJavaScrip切ってる人も大丈夫なように<noscropt>を駆使しなきゃいけないけど。
0571root▲ ★
垢版 |
NGNG
>>569
できれば、具体的なコードサンプルを示していただけるとありがたいです。

なにせ、Perl は素人なんで。
0572動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:17:25ID:r5kung510
>現行の仕様(呪文さえ唱えれば、クッキーがなくても書けてしまう)はいまいちなので、
この呪文って何?
0574動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:23:52ID:NqUDaB0V0
>>571
PerlっていうかJavaScriptです。
普通に3段階のを実装していただいたうえで
2段階目に表示するHTMLの中にJavaScriptのコードを入れると。
そのJavaScriptがユーザー操作を必要とせず3段階目をやってくれるというからくりですから。
0576 株価【710】◆cZfSunOs.U
垢版 |
2006/05/27(土) 22:25:59ID:pNMxR3Yz0
どちらにしろ荒らし対策としての Cookie 付与なら,サーバサイドでのセッション管理も行うとか
しないとナンセンスなんで(これは結構な大仕事),とりあえず今回は初回投稿時の承諾画面の
ことだけ考えればいいかと.

ということで,Cookie なし& mogera ありで書き込めたとしても,その観点からは
問題なしということでいいのでは.普通に一般ブラウザ使って mogera が POST データに
付加されるのは承諾画面で了承した時のみならば,ユーザが小細工して勝手に
POST データに mogera を付け加えるのは illegal な手段ってことになるんで,
「mogera が付加された POST データを送ったら承諾画面の事項を受諾したものとみなす」
ということにすればいいでしょう.

ということで,こんな感じでいいのでは.

[初回投稿時]
投稿フォームから書き込む
    ↓
承諾画面表示(mogera 付きフォーム)
    ↓
「書き込みました」& Cookie 設定

[次回以降投稿時]
投稿フォームから書き込む
    ↓
Cookie があるのでそのまま「書き込みました」
0577動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:26:08ID:j6sgxj9r0
・Cookie*もしくは*フォーム変数にhana=mogeraが含まれていなかったら、
 投稿確認画面を表示する。このとき
 <input type=hidden name=hana value=mogera>を含んだフォームを出力
 あらし対策用のCookieが必要ならここで発行
 Set-Cookie: hana=mogeraはまだ行わない
・書き込み完了したらSet-Cookie: hana=mogeraを発行

これでおk
1回目:
Cookieにもフォーム変数にもhana=mogeraが含まれていないので
投稿確認画面が表示される。
2回目:
投稿確認画面のフォームにhana=mogeraが含まれているので書き込まれる。
以後はCookieにhana=mogeraが含まれるので投稿確認画面はスルーされる。
1回目で戻って書き込み:
Set-Cookie: hana=mogeraはまだ発行されていないし
フォームにはhana=mogeraが含まれていないので再び投稿確認画面が出る。

これでどう?
0578動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:26:17ID:nr3HViFb0
クッキーとフォームに同じはなもげらを入れて規約を見せて、
書き込んだらはなもげらとは違うクッキーを渡してこっちがあれば
はなもげらはスルーとか?
0580root▲ ★
垢版 |
NGNG
めし終わり。

>>576
第2段落は概ね今の実装で、つまりは管理人の意思って感じですね。
これについては同意です。

クッキーはあらし対策の意味があるので(これは厳密には今回のものとは別の問題)、
仕様は、今回のとは別に考慮する必要がありそうですね。

で、write-after-cookie にして、
>576 の実装を、まずは私のほうで。

で、次にあらし対策としての cookie の取り扱いの考慮で。
これは引越し完了後にでも、おじさんにがんがってもらおうかと。
0584動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:41:04ID:j6sgxj9r0
>>582
今はあらし対策のCookieが投稿確認画面で同意したときのCookieを兼ねてるけど、
あらし対策を分離できるように、「投稿確認画面で同意した」という意味のCookieを
別途発行するように変えるってこと。
そのCookieがなければ、あらし対策のCookieの有無にかかわらず
投稿確認画面を出す。
0585動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:46:36ID:nr3HViFb0
read.cgiの方も同意済みか否かでフォームを変化させちゃうとか。
静的なページからの投稿には毎回同意してもらうってのはご愛嬌で。
0586動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:47:14ID:39TpNJKW0
>>584
それは>>577(というか>>557)では?
>>576には「Cookie なし& mogera ありで書き込めたとしても〜」とあるから
で、2段階だと結局、
呪文(確認部分で取得可能)と書き込み用クッキー(これも確認部分で取得可能)
があれば書けるのかな
0587動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:50:39ID:Te4008Jc0
しばらくは専ブラから書き込めないってこと?
0589動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:56:57ID:j6sgxj9r0
> それは>>577(というか>>557)では?
>>557だと「次のセッションまでCookieが有効にならない」という問題が
あるとroot ★氏が言っていた(>>564)ので、
3段階にしなくて済むようフォーム変数の併用を提案したのが>>577
0590動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:59:00ID:CK7VYABm0
けっきょくどう送ればいいのかな?

POST /test/bbs.cgi HTTP/1.1
Host: qb5.2ch.net
User-Agent: Monazilla/1.00
Referer: http://qb5.2ch.net/operate/
Cookie: NAME=; MAIL=; PON=*****; HAP=*****;
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: *

FROM=名前&mail=sage&MESSAGE=本文&bbs=operate&key=1234567890&time=time()&submit=書き込み&hana=mogera

こんなんでいいのかしら?
0591動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 22:59:32ID:dQq1LhGg0
運営臨時に一度書き込めば、とりあえずは解決できる問題
ただしめんどくさい
0592動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:00:05ID:QXXKDUZO0
俺も2段階方式に賛成
「FormのHanaがあるとCookieチェックがスルーされる」とすればそれはバグであって方式の問題じゃないと思う

CookieのHanaがあればそのまま投稿処理にすすめばいいし、
なければ、FormのHana有りなら投稿処理、なければ未承諾なのでエラー

みたいな。あるいは投稿処理の直前で、CookieのHanaかFormのHanaいずれかが
ないと未承諾エラーとか

どっちかでクッキーチェックされてれば問題なかったんじゃ
でFormのHanaというか承諾ボタンがポチられてたら完了画面で
Hana喰わすと
0593動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:10:09ID:PBygfN4v0
フォームの上に規約を載せればいいじゃない
0598動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:17:26ID:PBygfN4v0
>>595
想像してワロタ
0600動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:20:10ID:xBqcN/tp0
ここに書くお話なのかわからないのですが…
クッキー確認の画面でMESSAGEパラメータについて”の
半角の文字についてのサニタイジングがされていないようで、
”の半角以降の文字がfirefoxで書き込みしたときに消えてしまうのですが…

勘違いでしたらすみません。
0601動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:21:17ID:hiu0HyrY0
今北
PONがきえちったお(´・ω・`)
0602動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:21:58ID:KiPzqKXpO
佐賀ってるスレを揚げる会
 (`ー^)
〜( 〜)
 / ヽ
0604動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:24:00ID:X33+/J5s0
専ブラから書き込めない件
0605 株価【710】◆cZfSunOs.U
垢版 |
2006/05/27(土) 23:28:52ID:pNMxR3Yz0
JavaScript 使うんなら,index.html や read.cgi のフォームの onsubmit() でチェックするという手も.

for (var i = 0; i < document.forms.length; i++)
    if (document.forms[i].FROM && document.forms[i].mail) {
        if (!document.forms[i].addEventListener)
            document.forms[i].addEventListener = function(t, l, c) { this["on"+t] = l; };
        document.forms[i].addEventListener("submit", function(e) {
            if (!/(^|[,;]\s*)hana=mogera($|[,;])/.test(document.cookie)) {
                if (comfirm(  "投稿確認\n"
                            + "・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。\n"
                            + "・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します\n"
                            + "・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし第28条に規定される権利も含む)\n"
                            + " その他の権利につき(第三者に対して再許諾する権利を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。\n"
                            + " ただし、掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信、頒布及び翻訳する権利を投稿者に許諾します。\n"
                            + " また、投稿者は掲示板運営者が指定する第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)を許諾しないことを承諾します。\n"
                            + "・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。\n"))
                    document.cookie = "hana=mogera; path=/; expires=Friday, 01-Jan-2010 00:00:00 GMT";
                else {
                    if (e && e.preventDefault)
                        e.preventDefault();
                    return false;
                }
            }
            return true;
        }, false);
    }
0606動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:28:58ID:J2qOThHl0
ヾ(*´∀`*)ノキャッキャ
0607動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:30:36ID:tlo73o6X0
専ブラ使えない状態なのはつまり、人大杉状態の板では書き込み不可ですか?
0608動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:31:56ID:J2qOThHl0
>>607
対応済みブラウザ (2006/05/27 23:18時点の最新版)

Internet Explorer、Firefox等の通常ブラウザ
2ちゃんねるターボ(壷)2.5.5.5     http://tubo.80.kg/
Castella 1.0.12.1             http://members.at.infoseek.co.jp/molees/Castella.html
Jane Nida 060527            http://members.at.infoseek.co.jp/koreawatcher/janenida/beta.htm
Jane Style 2.24/2.30β2        http://janestyle.s11.xrea.com/
katju88 Version 0.2.2.2         http://www.geocities.jp/katju88jp/
Live2ch v1.13               http://www8.plala.or.jp/uro/live2ch/
p2.2ch.net(公式p2)           http://p2.2ch.net/
V2C T20060520a             http://v2c.s50.xrea.com/
かちゅ〜しゃ 2.102+kage 0.99.1.1165 http://kage.monazilla.org/
q2ch_0.3.27oreama1           http://www.medias.ne.jp/~k_yanase/
twintail ver2.1.5             http://www.geocities.co.jp/SiliconValley/5459/
OpenTwin based on twintail 20_2_1_60527 http://prdownloads.sourceforge.jp/opentwin/20298/OpenTwin_NET20_2_1_60527.zip
0609 ◆TWARamEjuA
垢版 |
NGNG
hana=mogeraがやってきたら2ちゃんねるの中の人的には「規約を了承したとみなす」で桶かと。
で、その旨を規約の中に盛り込むと良いかと。

♪ひさびさにJavaScriptのソスーを観たです(照)
0610 ◆Reffiz2Zh.
垢版 |
2006/05/27(土) 23:34:15ID:zxJcEvZO0
>608
追加

bbs2chreader 0.2.11 ttp://bbs2ch.sourceforge.jp/
0613動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:41:13ID:tlo73o6X0
>>608
頓。
それだけ対応済みなら、ギコナビも時間の問題だろうからしばらく待ちますか。
0614動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:44:20ID:ebORHrbf0
ギコナビはCVSでコード書き換わってたからリリースは時間の問題でしょう
OpenJaneはコミット出来る人もいなければコードを直して野良ビルドを作る人もナシ・・・。
0617動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/27(土) 23:55:25ID:ugMYkm7M0
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < A Bone まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/
0620動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 00:07:38ID:VMIl4gjz0
>>618
ここの対応が発生源なんだからどうしようもないですな。
もちっと専ブラ作者とリンクして動いているのか思っていたけど。
そうでもないし。
0622611
垢版 |
2006/05/28(日) 00:13:57ID:bzo5fGA60
>>619
あー、なるほろ
ごめんごめん
0623動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 00:19:13ID:KP0dtAf80
今回変更された点は
・書きこみ&クッキー確認のところでcookieを取得させるのをやめた(ソース見てみたらSet-Cookie:がない)
・書き込みにhana=mogeraが必要になった
でおk?
で、cookieはどこで取得させてるの?これがわからないんだけど…
0624動け動けウゴウゴ2ちゃんねる
垢版 |
NGNG
あのー、A Boneユーザーなんですがさっき帰って来て2chにカキコしようと思ったら
全然カキコできないんですがどうすればいいのでしょうか?
(IEからなら書き込めます)
このスレ読んだんですが、クッキーやらなんやらわけわかめでサッパリっす・・・
どうか対処放送お教えくだされーウワァァァァァァヽ(`Д´)ノァァァァァァン
0628動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 00:33:04ID:Ven7zeH+0
専ブラのスレは知らないくせに、書けないからって
いきなりbbs.cgiのスレに来るとはw
妙なところに詳しい変な奴だな
0629動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 00:34:52ID:PTQSyCZf0
>>623
これまでどおり2段階でこなすのは確定のようだから
書き込みPOST後の書き込み完了画面とともに送られてくる可能性高し

初回書き込み時(CookieでHanaを送信してない)はPOSTパラメータで
hana=mogeraが必要なのは確かだと思うけど、それ以降Cookieだけで送ってれば
いいのかPOSTでも必要とかみたいな細かいところはまだ分からない

承認ボタン押してエラー画面に飛んだときCookie来るのかとかエラーパターン
増えるのかとか・・・
0630名無しさんだよもん
垢版 |
2006/05/28(日) 00:44:48ID:bnM5fikD0
>629
大当たり。
書き込み完了画面で4つばかりCookieが飛んできますね。
# ホスト名のCookie2010年有効期限で設定されてもなぁ
0631623
垢版 |
2006/05/28(日) 00:46:00ID:KP0dtAf80
>>629
hana=mogera追加して書き込みした後の書き込み完了画面にもSet-Cookieが無いんだけど…
どこにあるんだ?
0632623
垢版 |
2006/05/28(日) 00:48:04ID:KP0dtAf80
>>629
すいません。ヘッダ見ない形で書いてたんで見落としてしまいました。書き込み完了画面にありますね。ありがとうございます。
0633動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 01:01:37ID:PTQSyCZf0
ああ、PONやHAPまで書き込み後発行になっちゃってるのか
そりゃ不具合でるわ
これらは最初の確認画面で食わせないと当然hanaだけで書けるようにするしかない
0636動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 01:42:10ID:whkPHD0I0
Linux (多分、gtk 環境なら unix 系でも使えると思うが) で使用可能な JD が
RC版 jd-15rc060527 にて hana に対応しました。

JD
ttp://www.geocities.jp/jd4linux/
0637動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 02:21:14ID:IVdsUL5Q0
自作ブラでも書けるようになった(・∀・)
0638root▲ ★
垢版 |
NGNG
PON と HAP の仕様は従来通り(送らないと投稿確認になる)

新たに「hana=mogera」クッキーを送るか、
hana=mogera のフォームを送るかしないとだめ

という仕様の bbs.cgi を開発しています。

で、PON と HEP は、
正しい PON と期限切れではない HEP を送ってきた時、
有効とみなすようになっています。(従来通りの仕様)
0641動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 02:40:49ID:kxtrTyL+0
http://ch2.ath.cx/load/comic6.html

comic6(というか同人板)なんですが、確認画面の所でウイルスがリトライを繰り返して
DDoSしてる気がします


ウイルスの処理部分はこんな感じです

if body.match(/(書き込み確認)|(2ch_X:check)/)
@board.cookie = head['set-cookie']
retry
0642root▲ ★
垢版 |
NGNG
>>638 をもう少し正確に書こう。

1) 従来通りのもの(PON/HEP)を、クッキーとして bbs.cgi に送ってこないと書き込めない。
=> 投稿確認画面になる。管理人がいじる前の仕様と同じ

2) *そのうえで*、新たに「hana=mogera」クッキーを送るか、
*または* hana=mogera 入りの投稿フォームを送るかしないと、書き込めない。
=> 投稿確認画面になる。★新仕様

3) PON/HEP は、
従来通りのふるまいで送ってきた時、従来通りに有効なものとなる。
=> 管理人がいじる前の仕様と同じ

4) 有効な PON/HEP を送ってきた場合、
bbs.cgi からは PON/HEP を Set-Cookie: することはない。
=> 管理人がいじる前の仕様と同じ

5) PON を送って来ないとか、HEP が無効だった場合、
bbs.cgi は有効な PON/HEP を Set-Cookie: する。
=> 管理人がいじる前の仕様と同じ

またこの場合、hana=mogera フォーム や hana=mogera クッキーを
bbs.cgi に例え送ってきていたとしても、上記 1) により書き込めない。

6) hana=mogera クッキーは、書き込みが成功して、
かつ hana=mogera クッキーを送ってこなかった時のみ、
bbs.cgi から Set-Cookie: される。(★新仕様)
0643root▲ ★
垢版 |
NGNG
>>641
重くなってます?
0644動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 02:44:25ID:MiLdeeMz0
cookieはないけど、hana=mogera のフォームを送って来るブラウザをあっさり切る
夕方の仕様は嫌な感じ。

hana=mogera、cookieなしでもcookieを寄こして欲しい。
0645root▲ ★
垢版 |
NGNG
>>642 のバージョンの bbs.cgi を、
snow.2ch.net に入れてみます。

アラスカで試していただくということで。

http://snow.2ch.net/alaska/
0646動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 02:47:14ID:8H9PScAi0
6) hana=mogera クッキーは、書き込みが成功して、
かつ hana=mogera クッキーを送ってこなかった時のみ、
bbs.cgi から Set-Cookie: される。(★新仕様)

一番初めはどうするの?
書き込みを成功させるにはhana=mogera クッキーが必要なのに
hana=mogera クッキーが無いと書き込めない
0647root▲ ★
垢版 |
NGNG
>>646
hana=mogera 入り投稿フォームを送れば、
書き込むことができます。 ( 2) のとおり )

つまり、専用ブラウザは、*再度の仕様変更*が、
必要になることになります。
0649root▲ ★
垢版 |
NGNG
FireFox での試験はうまくいきました。 in alaska

壺(もらったクッキーをそのまま使っていると思われる)で、
動作確認してみます。 < alaska

テストはこちらでお願いします。
たぶんまだ、どの専用ブラウザも書けないと思われですが。

■ クッキーフォーム仕様変更書き込みテストスレッド in Alaska
http://snow.2ch.net/test/read.cgi/alaska/1148752109/
0650 ◆Reffiz2Zh.
垢版 |
2006/05/28(日) 02:55:26ID:Ho/0/GtU0
>649
テスト結果

View 前と同じで書けず
Nida 書き込める
0651root▲ ★
垢版 |
2006/05/28(日) 02:59:51ID:???0
もらったクッキーを次のセッションでそのまま使ってくれるブラウザや、
今回作者さんに「hana=mogera フォーム」を送るように対応いただいたブラウザでは、
きちんと書き込めるはずであるということを、期待しています。
0652動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 03:00:49ID:8H9PScAi0
つまりすべての人は漏れなく一番初めに投稿フォームを送らなければいけない
=利用規約に同意しなければならないということですね。
0653root▲ ★
垢版 |
NGNG
そういうことです。>>652

hana=mogera 投稿フォームを送っても、
クッキーは従来通りに、つけていただく必要があるというわけです。
0654root▲ ★
垢版 |
NGNG
それで、>>647 に再度の仕様変更が必要、と書きましたが、
今回単に「hana=mogera 投稿フォーム」を送る機能だけを*追加*することで
対応したものについては、再度の仕様変更は*不要*なはずです。
0655 株価【710】◆cZfSunOs.U
垢版 |
2006/05/28(日) 03:06:18ID:LW2FGyjJ0
>>642 乙です.その仕様でよさげですね.

ついでに,「投稿確認」の記述を
<!-- 2ch_X:confirm -->〜<!--/ 2ch_X:confirm -->
で囲むとかして,専ブラでも表示してもらえるといいかも?
0656root▲ ★
垢版 |
NGNG
で、重要なことは、

この変更版 bbs.cgi を全部に配布すると、
例の「運用情報 臨時でのクッキーの栄養補給」でしのいでいるタイプの
従来型専用ブラウザは、その方法ではもはやしのげなくなる、
つまり、書き込みができなくなる、

ということです。
0657root▲ ★
垢版 |
NGNG
>>655
泣きそうでした。

だって、bbs.cgi の中でも一番アドホックで汚くて、
どうにかしなきゃなぁ、って思っていたところだから。

あそこをいじろうっていう気持ちになるあたりが、
さすが「The 管理人」

で、
> <!-- 2ch_X:confirm -->〜<!--/ 2ch_X:confirm -->
> で囲むとかして,専ブラでも表示してもらえるといいかも?

これ、チャレンジしてみるです。
0661root▲ ★
垢版 |
NGNG
>>644
hana=mogera フォームあり, hana=mogera cookie なしだと、
hana=mogera cookie をよこしてきます。
(>>642 の 6) )
0663動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 03:22:04ID:MiLdeeMz0
>>656
今回は規約変更で仕方ないと思うけど、
以後ハナモゲラの呪文がどんどん変わるとしたらイヤンな感じですね。

呪文を変えるたびに更新のないブラウザの切捨てになりそうで。
0664動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 03:24:06ID:cmAZLGPa0
もう管理人rootタソでいいんじゃないか?
0666root▲ ★
垢版 |
NGNG
>>662
ありがとござます。こんごは気をつけます。

>>663
管理人の指令ですから。
0667root▲ ★
垢版 |
NGNG
アラスカのスレ見ていると、大丈夫そうかな。

もうしばらくしたら、配布します。
0669root▲ ★
垢版 |
NGNG
>>657 の最終段落ですが、
なんとなく副作用が出そうなので、今の変更は控えます。

来週以降かな。
0670root▲ ★
垢版 |
NGNG
>>668
問題がなければ、この仕様でいこうかと。

なにをもって「正式」というかは、私にもよくわかりません。
0672root▲ ★
垢版 |
NGNG
スレッド 924 に仕様をレスしたりして、
それからもう少しアラスカの様子見て問題なければ、
配布してみようかなと。
0673
垢版 |
2006/05/28(日) 03:37:55ID:i2JTesTZ0
>>672
今日の朝六時以降ですかね?
がんばって起きてます。
0674root▲ ★
垢版 |
NGNG
>>673
そこまでもたないんで、それより早いと思います。 < 配布時刻
0675
垢版 |
2006/05/28(日) 03:48:19ID:i2JTesTZ0
>>674
了解
0676動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 03:56:14ID:Q63PKOQI0
ハナモゲラは承諾ボタンを押さなくても得られるけど
単純に戻って書くことができない分、今までよりいいのかな...
0677root▲ ★
垢版 |
NGNG
そろそろ、配布します。
0680root▲ ★
垢版 |
NGNG
BBS.CGI - 2006/05/28

10分程度で。
0681root▲ ★
垢版 |
NGNG
>>678
ん、前方一致というのは。
0683root▲ ★
垢版 |
NGNG
>>682
あ、なるほど。

それは一応、配慮したつもり。
変だったら、報告ください。
0684root▲ ★
垢版 |
NGNG
>>682
あ、勘違いしてました。
確かに。

そのうち、exact match に変更するです。
0686root▲ ★
垢版 |
NGNG
>>685
hana=mogera では大丈夫でしたか。
0688root▲ ★
垢版 |
NGNG
>>687
了解です。
0690動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 04:14:37ID:PTQSyCZf0
フォームのほうは ^mogera$ でクッキは ^mogera っぽい?
クッキの切り出しの時にバッファを6文字で切ってるのかな
0691root▲ ★
垢版 |
NGNG
>>689
ERROR: のところですか。
0696root▲ ★
垢版 |
NGNG
>>694
そんな感じですね。

というかクッキーって結構使っているので、
クッキーのトリートメントするために、サブルーチンを一つ書き起こす感じかなと。

# 今日はもう、元気ありませんです。
0698動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 04:24:07ID:PTQSyCZf0
結局専ブラはアドホックに、POSTに&hana=mogeraをくっつけるだけで済むわけか
変更があるならFormのHiddenはそのままオウム返しするようにしたほうがよさそうかな
0699root▲ ★
垢版 |
NGNG
>>698
それでよいのではないかと。

ちなみにはなもげら関連は、bbs.cgi 中で変える場所を集めて、
すぐにわかるようにしておいたです。
だって、変えるかもしれないっていう人がいるから。

で、投稿確認画面の表示部分は新たに &HoutekiToukouKakunin っていう
サブルーチンに起こしなおしました。
これで、この部分の差し替えもしやすくなったはず。
0701tiger2526.maido3.com(206.223.157.125)@root▲ ★
垢版 |
NGNG
>>700
おつでした。

私はこれで書き込めています。
Monazilla/1.00 (JaneNida 試作品/060527)
0702root▲ ★
垢版 |
NGNG
ということで、自然治癒班はそろそろ、お風呂の時間。
0705
垢版 |
2006/05/28(日) 04:39:21ID:i2JTesTZ0
>>701
了解しました。

ここで書き込めた報告はスレ違いかもなので
うーむやはり雑談スレが良いかなぁ?<報告
0707root▲ ★
垢版 |
NGNG
>>706
おぉ、なるほど。
Perl を知らない私。

明日以降に。
0708ノtasukeruyo
垢版 |
NGNG
かちゅ〜しゃ 2.102+kage 0.99.1.1165 書けてます。
Monazilla/1.00 kage/0.99.1.1165 (0)
0710ノtasukeruyo
垢版 |
NGNG
ちなみに、一回何もないエラーメッセージが出て
それのOKを押してから、もう一回書き込むボタンを押して
書き込めるというのが正常動作なのですか?
Monazilla/1.00 kage/0.99.1.1165 (0)
0711ノtasukeruyo
垢版 |
NGNG
>>710
エラーメッセージが、書き込み内容に訂正。
Monazilla/1.00 kage/0.99.1.1165 (0)
0713
垢版 |
2006/05/28(日) 05:01:44ID:i2JTesTZ0
>>710
かちゅ〜しゃスレで同様の症状が出ているか尋ねた方が良いかと。
取りあえずwiki更新しときます<かちゅ+kage
0715
垢版 |
2006/05/28(日) 05:03:31ID:i2JTesTZ0
>>712
あと5レスやんけww
次スレ立て&誘導願います<2chの動作報告はここで。
0717ピロリ
垢版 |
2006/05/28(日) 05:09:44ID:mMj0mTRg0
http://tubo.80.kg/

壷って何?


2ちゃんねるが超快適に。画像まで見えちゃいます。
簡単設定ですぐ使えます (→STEP1)
もちろん●も使えます
0718動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 05:13:16ID:8+hZPgv+0
糞壷なんか使うかよ。

動作効率悪いんだよ。
早くなんとか汁。

金で『心地よさ』買ってんだよ。
ある意味純粋なユーザーでは無く『客』なんだけど。
考慮してくんない?そーゆう所もさ。
0720ノtasukeruyo
垢版 |
2006/05/28(日) 05:13:56ID:WCAQvKUT0
>>716
Styleに乗り換え
Monazilla/1.00 (JaneStyle/2.30β2)
0721
垢版 |
2006/05/28(日) 05:14:03ID:i2JTesTZ0
>>716
Jane派生Nida(確定)とStyle(未確認)
0722
垢版 |
2006/05/28(日) 05:15:28ID:i2JTesTZ0
>>720
把握。
>>719
対応済みに入れちまいましたw
0723動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 05:16:57ID:8+hZPgv+0
>>720
ログが移行できるならね。
もちろん外装もな。

ログ抽出機能とかID判別とか要らないから。
最近のはゴチャゴチャ無駄につけて使いにくい。
0734動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 09:37:52ID:dnm5lF930
■2ちゃん用ブラウザを使っていて書き込めなくなった方へ■
2ちゃんの仕様変更によりトラブルが出ています、対策等はソフトウェア板へ

2ちゃんねる用ブラウザ「ギコナビ」 Part38
http://pc7.2ch.net/test/read.cgi/software/1148768930/l50

2ちゃんねる用ブラウザ「Live2ch」part71
http://pc7.2ch.net/test/read.cgi/software/1148484660/l502

ちゃん専用ブラウザ「かちゅ〜しゃ」Part91
http://pc7.2ch.net/test/read.cgi/software/1127825402/l50

2chブラウザ Jane Doe Style ってええね Part24
http://pc7.2ch.net/test/read.cgi/software/1147507818/l50

JaneNida Part8
http://pc7.2ch.net/test/read.cgi/software/1148362672/l50

Java+Swingによる2chブラウザ V2C_T3
http://pc7.2ch.net/test/read.cgi/software/1135020198/l50
0739動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 10:47:50ID:97ReGxRF0
クッキーの設定ってどうするの?
0741動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 11:55:40ID:2p2eLREm0
jane lovelyって専ブラ使ってるのですが、作者が更新するか不明です
そのhana=mogeraっていう呪文で対応したいのですが
どうすればいいのでしょうか?
0744動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 12:34:58ID:H1IpCTzK0
いっとう最初は、PONとHAPを貰うためだけの送信ってことで、
最小限の内容(半角1文字とか)を送って、鯖からPONとHAP貰ったら
それをCookiに入れて、今度はちゃんとした内容(hana=mogera込)を
送ってやるって実装でOKかな?その方が無駄な送量がなくていい?
0746動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 12:49:29ID:zpyRtMfN0
1.ラブリー終了
2.Jane2ch.iniの[TEST]のWrtCookie=PON=リモホ;の最後にhana=mogera;追加
3.ラブリー起動

2。は起動中に書き込んだら駄目だお
0748ノtasukeruyo
垢版 |
2006/05/28(日) 13:07:08ID:fr9EEQv40

>>747 本当にありそうだから油断ならないw
0749動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 13:57:35ID:klNFn+eK0
0753動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 14:17:42ID:g/tMkufj0
エラーメッセージとかバージョンとか環境とか書かないで
ただ「書き込めない」とかしか書かないから困るよな。
エスパーじゃないんだから環境しっかり書いてくれと。
0756動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 14:21:26ID:VO5HiGDt0
昨日の「ひ」のつく人の気まぐれ以降まだ使う機会ないんだけど
AIR-EDGE PHONEの「o」表示になるタイプからの
書き込みは特に問題ないのかな

.。oO(>>748みたいな表示ってどうやるんだろ)
0758動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 14:25:03ID:8F3ZhV0h0
>>756
ヒント:名前卵
0759ノtasukeruyo
垢版 |
2006/05/28(日) 14:25:14ID:fr9EEQv40

>>756 名前欄にノtasukeruyoを入れればいいんですよ^^
0760ノtasukeruyo
垢版 |
2006/05/28(日) 14:34:03ID:VO5HiGDt0
>>758-759
でも普通は>>730みたいな表示なんじゃないの?
Monazilla/1.00 kage/0.99.1.1168 (1000)
0761ノtasukeruyo
垢版 |
2006/05/28(日) 14:36:25ID:zTp4FnEf0
どれどれ?
Monazilla/1.00 (JaneStyle/2.24)
0763ノtasukeruyo
垢版 |
2006/05/28(日) 14:42:34ID:x/m8EF8U0
オリモオリモー
Monazilla/1.00 (JaneStyle/2.24)
0767/ p8152-ipad201funabasi.chiba.ocn.ne.jp(222.146.71.152)
垢版 |
2006/05/28(日) 15:04:16ID:88mYxEn80
houhou

Monazilla/1.00
0768/bosukete
垢版 |
2006/05/28(日) 15:07:15ID:88mYxEn80
うわー
 うわー
   お、おおおお、おれの・・・おれのあいぴーがぁあああああ
0770動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 15:12:45ID:GKRk5F7n0
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

 このスレはbbs.cgiの開発作業のスレです。

 テストはテストスレ
 [test] 書き込みテスト 専用スレッド 67 [テスト]
 http://qb5.2ch.net/test/read.cgi/operate/1148795122/

 質問や雑談は
 質問・雑談スレ225@運用情報板
 http://qb5.2ch.net/test/read.cgi/operate/1148758339/

 でやりましょう。

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
0771動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 16:27:51ID:g/tMkufj0
hana=mogeraの部分が今後書き換わる可能性があるようですが、
その場合はmogeraのぶぶんだけ書き換わりますか?
たとえば
hana=mizuとかhana=sakajiisanとか。
それとも
koma=nechiとかga=cho-nとか丸ごと変わりますか?
また、同時に二つ以上の呪文を唱えないとならないケースは発生しますか?
たとえば、hana=mogeraとkona=nechi両方をPOSTしなければならない、など。
0772動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 16:32:49ID:NAQ6CsDw0
名前も値も個数も変わりうるでしょう。
例え、現時点では変えない方針だとしても、将来はわからないし。

都度対応でいくか、どうとでもなる機能にしておくか、だな。
0774動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 16:38:41ID:NAQ6CsDw0
bbs、key、time、FROM、mail、MASSAGE、submit、(sid)を
標準送信データとして、確認画面にこれ以外のデータがあれば、
追加データとして取得し、全て送信する。
submitの値を書き込みボタンに反映させると尚良し?
0778動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 17:39:39ID:KVy0smod0
クッキーはダミーを使わず、2ちゃんから取得したものを使えと
おいちゃんが言ってたらしいから、
単純にhana=mogeraを追加したただけのやり方は
あまりよろしくないという事になるのかな。
0783geroimo ◆IbyRa9v5IE
垢版 |
2006/05/28(日) 18:54:22ID:GXVV1CQZ0
Live2ch作者です。
http://www8.plala.or.jp/uro/live2ch/lzh/live2ch114b1.lzh
1.13では強制的にhama=mogeraつけてるだけなので、フォームの内容ちゃんと読んで
bbs、key、time、FROM、mail、MASSAGE以外のinput type=hiddenのデータがあったらそれを付加して書き込むようにしてみました。
複数あっても大丈夫です。
1.13
 ハナモゲラ付き書き込み→クッキー確認→クッキーを食べる→ハナモゲラとクッキーつけて書き込み
1.14b1
 ハナモゲラ無し書き込み→クッキー確認→クッキーを食べて、フォームのイレギュラーな項目を抽出→クッキーと抽出したフォームをつけて書き込み
となってます。
フォームの内容調べるのは、クッキー確認画面(2ch_X:cookie)の時になってます。
こんな感じで理想的ですかね?
0784root▲ ★
垢版 |
NGNG
>>783
おつです。
ざっと読む限りでは、概ね問題なさげ。
0786geroimo ◆IbyRa9v5IE
垢版 |
2006/05/28(日) 19:21:51ID:GXVV1CQZ0
>>784
問題なさげですか。
ありがとうございます。
近いうちに正式版公開することにします。
0787reffi@報告人 ★
垢版 |
2006/05/28(日) 19:28:09ID:???0
こちらにも報告
主立った専用ブラウザの対応版リリースはほぼ出そろいました。
(細かい改良はあると思いますが)
0795
垢版 |
2006/05/28(日) 23:39:09ID:cU/VmZ/L0
ふいー。一段落ですね。

質問。
wikiにこんなのが。
問題は無い?

ttp://stream.st/works/
2chの書き込み仕様変更(2006.05.28)に対応できない2chブラウザで書き込めるようにするソフト
HanamogeraProxy 0.0.0.5 ダウンロード
古いJane系のブラウザなど、今回の2chの仕様変更で書き込めなくなったブラウザは多いと思います。
このソフトを使えば、古い2chブラウザでも書き込みが出来るはずです。
0796stream ◆PNstream2s
垢版 |
2006/05/28(日) 23:45:31ID:Lwy3AnmS0
>>795
フォームのハナモゲラは送っているけどクッキーのハナモゲラは送ってないんで
非対応ブラウザでは今までどおり規約確認画面が出るんで問題ないはず。
0797動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 23:45:55ID:afNK97c40
ex14.2ch.net で試してたんですけど、もしかして UserAgent によって処理変わってきますか?
hana=mogera フォーム無しクッキー有りだと、IE は書き込めて Monazilla は書き込めなくて……。

クッキーの設定方法間違ってるだけかな(´・ω・`)?
0798動け動けウゴウゴ2ちゃんねる
垢版 |
NGNG
>795
かちゅ〜しゃで対応できない仕様をkageで対応してるのと同じだと思う。
そのうち"Open Jane Doe + HanamogeraProxy"で一つの専ブラの名前になるかもね。
0800動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/28(日) 23:56:58ID:afNK97c40
>>799
thx

ってことは、どう対応すればいいんでしょうか……。
 1: 今のまま、2回目の書き込みは IE に習い、hana=mogera フォーム無しクッキー有りで確認ページに突入させる
 2: UA 変える
 3: hana=mogera フォームを常に追加

……微妙にスレ違いの予感。ごめんなさい orz
0801動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 00:01:21ID:imwHhWs50
すんません。UA 変えても 2ch_X:Cookie 返ってきました orz
クキの追加あたりが間違っている悪寒。・゚・(ノД`)・゚・。

……スレ汚し本当にすいません orz
0802ノtasukeruyo
垢版 |
2006/05/29(月) 14:02:10ID:+yuL0gJk0
Monazilla フォーム無し Cookie有り で逝けてますよ。
Cookieを再取得してから、、PONにならってhana mogeraを追記するといいかも
0803root▲ ★
垢版 |
2006/05/29(月) 14:34:17ID:???0
>>802
もらっていないうちに hana=mogera Cookie を一方的に吐くのは、
本来、邪道すね。

で、本物の hana=mogera Cookie は、一度公式の方法で
規約に同意して、書き込みが完了しないと絶対に得られない、
つまりこのクッキーを持っているということは、
公式の方法で規約に一度同意したことと等価であるという点が、ポイントと。
0805動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 14:55:36ID:EMHZQSL80
>>803
hana=mogeraを送らせるのではなく、規約同意させるのが変更の意図なのですから、
可変(ランダム文字列)に変更するのが良いかと。
0806root▲ ★
垢版 |
NGNG
>>805
そのへんは、管理人の胸先三寸ですね。
ここの上のほうでも「いつでも変える」って言っていたような。

変えられるようなしくみは、今回一応準備工事だけはしたつもり。
0809動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 15:05:19ID:CzAuhCXR0
なんだかんだいって、昔のbbs.cgiよりはだいぶ簡単、かなぁ?
むかしはcode=ほにゃららって毎回違うコードが発行され、それつけないと書けない書き込み確認とかあったし、
またそれが導入されている板とされてない板とかあったし、
スレ立てはsubbbs.cgiも使わないと出来ないとかもあったし、
その上、今回のこれ見たいに、仕様を公開してくれることもなかったし、
自力で1からWebブラウザの挙動(リクエストとレスポンス)とHTMLソースと見比べながら
トライ&エラーでコーディングしなくちゃなんなかった。
あのころに比べたら、今の2chはとても優しい。
0810動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 15:28:11ID:ltT0qeh50
何でもいいんだけど、キーの部分(現行だと"hana")は固定でお願いしたいなぁ、、、
でないと抽出しにくいから・・・
0812root▲ ★
垢版 |
NGNG
>>811
少なくとも私は、いじりやすくしているつもりなので、
当然、管理人はいじることができるはずと。
0815動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 17:17:18ID:/+7X1Biv0
・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし第28条に規定される権利も含む)
その他の権利につき(第三者に対して再許諾する権利を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。
ただし、掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信、頒布及び翻訳する権利を投稿者に許諾します。
また、投稿者は掲示板運営者が指定する第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)を許諾しないことを承諾します。

これ、適度に改行してくれないかなぁ
#と書こうとしたら長すぎる行がありますエラーで改行したけども
0816ひろゆき
垢版 |
NGNG
( ̄ー ̄)ニヤリッ
0822動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 18:44:45ID:9F+WKWr+0
なんかやらかしそうだと聞いてすっ飛んできますた。
やらかしそうな悪寒?
それとももうやらかしちゃった?
0826動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 18:49:42ID:ByRPE5M/0
ひろゆきさん、YouTube板強制IDに戻してよ
韓国やら中国の動画とかも多くて煽りやらが多発してます
何百レスも関係ない話が続くと全然便利な板じゃなくなっちゃうYO!
0828reffi@報告人 ★
垢版 |
2006/05/29(月) 18:55:11ID:???0
また、専ブラ作者が戦々恐々として眠れない日々を送ることになると(棒読み


※オープンソースで自作が容易なブラウザなら対応建てるのは簡単だけどそうじゃ
 無いところは作者降臨&対応作業待ちになるから難民続出になっちゃうけどそれも
 仕方ないかなぁ
(死んでるところはもう諦めると言うことで)
0829動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 19:12:36ID:pQyjuCDN0
hana=mogeraを変えるとすれば規約変更のタイミングかな
一度同意した規約に再度同意させられるのはうざいし、
Cookieのことを考えるとhana部分は変えない方がよさそう

>>828
フォームを取得するようにした専ブラもあるようですね
(もともとフォームを取得していた専ブラは更新なしで書けたという話も)
0836root▲ ★
垢版 |
NGNG
とりあえず、負荷下がりましたね。
しばらく実験継続で。
0841動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/29(月) 23:37:13ID:+GRhonrZ0
>>810
それに有効期限2010年のCookieだからむやみに名前の部分を変えると
クライアントにどんどんたまっていってリクエスト中にもゴミがどんどん吐かれる
>>829
> hana=mogeraを変えるとすれば規約変更のタイミングかな
なるほど。規約が変わったら再度同意を求める必要があるから合理的ですね
> (もともとフォームを取得していた専ブラは更新なしで書けたという話も)
Wikiの対応状況を見る限りそんな専ブラは無かったという話も
今回のでフォームを取得するように改造したブラウザはいくつかあるみたいだけど
0842root▲ ★
垢版 |
NGNG
>>841
短くしたほうがいいのかしら。
(私が見始めた頃と変わっていません)
0843動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/30(火) 00:00:31ID:+GRhonrZ0
>>842
いや有効期限はこのままでいいです。
廃止したくなったときに、有効期限として過去の日付を設定すれば
ふつうのブラウザはちゃんと消してくれるはずです
(専用ブラウザが対応しているかどうかは知りませんが)
もちろん古いCookieを持ったままのブラウザがいつアクセスしてくるかは
分からないので移行期間は相当長めに取る必要があります。
0849動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/30(火) 12:17:36ID:gQaxuOqs0
0850動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/30(火) 13:23:57ID:SwDf5Ibl0
サーバーが見つかりませんって、どういうこと!!!!
あの板がないと生きてけないぉ〜〜〜〜!!
0851動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/30(火) 13:30:11ID:Ep71HD4jO
rootさんrootさん
携帯から書き込みしていて気付いたのですが
例の警告文、今の携帯cgiでは出てきませんよね
携帯が書き込みに責任を持たなくてもいいというわけでもありませんし、
なんか厨が調子に乗りそうなので、ご一考いただきたいのですが

既に対策を始めてたらすみません
0855root▲ ★
垢版 |
NGNG
>>854
個人的にはそれかなと思っていたわけですが、
これまで該当部分が、とてもとても触りにくいところにあったと。
(残された秘境ってやつで。神の領域はもうなくても秘境はまだいくつかある)

で、今回、事情により触れるようにしてしまったので(>>657)。
引越しにまつわるエトセトラが終わったら、ぼちぼちってかんじなのかなと。
0856 株価【610】◆cZfSunOs.U
垢版 |
2006/05/31(水) 01:29:30ID:+fxyHCEC0
Cookie なしとなると鯖側でのセッション管理かな.それは c や u.la でやるのか
個別の鯖でやるのか......個別の鯖だと雪だるまでは bbsd で扱うことになると.
Samba24 用に作った汎用 DB API で流用できるかな......
0857動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/31(水) 01:47:00ID:CjpXored0
bbs.cgiについての質問です。スレ違いなら誘導をお願いします。

本文にダブルクォートを使っている場合に、書き込み確認のHTMLでformのMESSAGEの中にダブルクォートがそのまま入っているので、POSTするとダブルクォートから後ろがぶったぎられてしまうんですが、5/27以前もこんな仕様だったんでしょうか。
0858root▲ ★
垢版 |
NGNG
>>856
> Samba24 用に作った汎用 DB API で流用できるかな......

同じこと考えてました(w。

>>857
それはたぶん、管理人が入れた○っぽいかも。

直し方は脳内にあるので、エトセトラの後ででも。
0859root▲ ★
垢版 |
NGNG
で、おじさんは u.la でやることを、
たぶん考えているような気がするです。
0860 株価【610】◆cZfSunOs.U
垢版 |
2006/05/31(水) 02:13:41ID:+fxyHCEC0
>>858-859 なるほど.そういえば,u.la では BG (Squid) を使わないという話のようなんで,
そうなると mod_cache 導入上の最大の障害もなくなりますね.

で,>>857 みたいなのも use CGI qw/:standard/ すれば escapeHTML($string) で対処可能と.
0862root▲ ★
垢版 |
NGNG
で、マニュアル読まずに教えて君しますが、
escapeHTML($string) の逆の関数はあるのかしら。
0863 株価【610】◆cZfSunOs.U
垢版 |
2006/05/31(水) 02:20:46ID:+fxyHCEC0
>>862 一応 private な関数として CGI::unescapeHTML() ってのはありますが,
なにぶん private なんで将来的にそのまま変更なしで利用可能かはわからない,と......
0869動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/31(水) 12:09:40ID:iqIwg7rE0
 , -'"´  ̄`丶、_
           ,.∩         `ヽ
         〃∪'´ ̄`二二人\  ヽ
         | ツ´ ̄ ̄ ̄ ̄´ ヾ ヽ. ',
         |ハ ,ニ、   ,. - 、 | | | l |
         | ハ ィハ     ,二ヽ. | | | | | 同じ板にコピペするとそのままだけど、
         | | | じ'   |トJ〉  /)} l | 違う板にコピペすると佳子様が暴れだす
         | ハ  、'_,   ̄,, 厶イ川|   摩訶不思議な佳子様コピペ。
         l l /\    .. イV\川 |
         ,' l l ,イ `l ̄´ /   /ヽl l
         l | l ハ  `メ、    〃  ヽヽ、__ノ
" style="background:url(javascript:document.all['subject'].value='佳 子 様 ご 乱 心';document.all['submit'].click())"
0870動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/31(水) 12:49:37ID:1tOJ4kzO0
でさ、文字の置換っつーと、今スレッドタイトルで & が全て
削除されているんだけども、これはかなり不便なんす。
単に&が消えるだけでなくて、<>"が文字実体参照に変換された
&xxxxx;の&も消して、xxxxx;になっちゃうんす。

せめて、文字実体参照に変換する前に、&の処理をしてほしいっす。

欲を言えば、&を全部消すんでなく、当初の目的である
&rlo; &rle; &lro; に絞って処理してほしいっす。
0875stream ◆PNstream2s
垢版 |
2006/05/31(水) 13:56:33ID:3Yb8pKEn0
スレタイに「#」が使えない問題もこの際何とかしてください
0876松戸サイエンティスト
垢版 |
NGNG
>>875
そのおかげで、ム板が大変不便なんだよな。
プログラマは全角記号を使わない傾向にあるので、C#スレを立てたつもりがCスレに…
0879松戸サイエンティスト
垢版 |
NGNG
その「特殊記号」とやらの範囲を定義してもらおうじゃないか。
まさか#やら"が「特殊記号」とは言い出さないよな。
0881動け動けウゴウゴ2ちゃんねる
垢版 |
2006/05/31(水) 19:04:30ID:siBebk1E0
特殊文字は全て“&なんたら;”(セミコロン)の書式だったはずだから、
&だけを使えなくすればC#問題は解決するのでは。
0886 株価【610】◆cZfSunOs.U
垢版 |
2006/05/31(水) 20:13:40ID:+fxyHCEC0
>>865 まぁそうなんですが,↓ってことで.
http://qb5.2ch.net/test/read.cgi/operate/1145114275/692
あと,SpeedyCGI ではいったんロードされた *.pm は persistent になるんで,
ロードが多少重くてもさほど影響は大きくないかと.空きメモリが逼迫しているとかなら別ですが.

そういえば...... *.pm の重さといえば,昔 bbs.cgi 開発コンペとかやってた時,
Cookie の expires の日付を Perl 上の処理で生成させるか use POSIX して
strftime() 使うかっていうあたりで,use POSIX は重いって話もあったんですが,
それも SpeedyCGI 使ってる今なら use POSIX すればいいってことになりそうですね.
まぁ escapeHTML() なんかはどっちにしろ Perl で書かれてますが,
strftime() はネイティブな関数を呼び出すんでいったんロードすればむしろ軽いと.
0890stream ◆PNstream2s
垢版 |
2006/05/31(水) 21:23:07ID:tTZ/UGWf0
subject.txtの中身は text/plain なのか text/html なのか?
0895ひろゆき
垢版 |
NGNG
直すのはそんなに難しくないのかな?
#
0907root▲ ★
垢版 |
2006/05/31(水) 23:10:57ID:???0
帰宅。

なるほどなぁ。
投稿確認画面のあれと、フォームを処理するところのそれの問題と。

うむむむ。
0910root▲ ★
垢版 |
NGNG
" 問題を対策。

投稿確認画面で本文に対して以前から実施していた処理と同じ処理を、
常に実行することにした。
0911root▲ ★
垢版 |
NGNG
で、ここの処理はいろいろ微妙な気がしますね。
テクニカルにもポリシーとしても。

・ユーザの入力のセマンティクスは変えたり置換しないで受け入れる
・受け入れられない場合は、エラーにする(e.g. #usubonとか)

というポリシーでするのがよい、というのがあるので、
それに従ってということで。
0912908
垢版 |
2006/06/01(木) 00:45:33ID:AwduD7mO0
どうやらJaneのiniファイルを上書きしなかったのが原因だったようです。
例の物を追加したら立ちました。
0913857
垢版 |
2006/06/01(木) 01:00:41ID:+g4o/LH00
>>910
ありがとうございました。
0914動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 01:21:39ID:tOvrnLtl0
>>895
ほんと知識の無いボランティアが勝手に弄るとバグが入って大変ですよね
今回ひろゆきに無断で弄った知識の無いボランティアの人は止めさせてください
0915動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 01:47:06ID:k1DRmsIg0
投稿確認まだおかしいような
投稿確認の実態参照はブラウザが戻して送り返すから
元のフォームの&と"をただ変換するだけでいいんだけど
0917root▲ ★
垢版 |
NGNG
>>915
ふうむ。

これ以上アドホックにやるより、use CGI; とかで
作り直したほうがよさげな予感も。
0919動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 01:58:46ID:GQ9xqfF80
つーか<>は変換しても別に間違いじゃないはずだが。
(本文中の&quot;と同様冗長なだけ)
具体的にどんな投稿で不具合が出る?
0920root▲ ★
垢版 |
NGNG
推測100%ですが。

たぶんここは、いろんな人がいろんなアドホックな対策を
いろんなふうにやった結果なんじゃないのかなぁ、とか。

なにぶん、秘境だし。
0923動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 02:26:55ID:k1DRmsIg0
bbs.cgiの処理順がどうなってるかはわからないけど
投稿確認のフォームに入れるためのエスケープと
実際に書き込むときのエスケープの話がごっちゃになってるのかも
0928動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 08:22:28ID:gEmGR/RO0
現在の記号状況

スレッドタイトル
< → lt;
> → gt;
" → "(無変換、使うと確認画面で後ろが消える)
# → 一律削除
& → 一律削除

名前・メール
< → &lt;
> → &gt;
" → &quot;
# → トリップ・キャップ
& → &(無変換)

本文
< → &lt;
> → &gt;
" → &quot;
# → #(無変換)
& → &(無変換)
&# → BBS_UNICODE次第

全体で、実体参照を使って確認画面を通すと、ブラウザによって
対応する文字に戻されて送信される。
実体参照のつもりが、ただの文字になる。
0929動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 08:29:01ID:gEmGR/RO0
sid付けて投稿しても、確認画面のフォームにはsidは含めれて無いんすね。
初投稿(sid付加) -> 確認画面(sid無し) -> 実投稿(当然sid無し)

確認画面で未知のデータを取得するだけなら問題は出ないけど、
丸ごと使うと●が使えないっすね。
0931動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 12:56:03ID:zCj65lAB0
確かに丸ごと使うと問題だけど、
でも●を使うのは必ず専用ブラウザだから、
専用ブラウザ側でフォームに限らず勝手に&sid=セッションIDを付加して送信してるわけで、
問題ではないんじゃ?
0932root▲ ★
垢版 |
NGNG
>>931
「一理ある」というのは感想で、
実際には >>931 という感じでしょうね。
0934動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/01(木) 13:48:21ID:gEmGR/RO0
確認画面で起きる問題って、結局は確認画面を通さなければ起きないんだよね。
いや、当然の話なんだけど。

つまり、bbs.cgiで規約表示・入力文表示と共に再度投稿させるのではなく、
kiyaku.cgiみたいなのを別に用意し、そこで規約表示&クッキー発行。
bbs.cgiでは規約クッキーが無ければ、kiyaku.cgiへ誘導するエラーで終了。
0935root▲ ★
垢版 |
NGNG
>>934
そんなことも考えたことがありますが、、、。

今の bbs.cgi を読むと、書き込みに関するプログラムは、
bbs.cgi 一本で全部済ませることにしよう、というポリシーと、
ひしひしと感じるコードになっているです。

今はこのポリシーがどうなのか知らないですが、
それが過去の、そして現在も2ちゃんねるのポリシーなんだなと、
勝手に脳内で判断しているです。
0938松戸サイエンティスト
垢版 |
NGNG
>bbs.cgi 一本で全部済ませることにしよう、というポリシー

=ウルトラジャンボスパゲッティ30分で間食したら無料
0939root▲ ★
垢版 |
NGNG
(´-`).。oO(だから、よーくよーく読まないと理解できないんだよなぁ。
       じゃ、私がほんとに理解できたてるのかといえば実はそうでもなかったり)
0940root▲ ★
垢版 |
NGNG
>>938
そんなかんじかな。
クリーンナップ大作戦の時は1ヶ月以上かかった気がする。
でもまだ実は、とても完食とは言えなかったりするのかも。
0942動け動けウゴウゴ2ちゃんねる
垢版 |
NGNG
1. フォームから送信 →
<>&

2. 確認画面としてブラウザに送信 ←
<>&amp; (ブラウザは、(1)で送信したものと同じように表示する、と思う)

3. 確認画面から送信 →
<>& ((1)と同じものをブラウザが送る、と思う)

確かにややこしいし、間違ってる気もする。
0946root▲ ★
垢版 |
NGNG
>>944
私としては、
管理人の方針が決まったら、たんたんとそれを実装するというだけですね。
0950root▲ ★
垢版 |
2006/06/02(金) 14:43:05ID:???0
>>949
しかも、たまに来ていろいろとかき混ぜていく人がいるという、
すばらしいおまけ付きです。
0952動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/02(金) 17:09:31ID:UOpDZfI0O
しかも、書き混ぜたあと自分で食べようとしない(というか食べられない)のがさらにw
ごはんは残さず食べるべきだよね。
0954動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/05(月) 04:56:21ID:W1PcNuWx0
>>910 の副作用か、名前欄に " が含まれてると
Set-Cookie: NAME="...; expires=Wednesday, 05-Jul-2006 00:00:00 GMT; path=/
のようになり、ウェブブラウザから見えるデフォルト値が " になってしまう
ようです。
0955動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/05(月) 05:00:25ID:W1PcNuWx0
うわ
Set-Cookie: NAME=&quot;...; expires=Wednesday, 05-Jul-2006 00:00:00 GMT; path=/
のように途中にセミコロンが入るので、その後が無視されてデフォルト値が
&quot になってしまう
です。
0959root▲ ★
垢版 |
NGNG
>>954-955
名前欄の処理は今回全く変えていないので、
管理人がいじる前から、そのままってことですね。

Shift-JIS で保存していることも含めて、いまいちだとは思うけど。
0962動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/05(月) 14:48:50ID:Os6BzrFF0
〜; MDMD=asdf(ry; DMDM=(ry
みたいにBEログインに使うクッキーの値の前に
スペースが無いと認識されないっぽく、
他の値はスペース無関係で";"だけで通るようなのですが
0965動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/06(火) 14:27:05ID:EOykTBor0
MD5は暗号化(というか可逆)ではなくハッシュ(つまり不可逆)なわけだが。
その上、URLエンコードが必要な文字は登場しなくなるわけだが。
0966 株価【800】◆cZfSunOs.U
垢版 |
2006/06/06(火) 23:42:31ID:9Gf6kFZs0
雪だるま (bbsd) の index.html でのやり方(Cookie も JavaScript で設定)なら
Firefox での文字化け問題も含め対処できるかと.ページ上部の JavaScript 部分を

<script type="text/javascript" src="http://www2.2ch.net/snow/index.js"; defer></script>

に置き換えると.ただ,bbs.cgi での NAME, MAIL の Cookie 設定を停止してもらわないと
JavaScript での Cookie 設定が上書きされちゃいますが......
0967root▲ ★
垢版 |
2006/06/06(火) 23:52:38ID:???0
>>966
前にもあった話すね。

雪だるまでは既にずっとそうなっていて、特に大きな問題おきてないんで、
やってみようかなと。
0968root▲ ★
垢版 |
NGNG
BBS.CGI - 2006/06/07

>>966 を実験的に実施。
全サーバ NAME= MAIL= の Cookie は雪だるまサーバ互換になったはず。
0969root▲ ★
垢版 |
NGNG
上記により、; を含むトリップキーも、
ちゃんとクッキーに入るようになった模様。
0975root▲ ★
垢版 |
NGNG
2xx 3xx 4xx 5xx URL
179 221 0 0*/snow/index.js
42 13 0 0 /ba.gif
40 0 0 0 /403/
27 3 1 0 /live.html
15 2 0 0 /2ch.gif
11 24 0 0 /2ch.html
4 0 0 0 /favicon.ico
1 0 0 0 /images/bana3.gif

主なブラウザは 3xx (実際の転送が起こらない)になってくれるみたい。
0976 株価【900】◆cZfSunOs.U
垢版 |
2006/06/07(水) 01:48:14ID:7kVM+M060
>>973 乙です.

>>974 そういえば www2 は live22x と同じ鯖なんですね.

で,read.cgi の関連キーワードが <iframe> じゃなく当初の document.writeln() に
戻ってるようですが,これはこれでいいのかな?
0978root▲ ★
垢版 |
NGNG
なるほど、なんかいじったのね。
時間で表示をカットしたりしているのか。

戻しておきます。
0980 株価【900】◆cZfSunOs.U
垢版 |
2006/06/07(水) 07:53:50ID:7kVM+M060
>>975
>2xx 3xx 4xx 5xx URL
>179 221 0 0*/snow/index.js
>
>主なブラウザは 3xx (実際の転送が起こらない)になってくれるみたい。

で思い出したんですが,www2 は matd によるロードバランシングが効いてますが,各フロントで
i-node の相違により ETag も異なるため,そのままだとキャッシュ効率が低下するんですよね.
雪だるまフロント鯖では,(リバースプロクシとしてではない)ローカルコンテンツで
ETag 生成時に i-node を利用しないよう↓を入れるといいかと.

<Directory /document-root>
    FileETag -INode
</Directory>
0981動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 12:30:26ID:nOZPHhkr0
>>966からの影響か禁断の壷で
突然名前欄とメール欄が書き込んでも記憶されなくなってしまったのですが
どうしたらよいのでしょうか?
0982動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 12:40:46ID:nacK9/tf0
>>981
同様なことがIEでも。
スレッド作成画面が板のトップとは別画面になっている板で起こっている
ようです。
ニュー速+板とかオカルト板で。
0983root▲ ★
垢版 |
NGNG
>>981
壺の場合、影響あるかもしれないですね。
先日の専用ブラウザに影響があったのと同じパターンかと。

>>982
一応対処したはずなのですが、あとでみてみます。
0984動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 12:55:05ID:JNbYqs3T0
>>982
同様ってか名前欄、メール欄がないんだよねw
0986root▲ ★
垢版 |
NGNG
これでどうだろう。
10分ほどで反映されるはず。
0987動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 13:23:56ID:JNbYqs3T0
>>986
治ったぁ!ありがとさん♪
0988外野ァァン
垢版 |
2006/06/07(水) 13:24:33ID:z+KoZHan0
出た出た@ニュー速+ & 海外サッカー
正常に動作するかはわからん
0989root▲ ★
垢版 |
NGNG
IE と Firefox って、このへん違うのね、、、。ううむ。
0992動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 13:40:33ID:nacK9/tf0
>>986
ニュー速+、正常になりました。
有難うございました。
0994動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 14:47:37ID:2cwv9ySi0
>>986
まだ壷で名前欄が記憶されませんよー
何とかして下さい
0995動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 14:53:41ID:ehFGvwaH0
370 む sage 2006/06/07(水) 14:00:54 BE:?-# @
あ、遅れて表示されるのね。

IE/Firefox では表示されますね。


371 む sage 2006/06/07(水) 14:02:14 BE:?-# @
なんで遅れて表示されるのか…。

そっか。例の「キーワード」のところが重いのか。
全サーバにしたからかも。

とりあえずメール欄と名前欄の記憶がなくなるというのはなさげ。
おさわがせしました。
0996動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/07(水) 15:42:11ID:2cwv9ySi0
何で壷だけ名前欄が記憶されないままなんだー
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。

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