X



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

レス数が950を超えています。1000を超えると書き込みができなくなります。
1root▲ ★
垢版 |
NGNG
bbs.cgiの開発作業をすすめていくためのスレッドです。

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

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

あたりがターゲットか。

前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
2006/05/31(水) 18:19:31ID:HNqJT+Wz0
そうしたらスレタイで特殊記号使えるようになってしまうわけだが
NGNG
その「特殊記号」とやらの範囲を定義してもらおうじゃないか。
まさか#やら"が「特殊記号」とは言い出さないよな。
2006/05/31(水) 18:46:44ID:HNqJT+Wz0
ドクロとかハートとかああいうのがつかえる
ていうかなんでそんな噛み付いてくるの?
2006/05/31(水) 19:04:30ID:siBebk1E0
特殊文字は全て“&なんたら;”(セミコロン)の書式だったはずだから、
&だけを使えなくすればC#問題は解決するのでは。
2006/05/31(水) 19:21:20ID:Tl2+UqOl0
? -> &# でおk
2006/05/31(水) 19:23:50ID:Tl2+UqOl0
はなもげらフォームは死ね

&# -> &# でおk
2006/05/31(水) 19:28:47ID:6sddtZR8P
この時間帯にもなってハナモゲラになる奴は素人
2006/05/31(水) 19:34:29ID:1tOJ4kzO0
実体参照を一律禁止する意味も無ければ、使用する記号を
単体でも無条件で排除する意味も無い。
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() はネイティブな関数を呼び出すんでいったんロードすればむしろ軽いと.
2006/05/31(水) 20:23:04ID:JrKeyzSd0
<も>も使えるようにしてください
2006/05/31(水) 20:42:44ID:IGaZVzco0
いよいよAちゃんねるの実現か…
NGNG
そしたら名前に<>を入れてログずらししてやる
2006/05/31(水) 21:23:07ID:tTZ/UGWf0
subject.txtの中身は text/plain なのか text/html なのか?
2006/05/31(水) 21:27:29ID:1tOJ4kzO0
なんのはなしだおい
2006/05/31(水) 21:41:43ID:+fxyHCEC0
まぁ subject.txt でも dat と同じように escape すればいいのかと.
< -> &lt;, > -> &gt;, etc.
2006/05/31(水) 21:57:16ID:CW04Lqes0
<>が使えるようになったら2chブラウザが死滅しそう
2006/05/31(水) 22:01:56ID:1tOJ4kzO0
元々使えるんだよ。変換して。
で、>>870
895ひろゆき
垢版 |
NGNG
直すのはそんなに難しくないのかな?
#
2006/05/31(水) 22:33:03ID:QMzmnUzi0
本文の"もエスケープされるようになったの?
2006/05/31(水) 22:33:53ID:1tOJ4kzO0
&のことも忘れないで下さい

【調査】 quot;ボーナス、バブル期に近づくquot; 非管理職・過去最高の75万円、管理職・142万円
http://news19.2ch.net/test/read.cgi/newsplus/1149070751/
lt;丶;∀;gt;ニダーも感動します。
http://aa5.2ch.net/test/read.cgi/nida/1149058619/
2006/05/31(水) 22:33:52ID:QMzmnUzi0
おお、なってる
これでノートン誤検出の不毛な騒ぎも終焉か
2006/05/31(水) 22:34:04ID:1tOJ4kzO0
>896
なったようです。
2006/05/31(水) 22:38:48ID:vf9i+nsB0
>>895
ななななにを、、、。
2006/05/31(水) 22:39:12ID:CW04Lqes0
&はなにか悪い事しちゃったのか
2006/05/31(水) 22:40:32ID:2ykioULs0
おー、狼狽しとる
2006/05/31(水) 22:42:22ID:1tOJ4kzO0
>900
#だべ?
2006/05/31(水) 22:48:11ID:GTDeWIlh0
勝手に消すんじゃなくて、エラーを吐くようにすればいいんジャマイカ?
NGNG
スレタイに#使えるようにしたくださいーってやつでしたっけ。
どうして今更って感じもしないでもないのですが。。。
2006/05/31(水) 22:53:35ID:FZ3CebIX0
くおっと問題は、帰宅したら見ます。なかなか。
907root▲ ★
垢版 |
2006/05/31(水) 23:10:57ID:???0
帰宅。

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

うむむむ。
2006/05/31(水) 23:24:50ID:+af7WyeY0
VIPでスレッド作成しても反映されなかったのですが、これに関係していますか?
2006/05/31(水) 23:42:04ID:xcLKbCOY0
ただの不可視に一票
910root▲ ★
垢版 |
NGNG
" 問題を対策。

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

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

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

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

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

なにぶん、秘境だし。
2006/06/01(木) 02:05:11ID:k1DRmsIg0
>>919
&が&amp;になってなかった
<>については>>916で必要だと言っている
2006/06/01(木) 02:16:01ID:GQ9xqfF80
&が&amp;にならないのはAA板とかで必要だからであって
仕様じゃないの?
2006/06/01(木) 02:26:55ID:k1DRmsIg0
bbs.cgiの処理順がどうなってるかはわからないけど
投稿確認のフォームに入れるためのエスケープと
実際に書き込むときのエスケープの話がごっちゃになってるのかも
2006/06/01(木) 02:28:58ID:GQ9xqfF80
たとえば
&lt;と投稿

投稿確認画面でvalue="&<"になる

そのまま投稿されて<に化けてしまう
って話?
2006/06/01(木) 02:30:15ID:GQ9xqfF80
投稿確認画面でvalue="&lt;"になる
って書くつもりだった
2006/06/01(木) 02:44:55ID:k1DRmsIg0
うーん、勘違いだったかも.とりあえず忘れてごめん.
2006/06/01(木) 03:29:55ID:k1DRmsIg0
>>915 で実体参照のこと書いたけど戻すのは Shift_JIS の文字だけみたいで
それ以外は&#数字; の形式になるようだ(ブラウザによる).

http://qb5.2ch.net/test/read.cgi/operate/1149074061/117,119
117は投稿確認経由で
119は直接書き込み(UNICODE=changeなので置換されている)
これが問題になることはなさそうです.
2006/06/01(木) 08:22:28ID:gEmGR/RO0
現在の記号状況

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

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

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

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

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

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

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

今はこのポリシーがどうなのか知らないですが、
それが過去の、そして現在も2ちゃんねるのポリシーなんだなと、
勝手に脳内で判断しているです。
936root▲ ★
垢版 |
NGNG
× ポリシーと、
○ ポリシーを、
2006/06/01(木) 14:27:08ID:gEmGR/RO0
なるほろ
NGNG
>bbs.cgi 一本で全部済ませることにしよう、というポリシー

=ウルトラジャンボスパゲッティ30分で間食したら無料
939root▲ ★
垢版 |
NGNG
(´-`).。oO(だから、よーくよーく読まないと理解できないんだよなぁ。
       じゃ、私がほんとに理解できたてるのかといえば実はそうでもなかったり)
940root▲ ★
垢版 |
NGNG
>>938
そんなかんじかな。
クリーンナップ大作戦の時は1ヶ月以上かかった気がする。
でもまだ実は、とても完食とは言えなかったりするのかも。
2006/06/01(木) 14:48:59ID:vwkrJOJOP
subbbsを使わない方向と同じ理由ではなかろうか。
NGNG
1. フォームから送信 →
<>&

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

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

確かにややこしいし、間違ってる気もする。
NGNG
と思ったら、"を忘れてたし、>927ということもあるのか orz
2006/06/01(木) 21:30:22ID:fnJphcko0
http://live19.2ch.net/test/read.cgi/market/1145288790/669
こんな事言うてはる人が居てるんですが・・・。
どのスレに持っていけば良いですかね。
2006/06/01(木) 21:48:35ID:vNCkxzLW0
>>944
明らかにスレ違い
946root▲ ★
垢版 |
NGNG
>>944
私としては、
管理人の方針が決まったら、たんたんとそれを実装するというだけですね。
2006/06/01(木) 23:00:17ID:fnJphcko0
>>946
ども。

2ちゃんの規約に納得できなければ
利用しなけりゃ良いだけですね。( ̄ー ̄)

2006/06/02(金) 09:31:49ID:IbeHcsqv0
スレ違い持ち込んどいて何言ってるんだか
NGNG
>>940
食べたら食べた分だけスパゲッティを作り足すわけですね。
950root▲ ★
垢版 |
2006/06/02(金) 14:43:05ID:???0
>>949
しかも、たまに来ていろいろとかき混ぜていく人がいるという、
すばらしいおまけ付きです。
2006/06/02(金) 14:54:09ID:VKM/HC7x0
>>950
ヽ(´Д`ヽ)(/´Д`)/ィャァ-







ひろゆきいやなんでもない
2006/06/02(金) 17:09:31ID:UOpDZfI0O
しかも、書き混ぜたあと自分で食べようとしない(というか食べられない)のがさらにw
ごはんは残さず食べるべきだよね。
2006/06/02(金) 23:08:34ID:ssRPt/WgO
>>952
きっと、うまい棒を食べ過ぎたんだよ。
2006/06/05(月) 04:56:21ID:W1PcNuWx0
>>910 の副作用か、名前欄に " が含まれてると
Set-Cookie: NAME="...; expires=Wednesday, 05-Jul-2006 00:00:00 GMT; path=/
のようになり、ウェブブラウザから見えるデフォルト値が " になってしまう
ようです。
2006/06/05(月) 05:00:25ID:W1PcNuWx0
うわ
Set-Cookie: NAME=&quot;...; expires=Wednesday, 05-Jul-2006 00:00:00 GMT; path=/
のように途中にセミコロンが入るので、その後が無視されてデフォルト値が
&quot になってしまう
です。
2006/06/05(月) 05:33:58ID:58QscFYx0
Cookieの値エスケープしてないのか…
2006/06/05(月) 11:30:47ID:eSIABjnJ0
アドホックというかアホ
2006/06/05(月) 12:33:39ID:oemyPLQ30
誰がうまいこと言えと(ry
959root▲ ★
垢版 |
NGNG
>>954-955
名前欄の処理は今回全く変えていないので、
管理人がいじる前から、そのままってことですね。

Shift-JIS で保存していることも含めて、いまいちだとは思うけど。
2006/06/05(月) 13:41:52ID:1v3si/Nr0
>>959
言いだしっぺの法則
2006/06/05(月) 14:46:53ID:OR19Pgx10
クッキーは時折挑戦しては失敗を繰り返してたでしょ。
2006/06/05(月) 14:48:50ID:Os6BzrFF0
〜; MDMD=asdf(ry; DMDM=(ry
みたいにBEログインに使うクッキーの値の前に
スペースが無いと認識されないっぽく、
他の値はスペース無関係で";"だけで通るようなのですが
2006/06/05(月) 19:53:12ID:f+nyeN6M0
で、URLエンコードして、文字コードでハマる、と…
NGNG
MD5とかで暗号化してURIエンコード。これ最強。
965動け動けウゴウゴ2ちゃんねる
垢版 |
2006/06/06(火) 14:27:05ID:EOykTBor0
MD5は暗号化(というか可逆)ではなくハッシュ(つまり不可逆)なわけだが。
その上、URLエンコードが必要な文字は登場しなくなるわけだが。
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 設定が上書きされちゃいますが......
967root▲ ★
垢版 |
2006/06/06(火) 23:52:38ID:???0
>>966
前にもあった話すね。

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

>>966 を実験的に実施。
全サーバ NAME= MAIL= の Cookie は雪だるまサーバ互換になったはず。
969root▲ ★
垢版 |
NGNG
上記により、; を含むトリップキーも、
ちゃんとクッキーに入るようになった模様。
2006/06/07(水) 00:46:25ID:7kVM+M060
>>967-969 乙です.そうなると,index.html だけでなく
read.cgi の JavaScript 部分も同様に >>966 となります.
971root▲ ★
垢版 |
NGNG
>>970
いってきます。
2006/06/07(水) 00:58:31ID:5qMUX0Uk0
なんかVIPがぶっ壊れたようですがこれとは関係なし?
973root▲ ★
垢版 |
NGNG
>>970
done のはず。

>>972
憂ーむな状態。
974root▲ ★
垢版 |
NGNG
http://mumumu.mu/bremen/live22x_total.html

index.js を読むようになった分かな。
スタティックコンテンツなので、問題ないでしょう。
975root▲ ★
垢版 |
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 (実際の転送が起こらない)になってくれるみたい。
2006/06/07(水) 01:48:14ID:7kVM+M060
>>973 乙です.

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

で,read.cgi の関連キーワードが <iframe> じゃなく当初の document.writeln() に
戻ってるようですが,これはこれでいいのかな?
977root▲ ★
垢版 |
NGNG
>>976
む、ソース確認してみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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