X



bbs.cgi再開発プロジェクト6

■ このスレッドは過去ログ倉庫に格納されています
2005/04/10(日) 16:15:47ID:a6rtBqIi0
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。

【開発環境の工事現場】
また挑戦。@2ch掲示板  http://dso.2ch.net/myanmar/
また挑戦2。@2ch掲示板 http://dso.2ch.net/yangon/

関連スレなどは >>2-5 くらい
629root▲ ★
垢版 |
NGNG
>>628
いまのところ、まだ超実験中なので、まだいらないっす。

たぶんほとんどの板は安全側に振った一定値にしておけばよくって、
2、3の特殊な板だけ別途特別な値を設定するかんじになると思っているので、
たぶん、ほとんど設定変更の必要もないかなと。
NGNG
>>584
あの、別に今のままでもそんなに問題無いんだけど
初心者板http://etc3.2ch.net/qa/って立ってるスレのほとんどが糞スレで
実際機能してるスレってあんまり無い状況です

一番消費してる『もの凄い勢いで誰かが質問に答えるスレ』は
住人が少なくなる時間だとスレ立てれる人がいなくなることがあって
しばらく待ってる間に人がいなくなるのを防ぐために、
一辺に大量にスレを立てておくことがあるんだけど
それをやるのに初心者板の規制解除して欲しいのだけれども駄目ですか?
この板はスレ立て荒らしされても迷惑する人いないと思うのだけど
2005/06/23(木) 13:47:34ID:We0905PS0
スレがものすごい勢いで立ってるVIPとかは
逆にログインしない方がスレ立てしやすかったりして

>>630
住人が少ないのに消費が早いってのはどうなんだろ
632root▲ ★
垢版 |
NGNG
別のことの副産物だったりするのですが、BBS_SLIP=checkedな板で、
AIR-EDGE PHONEからだと"H"と表示っていうのが出ると、うれしい人っているのかしら。
(今この機能はオフになっています)

ほんとは"O"にしたいところなんですが、
携帯で言う固有番号みたいなのって送ってくるんでしたっけ。
NGNG
>>632
送ってなかったとおもいます
2005/06/23(木) 22:53:01ID:QxdAbKwg0
たぶんなし
635root▲ ★
垢版 |
NGNG
>>633-634
そですか。

んじゃ、取り扱いの都合上、O にはできないですね。
かと言って、ちょっと 0 なのはいまいちなのですよね。いろいろと。

で、識別子そのものはつけておきたかったりするわけですが、
H でいいのかしら。
NGNG
H"とかw
637root▲ ★
垢版 |
NGNG
二文字には、したくないし。
NGNG
WかH

が無難かと
2005/06/23(木) 23:07:06ID:m3iMMIoN0
"はだめなん?
640root▲ ★
垢版 |
NGNG
ダブルクォートはちと特殊な文字だから、ちょっといやん。

W = WILLCOMですか。
メーカー名由来は、ちと微妙かも。
2005/06/23(木) 23:12:50ID:QxdAbKwg0
O0とくればoしかあるまい
642root▲ ★
垢版 |
NGNG
>>641
そのほうが普通かもですね。
2005/06/23(木) 23:30:04ID:cik1mIHi0
つか何をもってAIR-EDGE PHONEと判定するわけ? IPアドレス?
AIR-EDGE PHONEて、センター以外の一般ISPに繋ぐことが出来るんだが。
644root▲ ★
垢版 |
NGNG
>>643
よりどころは、これだけ。
http://www.willcom-inc.com/p_s/products/airh_phone/ip.html

ここにもあるように、めやすに過ぎないと。
645root▲ ★
垢版 |
NGNG
>>643
> AIR-EDGE PHONEて、センター以外の一般ISPに繋ぐことが出来るんだが。

知ってるですよ。京ぽんユーザなんで。

その時は当然PCと判断されるわけですが、
味ぽんや京ぽんのブラウザはリファラ吐いてくれないから、ここには書けないっすね。
646root▲ ★
垢版 |
NGNG
PCと、はちと不適切ですね。
「携帯でも公式p2でもない」と判断されるってことです。
2005/06/23(木) 23:40:48ID:tc5u2ePT0
端末がAIR-EDGE PHONEであることの判別ではなく
アクセス元のIPがAIR-EDGE PHONEセンターであるという判別ですね
648root▲ ★
垢版 |
NGNG
>>647
ですね。
で、>>632 の第2段落を再確認したわけで。

ということで、>>641 を採用するです。
649root▲ ★
垢版 |
NGNG
BBS.CGI 2005/06/23 >>648
2005/06/23(木) 23:48:30ID:IAjuJN5f0
えーと、そのセンターにH"以外からも接続出来るのですか?
#やり方を教えろというわけではありません。
2005/06/23(木) 23:50:36ID:g3sJnHMw0
識別するとどういうメリットがあるの?
652root▲ ★
垢版 |
NGNG
荒らしの出自判別がしやすくなるですね。>>651

>>650
わからないです。

もしそういうことができて、それを利用した荒らし行為が多く出回ったら、
AIR-EDGE PHONEからの書き込みは全面的に(りゃ にするしかないかと。
2005/06/23(木) 23:57:11ID:IAjuJN5f0
>>652
特殊な例(出来る出来ないはおいといて)を除き、o=H" という解釈でOKですね?
2005/06/24(金) 00:07:18ID:g0fG5wWDo
AIR-EDGE PHONEセンター経由ってことですね。
もしそうなってなかった場合、
ここで報告いただけると助かるです。
2005/06/24(金) 00:08:02ID:8f+3prEmo
>>645
京ポンのブラウザはリファラ吐きますよ。
UAがOperaじゃなくても。
2005/06/24(金) 00:09:52ID:8Hf9fVCV0
まあ、単純なprin一括規制から脱皮する可能性があるなら応援してもよさげ>識別
2005/06/24(金) 00:10:10ID:xiZxEbeE0
PCからでも、AIR-EDGEで(というかH"のPIAFSでも?)PRINで接続したらIPは同じになるのでは?
658P221119007168.ppp.prin.ne.jp
垢版 |
2005/06/24(金) 00:11:01ID:qtwXzmxmo
P2がPなんだからHでもいいやんと思うのは俺だけ?


o→激しくダサい
2005/06/24(金) 00:11:02ID:T4aiLaEN0
>>652
携帯の識別の場合PCとは規制方法が違うので意味があるというのはわかるんだけど
AIR-EDGE PHONEとPCって規制方法って違ったりするの?
(単なるISPの違いとの区別がよくわかってなかったり。)
2005/06/24(金) 00:11:18ID:LgCknsy3o
パピコ記念のテスト
Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0
2005/06/24(金) 00:12:40ID:qtwXzmxmo
あげてスイマセンでした
2005/06/24(金) 00:15:52ID:yqNIRM/n0
そりゃUA違うしな
Monazilla/1.00 kage/0.99.1.1153 (1000)
2005/06/24(金) 00:17:21ID:Bzb8/f1PP
テストはテストスレでw

[test] 書き込みテスト 専用スレッド 41 [テスト]
http://qb5.2ch.net/test/read.cgi/operate/1119193338/l200
2005/06/24(金) 00:17:59ID:g0fG5wWDo
おぉ、そですか。
であれば、味ぽんを切ってしまえば、この特殊処理しなくていいのね。

でも奥様が味ぽんのうちは、絶対そんなことできないわけで。
2005/06/24(金) 00:21:29ID:izGLkW05o
>>657
ならないですよ
PCからはAIR-EDGEPHONEセンターへはAIR-EDGEPHONE接続経由でも
接続できません
AIR-EDGEPHONE単体専用です
666root▲ ★
垢版 |
NGNG
きたくで。

>>659
今は prin.ne.jp が規制されれば、出自に関係なく巻き添えですね。

それ(規制の方法論)も含めてよりうまくできる道はあるのか、
あるいは実は携帯荒らしみたいに京ぽん荒らしがいたりするのかとか、
そういうことを、知っておきたいわけで。
2005/06/24(金) 00:27:09ID:cetU9eEYo
テスト
2005/06/24(金) 00:29:36ID:e5bWae1/0
>>640
エッジって濁点じゃなかったっけ

>>667
>>663
2005/06/24(金) 00:32:12ID:GoGvYrvfo
PCからPRIN経由でカキコ
670root▲ ★
垢版 |
NGNG
>>668
確かにそうかもですね。

というか、公式p2以外のものをサービス名やメーカー名にバインドした名前にするのは
やはりいまいちだなと、>>641 を読んでおもたわけです。

これまでもIだったのがaになったり、
JだったのがVになったり、ことによるとVからYにさらに変わる(これはないか)
とかいうことは、常にあるわけで。
671root▲ ★
垢版 |
NGNG
>>669
ほほう。

/25 のところのチェックを、きちんと実装しないといかんかもですね。
今は(もともとbbs.cgiがそうだったように)、まじめにやってないです。
2005/06/24(金) 00:35:01ID:yqNIRM/n0
テストはテストスレで
名前欄にはなるべくtasukeruyoで
673root▲ ★
垢版 |
NGNG
というわけで、あるIPアドレスがあるCIDRブロックに入っているかを、
Perlでうまく調べる方法って、どうすればいいのかしら。

具体的にはあるIPアドレスが、61.204.3.0/25 に入っているかいないかを
さくっとコール一発で、調べたいわけです。
2005/06/24(金) 00:36:11ID:gTCgmqQY0
http://ex10.2ch.net/test/read.cgi/morningcoffee/1119539572/47
>47 :ZC******.ppp.dion.ne.jp :2005/06/24(金) 00:33:59 o
>ふしあなしてみた

これはなにですか
675root▲ ★
垢版 |
NGNG
>>674
ふむ。

もうちょっと、調べてみるです。
2005/06/24(金) 00:37:27ID:yqNIRM/n0
prinとdionは同じ施設使ってるですよ
ソースはwhois
2005/06/24(金) 00:37:53ID:gTCgmqQY0
続報
58 47 2005/06/24(金) 00:36:43 0
繋ぎ直したらでなくなったみたい

だそうです
678root▲ ★
垢版 |
NGNG
ははぁ、虫ですね。

つまり、もともと虫がいたと。
(判別部分のアルゴリズムは、前のバージョンと変えていません)

221.119.26.185 が、221.119.2 にマッチしちゃってるわけね。
なんだかなぁ。
2005/06/24(金) 00:40:30ID:0G1cfbjq0
質雑のFAQ修正はこんな感じですか。

Q.IDの後ろに付いてる0とかOとかPとかoってなに?
A.書込み手段を区別する目印です。
 PC等が 0 (ゼロ) 、携帯が O (大文字のオー)、 P は公式p2( http://p2.2ch.net/ )
 それ以外(Air H"等)が o (小文字のオー)からです。
 荒らし対策の一環として、一部の板に便宜上導入されています。
2005/06/24(金) 00:41:40ID:Ud6A2wHe0
携帯もキャリア別に末尾変えるべきかと
681root▲ ★
垢版 |
NGNG
>>679
携帯が O (大文字のオー)、 公式p2( http://p2.2ch.net/ )が P、
AIR-EDGE PHONEが o (小文字のオー)、
それ以外が 0 (ゼロ)です。

が、正しいです。
2005/06/24(金) 00:43:12ID:BgGEEPRio
とりあえず、IR-EDGEPHONEセンターとPRINは
課金条件とかが違うから名前を変えているけれど
中身は同じなんじゃないかと。だからIPも同じになると。
憶測なんだけど。
でもAPの電話番号は違うんだよね
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312
2005/06/24(金) 00:43:25ID:skdIbacY0
>>673
ttp://search.cpan.org/~mrsam/Net-CIDR-0.10/CIDR.pm

これのNet::CIDR::cidrlookupでよさげ
684root▲ ★
垢版 |
NGNG
>>680
それは一瞬考えたんですが、今の目的(荒らしの出自判定)からは、
その必要ないと思っているです。

なんでかというと「xxのキャリアからの荒らしだ」ということは規制方法論的には全く
区別していなくて、いずれの携帯キャリアも全く同じ方法で、規制しているからですね。

もしが「auだけ特殊な規制処理」とか「DoCoMoだけ特殊な規制処理」とかしているんであれば、
区別する意味はあるわけですけど。
685root▲ ★
垢版 |
NGNG
で、今入っている o 判定ルーチンにはバグがあるです。
(もともとあったのが、今回判明した)。

ということで今出る o は、必ずしも正確なものではないです。
めしくったら、ちと直してみるか。
2005/06/24(金) 00:47:21ID:yPAq0Ytf0
うむ。
末尾「o」はいい感じですね。
それよりも、root氏って京ぽなー??
687root▲ ★
垢版 |
NGNG
>>683
どもです。すばらしい。

さくっと入れてもらう必要ありですね。
これ入れると規制方面では応用範囲が広そうですね。
いいかんじかなと。
688root▲ ★
垢版 |
NGNG
>>686
…です。

というわけで、ぼちぼちおかずがテーブルに並び始めた模様。
2005/06/24(金) 00:51:39ID:0G1cfbjq0
ではこんな感じで。(種別の並びをあわせてみました)

Q.IDの後ろに付いてるOとかPとかoとか0ってなに?
A.書込み手段を区別する目印です。
 携帯が O (大文字のオー)、 公式p2( http://p2.2ch.net/ )が P、
 AIR-EDGE PHONEが o (小文字のオー)、
 それ以外が 0 (ゼロ)です。
 荒らし対策の一環として、一部の板に便宜上導入されています。
2005/06/24(金) 00:55:08ID:am8Tfv680
Oと0の分け方は大雑把なのに、AIR-EDGE PHONEセンター経由だけ識別されるのは、ちょっといやーかもです。
0→Oへ分類変えされるならいいけど。
AIR-EDGE PHONEセンターからの荒しって多いんですか?
691root▲ ★
垢版 |
NGNG
>>689
いいかんじ。

>>690
それも含めて、現状を知りたいなと。< 荒らしが多いかどうか
で、端末固有情報が来るなら、Oでも問題ないわけですが、、、。
692root▲ ★
垢版 |
NGNG
>>683
http://search.cpan.org/dist/Net-CIDR-Lite/

こっちのほうが、軽くて速いらしいです。
とりあえず、試してみるか。

今の o 表示は、これからとりあえずいったんオフにするです。
2005/06/24(金) 01:33:13ID:am8Tfv680
>>691
なるほど、わかりました。
2005/06/24(金) 01:34:26ID:0G1cfbjq0
おっ、質雑のほうへ転載していただいた方乙です。
2005/06/24(金) 01:34:56ID:skdIbacY0
>>692
そのようですね
おいらもNet::CIDRを試してみて重いと感じたから
Liteも試してみて、軽くて速いからLiteにしるって書きにきたとこです
696root▲ ★
垢版 |
NGNG
>>695
どもです。

軽いといってもちょっとコストのかかりそうな処理なので、
SpeedyCGIの特性を生かして、$cidr->add() は出航時の1回だけにしました。
こうしておけば、重い初期化と登録は1回だけで済むはずかなと。

こんなかんじで。$FOX は出航時に初期化して使う一連のグローバル変数群。

use Net::CIDR::Lite;
$FOX->{AIREDGECIDR} = Net::CIDR::Lite->new;
# IPアドレスブロック一覧(CIDR形式)
# アドレスレンジが追加された場合、ここに加えていく
# http://www.willcom-inc.com/p_s/products/airh_phone/ip.html
my @airedgecidr = (
"61.198.142.0/24",
"61.198.249.0/24", "61.198.250.0/24",
"61.198.253.0/24", "61.198.254.0/24", "61.198.255.0/24",
"61.204.0.0/24",
"61.204.3.0/25",
"61.204.4.0/24",
"61.204.6.0/25",
"210.168.246.0/24", "210.168.247.0/24",
"211.18.235.0/24",
"211.18.238.0/24", "211.18.239.0/24",
"219.108.0.0/24", "219.108.1.0/24", "219.108.2.0/24", "219.108.3.0/24",
"219.108.4.0/24", "219.108.5.0/24", "219.108.6.0/24", "219.108.7.0/24",
"221.119.0.0/24", "221.119.1.0/24", "221.119.2.0/24", "221.119.3.0/24",
"221.119.4.0/24", "221.119.5.0/24", "221.119.6.0/24", "221.119.7.0/24",
"221.119.8.0/24", "221.119.9.0/24" );
# CIDRリストをあらかじめ登録しておく
# こうしておくことで、重い初期化はbbs.cgi出航時の1回で済む
for (my $i = 0; $i < @airedgecidr; $i++)
{
$FOX->{AIREDGECIDR}->add($airedgecidr[$i]);
}
697root▲ ★
垢版 |
NGNG
で、チェック用サブルーチンはこんなふう。

#############################################################################
# AIR-EDGE PHONEセンターのIPアドレスかどうかチェックする
#############################################################################
sub mumumuIsIP4AirEdgePhone
{
my ($raddr) = @_;

# CIDRリストに該当があるかどうかチェックする
$FOX->{AIREDGECIDR}->find($raddr);
}
698root▲ ★
垢版 |
NGNG
こうだった。

#############################################################################
# AIR-EDGE PHONEセンターのIPアドレスかどうかチェックする
#############################################################################
sub mumumuIsIP4AirEdgePhone
{
my ($raddr) = @_;

# CIDRリストに該当があるかどうかチェックする
return $FOX->{AIREDGECIDR}->find($raddr);
}
699root▲ ★
垢版 |
NGNG
モジュールの入れ込みをお願いしました。

http://aa5.2ch.net/test/read.cgi/nanmin/1118138260/592

さて、ねるか。
2005/06/24(金) 08:21:00ID:M5iaI72S0
>>696
NetCIDRは、配列の参照受け取ったりはしないの?
まあ、数十回のコピーならさしてコストかかんないだろうけど。

# CIDRリストをあらかじめ登録しておく 
# こうしておくことで、重い初期化はbbs.cgi出航時の1回で済む 
for (my $i = 0; $i < @airedgecidr; $i++) 

$FOX->{AIREDGECIDR}->add($airedgecidr[$i]); 


↓の方がPerl的かも。処理速度は殆ど変わらんと思うけど。

foreach my $cidr (@airedgecidr){
  $FOX->{AIREDGECIDR}->add($cidr); 
}

>>697-698
Perlの世界では暗黙に最後の評価値がretrurn値になるので、
どっちでもOKですよ。前者の記法を好む人も多い。
こちらは完全に好みの問題だけど。

しかしこれ関数化する意味あるの?@FOXが呼び出し元のスコープにないとか?
2005/06/24(金) 08:27:05ID:skdIbacY0
>>696-699
乙です

ちなみに>>697>>698は等価です
もちろん明示的にreturnした方が読みやすいのでbetterですけどね
2005/06/24(金) 08:31:08ID:skdIbacY0
あらかぶりましたわ
703root▲ ★
垢版 |
NGNG
>>700
下の3行のほうがよさげですね。それにしてみるです。
(そのへんの作法にくわしくなかったりします)

で、SpeedyCGI 化している今の bbs.cgi では、
出航時に1回しか設定しないところ(SETTING.TXT / 広告チェック用リスト / ローカルルール等)は、
まとめて一発関数呼んで(initFOX)、そこでやっているです。
で、上記は、initFOX内に追加したと。
NGNG
>>631
時間によってかなり人数違うの
705FOX ★
垢版 |
2005/06/24(金) 13:59:27ID:???0
そして、あとから読む人がまた悩むのであった、、、
NGNG
エェェ(´Д`)ェェエ
707root▲ ★
垢版 |
NGNG
>>705
できるだけ「おじさんのインデント」とか「おじさんの書き方」に合わせるようには、
しているわけです。サブルーチンやら変数の使い方やらも。

…しかし、難しい問題ですね。
心が通じ合わないと、だめなのかしら。
2005/06/24(金) 14:36:48ID:M5iaI72S0
>>700
自己レス。

> NetCIDRは、配列の参照受け取ったりはしないの?

http://search.cpan.org/~dougw/Net-CIDR-Lite-0.17/Lite.pm

しないっぽい。

$FOX->{AIREDGECIDR} = Net::CIDR::Lite->new(@airedgecidr);

ってのはできるらしいが、全部add_any()に投げられちゃうらしいので
プログラマ的にはちょっと気持ち悪いかな。

>>703
んーとよく分からないんだけど、mumumuIsIP4AirEdgePhone()の呼び出し元からは
@FOXが参照できないってこと?
709FOX ★
垢版 |
2005/06/24(金) 14:38:33ID:???0
わたしにあわせる必要はまったくなく、、、

でも return は明示的にすべきでしょ
Perl の良さである「だれでもできる」を殺していると思う
710root▲ ★
垢版 |
NGNG
>>708
あぁ、そういう意味ですか。

つまり、

if(&mumumuIsIP4AirEdgePhone($raddr)) {
なんちゃら;
}

じゃなくて、

if($FOX->{AIREDGECIDR}->find($raddr)) {
なんちゃら;
}

ていいんじゃないかってゆうことですね。
確かにそうですが、どっちが作法としていいのか、っていう話なのかなと。
711root▲ ★
垢版 |
NGNG
>>709
> でも return は明示的にすべきでしょ

私も、そう思っているです。
で、>>698 と。

で、おじさんに合わせているというよりか、
今主にいじっている人の流儀に合わせるみたいなかんじですね。

私が間違って中身をいじってしまうぐらいですから、それなりにきれいになっているわけですが、
今でも「たぶんこことこことここは、書いた人が違うんだろうなぁ」みたいなところは、
たくさんたくさんあるようです。
2005/06/24(金) 14:42:19ID:qV+vDjG60
俺も暗黙の返り値ってのはあんま好きじゃないなー
古いタイプなのかも
713FOX ★
垢版 |
2005/06/24(金) 14:42:54ID:???0
>Perlの世界では暗黙に最後の評価値がretrurn値になるので、

これをやられると、みんなが辛いということなんですが、
714FOX ★
垢版 |
2005/06/24(金) 14:43:33ID:???0
>>710
それは前者がよいような
715root▲ ★
垢版 |
NGNG
>>714
…と私もおもたので、今のは前者になっているです。

で、難民のほうで頼んだ例のPerlモジュール入れていただけると、qb6のを配ることができるですね。
(qb6ではqw()でローカルに読ませてテストしたので、今配ると他で動かないです)
2005/06/24(金) 15:05:13ID:M5iaI72S0
>>710
そゆことです。
何やってるのか関数名で見通したい、というのなら前者って感じですかね。

全体構造が分からないんで的違いな話になる可能性大ですが、どちらにせよ
$FOX->{AIREDGECIDR}は同じファイル内でだけ呼ぶようにしたらいいんじゃ
ないかなと思うです。その結果が前者なんであれば前者がベターですね。
717root▲ ★
垢版 |
NGNG
>>716
なるほどです。
この辺の作法はプログラミング言語が違っても、
そんなに変わるところじゃないですしね。

「その結果」ということで、問題ないです。
2005/06/24(金) 19:42:05ID:j6fIYZld0
ごめんなさい
ちょこっとエジでテスト
719サザン ★
垢版 |
NGNG
qb6 の bbs.cgi は全サーバに配っちゃダメなんですよね?
720root▲ ★
垢版 |
NGNG
>>719
あ、今はまだだめです。

配る必要、あるですか?
あるなら、緊急に対応することになるです。
NGNG
>>720
いやー、特に急ぎではないです。

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

この辺を入れました。
722root▲ ★
垢版 |
NGNG
>>721
おぉ、了解です。

で、私からの愛をメールで送っておいたです。
よろしければ、受け取っていただけると。
NGNG
>>722
返事は・・・OKです、、

きゃ
724root▲ ★
垢版 |
NGNG
そう言っていただけると、信じてました。

愛があれば、年の差なんて。
NGNG
今はギクシャクしてますけど、少しずつ仲良くなっていきます、、



えぇ、サーバとですよ。
2005/06/25(土) 00:34:36ID:qDyC1RFhO
セックルキター
2005/06/25(土) 00:38:02ID:gieTPTdE0
ウホッ!
2005/06/25(土) 01:44:13ID:tFnzMa950
ここが夜中に発展場と化している件。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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