一括表示

− 野ざらし言 −

[3509] 第二次野ざらし改造計画

としき 2010/01/13(Wed) 22:01
http://www.hinocatv.ne.jp/~toshiki/
新規ツリーにします。
まだ全く何にも手をつけていないのですが、追加仕様の提案などは、こちら
のツリーで行いたいと思います。

で、早速ですが、ひとつ確認。
今回も、基本的には、あまり見栄えの部分は変えずにロジックの部分だけを
いじるということでよろしいかと思います。が、密接に絡み合う部分という
のは当然存在するわけで。
なにかというと、例えば、#3485から始まるツリー、allreadで表示させると
すぐに分かりますが、タイトルの部分が枠からはみ出しているのですよ。

で、安直に考えついたいくつかの対応策。

1:なにもしない
2:CSSで対応する
3:一定以上の長さのタイトルは投稿拒否
4:一定以上の長さのタイトルはカットして受付
5:長いタイトルもそのまま受け付けて内部的には保持するが、表示時に
  一定長以上はカット 

これらのうち、3〜5の対応策をとるとなると、当然ながらロジック側に手
を入れる必要があります。

ということで、どうしましょう。
まだ何も手をつけていませんから、今のうちにいくらでもどうぞ。
 

[3510] Re: 第二次野ざらし改造計画

めざら 2010/01/14(Thu) 08:20
[3509]へのコメント http://homepage3.nifty.com/mezala/
 お手数をおかけします。
 手を入れていただくのは,ロジック部分だけで結構です。
 ですので,
> 1:なにもしない
> 2:CSSで対応する
 いずれかを採ります。つまり「表示」の部分は基本的にすべて CSS で対応しようと思っています。よろしくお願いします。

 現在の表示にしている経緯。
・パソコン通信で一般的だった「桁折」をあまりしてほしくない
 niftyの会議室やオートパイロットの仕様で桁折が一般的だった時代と異なり,環境によって表示が異なることで桁折すると逆に読みにくくなるケースが懸念される。
 →「通常モード」(p要素)を推奨した
・しかしながら表示幅が大きいと行が長くなる
 一行が長いと読みにくいという感覚も尊重したい。
 →表示幅を80桁程度にしてみた
・タイトルが長いと発言ヘッダ部の1行目が折り返されて美しくない
 パソ通と異なりタイトルの長さは自由にしたい。
 →ヘッダ部の枠をはみ出してもそのまま表示するようにしてみた

 …というわけで,この辺は試行錯誤中です。桁折に対する感覚は人それぞれですから,なかなか難しいですね。HTMLの要素も普通意識しないものですし。

 でも,少し意識して欲しいな,と思うのは,桁折というのはその人個人の環境においては美しく見えても,他の人の環境で読みやすいとは限らないことです。としきさんは意味の切れ目を意識して折っていらっしゃるということですけれど,みなさんがそうしているとは限らないので,検索などに支障のある場合も起こりうるのではないかと,心配しているわけです。ふつう杞憂ですが。

 そのようなわけで,表示に関しては適当に考えていきますので,表示のことは意識せずに,たとえばCSSなしで表示して特別な問題がなければ構いません。よろしくお願いします。

[3511] Re^2: 第二次野ざらし改造計画

としき@会社 2010/01/14(Thu) 10:37
[3510]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> > 1:なにもしない
> > 2:CSSで対応する
>  いずれかを採ります。

了解しました。この件についてはロジック側は変更しません。

> ・パソコン通信で一般的だった「桁折」をあまりしてほしくない
>  niftyの会議室やオートパイロットの仕様で桁折が一般的だった時代と異なり,環境によって表示が異なることで桁折すると逆に読みにくくなるケースが懸念される。
>  →「通常モード」(p要素)を推奨した
> ・しかしながら表示幅が大きいと行が長くなる
>  一行が長いと読みにくいという感覚も尊重したい。
>  →表示幅を80桁程度にしてみた

この部分、悩ましいところです。
80桁で桁折しても、横幅が狭い表示端末で大きな文字を使って横40桁に
なっているとか、さらに横幅が狭い携帯電話のような端末だと、妙なところ
に改行が入ってしまいますね。逆に、横1920ピクセルの端末で小さい文字を
使っていると、桁折のない文章はとんでもないことになりそう。
何か両立させる方法はあるのでしょうけど、私には考え付きません。
では、どちらを選ぶのか、となった場合、私は桁折があったほうがうれしい、
ということで、改行しまくっています。また、板塀では、入力欄にちょっと
細工しました。試してみればわかりますが、多くのブラウザでは、心理的に
桁折したくなるような細工を施してあります。

>  パソ通と異なりタイトルの長さは自由にしたい。
>  →ヘッダ部の枠をはみ出してもそのまま表示するようにしてみた

たとえば、ヘッダ部を複数行に分けてみる、というのはどうでしょうか。
うちの板塀だと、項目ごとにすべて別の行にしていますが、そこまで極端で
なくても、2行に分けるだけで、ある程度は見栄えが変わると思います。

[3512] Re: 第二次野ざらし改造計画

としき 2010/01/20(Wed) 22:02
[3509]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 追加仕様の提案などは、こちらのツリーで行いたいと思います。

思いつきで、ひとつ提案。
それは、コメント発言の場合のコメント元の発言番号の表示。
通常の発言表示の場合には全く不要だと思いますが、複数のツリーが錯綜している場合の新着記事表示の場合に、あると便利だと思います。特に、最近のkonnoさんのところの例なんかだと、これがないとかなり不便。
ただ、これを搭載するとなると、やはり少しヘッダ部の表示を変更しないといけなくなるので、どうしましょうか、といったところです。
それと、これを出力するのはmode=newsortのときだけか、それともその他のモードでも全て出力するか、という点も検討が必要かも。

> タイトルの部分が枠からはみ出しているのですよ。

この関係で、ちょっとスタイルシートの森をさまよってみたのですが、適当なものってないですねぇ。ただ、ひとつ収穫がありました。使い物になるかどうかは別ですが。
何かというと、cssにおける、white-spaceなるプロパティ。
とりうる値として、pre-wrapというのがあるのですね。
これ、うまく使えればとっても面白そう。

[3513] Re^2: 第二次野ざらし改造計画

めざら 2010/01/21(Thu) 18:56
[3512]へのコメント http://homepage3.nifty.com/mezala/
> 思いつきで、ひとつ提案。
> それは、コメント発言の場合のコメント元の発言番号の表示。

 あ、それはですね、わたしも以前実現を試みたことがあったのですが、あまり簡単そうでもなかったので、諦めたものでして。単に番号の表示ではなくて、親へのリンクにしていただけるというご提案ですよね。おっしゃるとおり、新着表示ではトンでもなく便利になるはずですので、お願いできるでしょうか。…と言うか、こちらからお願いしようと思っていたものでありました。

> ただ、これを搭載するとなると、やはり少しヘッダ部の表示を変更しないといけなくなるので、どうしましょうか、といったところです。

 そうですねぇ。参照先URIの直前あたりに出力可能であれば、そのあたりにお願いできるでしょうか。表示は「[1234]へのコメント」とかどうでしょう。

> それと、これを出力するのはmode=newsortのときだけか、それともその他のモードでも全て出力するか、という点も検討が必要かも。

 どのモードでも同じルーチンを使い回し(重複も問題なし)で出せれば、そのままどのモードでも出してくださいますか。逆に別の変数をセットしなければならないようなら、新着一覧だけで構いません。

> 何かというと、cssにおける、white-spaceなるプロパティ。
> とりうる値として、pre-wrapというのがあるのですね。

 うーん、pre-wrapは対応しているブラウザが現時点ではないかもしれません…。preはよく使ってます。この掲示板だと、ツリーが深いときに画面内でほとんど縦書きになってしまうのを抑止しています。そういえば、pre-wrapは以前Firefoxのabout:configで設定してやると幸せみたいな話を、N.YAMAさんがしてませんでしたっけ。

めざら@帰宅途中

[3514] Re^3: 第二次野ざらし改造計画

としき 2010/01/21(Thu) 22:00
[3513]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 新着表示ではトンでもなく便利になるはずですので、お願いできるでしょうか。

お願いされました。

>  そうですねぇ。参照先URIの直前あたりに出力可能であれば、そのあたりにお願いできるでしょうか。表示は「[1234]へのコメント」とかどうでしょう。

その方向で実装します。
ルーチンの使いまわしについては、私も記憶はしていないので、あとでコードを読んでから決定します。

>  そういえば、pre-wrapは以前Firefoxの

全然覚えていませんでした。検索して確認しました。
あの当時から環境も変わって、当時は必要だったことが、一時、完全に不要になっていたのです。ところが、実は数ヶ月前から再び必要になったのですが、2年あまりの間に完全に忘れていました。
もう一度、勉強しなおさないと。

[3517] Re^3: 第二次野ざらし改造計画

としき 2010/01/24(Sun) 21:29
[3513]へのコメント http://www.hinocatv.ne.jp/~toshiki/
やっと少し手をつけ始めました。

>  あ、それはですね、わたしも以前実現を試みたことがあったのですが、あまり簡単そうでもなかったので、諦めたものでして。

なんか、それっぽいルーチンがコメントアウトされて残っていますね。
ところで、mode=msgviewの場合、うちの板塀にはコメント元表示がありませんが、konnoさんのところではきちんと表示されるようになっています。
このモードの場合も表示することでいいのですよね?
念のため確認。

[3518] Re^4: 第二次野ざらし改造計画

めざら 2010/01/24(Sun) 23:08
[3517]へのコメント http://homepage3.nifty.com/mezala/
あ,やはり痕跡がありましたか。ちと恥ずかしいっす。

> ところで、mode=msgviewの場合、

> このモードの場合も表示することでいいのですよね?

 はい。よろしくお願いします。
 ページ内にツリーがあることはありますが,CSS 無効だと現発言がどれかわかりにくいと思いますし。

[3515] Re: 第二次野ざらし改造計画

としき 2010/01/24(Sun) 00:16
[3509]へのコメント http://www.hinocatv.ne.jp/~toshiki/
前回、私が改造した部分のうち、発言番号リンクの部分で一つ、バグがあることが判明しました。ほとんどの場合は症状が出ないようですが、RFC的に正しくないので改修します。
具体的には、絶対URIを返さなければならない部分で相対URIを返すような形になってしまっているのです。もちろん、現状でも実害はほぼ皆無なのですが、やはり作者としては気分がよくないものですから。

一応、関連情報を、板塀のNo.1711に書いています。
これは、konnoさんのところのNo.4197にはじまるツリーで議論されていた不具合の根本原因でもあります。

#はぁぁ、疲れてしまった。

[3516] Re^2: 第二次野ざらし改造計画

めざら 2010/01/24(Sun) 07:23
[3515]へのコメント http://homepage3.nifty.com/mezala/
> 一応、関連情報を、板塀のNo.1711に書いています。

 裏でコッソリという動作があるとは,PC以外に一体誰が気づくでしょうか,と思いました。としきさんちなればこそ原因が究明できたわけですよね。うちでは特に変な動きをしたような記憶はないですから。

> #はぁぁ、疲れてしまった。

 ともかく,原因が判明したわけですから,あとは納得のいく形にしていただければよいかと思います。としきさんの目指している改修は,わたしにとっても(目には見えなくとも)非常に有益なことだと思いますので,のんびりお待ちしています。(改修していただく側の実に気楽なこと(^^;)

 よろしくお願いします。

[3519] Re: 第二次野ざらし改造計画

としき 2010/01/25(Mon) 23:53
[3509]へのコメント http://www.hinocatv.ne.jp/~toshiki/
ひとつ、役得というか、私以外の人にはほとんど役に立たないルーチンを忍び込ませようとしているのですが、うまい仕様が思いつかなくて。
何かというと、携帯電話なんかでアクセスした場合にパケット代をケチれるように、表示情報を絞り込むようなロジックを盛り込めると私がうれしい、というだけのものでして。
うちの板塀の場合は、UAを読み取ってデフォルト値を勝手に変更してしまう部分がいくつもあります。また、konnoさんのところではpageというパラメータを転用というか目的外使用している部分があります。mode=newsortの場合にpage=3って指定すると3発言分しか表示しない、ということができるので、携帯電話のブックマークにはそういうようなURLを登録して、パケ代を節約するようにしています。
おそらく、一番安直に行うには、konnoさんの方式が楽でしょう。
でも、パラメータの転用って、仕様としては美しくないような気がして仕方がないのですよ。

うぅん、何かいい方法はないかなぁ。
って、めざらさんの意向を完全に無視していますが。
仮に導入するにしても、この野ざらしにふさわしい、スマートな方法が必須だと思っています。

[3520] Re^2: 第二次野ざらし改造計画

めざら 2010/01/26(Tue) 07:54
[3519]へのコメント http://homepage3.nifty.com/mezala/
> 仮に導入するにしても、この野ざらしにふさわしい、スマートな方法が必須だと思っています。

 いやいやいやいや,枯れた掲示板にスマートという言葉は似合いません。

 閲覧者が快適になることであれば,無骨だろうが軟弱だろうが大いに歓迎いたしますので,としきさんの納得いく方法で考えてくださればよいと思います。好きに実験台にして構いませんので,プロトタイプ導入により考えてもよいと思います。

 よろしくお願いします。

[3533] Re: 第二次野ざらし改造計画

としき 2010/02/02(Tue) 23:21
[3509]へのコメント http://www.hinocatv.ne.jp/~toshiki/
おおむね順調に、遅々として進展しています。
#なんちゅう日本語じゃ

とりあえず、これまでに行ったこと。

・コメント元表示の追加
・発言番号リンクのバグ改修
・比較的強力なスパム排除ルーチンの搭載
・強烈なアクセスログ機能搭載

コメント元表示は、新着記事画面、記事閲覧画面、一括表示画面につけました。
合わせて、ヘッダ部分の表示順序などに多少手を加えました。
あとでめざらさんのお好みで書き換えてください。

スパム排除ルーチンについては、以下の3点の改造を加えてあります。

・投稿フォームの取得から実際の投稿までの間隔検証搭載
・投稿フォーム取得ホストと実際の投稿ホストが同一であることの確認
・パラメータに関する混乱方式搭載

アクセシビリティを下げないことを前提とすると、まぁこんなものでしょう。さらにもう少しは何かできると思いますが。CAPTCHAとかパスワード方式を導入すると、どうしてもアクセシビリティが下がってしまいますからねぇ。もちろん、閑古鳥という名前のお客様を呼び込むためにCAPTCHAを導入する、という手はあるかもしれませんが、たいていはそんなお客様にはご遠慮願いたいですから。

アクセスログは、一時的にうちで使っていた、投稿記録をとるルーチンをさらに改造してみました。これは、検索エンジンのクローラーやスパマーからのアクセスも、ほぼ完全に記録するようになっています。そのため、場合によってはほんの数日で数メガバイトのログが蓄積されてしまうかもしれません。なので、導入したら、最初は数時間ごととか毎日とかでログ状況を確認する必要があると思います。アクセスが大量にあるようなら、POSTだけを記録するとか、記録する情報の取捨選択を行うなどして、ログの蓄積量を節減する必要があります。
このアクセスログには投稿の痕跡があるのに投稿されていないものは、なんらかのスパムチェックルーチンに引っかかったと判断できます。ただし、アクセスログの形式の問題から、どのチェックに引っかかったかをひと目で判断することは難しいかもしれません。慣れると簡単だと思いますが。もし、本格導入後、これは何に引っかかったのか分からない、ということがあれば、そのログを開示していただければ私のほうで説明いたします。
余談ですが、このアクセスログルーチン、たった20行ほどのものなのですが、実はエラーチェックのルーチンがも何も全くついていなかったりします。なので、上記のログ蓄積量の問題もありますし、しばらく運用して不要とか不適切と判断されたら削ってしまってください。


例によって、うちの板塀のログを使ったサンプルを以下のところに置いておきます。

hpcgi3.nifty.com/~toshiki/noz/wforum.cgi

記事本文については、preなものが多いのであまり参考にならないと思いますが、さまざまなモードにおける発言ヘッダ部分などについては参考になると思います。ご意見をいただければ、すぐに修正します。
また、投稿時には、投稿フォームを表示してから投稿ボタンを押すまでの間隔が10秒未満の場合には投稿拒否とするような設定にしてあります。実際に投稿できるようになっているので試してみると分かりますが、10秒以内に意味のある文章を投稿することはほとんど不可能です。でも、ブラウザの機能をフルに使えば、ごく短い文章なら無理ではありません。それから、記事の修正の際にもこのチェックは有効なので、ほんの1文字の誤字を訂正するような場合には高い頻度で引っかかる可能性があります。
この間隔については変更可能ですが、5秒くらいだとスパム排除の効果が少なくなるし、30秒以上にすると使い勝手が悪くなるので、10秒から20秒くらいが妥当なところだと思います。うちの板塀の場合、現在は20秒にしてあるのですが、時々自分で引っかかることがあるので、15秒くらいに変更しようかと考えています。


今後の予定。
数日間寝かせて熟成させて、その間に特にバグ等に気がつかなければ、次の週末にでも納品したいと思います。

[3534] Re^2: 第二次野ざらし改造計画

めざら 2010/02/03(Wed) 06:14
[3533]へのコメント http://homepage3.nifty.com/mezala/
 いやいや,本当にありがとうございます。

> ・強烈なアクセスログ機能搭載

 これ,なんだか凄い感じがヒシヒシと伝わってきて,とてもワクワクしてしまいますね。ログに関しては,たとえばApacheのログに匹敵するサイズということなのでしょうか。今から解析が楽しみです。解析ツールは持っていないですけど。

> ・投稿フォームの取得から実際の投稿までの間隔検証搭載

 最近,手入力風のスパムも結構ありそうで,こういうのはなかなか効果を発揮するのは難しいのでしょうけれど,最も現実的な対応だと思います。あとの2点は実際に見てみないと分からないですが,これだけハードルがあれば相当の効果を期待できますね。

 更新チェッカからメールが来ると,昼休みとか通勤中に確認して取りあえず見えないようにしておき,自宅で保存ログから上書きするのですが,これが案外ばかにならない作業なんですね。番号が飛ぶのがいやなので,wforum上での削除は一切していないのです。この作業から開放されると,他にできることがあるので有り難いですね。

 それでは試用板をためさせていただきます。

[3539] Re^3: 第二次野ざらし改造計画

としき 2010/02/03(Wed) 23:44
[3534]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  ログに関しては,たとえばApacheのログに匹敵するサイズということなのでしょうか。

GET1回あたりのデータ量はapacheよりも少ないはずです。
ただ、真のアクセス数がどのくらいあるか、というのが全く見積もれていないというのがありまして。
なぜって、うちの板塀のような場末のところでも、最近はgoogle先生をはじめとして各検索エンジンのクローラーが大挙して押し寄せてきていまして、合計すると1日に数千回のアクセスがあるわけですよ。仮に1回のアクセスで100バイトとしても、1日に1万回のアクセスがあると、それで1MB。
POSTの方は、メッセージ欄の内容をそのまま記録するようにしていますので、大量URLの書き込みが何回もあると、それもまた容量を食いつぶしていく原因になります。

> 今から解析が楽しみです。解析ツールは持っていないですけど。

既存のログとは形式が異なりますから、既存の解析ツールは使えません。どんな形式か、今のうちから開示しても良いというか、むしろ開示したいのですが、apacheと同じで1アクセスあたり1行なので、横に長くなるのですよ。そしてここの掲示板、横が短いですからね、素直に書いても見づらくなるだけ。
まぁ、管理人の好みなのでしょうが、こういうときはいささか不便ですな。

> > ・投稿フォームの取得から実際の投稿までの間隔検証搭載
>  最近,手入力風のスパムも結構ありそうで,こういうのはなかなか効果を発揮するのは難しいのでしょうけれど,

本当の手入力には効果を発揮してはいけないのですが、完全に効果を発揮させないようにするのは難しくて。
逆に、「手入力風」ではあっても本当の手入力でないものには、それなりに効果を発揮します。
実は、うちの板塀でも、2月になってから再びデータを取り始めました。それによると、3日間で6回のスパマーからのアタックがありましたが、そのうちの4回までは、投稿フォームの取得から実際の投稿までが10秒未満でした。残り2回も、混乱方式にしっかり引っかかってくれているので、非常にすっきりした毎日を送れています。

[3548] Re^4: 第二次野ざらし改造計画

としき 2010/02/07(Sun) 17:17
[3539]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> >  ログに関しては,たとえばApacheのログに匹敵するサイズということなのでしょうか。

> GET1回あたりのデータ量はapacheよりも少ないはずです。

> POSTの方は、メッセージ欄の内容をそのまま記録するようにしていますので、大量URLの書き込みが何回もあると、それもまた容量を食いつぶしていく原因になります。

GETもPOSTも同一ファイルに書き込んでいるのはいいのですが、投稿時の本文の内容まで同一ファイルに書き込んでいる、というところに問題があるかもしれません。でも、本文の内容でスパムチェックに引っかかった場合、というのを確認するには、この方法が一番楽。あとは、GETとPOSTを分けるか、本文は別ファイルにするか、というぐらいかなぁ。

なお、GETもPOSTも1アクセスで1行ですが、さっき確認したところ、約550行で110KBほどでした。

[3545] Re^2: 第二次野ざらし改造計画

としき 2010/02/05(Fri) 21:16
[3533]へのコメント http://www.hinocatv.ne.jp/~toshiki/
強烈なアクセスログを搭載したおかげで、ひとつ、とんでもないことが判明しました。

> スパム排除ルーチンについては、以下の3点の改造を加えてあります。
>
> ・投稿フォームの取得から実際の投稿までの間隔検証搭載
> ・投稿フォーム取得ホストと実際の投稿ホストが同一であることの確認
> ・パラメータに関する混乱方式搭載

これの2番目、投稿ホスト確認なんですが。
実際に何をやっているかというと、クッキーを使っているわけではなく、単にIPアドレスを見ているだけです。
本来的には、例えばアメリカのスパマーがロシアの踏み台を経由して取得したフォームを使い、ブラジルの踏み台を経由して投稿する、ということを防止するための機能です。
ところが、めざらさんがお使いの移動体通信会社の場合、アクセスするたびというか、コネクションを張るたびにIPアドレスが変動してしまう模様。つまり、GETでデータを引っ張ってくるときに、転送が終わるとそこでコネクションが切れてしまうのでIPアドレスが変動してしまい、次にPOSTでデータを投げるときには別のIPアドレスになるので、ホストが一致しないということで投稿をはじいてしまうのです。
それなりに強力なスパム遮断機能であるはずなので、うちの板塀では継続して使うつもりですが、野ざらしに適用すると、管理人自身が書き込み不能になってしまうということになるので、これははずさせていただきます。
今夜か明日にでも、サンプルスクリプトは入れ替えます。

ただ、これはCGIが正常に動いている証左であります。
その他の不具合の原因は、継続して調査中です。
もしかして、サンプルスクリプトを入れ替えたら再発しない、ということもあるかなぁ。

[3546] タイトル再入力

めざら 2010/02/06(Sat) 08:05
[3545]へのコメント http://homepage3.nifty.com/mezala/
 あ,やはりログで分かりましたか?
 昨日の通勤中にW-ZERO3で何度も書き込みを試みたのですが,何度やっても「不明な処理」になってしまって,結局書き込みは成功しませんでした。この端末はダイヤルアップで,しかも短時間に接続を切断するので,投稿文を書いている間にたいてい一度接続が切れます。

 なるほど,そういうことだったのですか。

> ただ、これはCGIが正常に動いている証左であります。

 まさしくそうですね。スパム避けとしては強力ですばらしいと思います。今回はとても貴重な実験ができたというか,他で同様の処理をしているところがあれば,同様のことが体験できるわけですね。なるほどなるほど。

> その他の不具合の原因は、継続して調査中です。

 お手数をおかけします。この1週間ほどひどく忙しくてろくに検証できなかったのですが,ようやく連休になったのでいろいろ試させていただきます。
-----------
ここから先はadminで追加修正

タイトルを一旦消してみるテスト

そして再度入れてみる

[3580] Re^2: 第二次野ざらし改造計画

としき 2010/02/12(Fri) 22:11
[3533]へのコメント http://www.hinocatv.ne.jp/~toshiki/
ひとつ、忘れていました。

> ・発言番号リンクのバグ改修

バグ改修というか、機能改善がもうひとつありました。
正規表現をいじって、Vzマクロのコマンド関数などを発言番号として認識されにくくする、というものです。
サンプルは修正済みです。お試しください。
#こういう、忘れている項目ってもうないだろうなぁ

> 今後の予定。
> 数日間寝かせて熟成させて、その間に特にバグ等に気がつかなければ、次の週末にでも納品したいと思います。

一応、納品は2月21日予定、ということで。

[3581] Re^3: 第二次野ざらし改造計画

めざら 2010/02/13(Sat) 08:04
[3580]へのコメント
> 正規表現をいじって、Vzマクロのコマンド関数などを発言番号として認識されにくくする、というものです。

 あ、これって実はわたしが言ったところの些細だけれど実装が面倒そうと思って諦めていた機能補完にあたります。いやいや、本当にありがとうございます。

> 一応、納品は2月21日予定、ということで。

 ありがとうございます。
 ちょっと忙しくなるとスパム痕跡消しが追いつかなくなって、現状でいくつか番号飛びが発生しているのですが、こういうのが減ってその作業をもっと建設的作業に回せると思うと嬉しいですね。

 懸案の軟体補完計画改修ですが、まだあまり進みませんが、かなり時間がかかりそうなので、あ〜か行の作者の分を作業終了したところで暫定版を上げてあります。こういうことにもっと時間を回したいですね。

[3596] Re^3: 第二次野ざらし改造計画

としき 2010/02/21(Sun) 23:24
[3580]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 一応、納品は2月21日予定、ということで。

納品しました。
って、すでに入れ替えているようですね。ちょっとびっくり。
強烈ログは爆発していませんか?
検索エンジンのクローラーのアクセス頻度が全く見積もれていませんので、場合によっては1日でパンクしてしまうかもしれません。最初のうちは数時間ごとに確認したほうがいいかもしれません。

サンプル板は、早ければ今月中、遅くとも3月上旬には閉鎖します。

[3597] Re^4: 第二次野ざらし改造計画

めざら@電車 2010/02/22(Mon) 08:13
[3596]へのコメント
> って、すでに入れ替えているようですね。ちょっとびっくり。

 え? わたしは単に4個のファイルをFTPするだけですから。
 もちろん、追加された掲示板絶対URLの項目などはコメント記号の付け替えなど最低限のことはやりましたけれど、何か重要なポイントに気付かないままなのかもしれません。先に0バイトのアクセスログファイルを転送しておいて、最初からすんなり動いてしまっていますので、脳天気なことをやっているのかも。(^_^;)

 通勤電車なので、テストモードではあります。

> 強烈ログは爆発していませんか?

 そうですねぇ。昨夜の段階では数十分で数キロバイトというところでした。早くもGoogleのbotが数回記録されていましたが、計算上は一日に200KB〜400KBの間と見積もっています。見込みが単純すぎますが、今朝は確認する余裕もなく家を出たので、今日は帰宅するまで放置になってしまいます。

> 最初のうちは数時間ごとに確認したほうがいいかもしれません。

 あらー。どうしましょ。
 ところで、としきさんご自身はログの管理をどうなさっているのですか? 単一のファイルに追加していくものだと、バックアップはともかく、クリアするタイミングが理論的に「ない」ことになりますよね。

[3598] Re^5: 第二次野ざらし改造計画

としき@会社 2010/02/22(Mon) 17:04
[3597]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> > って、すでに入れ替えているようですね。ちょっとびっくり。
>  え? わたしは単に4個のファイルをFTPするだけですから。

確かにそうなんですけど。
私のほうも、アップしてあるものをもう一度ダウンして圧縮して送っただけですから、そのままでも全く動かないということはないと思っていましたが、数日は影でこっそりとテストすると思いこんでいましたもので。

>  最低限のことはやりましたけれど、何か重要なポイントに気付かないままなのかもしれません。

大丈夫です。私も気がついていませんから。

>  計算上は一日に200KB〜400KBの間と見積もっています。

そのぐらいなら大丈夫でしょう。
一応、論理行数がアクセス数なわけですが、1日でどのくらいのアクセスになりますでしょうか。うちの板塀ですら、1日あたりで軽く1000を越えていますから、3000〜5000アクセスくらいありそうな気がしますが、よそのアクセス状況ってなかなかわからないので、非常に興味があります。
また、JavaScriptによるアクセス解析の結果と、このログ記録との差を比較すると、興味深い結果が出るかもしれません。

>  ところで、としきさんご自身はログの管理をどうなさっているのですか? 単一のファイルに追加していくものだと、バックアップはともかく、クリアするタイミングが理論的に「ない」ことになりますよね。

サーバログに関しては、自動で月ごとに別ファイルになるようになっています。これは、自宅サーバ開設以来の全てを保存してあります。きちんとログを保存しておきませんと、令状を持った官憲が訪問してきたときに対応できませんから。
ただ、全くバックアップを取っていませんので、自宅サーバがはじけ飛んだりすると全てが消滅してしまいます。
これ、去年の秋までは月あたり4〜6MBだったのですが、11月ぐらいから爆発的に増加していて、12月、1月ぐらいは20MBぐらいになっていたりします。

掲示板アクセスログは、この2月からとり始めたばかりです。
ですから、物量はまだたいしたことはありません。
また、サーバログで代替が効く部分は省略することにして、POSTで投げてきたものしか記録していません。
ただ、管理かぁ。
全く何も考えていませんでした。
う〜ん、これも、手動で月ごとにリネームしてやろうかな。
でも、絶対に、新しくゼロバイトファイルを作ることを忘れてしまいそうな気がしています。

[3599] Re^6: 第二次野ざらし改造計画

めざら 2010/02/22(Mon) 23:15
[3598]へのコメント http://homepage3.nifty.com/mezala/
 わたしはどうやらあまり深く考えない性質なのでしょう。こっそりテストと言っても,自分だけでテストしてもたかが知れていますし,それなら実戦にさらしたほうが,もしも問題点があるなら気づきやすいでしょうから。

> >  計算上は一日に200KB〜400KBの間と見積もっています。
> そのぐらいなら大丈夫でしょう。

 昨日の19時前に設置して,27時間で100KBほどで,530アクセスでした。見積もりよりもはるかに少なかったのは,設置後の一定の時間は自分が何度も表示を確認したり,出力の調整を行っていたせいで少し多めだったからだと思われます。どのくらいの頻度でクロールがあるかわかりませんが,多くても倍にはならないかと思いますので,1ヶ月でいいとこ3MBというところでしょう。

> 1日でどのくらいのアクセスになりますでしょうか。

 うーん,過疎っている現実が浮き彫りです。板塀の半分以下ですね。スクリプトで取っている数が日に数十程度がいいところなので,強烈ログの威力がよくわかります。

[3600] Re^7: 第二次野ざらし改造計画

としき@会社 2010/02/23(Tue) 08:56
[3599]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  昨日の19時前に設置して,27時間で100KBほどで,530アクセスでした。

何でそんなに少ないんだろう。
というか、うちが多すぎるのかなぁ。
うちへのお客さん、最近は1日当たり、googleとmsnがそれぞれ500アクセスを超えていたりするんですよ。一般のお客さんがこれくらい来てくれると、こんなにうれしいことはないのですが。yahooとnaverは数十ですが。

[3601] Re^8: 第二次野ざらし改造計画

めざら 2010/02/24(Wed) 21:36
[3600]へのコメント http://homepage3.nifty.com/mezala/
> 何でそんなに少ないんだろう。
 多寡は比較できるものがないので,分析が必要なのではないかと思います。分析ツールを作るか,NCSAに整形するか悩み中ですが,どちらも今ひとつ現実的でないような気がしてきました。

 3日間で1280行になり,内訳は次のとおりです。
Googlebot 295
msnbot 232
ysearch/slurp 122
Baiduspider 6
speedy_spider 5
Hatena Antenna 10
naver 3

 あとPOST失敗(とも限らない?)がこのくらい。これらうちのの多くはスパムの試みだと思われます。実発言数とプレビュー確認後に戻った場合とか引くと,実質はスパムの試みが60くらいかと。
<>delete<> 71

> というか、うちが多すぎるのかなぁ。
 そんな感じがします。「すぎる」ことはないんでしょうけど,googleとmsnが500ほどというのは,これは多いですね。理由はわかりませんので,分析してみないとやはり分からないですけれど。

[3602] Re^9: 第二次野ざらし改造計画

としき 2010/02/25(Thu) 00:28
[3601]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  分析ツールを作るか,NCSAに整形するか悩み中ですが,

要は、自分のほしいデータが取れればよいわけですから。
ということで、私はサーバログを加工するAWKスクリプトを作ってあります。
2月分のログを加工して得られた結果は以下の通り。

                                        掲示板
  日付 総数 google yahoo msn 百度 実質  総数 実質読込 書込
01/Feb 1568   573    73  751   23  148  1380     99    4
02/Feb 1342   348    37  804   27  126  1146     64    1
03/Feb 1735   712    22  842   28  131  1597     85    2
04/Feb 1806   444    58 1143   23  138  1618     90    5
05/Feb 1886   535    73 1113   25  140  1653     95    3
06/Feb 2130   657    70 1250   22  131  1922     86    2
07/Feb 1831   631    76  997   15  112  1634     69    1
08/Feb 1898   620    57 1101   23   97  1670     54    1
09/Feb 1805   563    73 1066   21   82  1660     44    1
10/Feb 1550   408    73  954   17   98  1390     50    1
11/Feb 2637   446    61  777   20 1333  2267   1031   75
12/Feb 2149   634    78 1260   28  149  1987     98    3
13/Feb 1744   527    78  725   20  394  1541    294   16
14/Feb 1557   670    70  633   25  159  1431    107    8
15/Feb 1254   497    82  512   25  138  1133     89    5
16/Feb 1788   718    81  709   25  255  1688    203    8
17/Feb 1650   423    60  911   25  231  1472    155    7
18/Feb 2951   396    54  746   24 1731  2520   1372   91
19/Feb 2264   455    62 1327   26  394  2028    276   13
20/Feb 1066   423    76  393   26  148   978     87    7
21/Feb 1535   457    68  808   26  176  1403    105    8
22/Feb 1432   342    42  746   26  276  1303    192   19
23/Feb 1263   321    47  684   27  184  1156    116   10
24/Feb 1842   416    50  941   23  412  1602    305   17

えと、24日は22時くらいまでです。
実質というのは、単に4大検索エンジンのクローラーを引き算しただけです。
お、naverを分計していないなぁ。
こいつはどのくらい来ているんだろう。あとで確認しなくては。
なお、総数には、CGI以外へのアクセスも含んでいます。
CSSファイルとか、掲示板の一番下に表示してある画像ファイルとか。


例えば、野ざらしのアクセスログが手に入ったとして、私が分析する場合、
どういったことをするかというと。
まず、GETとPOSTに分けます。
GETのほうは、IPアドレスの上位2オクテットごとにカウントして、どこの
ドメインのお客さんが多いかを特定。まぁ検索エンジンのクローラーになる
と思いますが。ん〜、その程度かなぁ。
POSTのほうも、IPアドレスの上位2オクテットごとのカウントは行います。
もし、特定のドメインから著しく大量のスパム投稿があるようなら、そこは
IPアドレス指定でカット。
次に、本文部分だけを抽出して蓄積します。そして、ざっと眺めて、不適切
と思われる語句が何回も出現するようなら、それを禁止語句登録。ポイント
は、1回や2回の出現であわてて登録する様な事はしない。ここはどっしり
と構えて、へんな言葉狩りのような事のないようにします。
あとは、投稿フォーム読み込み時刻も、変な変換をかましてはいますが記録
してあるので、投稿時刻との差を計算します。そして、横軸に投稿所要時間
をとったグラフを書いて、どのくらいの秒数までを機械投稿と判断するかの
資料にします。さらに、現状の間隔閾値で拒否できていないものについては、
他のどの項目にひっかかったのかを確認し、いろいろな拒否手法の強度判断
を行います。

ここに書いたものは、あくまでも、私が行うなら、というものです。
めざらさんはめざらさんなりに、いろいろな方向からデータの分析を行って
下さい。
 

[3603] Re^10: 第二次野ざらし改造計画

めざら 2010/02/25(Thu) 23:09
[3602]へのコメント http://homepage3.nifty.com/mezala/
> 私はサーバログを加工するAWKスクリプトを作ってあります。

 うーん,awk は strftime() 関数があるのがよいですよね。…まぁ,awk に限らず UNIX 系のツールでこういうのがなかったら困りますわな。
 …ということで,VZ用strftimeを作り始めたところが,今度は32ビットの壁に当たってしまって,なにか定数を作ってやらないと無理かなぁなどと方策を考えあぐねています。
 自分にとって何が必要かと言っても,ログの分析なんて Apache Log Viewer のレポートを犬が星を見るように眺めてはため息をつく,要するに分析まで行ってないんですよね。

> まず、GETとPOSTに分けます。

 まぁ,strftimeが出来たら,このあたりから攻めてみたいと思います。
 それにしても,としきさんの集計はいいですね。少しマネさせていただきます。

[3604] Re^11: 第二次野ざらし改造計画

としき@会社 2010/02/26(Fri) 08:55
[3603]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  …ということで,VZ用strftimeを作り始めたところが,今度は32ビットの壁に当たってしまって,

おそらく、こういうことは全部スクリプト側に任せて、マクロ側では結果の集計だけに専念したほうがよろしいのではないかと思います。つまり、スクリプトのログルーチン部分を改造する、と。
現状では日時出力がunixtimeしかないので、これを人間にもわかりやすいフォーマットで出力する部分を追加する、なんていうのが思いつきます。あと、32ビットの減算結果のフィールドも追加するのは簡単ですし。

[3605] Re^12: 第二次野ざらし改造計画

めざら 2010/02/26(Fri) 23:05
[3604]へのコメント http://homepage3.nifty.com/mezala/
 あ,なるほど。
 スクリプトに手を入れるというのは,まったく思いつきませんでした。(^^;

 Perlならモジュールが実装されてさえいれば,大抵のことはできるはず。…と思ったところが,まぁ,先立つ技術に問題があるので,とりあえず作りかけた VZ版 strftime を完成させておきますかな。(すっごい遅いのですが…)

[3606] Re^13: 第二次野ざらし改造計画

としき 2010/02/27(Sat) 00:06
[3605]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  スクリプトに手を入れるというのは,まったく思いつきませんでした。(^^;

別の手としては、ログ集計用のCGIをサーバにアップしておく、というのもあります。表向き、hpcgiではシェルスクリプトとPerlしか使えないことになっていますが、awkもCGIに使えるということは確認済み。ま、どうでもいい話ですが。
で、非公開のCGIにアクセスすると、その時点でのアクセスログを解析して、結果を生テキストで返してくる、というのも作成可能。

世の中には、「餅は餅屋」という言葉もあります。
実用を考えると、なんでもVz、という状況からは脱却したほうがいいかもしれません。といいつつ、実は私も、unixtimeを日時に変換してくれるVzマクロはほしかったりしていますので、完成した暁にはぜひ公開してください。

[3608] Re^14: 第二次野ざらし改造計画

めざら 2010/03/01(Mon) 16:59
[3606]へのコメント http://homepage3.nifty.com/mezala/
> 世の中には、「餅は餅屋」という言葉もあります。
 そうなのですが,他の言語はほとんど使えないので。

> unixtimeを日時に変換してくれるVzマクロはほしかったり

 結構難儀しましたが,UNIXTIME を日時に変換するマクロを作成しました。
ほぼ出来上がってコメントなどを清書したところで,セーブしないまま,
むやみに大きな値の上で実行したら暴走して,約1時間の作業が無駄に。

 原因は複数バッファのアドレスを取得する際に,式を間違えてしまい,
データセグメントの0番地に何度もヒストリ取得してしまったためでした。

 いやー,気付いてよかった。(^_^;

----------^ UNIXTIME.DEF ( date:2010-03-01 time:00:11 ) ----< cut here
= unixtime.def v0.11 =
#if 0
UNIXtimeをローカル時刻に変換(54000(+9:00 JST)以上に対応)
数字列の任意の位置にカーソルを置いて起動(前後に英字と_不可)
#endif
* mad for vz!
1 ^^ "" ?.
        (cd>47 && cd<58)?{ #d #a }?.    ;(cd>='0' && cd<='9')?
        u[, p[, q[, l[, i[, o[, x[,
        &s &>                           ;b<u>f, <p><q>
        mp[, ps[=u, #G ps], mp],        ;UNIXtime 前後に英字不可
        &Sn(u) l=r,                     ;<l>ength
        &Im(p,0) &Im(q,0) i-,           ;reset <p><q><i>
        &Ia(p,u.0-$30)                  ;先頭1桁を事前セット
        (l-3){ &Im(p,10) i++, &Ia(p,u.i-$30) }
        (l<6 && p..0<540)?{             ;54000秒以下では地域標準時に満たない
                &m("地域標準時として認識できません.") >z }
        &Is(p,540)                      ;地域標準時との差を引く
        &Id(p,864)                      ;1970/01/01からの日数確定
        ;&m("%s / %lu days + %lu sec.",u,p..0,p..1,q..0,q..1)&t
        &Ia(q,r) &Im(q,100)             ;残りを秒に
        r=10*(u.(i+1)-$30)+u.(i+2)-$30, ;末尾2桁をrに取得
        &Ia(q,r)                        ;1日以下の秒確定
        ;&m("%s / %lu days + %lu sec.",u,p..0,p..1,q..0,q..1)
        (2){ &Id(q,60) r[, }
        o..3=q..0, o..4=0], o..5=0],            ;<j><f><b>:時分秒
        ;&m("%s / %lu days + %02d:%02d:%02d",u,p..0,p..1,o..3,o..4,o..5)&t
        ; ---- 経過日数 -> 日付 (前日までの経過日数+1)
        (p..1==0 && p..0<59 && p..0>=0)?{       ;1970/01/01〜02/28
                o..0=1970, o..1=1+p..0/31, o..2=1+p..0%31, (0)
        }?{
                &Le(q,p)                ;set q
                &Is(q,58)               ;58日棚上げで始点を1970/03/00に
                &Im(q,4) &Is(q,1)       ;割切れ抑止 (365.25*4-1)/(365*4+1)
                &Id(q,1461)             ;365*4+1 r:日数の4倍
                o..0=1970+q..0,         ;閏年と2年差あり
                x=r/4+((q..0-2)%4>1),   ;<x>仮日数 経過年数分の閏年数
                (x>364)?{ ((o..0)++, x-=365, }  ;1年を超えたら再調整
                x*=10,                  ;月平均日数定数での除算用に桁シフト
                o..1=x/306+3,           ;(30.6*10) [3]:0-11 -> 3-14
                o..2=(x%306)/10+1,      ;[1]:03/00 -> 03/01
                (o..1>12)?{ ((o..0)++, o..1-=12, }      ;13-14月は翌年の1-2月
        }
        &m("%02d %3s %d:%02d:%02d:%02d",
        o..2,"JanFebMarAprMayJunJulAugSepOctNovDec"+o..1*3-3,o..0,
        o..3,o..4,o..5)

 :z     ; ---- exit ----
        x], o], i], l], q], p], u],
        &d #] .

00:     ; ---- str buf[16] / long int buf *2 / ymdhms ----
        o 4+q 4+p 16+u 5+$,.
        "$(10,0)$[16]$[20]"
        ;       u    p q o
*
[Variables]
        u       str buf ptr
        p,q     long int buf ptr
        l       str length
        i       counter
        o       "0123456789AB"
                ;年月日時分秒
        x       作業用(日数)
[Buffers]
        u       [2][16] as ps
        p,q     [4]*2   long int
        o       [2]*6   年月日時分秒
[History]
2010/02/27 0.01 暫定版(各年初期値を持つ構造が恥ずかしいので却下)
2010/02/28 0.10 初版
2010/03/01 0.11 アドレス指定が不正で暴走するのを修正,変数の整理
[Notes]
何故か合わないので悩むこと数時間,仮想基準日を03/00でなく03/01にしていた。
さらに合わないので悩み,世界標準時との時間差に気付く。
変数の保存や内容など清書し,セーブせずに大きな数値上で実行したら暴走した。
複数バッファ指定の式が不正で,オフセット0をバッファにして書込みしていた。
----------$ UNIXTIME.DEF ( lines:77 ) ----------------------< cut here

 最初はstrftimeというawkの関数と同じ名前にしようと思いましたが,
色々な機能がありそうな関数なので,変更しました。

[3609] Re^15: 第二次野ざらし改造計画

としき 2010/03/01(Mon) 22:21
[3608]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  そうなのですが,他の言語はほとんど使えないので。

ログ記録ルーチンに日付変換を仕込んだり、記録項目をひとつ増やすぐらいなら十分可能でしょう。
もちろん、現状の強烈ログからでも、konnoさんの所で使っている解析ツールと同じような結果を出すスクリプトを、作って作れないことはないはず。あ、でも、私には、あれに存在している検索キーワードごとの集計というのは、もしかしたらうまく作れないかもしれない。文字コードの変換のところに自信がないもので。

>  結構難儀しましたが,UNIXTIME を日時に変換するマクロを作成しました。

ぅぉぉ、こういうのがほしかったのですよ。
出力形式は自分好みにちょっと手を入れさせていただきます。

> 2010/02/27 0.01 暫定版(各年初期値を持つ構造が恥ずかしいので却下)

実は私もこの方式は考えていたりしました。
でも、この方式ですら完成させることができなかったのでした。

[3610] Re^16: 第二次野ざらし改造計画

めざら 2010/03/02(Tue) 23:20
[3609]へのコメント http://homepage3.nifty.com/mezala/
> ログ記録ルーチンに日付変換を仕込んだり、記録項目をひとつ増やすぐらいなら十分可能でしょう。

 まぁ,そのくらいならアレですけれど,色々考えているうちに欲が出てきて,でも大抵そういうことを実現するにはスキルが足りなくて,結局諦めるというパターンがこのところ多くてですね,時間がないことを理由にしている自分へ愛想がつきそうになるのです。欲が深いから,いけないのですけれど。

> 文字コードの変換のところに自信がないもので。

 じょじょカウンタも,検索語などは化けてますね。それをどこかでさらに変換するなんてヤヤこしいことをしていたりしていましたが,それもそのうち飽きてしまいました。アクセス解析結果からアクセスアップを目指したりするのって疲れますよね。

> ぅぉぉ、こういうのがほしかったのですよ。

 あら,なんだか予想以上に喜んでいただけたみたいで,うれしいです。この土日月の三連休をあのマクロに費やしていましたから。カンが鈍ったと言うか,元々スキルがないのか,ちょっと考えれば解るようなことに悩んだ時間が多かったですね。

 調子に乗って,今度は日時から UNIXTIME への変換マクロを作成し始めました。こっちの方が格段に易しいのですが,32ビットの壁あたりの処理をどうするか悩み中です。2038年問題はクリアしたいですが,64ビットを扱えないのに,それじゃどこまでやるのかってところが悩みどころですね。

 機械語を駆使していた達人たちは,どうやって64ビットを扱っていたのかな。

[3615] Re^14: 第二次野ざらし改造計画

としき 2010/03/06(Sat) 16:01
[3606]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 別の手としては、ログ集計用のCGIをサーバにアップしておく、というのも

ログ集計用というよりも、スパム対策検討用のCGIを作ってしまいました。
本来なら表計算ソフトで行う様な事までCGI側で計算させていたりするし、そもそも公開用を考えて作ったわけではないのでHTMLの文法はかなりいい加減だし。
うちでとったログの約3週間分を食わせてみたら、思ったよりも間隔検証の効果が少ないことが判明。それでも閾値20秒で80%にちょっと足りない程度だから十分かも。大阪のスパマーは30〜31秒で撃ってくるということも判明したので、閾値を35秒くらいにすれば拒絶率85%以上になるけど、ちょっと使い勝手が悪くなるなぁ。
ちなみに、混乱方式での拒絶率もやっぱり85%くらい。
これにプレビュー反転と偽認証欄を加えて、機械投稿に対してはシックスナインかそれ以上の拒絶率を確保できています。こちら野ざらしには偽認証欄を導入していませんが、実用的には全く問題ないでしょう。不足があるようなら本文の文字列チェックなど、ほかの方法も使えるでしょうし。
一方で、人間からの投稿(スパムを含む)はほぼ完全に透過できていると思うのだけど、人間からのスパムってあんまりないからわからないなぁ。

こんなものでもよければ、野ざらし用にカスタマイズしてお送りしますよ。変更点はおそらく10行未満ですむはず。

[3616] Re^15: 第二次野ざらし改造計画

めざら 2010/03/06(Sat) 22:57
[3615]へのコメント http://homepage3.nifty.com/mezala/
> スパム対策検討用のCGIを作ってしまいました。

 お。
 ふーむ,秒単位でしかも率まで算出して検討できるとは。

> こんなものでもよければ、野ざらし用にカスタマイズしてお送りしますよ。

 ほんとですか! ますます楽しみですねぇ。
 よろしくお願いします。

 ところで,#3611 に掲載した unixtime.def ですが,バグがありました。
1999/12/30 23:59:59 の1秒後が 2000/01/01 00:00:00 になってしまうのです。バグの理由はもう1ヶ所割り切れ防止を入れなければならなかっただけなのですが,なんだか心配なのでもう少し検証します。申し訳ありませんが破棄してください。

[3617] Re^16: 第二次野ざらし改造計画

としき 2010/03/07(Sun) 16:11
[3616]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  ほんとですか! ますます楽しみですねぇ。
>  よろしくお願いします。

ということで、送らせていただきました。
あとで、野ざらしでのスパム状況を教えてください。

> 1999/12/30 23:59:59 の1秒後が 2000/01/01 00:00:00 になってしまうのです。

うるう年の関係でしょうかね。
私のほうは、とりあえずここ数ヶ月が正しければ問題ないのですが、完璧版のリリースをお待ちしています。

[3618] Re^17: 第二次野ざらし改造計画

めざら 2010/03/07(Sun) 23:59
[3617]へのコメント http://homepage3.nifty.com/mezala/
 ちょうだいしました。どうも有難うございます。
 さっそく仕込みました。

> あとで、野ざらしでのスパム状況を教えてください。

 了解しました。月例報告とかできるといいですね。まぁ,そのあたりは数を見て調整でしょうか。2月21日以降現状では次のようになっています。
(A)POST総数 382
(B)既存書き込みの編集または削除要求数 2
(C)書き込みアクセス数(A - B) 380
(D)投稿成功数 24
(E)プレビュー要求数 364
(F)プレビュー後投稿数 13
(G)プレビュー反転での拒絶数(E - F) 351
(H)プレビュー反転での拒絶率(G / C) 0.92
(I)混乱方式での拒絶数 365
(J)混乱方式での拒絶率 0.96
(K)間隔検証での拒絶数 93
(L)間隔検証での拒絶率(K / C) 0.24

> うるう年の関係でしょうかね。

 そうだと思います。1970年始まりというのがネックですね。閏年関連で言うと,中途半端な始まりなので定数での調整が必要になります。定数の誤差…と言うより,割り切れたり繰り上がったりしているのだと思います。

> 私のほうは、とりあえずここ数ヶ月が正しければ問題ないのですが、

 一応確認したところ,2000年3月以降に問題はありません。2000年が閏年でなくなってしまって2/28の次が3/1になっていたりしますが,3月以降は大丈夫のようです。

[3619] Re^18: 第二次野ざらし改造計画

としき@会社 2010/03/08(Mon) 08:56
[3618]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> (K)間隔検証での拒絶数 93
> (L)間隔検証での拒絶率(K / C) 0.24

これはなんか少なすぎるような。
現在、何秒設定になっています?

[3622] Re^19: 第二次野ざらし改造計画

めざら 2010/03/08(Mon) 13:29
[3619]へのコメント http://homepage3.nifty.com/mezala/
> > (K)間隔検証での拒絶数 93
> > (L)間隔検証での拒絶率(K / C) 0.24
>
> これはなんか少なすぎるような。
> 現在、何秒設定になっています?

 えーと,いただいたときから特に変更していないのですが,min_gap は 10 になっています。あら?これってわずか10秒ということですか。それは短いですね。40秒くらいが効果的なんでしたっけ? 投稿時間統計を見ると,5秒以下と31秒をピークにした30秒〜37秒に塊があります。うーむ。テキもさるものか。

[3623] Re^20: 第二次野ざらし改造計画

としき 2010/03/08(Mon) 21:19
[3622]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  40秒くらいが効果的なんでしたっけ?

こういうことを検討するための基礎となるのが統計というもので。

>  投稿時間統計を見ると,5秒以下と31秒をピークにした30秒〜37秒に塊があります。

やっぱり、30秒ほど間隔をおいてから投げてくるツールを使っているみたいですね。
うちの板塀、if文の条件式が煩雑になるけど、例えば15秒以下と25〜35秒を抑止しようかな、なんてことを考えています。
もし仮に、こんな感じで条件式をいじった場合は、それに合わせて統計スクリプトのほうも修正してください。

[3625] Re^21: 第二次野ざらし改造計画

めざら 2010/03/10(Wed) 08:58
[3623]へのコメント http://homepage3.nifty.com/mezala/
> こういうことを検討するための
 そうでした。(^_^;
 現在のところ,10秒でもすべて拒否していますので,もしも間隔認証以外のハードルが突破されるようになったら,間隔を広げようと思います。それにしてもプレビュー反転がこれほど効果があるとは思ってみませんでした。単に反転しているだけではアクションが異なるだけで,両方試されたら突破されそうな気もしますが,それだけではないというわけですね。

 この掲示板は,これまでも意外にスパムは少なかった方だと思うのですが,こうやってpost統計を見るとガンガン来てはいたのですね。いやいやスパムがないって快適。(^^)

[3627] Re^22: 第二次野ざらし改造計画

としき 2010/03/11(Thu) 00:18
[3625]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  それにしてもプレビュー反転がこれほど効果があるとは思ってみませんでした。単に反転しているだけではアクションが異なるだけで,両方試されたら突破されそうな気もしますが,それだけではないというわけですね。

うちの板塀で、スパム除けとして最初に導入したのがプレビュー反転です。
導入したのは、確か、2005年12月ごろ。
1年余りはこれで9割以上の効果があったのですが、破られるときが来ます。
多分、プレビューのありとなしを両方送ってきたんでしょう。
そこで、次の対策として、偽認証欄を導入。これが2007年7月。
この2つの対策の効果で、その後1年半ほどの間は、95%程度は抑止できていたはず。当時、1日5件程度のアタックで、10日に1回程度で削除していたような気がします。かなりいいかげんかも。一応、実家には戻れば、記録は残っているので集計は可能です。とりあえず、人手で十分メンテナンス可能な量でした。おそらく、片方ずつなら、たいした効果はなかったでしょう。どっちかだけでも引っかかってくれればOKという形だからこそ、それだけの成果が上がっていたわけで。
ところが、2009年3月ごろ、両方をすり抜けて来るスパムが多発。
そこで、2ヶ月ほどかかりましたが、5月ごろから間隔検証を導入。
その後、10ヶ月程度の間にすり抜けたスパムは、わずか3つほど。
遮断率だと、概算で99.9%ぐらいでしょうか。

こういういきさつがあったもので、私、ほとんどは間隔検証で引っかかっていたと思っていたのでした。ところが、今回、板塀と野ざらしのいずれのデータでも、間隔検証の効果が思いのほか低いということがわかり、私自身が驚いています。また、プレビュー反転が再び効力を発揮している、というのも予想外。

これって、インフルエンザウィルスではないけど、スパマーのアタック手法が周期的に変化していて、古い型に対する免疫を持っていれば最近の型にもある程度の防御力を有する、ということかも。

>  この掲示板は,これまでも意外にスパムは少なかった方だと思うのですが,こうやってpost統計を見るとガンガン来てはいたのですね。いやいやスパムがないって快適。(^^)

ユーザビリティを犠牲にしないとなると、この程度のスパム対策が限界でしょう。あとは、本文の内容の文字列チェックか、認証欄を設けて「野ざらし」という文字列を入力させるとか。
まぁ、スパムゼロを目指してがちがちに固めるよりは、1ヶ月に1回程度のスパム書き込みであれば許容する、というぐらいに鷹揚に構えていたほうがいいかと思います。同様に、ユーザビリティを考慮して偏執的な対策を導入するくらいなら、ある程度のユーザビリティの低下は許容するほうが現実的とは思います。
でも、いろいろな方法を考えるのは、面白いことは面白いんですよね。

[3628] Re^23: 第二次野ざらし改造計画

めざら 2010/03/13(Sat) 18:44
[3627]へのコメント http://homepage3.nifty.com/mezala/
> 1年余りはこれで9割以上の効果があったのですが、破られるときが来ます。

 その時点で,間隔認証の秒数を対応させればよいでしょうね。

> 間隔検証の効果が思いのほか低いということがわかり、

 その前の段階ではじいているので,数字として出てこないということではありませんか? 実際に撃ってくる間隔は31〜38秒がとても多いわけですから,それ以上の間隔にしてやればきっちりはじけるわけで。

> プレビュー反転が再び効力を発揮している、というのも予想外。

 プレビュー反転って,板塀オリジナルですよね。他で採用しているならともかく,そういった希少なパラメタを突破してくること自体が考えられないんですけどね。
 
> まぁ、スパムゼロを目指してがちがちに固めるよりは、1ヶ月に1回程度の

 そうですね。最近はアホなスパムの文面にお目にかからないので,むしろ寂しいくらいです。スパムを削除してログファイルの先頭の最終更新情報を書き戻すマクロの出番がすっかりなくなってしまったですし。

> でも、いろいろな方法を考えるのは、面白いことは面白いんですよね。

 そうなのですが。まぁ,掲示板の主な話題にならない程度がよいのですが,ここみたいな過疎った掲示板にとっては,重要なカテゴリのひとつになりつつあるというところが腹立たしくも可笑しいところでしょうか。

[3629] Re^24: 第二次野ざらし改造計画

としき 2010/03/14(Sun) 10:50
[3628]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> > 間隔検証の効果が思いのほか低いということがわかり、
>
>  その前の段階ではじいているので,数字として出てこないということではありませんか?

母数がどうなっているか、という問題も絡みますが。
私、これ *だけ* で8割程度は拒否できると思っていたのですよ。
それが、実はそうではなかったということがわかったのが新しい発見というか。

> > プレビュー反転が再び効力を発揮している、というのも予想外。
>
>  プレビュー反転って,板塀オリジナルですよね。他で採用しているならともかく,そういった希少なパラメタを突破してくること自体が考えられないんですけどね。

でも、そもそもがチェックボックスですから。
ONにするかしないか、2つのアタックを同時に送ってこられたら、片方は透過されてしまうわけで。

>  そうなのですが。まぁ,掲示板の主な話題にならない程度がよいのですが,ここみたいな過疎った掲示板にとっては,重要なカテゴリのひとつになりつつあるというところが腹立たしくも可笑しいところでしょうか。

そのうちに、また、Vzネタで一つ質問をアップさせていただきます。
質問しないで済ませられるか、現在、いろいろと確認中。

[3632] Re^25: 第二次野ざらし改造計画

めざら 2010/03/16(Tue) 23:33
[3629]へのコメント http://homepage3.nifty.com/mezala/
> そのうちに、また、Vzネタで一つ質問をアップさせていただきます。

 今日,ようやくUNIXTIME関係が片付いたので,余裕ができました。もしも,「質問しないで済ませられ」たとしても,ネタください。(^^)

 年度末で色々やらなきゃいけないこともあるのですが,さすがにあと2週を残すのみとあっては,ほとんど諦めの境地というわけで。

[3620] Re^18: 第二次野ざらし改造計画

めざら 2010/03/08(Mon) 09:14
[3618]へのコメント http://homepage3.nifty.com/mezala/
>  一応確認したところ,2000年3月以降に問題はありません。
 …などと書いていますが,うそです。(^^;

 完全に12/31〜2/29 でずれが生じます。あ〜あ。。。
 コアの部分を作り直しですね。とほほ。

[3549] Re: 第二次野ざらし改造計画

としき 2010/02/07(Sun) 22:30
[3509]へのコメント http://www.hinocatv.ne.jp/~toshiki/
いまさらですが、ひとつ提案。
たぶん、めざらさんには受け入れやすい考え方とは思いますが、下手をすると納品後にめざらさんがCSSをかなり大規模に書き換える羽目になるかも知れず。

何かというと、各発言のタイトルの扱い。
現在は、ただのインライン要素になっていますが、これを第2レベル見出しに格上げしたいな、と思っております。
ただ、全ての発言タイトルをそのようにするわけではありません。
具体的には、記事閲覧画面、一括表示画面、新着記事画面における、各個別発言のタイトル部分だけです。あ、検索結果の部分もそうしようかな。
ということで、ツリー表示部分は現状のまま。

通常の利用者にとって、こうなったからといってあまりうれしいことはないと思いますが。でも、例えば、新着記事画面を機械的に処理することを考えた場合、いくばくかのメリットがあることはめざらさんには容易にご理解いただけるものと思います。
あと、一括表示画面のところでも、上部のツリーの部分はそのまま梗概なわけですから、発言タイトルを第2レベル見出しとすることはごく自然なことと感じられます。

ただ、純粋に発言タイトルだけを第2レベル見出しとすると、このツリーのように、同じ見出しが多数出現する場合もあります。ということで、例によって、発言番号も含めて見出しとしたいと思います。
この改造に当たっては、スクリプトのほうは5分もかからずに改造可能ですが、CSSの調整にどの程度の手間がかかるかは全くわかりません。なので、めざらさんの許可・承認が重要と考えております。

[3551] Re^2: 第二次野ざらし改造計画

めざら 2010/02/07(Sun) 23:52
[3549]へのコメント http://homepage3.nifty.com/mezala/
> 発言番号も含めて見出しとしたいと思います。

 出力ソースを見ないとイメージがわかないので,その修正を適用してみていただけますでしょうか。たぶん,番号とタイトルがh2で括られると,次の行にお名前が移ると思います。そうすると,メールアドレスと参照先を名前に続けて出力するのが自然な気がしますが,はたして出力順をそんなに変更できるものか,ふと心配にもなりました。

 タイトルを見出しにするというのは,わたしにとっても大いにメリットがありますので,ぜひ積極的に導入したいところですが,念の為,ソースを見たいと思います。

 よろしくお願いします。

[3555] Re^3: 第二次野ざらし改造計画

konno 2010/02/08(Mon) 02:00
[3551]へのコメント
めざらさん

こちらへは久しぶりに書き込みましたが、なんか、狭苦しくなりましたね。(^^;

66桁で強制改行されるのは狭すぎないですか。初代ZERO3でも80桁で見れるはずですが。VZの起動画面が桁折りされてるのであれっと思った次第です。
入力フォームは更に狭くて使いづらいです。できればもう少し広げて欲しいと思いました。最終的には管理者の考えで決まるわけですが。

[3556] Re^4: 第二次野ざらし改造計画

めざら 2010/02/08(Mon) 08:52
[3555]へのコメント http://homepage3.nifty.com/mezala/
konnoさん
 vtdos の件ではあれこれと掲示板を使わせていただきありがとうございます。

 #3510に現在の表示にしている経緯を書きましたが,感覚は人それぞれで桁折不要を強制はできないため,やむなく表示幅を狭くしています。本当はやりたくないのですが,桁折(段落途中で改行すること)していないと読みにくい(特に近ごろのワイド画面だと左右の視線移動が大変)という感覚も理解できるので,敢えて表示幅を固定しています。本来表示幅はローカルで調整すべきものと思うのですが,そんなことしませんからねぇ。

> 66桁で強制改行されるのは狭すぎないですか。

 これは誤解です。強制改行はしていません。もしも整形モードを有効にされているのでしたら,通常モードでお願いします。

> 入力フォームは更に狭くて使いづらいです。

 段落の途中で改行を入れたくなるのは,入力フォームが広いせいだと思いました。段落途中で改行すると環境によっては却って読みにくくなることを入力フォームで体験してもらえるよう狭くしました。ただ,これも気まぐれですから,すぐに戻すかもしれません。いずれにしても,段落途中で改行したく【なくなる】ような良いアイデアがあれば一番なんですけどね。

 konnoさんはご自身が桁折派で,投稿内容確認画面でルーラを表示することで段落途中で改行したく【なる】ようにしていらっしゃいますよね。考え方は同じなのですが,なにしろパソ通時代の桁折感覚を持った人がこの界隈には多いので,使いにくいと思われる人が圧倒的なのでしょうね。でも,段落途中で桁折をするということは,
← 投稿者の環境で見やすい幅がこのくらいとして →
 段落の途中で改行を入れたくなるのは,入力フォーム
が広いせいだと思いました。段落途中で改行すると環境
によっては却って読みにくくなることを入力フォームで
体験してもらえるよう狭くしました。ただ,これも気ま
ぐれですから,すぐに戻すかもしれません。

← ある閲覧者の環境で物理的な幅がここまで →
 段落の途中で改行を入れたくなるのは,入力フォ
ーム
が広いせいだと思いました。段落途中で改行すると
環境
によっては却って読みにくくなることを入力フォー
ムで
体験してもらえるよう狭くしました。ただ,これも
気ま
ぐれですから,すぐに戻すかもしれません。 

 このように非常に読みにくくなりますね。縦長画面のスマートフォンが普及したり,老眼に合わせてフォントの大きさを調整したりすると,物理的な表示幅がさまざまになってきて,80桁を標準とする考え方自体が時代に合わなくなってくることは確定しています。それでわたしはなるべく段落途中で桁折して欲しくないと考えているのですが,このような思いは簡単に伝わらないようです。

 こんな場末の過疎った掲示板でアクセシビリティを云々しても仕方がないですし,むしろ高度に蛸壺化して常に自動強制改行でもすれば却って気が楽なのでしょうけれど,ね。(笑)

[3561] Re^5: 第二次野ざらし改造計画

としき 2010/02/08(Mon) 22:36
[3556]へのコメント http://www.hinocatv.ne.jp/~toshiki/
ま、郷に入らば郷に従え、ということでしょうか。
私自身も桁折派なんですが、管理人の意向には従いたいかな、と。
ただ、まぁ、Vzユーザの多い掲示板では、Vzが対応していない80桁未満の閲覧環境の方にはある程度ご不便をおかけしてもかまわないような気もしていますが。
ということで、某ワープロユーザの多い某板塀は80桁未満での桁折が推奨だったりします。
#かなりこじつけです


> > 入力フォームは更に狭くて使いづらいです。
>  段落の途中で改行を入れたくなるのは,入力フォームが広いせいだと思いました。段落途中で改行すると環境によっては却って読みにくくなることを入力フォームで体験してもらえるよう狭くしました。

この点に関しては、管理人の意向が非桁折であるならば、実に管理人の意向に沿ったシステムというように思っております。
むしろ逆に、桁折派であるkonnoさんには、ご自分のところをもうちょっと積極的に桁折してもらいやすくしてほしいと思っております。具体的には、某板塀で実装してあるように、改行なしの300文字を入力した場合に非常に使い勝手が悪くなるような仕組み、など。現状では、80桁入力したところでついうっかり改行を忘れてしまった、ということが起きやすいと思います。

[3560] Re^3: 第二次野ざらし改造計画

としき 2010/02/08(Mon) 22:14
[3551]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  たぶん,番号とタイトルがh2で括られると,次の行にお名前が移ると思います。

CSSを駆使すれば、同じ行に並べることも可能だと思います。
私にはよくわかりませんが、ソース上に並んでいる順と表示順を逆転させることも可能なはず。
ただ、CSSに対応していない環境では、改行されることが多いでしょう。となると、タイトルと名前の間のハイフンの存在がはなはだあいまいなものになってしまいます。
とりあえず今回は、このハイフンは除去してしまいます。
必要があれば、CSSのcontentプロパティを使って出力してください。

[3562] Re^4: 第二次野ざらし改造計画

としき 2010/02/08(Mon) 23:15
[3560]へのコメント http://www.hinocatv.ne.jp/~toshiki/
とりあえず、テスト版のスクリプトを入れ替えてみましたが。

> >  たぶん,番号とタイトルがh2で括られると,次の行にお名前が移ると思います。

なんとなく、番号とタイトルだけでなく、投稿者名までをh2にしたい気持ち。その場合は

> ただ、CSSに対応していない環境では、改行されることが多いでしょう。となると、タイトルと名前の間のハイフンの存在がはなはだあいまいなものになってしまいます。
> とりあえず今回は、このハイフンは除去してしまいます。

このハイフンを復活させたほうがいいかも。
ん〜、難しいなぁ。

とりあえず、ソースを見てもらえばわかりますが、現時点ではこの本番用と同じCSSを引っ張ってくるようになっています。なので、めざらさんが本番用を書き換えれば、自動的にテスト版の表示も変化します。
また、単純に番号とタイトルの部分をh2でくくっただけです。
なので、例えば検索結果の場合とその他の場合を見比べてみて、どのような順番でどのような位置にどのような情報を配列するのが良いか検討してみてください。

[3564] Re^5: 第二次野ざらし改造計画

めざら 2010/02/09(Tue) 00:48
[3562]へのコメント http://homepage3.nifty.com/mezala/
> とりあえず、テスト版のスクリプトを入れ替えてみましたが。

 ありがとうございます。現在スタイルを調整してみて確認中です。余計なこともやっていたりしますが。

> なんとなく、番号とタイトルだけでなく、投稿者名までをh2にしたい気持ち。

 あ,やっぱりそう思われますか。わたしも見出しだからタイトルだけのようなイメージでいたのですが,同じタイトルということもよくあることなので,お名前も付けたほうが見出しにふさわしいような気がしてきました。

> どのような順番でどのような位置にどのような情報を配列するのが良いか検討してみてください。

 了解です。
 さて,明日からまた仕事がたて込んでいますので,少しゆっくりになってしまって迷惑をおかけしますが,なにとぞ長い目でお付き合いください。よろしくお願いします。

[3571] Re^5: 第二次野ざらし改造計画

としき 2010/02/11(Thu) 00:44
[3562]へのコメント http://www.hinocatv.ne.jp/~toshiki/
ちょっと遊んでみました。

> なんとなく、番号とタイトルだけでなく、投稿者名までをh2にしたい気持ち。その場合は

スタイルシートをいじって、番号とタイトルのあとに改行しないようにしてみました。また、HTMLの出力結果のhead部分を見ていただければすぐにわかりますが、ハンドルの前にスタイルシートによってハイフンを出力しています。
ただ、スタイルシート未使用の環境での表示というか並び方がいまいちのような気がします。


とりあえず、こんなところでしょうか。
このまま異常がないことを確認し、次の日曜の14日か、さらにその翌週あたりに納品したいと考えております。
ご要望があれば、まだまだ反映可能なので、遠慮なくどうぞ。

[3576] Re^6: 第二次野ざらし改造計画

めざら 2010/02/11(Thu) 22:20
[3571]へのコメント http://homepage3.nifty.com/mezala/
> ご要望があれば、まだまだ反映可能なので、遠慮なくどうぞ。

 えと,それでは遠慮なく。(^^;

 プレビューが有効でない場合は、投稿制限してしまうのが有効と思ったのですが、そういう機能制限をかけて問題がないか考えあぐねています。ひとつはチェックをデフォルトにすることかと思いつつ、わざわざ外して投げてくるとなるとスパム以外はありえなさそうな。

 簡単に実装可能なら、プレビューにチェックを入れて確認を経ないと投稿できないようにすることをお願いしてよろしいでしょうか。

 出力の関係は,後で改めて調整することにします。
<div>
<h2>〜</h2><span>〜</span><span>〜</span><span>〜</span>
</div>
 …というのは,個人的にはあまり好きでないので。すみません。

[3577] Re^7: 第二次野ざらし改造計画

としき@会社 2010/02/12(Fri) 14:25
[3576]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  プレビューが有効でない場合は、投稿制限してしまうのが有効と思ったのですが、そういう機能制限をかけて問題がないか考えあぐねています。

うっ、これは・・・

> ひとつはチェックをデフォルトにすることかと思いつつ、わざわざ外して投げてくるとなるとスパム以外はありえなさそうな。

スパマーとしきは、常にプレビューなしです。
konnoさんのところでは、わざわざチェックをはずして投げています。

>  簡単に実装可能なら、プレビューにチェックを入れて確認を経ないと投稿できないようにすることをお願いしてよろしいでしょうか。

えと、うちの板塀と同じく、プレビュー反転ということでよろしいのでしょうか。
それとも、プレビューのチェックボックスそのものをなくしてしまい、常時プレビューという形のほうがよろしいのでしょうか。
前者なら、実績があるので実装は可能です。
後者の場合、実装は可能だと思いますが、検討してみないとわかりません。

[3578] Re^8: 第二次野ざらし改造計画

めざら 2010/02/12(Fri) 17:30
[3577]へのコメント http://homepage3.nifty.com/mezala/
> スパマーとしきは、常にプレビューなしです。

 あ,そういう利用者さんがいらっしゃるなら撤回します。

 普段,掲示板の機能について色々考えることはあるのですが,妙にこまかなことが多く,気にしなければ済む問題だったりするので,これ以上の要望は控え,現状での納品ということでお願いしたいと思います。

 今回も大変お手数をおかけしました。本当にありがとうございました。ログを見るのが楽しみです。

 ひとつ気になるのが,IPアドレスの変遷による投稿を許容したことで,管理者本人がひっかかることとは言え,実に強力なスパム対策と思えるので少し心残りです。この辺はいずれ復活をお願いするかもしれません。携帯を買い換えたらの話でしょうけれど。

[3579] Re^9: 第二次野ざらし改造計画

としき 2010/02/12(Fri) 21:36
[3578]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> > スパマーとしきは、常にプレビューなしです。
>  あ,そういう利用者さんがいらっしゃるなら撤回します。

でも、プレビューなしにするのではなく、板塀と同じプレビュー反転であれば全く問題はありません。クッキーがありますから、次回以降は常にチェックが入った状態になって、結局プレビューなしで投稿できますから。

先日、うちの板塀で、大阪方面から数十分の間隔をあけて二発、スパム投稿がありました。いずれもきちんと遮断しました。ところが、二発目は間隔検証で引っかかったのはすぐにわかったのですが、一発目が何に引っかかったのかがよく分かりませんでした。間隔は34秒もあいているし、偽認証欄は空白だし、うちでは本文の文字列チェックは行っていないし。
しばらく、じっと強烈ログをにらんでいましたが、わかったときには「あっ」と叫んでしまいました。これ、まず間違いなく、プレビュー反転に引っかかってます。なぜというに、強烈ログのほうにプレビューのチェックの有無を出力していなかったのですね。

以前、プレビューのチェックありとなしの両方を投げてくるスパマーがいたために、私自身、プレビュー反転の有効性というものに疑問を抱いていたのですが、最近はそういう手合いは少なくなっているようです。また、偽認証欄と間隔検証でほぼ完全に遮断できているということもあって、プレビュー反転という手札を持っているということすらすっかり忘れていました。実際、偽認証欄に関しては、データを送ってこなければ通過してしまうわけですし、プレビューについても、現状というかデフォルトではデータを送ってこないということはチェックがついていないということで通過してしまうわけですが、プレビュー反転を行えば、データを送ってこないものは遮断、という形になって、いくらかは強度が増すことは間違いありません。もちろん、常時プレビュー強要でも、もう一度ボタンを押すことを強制するという意味でかなり強度が増すわけですが、一部のひねくれ者(私だ)に対してはユーザビリティが下がってしまうので、ちょっとご遠慮願いたいかな、と。

なお、野ざらし改では、強烈ログにプレビューの情報も出力するようにしてみました。ちなみに、このログのサイズ、そろそろ170KBに達しようとしています。本番運用の際は、それこそ1日で1MBぐらい軽く超えてしまうかもしれません。くれぐれもご注意ください。

[3582] Re^10: 第二次野ざらし改造計画

めざら 2010/02/13(Sat) 19:54
[3579]へのコメント
そうですねぇ。プレビューなしというところが反転で少し違和感があったりするのですが、慣れでしょうから、そのように改造してもらってもよろしいでしょうか。効果の認められるものは何でも
やってみようというわけで。

よろしくお願いします。

[3583] Re^11: 第二次野ざらし改造計画

としき 2010/02/13(Sat) 22:12
[3582]へのコメント http://www.hinocatv.ne.jp/~toshiki/
確か、プレビュー反転では、5ヶ所くらい、条件式のeqとneを変更する必要があったはずです。明日くらいには、サンプル版を変更できると思います。

[3584] Re^12: 第二次野ざらし改造計画

としき 2010/02/14(Sun) 11:57
[3583]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 明日くらいには、サンプル版を変更できると思います。

サンプル版を入れ替えました。
ざっとテストした範囲ではバグはない模様です。
wf_adminではプレビューのパラメータを使っていない模様ですので手を加えていませんが、そのせいもあって、チェックをサボっています。そちらのほうのチェックはよろしくお願いします。

[3587] Re^13: 第二次野ざらし改造計画

めざら 2010/02/14(Sun) 21:28
[3584]へのコメント http://homepage3.nifty.com/mezala/
> サンプル版を入れ替えました。

 ありがとうございます。

 えーと,今頃気づいたことがあります。

 新着記事のヘッダ中には,[関連記事]というリンクで,その発言が含まれるツリーを一括表示する機能があるのですが,サンプル板ではこの機能がなくなっています。

 この機能は使う人も多いと思われるので,戻していただけるでしょうか。原状では日付・時刻の次に[関連記事]があります。その次にコメント先という順序になろうかと思います。

 単純にその順序で出力しておいてくだされば,見栄え系の調整時に適当に改行など入れます。まだ見栄え系のイメージが固まっていなかったのですが,[関連記事]を思い出したので少し固まりつつあります。

 よろしくお願いします。

[3589] Re^14: 第二次野ざらし改造計画

としき 2010/02/14(Sun) 23:24
[3587]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  この機能は使う人も多いと思われるので,戻していただけるでしょうか。原状では日付・時刻の次に[関連記事]があります。その次にコメント先という順序になろうかと思います。

戻しました。
でも、関連記事とコメント元って、マウスでポイントしてみればわかると思いますが、URLはほとんど同一なんですよ。
これって、本当に両方必要なんでしょうか。

[3590] Re^15: 第二次野ざらし改造計画

めざら 2010/02/15(Mon) 09:34
[3589]へのコメント http://homepage3.nifty.com/mezala/
 戻してくださってありがとうございます。

> 関連記事とコメント元って…中略…URLはほとんど同一なんですよ。
> これって、本当に両方必要なんでしょうか。

 元々備わっている機能なので,それなりに使っている気がします。主に,ツリーが大きいとき(ツリーの途中で話題が変遷してしまっているときなど)は結構調法しますね。一覧表示の▼に当たるので,一覧表示を経由せずにツリーの概要を知ることができるのは便利だと思います。使うかどうかは利用者によるので,使い勝手の選択肢は多いほうがよいかなと。

 テスト板にも書いたのですが,確かに Konnoさんのところはすっきりしていますね。ただ,よくよく見るとヘッダ部分ではなく,フッタ部分に「このTreeへ」「コメント元:0000 へ」「[リストへもどる ]」といったリンクが備わっているので,インターフェイスはかなり強化されています。ですので,やはり必要だと感じました。

 やはりあった方が便利なようです。ありがとうございました。

[3591] Re^16: 第二次野ざらし改造計画

としき@会社 2010/02/15(Mon) 13:17
[3590]へのコメント http://www.hinocatv.ne.jp/~toshiki/
>  確かに Konnoさんのところはすっきりしていますね。ただ,よくよく見るとヘッダ部分ではなく,フッタ部分に「このTreeへ」「コメント元:0000 へ」「[リストへもどる ]」といったリンクが備わっているので,インターフェイスはかなり強化されています。

これは気がつきませんでした。
なるほど、私自身は使ったことはなかったのですが、確かにこれは便利かもしれません。特に、ひとつの発言が長いときなんかは。

ほかにも、気がつかれたことがあればどんどんどうぞ。

[3592] Re^17: 第二次野ざらし改造計画

めざら 2010/02/15(Mon) 17:26
[3591]へのコメント http://homepage3.nifty.com/mezala/
> ほかにも、気がつかれたことがあればどんどんどうぞ。

 実は少し気になっていることがありまして,としきさんが konnoさんの掲示板でおっしゃっていた…
http://hpcgi3.nifty.com/tamaneko/wforum.cgi?gno=4942&reno=no&mode=allread&no=4942&fsize=&page=0#4973
…過去ログ完全リンク機能と言いましょうか,これの実装というのは結構大変でしょうか。

 過去ログのページのリンク設定かなとも思うのですが,そう単純な話でもなさそうで,実はあまり理解していなかったりするのですけれど,要するに現状では過去ログのページで選択リストから過去ログの番号を選んで「ボタン」を押さない限り,初期値の番号以外の過去ログが参照できないってことですよね。

 あまり気にしたことがなかったのですが,やっぱりGoogle先生に把握してもらったほうが自分も便利という話なら,その恩恵に浴するのは悪い話ではないなぁ…と思ったりしたので,としきさんにとってとんでもなく大変でなければ実装していただきたいなぁなどと調子のいいことを考えているのです。

 お願いできますか? (^_^; いまごろ…

[3593] Re^18: 第二次野ざらし改造計画

としき 2010/02/15(Mon) 23:11
[3592]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> …過去ログ完全リンク機能と言いましょうか,これの実装というのは結構大変でしょうか。

うちの板塀と同じような、前ログ/次ログのリンク程度でよければ、条件式2発、延べ10行ぐらいでくっつけられます。先ほど、スクリプトを入れ替えてみましたので、過去ログの部分をご覧ください。
konnoさんのところのように、1画面に全過去ログへのリンクを張ろうとすると大変かもしれません。ロジックはそれほど難しくもないですが、やはり見栄えの問題が発生しますので。
もし、konnoさん方式がよければ、そのようにご指示ください。

実は、うちは過去ログが2番までしかできていなかったもので、3番以上ができてもきちんと働くか不安だったのです。それで、さっき、過去ログの2番を分割して3番を作ってアップロードしてみたのですが、問題なく動いているようです。

[3594] Re^19: 第二次野ざらし改造計画

めざら 2010/02/16(Tue) 22:23
[3593]へのコメント http://homepage3.nifty.com/mezala/
 あう,今朝付けたつもりのコメントが…?!

> うちの板塀と同じような、前ログ/次ログのリンク程度でよければ、条件式2発、延べ10行ぐらいでくっつけられます。先ほど、スクリプトを入れ替えてみましたので、過去ログの部分をご覧ください。

 確認させていただきました。前後へのリンクがすっきりしていてよいと思いました。前・後へのリンク設定をよろしくお願いします。

 当初の思惑よりたくさん機能をつけてくださいまして,本当にありがとうございました。せっかくなので,もう少し掲示板の活用を試みないとですね。

[3586] Re^12: 第二次野ざらし改造計画

めざら 2010/02/14(Sun) 21:17
[3583]へのコメント http://homepage3.nifty.com/mezala/
> 確か、プレビュー反転では、5ヶ所くらい、条件式のeqとneを変更

 今日は携帯を家に忘れて,昼休みにテストできませんでした。

 結構関係するところがあるのですね。同じルーチンを使っているわけではなくて,モードの異なる似たような処理も結構あることは知ってましたが,5ヶ所もあるとは。

[3563] Re^4: 第二次野ざらし改造計画

めざら 2010/02/09(Tue) 00:20
[3560]へのコメント http://homepage3.nifty.com/mezala/
> タイトルと名前の間のハイフンの存在がはなはだあいまいなものに

 これはタイトル一覧表示の出力を少し意識しただけですので,無くてもいいものなんです。むしろ本来は必要ないものと考えていますので,削除していただいたとおりでわたしの希望と一致します。

 ありがとうございます。時間をとって,もう少し試させていただきますので,よろしくお願いします。

↑ このページの先頭