では、近いうちに実装してみます。たぶん週末あたりに。
NOMさんの案でけっこういけるような気がしますね。 答えに悩むほど複雑でないところがミソですね。
読解captchaの案です。 7dJk8E 左のワードに含まれる数字のみを入力してください。 7dJk8E 左のワードに含まれる数字を足した値を入力してください。 7dJk8E 左のワードに含まれる数字を掛けた値を入力してください。 7dJk8E 左のワードに含まれる英字のみを入力してください。 7dJk8E 左のワードに含まれる英大文字のみを入力してください。 7dJk8E 左のワードに含まれる英小文字のみを入力してください。 7dJk8E 左のワードに含まれる最初の2文字を入力してください。 7dJk8E 左のワードに含まれる中央の2文字を入力してください。 7dJk8E 左のワードに含まれる最後の2文字を入力してください。 7dJk8E 左のワードに含まれる最初と最後の文字を入力してください。 質問は上記うちから、いずれかが出題されます。 7dJk8E のようなワードはランダムに生成します。 ランダムとはいえ、数字2+小文字2+大文字2の組み合わせにします。 大文字が一つもないワードの大文字を入力してくださいといわれても 困りますからね ^^; これならプログラムで自動生成できますので、クイズを考えるという 苦行から開放されます ^^; どうっすか?
この文章のZ中に4文字の無意味Dなアルファベット文字が含まれています、 それをつSないで一つにしOてください。答えは半角で入力してください。 答え:ZDSO という感じのはどうでしょうね。spammerが全角アルファベットを切り出すこ とに対応されればそれまでですが、ここのネットのためだけにそういう対応を 考えるのは当面ないでしょう。 誰でも答えられるクイズというのは、私も考えたのですが、「誰でも答えられ る」というやつをたくさん用意するのはちょっと大変かもと思いました。ネッ ト上でみんなが提案して楽しみながら作るというのなら、それもまたありかも ですね。 ユニバーサルデザインについて、私はwikipediaの説明を参考にしました。そ れ以上深い事は私も知りません。 http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%8B%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3 当然のごとくある特定の人専用のものにそんなことを考えていたら、とんでも ないことになりますね。大工の鉋をユニバーサルデザインにしたら、きっと大 工さんは仕事ができなくなるでしょう。 特定の人向けなのか、不特定多数の一般人の使用を考えるべきものか、そこの 見極めがまず必要です。ここのボードの場合は特定の人向け的な面もあります が、不特定多数の一般人にもドアは開いておきたいということでしょうか。
杉田さんも書いてるけど、たぶんここに意見を書いている人は 「ユニバーサルデザインって良く分かんない」人ばかりだと思います。 かくいう私もそうです。 少なくとも視覚や聴覚に頼らず、文字情報として完結していれば、 かなり「ユニバーサル」なんではないでしょうか。どうでしょう。 文字なら視覚で読めますし、音声ブラウザで聴覚に変換したり、 点字ボードで触覚に変換したりできそうです。 あと、この掲示板は最初にフォームがあるので、フォームの前に最初の 本文へのリンクを追加するとよいかもしれません。そのほかにも、 この掲示板で工夫できそうな何かがあれば提案してほしいです。
CAPTCHAにかわるものとしては、KJさんが提案している文字のみを使って 質問に回答するのがよさそうですね。これも、レジNさんが提案している 変則的な何かの一つと思います。質問を考えるのも楽しそうです。 杉田さんが提案しているような仕組みは、現在のCAPTCHAでも使っています。 なので、現状でCookie非対応のクライアントからは投稿できなくなっています。 Cookie非対応のクライアントから投稿できないことについて、意見があれば 書いてほしいです。とはいえ、簡易認証やその他の制限を実装するにあたって Cookieを便利に使っている(=PHPのセッション機能を便利に使っている)ので、 反論されても対応に困りますが、意見は意見として聞いておきたいです。 半角のみの投稿をできなくするというのは、緊急措置としては○でも、 恒久的には×ということで、みなさん意見が一致しているようですね。 この制限は、そのうち外したいと思います。 ちょっと話はかわりますが、 この掲示板をPHP化するにあたっては、過去に投稿されたすべての スパムを含むバックアップ用の掲示板データを使用しましたので、 最初の作業は、大量のスパムに非表示フラグを立てることでした。 そのときは、スパムのパターンが偏っていたせいか、簡単な パターンマッチでスパムとそうでないものを振り分けできました。 つまり、本文のパターンチェックでも、ある程度のスパム防止には なりそうだということです。これはすべてのスパムを防止するような 鉄壁のガードにはなり得ませんが、スパム防止策の1候補ではあると 思います。 佐藤工務店さんの提案する会員制は、スパム防止という問題の解決には どうでしょうか。ゲスト投稿を許せばスパムは投稿されるでしょうし、 ゲスト投稿を許さないなら、それはそれで論議の必要な問題だと思います。 スパム投稿をいくらか許して、それを会員が分担して削除するとなれば、 削除問題の再来ですね。それはそれで懐かしい話なのですが・・・
投稿フォームの下にJavaScriptで窓が開くボタンを付けといてセッション用の値をクッキーでブラウザにセットするスクリプトを起動、セットし終わったら同じ値をフォームの値にも入れておく。 投稿時にそのクッキーの値とフォームの値を比べればCaptchaの機能を外しつつ同様の機能で認証が出来るかと。 これでJavaScript、もしくはCookieに対応していないHTTPクライアントは投稿できないってのはどうでしょう。 巧く組み合わせることが可能なら見た目上は一回のボタン押下で終わります。 > では、汎用的な仕組みであるcaptchaは、その導入による不利益を覚悟してでも導入する価値があるでしょうか? この掲示板にのみ限ってしまえば視覚障害者の人が投稿しにくくなるのは把握した上で実装を決めました。 要するにある程度(未知の部分も含めた)ユーザーが限定されソレにより不利益が発生する可能性があるのは分かっていた、ということです。 その前提があったのでNOMさんが2バイト以外外しを実装したとき何も言いませんでした。 勿論その時未知の「1バイト投稿する日本人」を想定しましたが今居ないからいいやって感じで。 > spam書き込みというのは、標準的な掲示板フォームに対して無差別的な文字入力をサブミットするプログラムによるものと思われます。 標準的、とは限りません。 杉田の自作Blogのコメント欄が一回SPAMの対象になりましたから。 その事例から想定しますがある程度の範囲での方法論の組み合わせの中で成功したっぽいリストを作って、そのリストを使ってガンガン投稿するように思えます。 もしそうならば相手は手数を多く持ってると判断したほうが良いでしょう。 > 一見さんで書き込みたい人は、メールで聞いてね、でもいいでしょう。 「書き込む意欲が高い(視覚障害者 OR 健常者)のれんこんユーザー」は救ってるけど「書き込む意欲が微妙に低い一見さん」が投稿出来ないと言うふるいに見えます。 これぐらいの掲示板なんですけど「視覚障害を持っている一見さん」が来る可能性を考慮すると厳しいですね。 っていうか、視覚障害を持ってる人はどういう操作をするんでしょう? そもそもそういう人向けにこの掲示板が使いやすいかどうか、そういうのも含めて考えないんだったら「ただの技術屋のごたく」以上行かない気がしますけど。 ユニバーサルデザインって良く分かんないですけどそう言うことでしょ?
まず、spammer対策が必要であるという前提についてはまったく同意です。 また、「半角文字のみによる書き込み」のブロックが、暫定的な対策以上のものではありえない、ということにも同意します。 では、汎用的な仕組みであるcaptchaは、その導入による不利益を覚悟してでも導入する価値があるでしょうか? そこのところを考えてみたいと思います。 spam書き込みというのは、標準的な掲示板フォームに対して無差別的な文字入力をサブミットするプログラムによるものと思われます。 captchaというバリアを挿入することにより、機械による無差別的書き込みをブロックできることはわかっているわけです。 ではcaptchaという汎用的な仕組みが何を行っているかというと、とりあえず生身の人間の視覚的能力を推定することで「知的な翻訳」が行われて特定の入力フォームに反映されている、ということですね。 この仕組みは、とりあえずもっと簡易な仕組みに置き換えて問題ないと思うのですが。 例をあげれば、「レジNさんの本名の姓の部分をフォームに入れてね」でもいい、わけですね。 これだったら、障害の有無は関係ない。 このような掲示板だからそのような謎解きでも十分だろうし、一見さんで書き込みたい人は、メールで聞いてね、でもいいでしょう。 要するに知的な処理を媒介する謎解きがあれば、これぐらいの掲示板での機械spam対策では十分だと思います。 (誰でも知ってそうなクイズの答えでもいいでしょう。日本一高い山を4文字で、でもいいでしょう。)
昔みたいに会員と暫定会員&ゲストに分ければいいんじゃないの? sysyopも当番制にしてさ。 ミーティングも復活するかも。
いろいろ問題が発展してきたようですね。こういう展開もまたおもしろいです。 視覚障害者が読み上げソフトを使っていると考えてみても、spamで満たされた ものが読み上げられたらたまったものではないでしょうから、やはりspam対策 による利益は同様に存在すると考えられます。spam対策の利益が共有できない という人をすぐに思い付きませんが、そういう人達はいるでしょうか? もしspam対策の利益が全ての人に共有できるものなら、それはやるにこしたこ とはないと結論できるでしょう。すなわち、spam対策を施すことはユニバーサ ルデザインに反しないということですね。 問題を純粋にspam対策と考えてみましょう。 1、spamの書き込みを防ぐ 2、1により従来アクセス可能であった人がアクセス不能になってはいけない (これは、使い勝手の悪さが無限大で3の一部とも見れる) 3、1によりspamが消える有意さが相殺されるほど使い勝手が悪くなってはい けない 粗っぽくなりますが数値化して考えてみます。 健常者はspam対策により100の利益があり-30の不利益がある。 視覚障害者はspam対策により100の利益があり-70の不利益がある。 この場合健常者は差引70の利益、視覚障害者は差引30の利益、不公平ではあり ますが、両者の利益がプラスである以上、その対策は支持されてしかるべしで しょう。 これがあるユーザーにとってマイナスであるようなら、それは基本的には支持 されないでしょうが、熟考を重ねた上での実施はあり得るかもしれないでしょ う。 ちなみにNOMさんの暫定対策である半角文字のみによる書き込み禁止による対 策は、2に反すると思うので暫定策以上にするべきではないと思います。「日 本語が読めるが書けない人が半角使用言語で何かを書きたい」、「日本語が読 める環境があるが書ける環境がないので、半角使用言語もしくはローマ字で書 きたい」というような人を排除することになります。実際問題、私はローマ字 で書きたくなること(書かざるえないこと)が将来ありえるような気がします。 一般解というものを考えた場合、画像captcha+音声captchaというのが、やは り最有力候補ではないでしょうか。他にも何かあるかもしれませんが、その手 のことを給料をもらって日夜研究している人がいて、現在そこに行っているわ けですから、ちょっと位頭をひねって何かいいものが出てくるとは考えにくい ところです。 後は、captchaをいかにうまく実装して、使いやすくするかということになる でしょう。それがどの位、大変な作業であるのかの考慮は必要でしょうが、基 本的に実装することは悪くないと思います。 しかし、一般解に走りたくなるのはプログラマーといったような人達の悪い癖 でもあり、何でもかんでも汎用にしておかないと落ち着かない性分のせいで、 より自分の仕事を増やしてしまうことが何度あったことやら・・・、と聞くと、 どきっとする人はここにも多いことでしょう。 自分がspammerになった場合を考えると、だいたい大手が運営するネットーワー ク上のボード、広く流通しているソフトウェアーで提供されているボードをカ バーすればそれでよしで、変則的なボードに一々対応していては、spmammer稼 業は成り立たないはずです。 したがって、ここのボードを何か変則的なボードにしてしまうことが、特殊解 として成り立つのではないでしょうか。それが成り立たなくなったら、また別 の変則的な解を求めることにすればいいわけです。captchaにしても、しばら くはかかるでしょうがコンピュータの性能がさらに飛躍的に上がればcaptach 破りのプログラムをspammerは使用することができるようになるでしょう。そ の時はさらなる対策へとupdateが必要になります。 では、どんな変則化対策がありえるでしょうか? あまり凝ったことをやろうとするとそれはcaptcha以上に実装が大変になって しまいそうです。 少し考えてみて、いいアイデアを思い付いたらまた書きます。