Comment:Plugin/akismet.inc.php

Top > Note > Plugin > akismet.inc.php
Table of Contents

アイデア

SummaryStatusVotePriorityLoadIdea Note
キャプチャ認証を通過したかのログ待ちまずひっかかった時点でログをとり、通過してきたらその情報をログに append する形になるだろう。AKISMET をオフにされている場合は、やはりログはとらない。

コメント

  • Fatal error: Call to undefined method: pluginakismet->show_form() in /home/logue/wiki-common/extend/plugin/akismet.inc.php on line 128というエラーが出て止まってしまいます。 -- Logue? 2007-06-13 (水) 19:30:39
    • キャプチャ認証失敗の時ですね。テスト漏れしてたみたいです。申し訳ない。修正しました。 -- sonots 2007-06-14 (木) 00:33:58
  • パラグラフごとに編集したときにSPAMフィルタに引っかかると、編集したパラグラフのみがページ全体として更新されてしまいます。 -- kei? 2007-06-17 (日) 05:02:30
  • ちなみに、1.4.7UTF8版にここのパッチを当てた、editプラグインを使用しています。 -- kei? 2007-06-17 (日) 05:03:56
    • 試してみました。$vars['id'] が常に unset されてしまって再利用できないようです。 edit.inc.php
      		unset($vars['id']);// 更新が衝突したら全文編集に切り替え
      衝突したら、と言っているので
      	if ($digest != $oldpagemd5) {
      の if 分の中に移すのが正統なんじゃないかなぁと思うのですが、どうなのでしょうね?Plus! のパラグラフ編集だとその if 分の中にありますし、そこに移せばたぶん良さそうな気がするのですが、あまり詳しくは調べてません。他にも $vars というグローバルな共有資産を unset するようなプラグインがあると自動ポストはできなくなりそうなので、とりあえず、こちら側だけで完結できるものとして、自動ポストをしない設定を加えました。PLUGIN_AKISMET_AUTOPOST_AFTER_SUBMITHAM を FALSE にします。自動ポストは便利だと思ったのですがなかなか面倒がありそうですねぇ。-- sonots 2007-06-17 (日) 19:07:23
  • ご対応ありがとうございます。自動ポストは本当に便利だと思うのでぜひ使いたいところです。パラグラフ編集に関しては、おっしゃるような処理でうまく対応できそうです。
    ただ、注意深くチェックしているうちに、新たに二点ほどうまくいかない部分に気づきました。申し訳ありませんがご助言いただけないでしょうか。ここに参考メモを記しています。よろしくお願いします。
    1. reCAPCHAでのSpam取り消しがうまくいかない。(「報告を行いました」と表示される(自動ポストをOffの場合)が、全く同じデータを再度投稿してもやはりSpamとみなされる。自動ポストOnの場合は、reCAPCHAの認証が延々と繰り返される。)
    2. trackerで、投稿フォームからSpamを投稿した際、reCAPCHA認証に進んだ時点で空ページがすでに生成されてしまう。 -- kei? 2007-06-18 (月) 12:55:37
    • 作為的にreCAPCHA認証後の自動ポストは必ず通るようにしました。もう一度ダウンロードしてください。tracker もたぶん大丈夫そうです。そして、自動ポストOffの場合は、どうしようもない気がしてきました。akismet に取り消し報告をしても同じ内容をまたスパムと判断するならどうにもならないですよね。なんのための取り消し報告なのやら。前は取り消し報告をすると次はスルーできていたはずなのですが・・・。仕様が変わったのかな・・・。 -- sonots 2007-06-18 (月) 20:55:15
    • 一度認証を行えばもうそのセッション中は二度と認証をしなくて良いようしました。自動ポストOffの場合にも対処できたと思います。 -- sonots 2007-06-19 (火) 07:13:42
  • ありがとうございました。問題解決です。取り消し報告がすぐ反映されるとカッコイイですがしょうがないですね。
    tracker.inc.phpの問題は、
    	// Creating an empty page, before attaching files
    	touch(get_filename($page));
    と、ページの内容を送る前に新たなページをtouchしていたことが原因でした。とりあえずそこをコメントアウトしてみましたが、副作用は起こらないようです。 -- kei? 2007-06-19 (火) 16:46:19
    • なるほど。tracker が大丈夫な気がしていたのは、akismet を pukiwiki.php に仕込んだ場合でした。page_write に仕込むとプラグインが起動して touch の部分が実行され空ページが作られる、と。pukiwiki.php の場合はプラグインを実行する前にスパム判定をするのでその touch が実行されないのですが。テストが甘かったようです。申し訳ない。ちなみに、touch してるのは ファイルを tracker から添付したい時にページがないとだめだから、的なコメントがありますね。ファイルアップロードフォームを使わなければ page_write 改変時にもとりあえずコメントアウトで大丈夫そうです。page_write 部に仕込まないほうがいいのですかね・・・。しかし search プラグインなどの入力もスパム判定するというのはやはり変だし・・・hmm -- sonots 2007-06-19 (火) 19:33:33
    • そういえば、paraedit.diff の問題も akismet を pukiwiki.php に仕込めば大丈夫そうな気がします。プラグインが起動しない = unset の部分が実行されないはずなので。推奨は pukiwiki.php にしておきます (..;。またその際ほんの少し変更箇所があるのでプラグインを一応最新にしておいてください。 -- sonots 2007-06-19 (火) 20:03:44
  • PukiWiki 1.4.7を使用しているのですが、「PukiWiki本体修正」の個所に書いてある「Spam filtering」というような記述がデフォルトのlib/pukiwiki.phpには見あたりません。おそらくlib/pukiwiki.phpのどこかにこの修正の記述を書き加えればよいと思うのですが、具体的に何行目あたりに挿入するのがベストでしょうか? -- dh? 2008-01-08 (火) 11:20:32
    • ありがとうございます。文書を修正しました。Spam filtering があるのは cvs 版ですね -- sonots 2008-01-09 (水) 01:57:09
  • すいません。pukiwikiのページを編集しようとすると Fatal error: Call to undefined function file_head() in /(中略)/plugin/akismet.inc.php on line 400 と出てしまいます。もしお分かりでしたら解決策を教えてください。 -- sby? 2008-01-12 (土) 14:24:58
    • pukiwiki を 1.4.7 以上にアップデートしてください。参考までに現在お使いの pukiwiki のバージョンを教えてください。 -- sonots 2008-01-13 (日) 09:38:10
    • すいません。上でerrorの報告をしたsbyですが、おっしゃるとおり1.4.7にアップデートしたところ正常に動きました。ちなみに1.4.6でした。お騒がせしました。ありがとうございます。 -- sby? 2008-01-21 (月) 18:17:13
  • akismet.inc.phpを導入後、spam mailがうんと減り、大変重宝しています。akismetの本質を理解していない不勉強な投稿で申し訳ありませんが、それでも抜けてくるspamを手動で申請登録するにはどうしたらよいのでしょうか。逆にspamに間違えられた書き込みを許可する方法は?本ページの本文を読んでもよくわからないので、お教えください。 -- okabe? 2008-01-13 (日) 15:24:27
    • その辺りは ToDo です。ブログのコメントだと、spam に間違えられたものをとりあえずとっておいて、管理者が許可すればいいのですが、Wiki というものは追加、だけではなく文章修正、について考えなければならないので、とりあえずとっておいても、あっという間に古くなって使い物にならなくなる可能性があるわけです。無理っぽいなと思っています。抜けてくる spam の手動申請登録は何か別のインターフェースを作ればよさそうですが、これもやはりブログのコメントやメール並に楽にはできませんので、作っても誰も使わないんじゃないかと予想しています。 -- sonots 2008-01-14 (月) 00:24:42
    • ご返事、ありがとうございました。一カ所だけ、しつっこくspamを送ってくるところがあるのですが、URLを変えることで対応いたします。 -- okabe? 2008-01-14 (月) 10:24:27
    • 送ってくるアドレスがわかっているのなら、関連 にリンクがありますが、本家 cvs 版に入っているスパムフィルタ機能 dev:BugTrack/772や、こちらのspam_filter.phpの機能などを使えるのかもしれません。akismet.inc.php は Akismet を使用して個別対応はしないで楽をしよう、個別対応は Akismet の中に人たちにまかせよう、という思想のプラグインなのでその辺はサポートしないつもりです。-- sonots 2008-01-14 (月) 11:47:49
  • 度々、すみません。そう言えば、sonotsさんのwiki、例えばこのページでは pcomment ではなく、commentx を使っておられますが、これも有効そうな手段ですね。おまけに、書き込み欄が大きく、CRも入れられ、便利ですね。
     ちょっと検索しただけでは見当たりません。どこを参照されたのか、またもし自作でしたら、情報公開いただけると助かります。 -- okabe? 2008-01-14 (月) 10:31:56
    • commentx はちゃんと公開はしてませんが、うちの svn を漁るとでてきます。http://svn.sourceforge.jp/svnroot/lsx/plugin/ 。拡張だ!っていうほど拡張してないので公開ページは作ってません。今のところボツプラグラインのような扱いになっています。たぶん PukiWiki Plus! でないと動きません。pcommentx は作ってもいません。 -- sonots 2008-01-14 (月) 11:47:49
    • pcomment.inc.php と article.inc.php を適当に混合して、所望のものを作ることができました。これを plugin/ に入れたら、きちんと動くようになりましたが、sonots さんの作られた akismet.inc.php の対象になるんでしょうね?ちょっと不安。 -- okabe? 2008-01-14 (月) 21:34:06
    • たぶん大丈夫です。全 POST をフィルタしている仕様なので。 -- sonots 2008-01-15 (火) 03:07:08
  • はじめまして。私も導入させていただきましたが、どうもまだうまく動いていないようです。手順どおり 行ってみたのですが、以下のような症状が出ております。
    • comment()書き込みで、反応がなくなってしまう時がある。(あれ?サーバー落ちたか?といった感じでブラウザ内が真っ白のままとなってしまいます。ためしにサーバー稼動中のPCでやってみましたが、同じ症状です。)
    • 凍結や解凍コマンドでも、無反応になる事があります。
    • サーバーの環境は、PukiWiki1.4.7, PHP4.4.7. WindowsXPPro
    なにかご存知ありませんでしょうか。 お気づきの点がありましたが、ご指摘いただけますと助かります。 ここを参考に設定させていただきました。 -- JM7MUU? 2008-03-31 (月) 09:33:03
    • ひょっとしたら Akismet サーバのレスポンスがくそのろいのかもしれません。ただ暇がないので調べていないです。やっぱりそうなのかなぁ。 -- sonots 2008-04-02 (Wed) 20:53:38
    • 調べてみました。http://blog.defv.be/2008/2/22/akismet-problems こんなのがありました。Akismet サーバーがやはり Buggy みたいですね。HTTP 1.0 に変えたら無問題になったらしいので変えてみました。v1.9 -- sonots 2008-04-02 (Wed) 23:58:20
    • sonots さん、お返事ありがとうございます。また調査頂きまして ありがとうございます。ほほぉ・・・ Akismet.class.php に パッチをあてる例がありますね。トライしてみます。 他の方は問題ないのでしょうか。。。 なにか条件があるんでしょうかねぇ。 -- JM7MUU? 2008-04-04 (金) 13:50:17
    • 早速導入しました。ばっちりです!スカスカ動くようになりました。 これで様子をみてみます。ご対応いただきまして、本当に有難う御座います。 -- JM7MUU? 2008-04-04 (金) 21:34:20
    • すいません。v1.9 -> v1.10 更新中にソースコードにミススペルを作ってしまったのを発見したので、もう一度更新してください rev213。(E_ALL 使いたいけれど、使うと pukiwiki 本体がエラーを出すからなぁ・・・) -- sonots 2008-04-05 (土) 02:12:59
  • お!早速入れ替えました♪ありがとうございまーす♪ 快適快適!! ところで・・・revの値はソースのどこかに書かれていますか? (PukiWiki初心者なもので・・・ すみません。) -- JM7MUU? 2008-04-05 (土) 03:23:25
    • ソース中には書いてないです。cvs や svn にはソースコード中の $Id を rev 番号に自動変換する機能があるのですが、svn の場合 http 経由で取得すると $Id 値を変換してくれないので、多くのユーザにとっては意味がなさそうだなということで自動変換機能を現在は使ってません。なんとかならないのかなぁ。 -- sonots 2008-04-05 (土) 05:41:30
    • そうでしたかー 了解です。色々とまた難しい問題があるんですね。たくさんのプラグイン作成、お疲れ様です。便利に利用させて頂いています。ところで。。。上記の快適というのは、時間帯にもよるみたいです。やっぱり反応が無くなる事があります。んー^^;;; 困った^^;; -- JM7MUU? 2008-04-05 (土) 22:05:06
  • こんばんわ。いつもお世話になっております。
    http://asusmb.pcdiyweb.net/ のサイトでakismet利用させていただいております。
    4月の下旬ごろからたまにすり抜けてコメントページ(pcomment)にSpamが入るようになりました。
    今朝05/26/2008版から05/29/2008版にアップしましたが、やはりすり抜けられるようです。
    akismet、recaptchaどちらか切り分けしてみようと思い、PLUGIN_AKISMET_USE_AKISMET を FALSEにして経過を見ることにしました。
    また様子に変化があればご報告いたします。 -- zura734? 2008-05-30 (金) 23:12:57
  • こんにちわ。上記の経過報告です。
    10日ほど経ちましたがSpamは止まったようです。
    akismet側なのかなと現在のところ判断しています。
    別の話ですが、PLUGIN_AKISMET_USE_AKISMET を FALSEにした状態で
    • (1)http://asusmb.pcdiyweb.net/サイトにて
      1. 特定のページに#loginを書いてloginすると画像認証がまず最初に出る
      2. 画像認証に文字を入力するとPukiWiki-Authのログインが出る
      3. PukiWikiにログインすると再度画像認証出て(Incorrect. Try again.と表示)
      4. 再度画像認証に文字入力するとログインできる
    • (2)http://www.zura734.name/サイトにて
      1. footerのadminからログインすると画像認証がまず最初に出る
      2. 画像認証に文字入力するとPukiWiki-Authのログインが出る
      3. PukiWikiにログインするとログイン用の画面が再度出る
      4. 以下1.へループ
      • Serverはこちらのs266
         
        と環境により多少の不具合が出ます。
        (1)の方は再度画像認証通すとログイン出来ますので問題という訳ではありませんが
        (2)の方はPLUGIN_AKISMET_USE_AKISMET を TRUEに戻す必要があります。
        何か考えられる対処は御座いますでしょうか? -- zura734? 2008-06-09 (月) 14:34:47
    • そういえば確かに #login は POST ですね・・・。?cmd=login に直接リンクを張ってクリックする形ではどうでしょう?POST しなければ Akismet は起動しません。 -- sonots 2008-06-09 (Mon) 09:07:56
    • (1)の方は#loginを使わず閲覧制限したページからログインするようにしました。
      (2)の方は?cmd=login&page=hogeを付けるようにしました。
      アドバイス有難うございました。 -- zura734? 2008-06-10 (火) 02:46:07
  • これは是非使ってみたいのでトライしているのですが、PukiWiki Plus! 1.4.7plus-u2-i18n r1700 (PHP5.2.5 CGI)で、define('PLUGIN_AKISMET_USE_AKISMET', 'FALSE'); としても全てキャプチャ認証しないでスルーしてしまうようです。
    - $is_spam = $akismet->isSpam();
    + $is_spam = TRUE;
    そこで、 class PluginAkismet::spamfilter() を上記のように修正したところキャプションが出るようになりました。
     
    ところが、誤って同一ドメインで二つのキーを取得してしまったためか、キャプション認証が通らないのでメールで問い合わせていたりします。。 -- Kjm? 2008-07-17 (木) 11:50:35
    • FALSE を文字列にしたらだめですよ。 -- sonots 2008-07-19 (Sat) 15:52:58
    • ありがとうございます。無事にキャプション認証が動くようになりました。ちなみにPlugin/akismet.inc.php#te460626の記述の綴りに誤りがありました。 -- Kjm? 2008-07-23 (水) 14:32:45
      • ×:PLUGIN_AKISMET_RECAPTCHA_PRIVATE_KEY
      • ○:PLUGIN_AKISMET_RECAPTHCA_PRIVATE_KEY
    • ありがとうございます。そこはむしろ、ソースコードの中がスペルミスですね・・・。PUBLIC_KEY のほうは CAPTCHA になっているというのに (^^; むしろソースコードを修正しました。-- sonots 2008-07-23 (Wed) 13:08:22
  • 下記の様にdefineを設定してもログイン認証画面の前にキャプションが出てしまいます。 -- Kjm? 2008-07-24 (木) 01:26:18
    defined('PLUGIN_AKISMET_IGNORE_PLUGINS') or define('PLUGIN_AKISMET_IGNORE_PLUGINS', 'read,vote,vote2,login,jugemkey,hatena,livedoor,openid,mixi');
    • そこで下記のように akismet.inc.php の function spamfilter() を修正したところ回避できました。
      -        if (defined('PLUGIN_AKISMET_IGNORE_PLUGINS') && isset($vars['cmd'])) {
      -            if (in_array($vars['cmd'], explode(',', PLUGIN_AKISMET_IGNORE_PLUGINS))) return;
      +        $plugin = isset($vars['cmd']) ? $vars['cmd'] :(isset($vars['plugin']) ? $vars['plugin'] : 'read' );
      +        if (defined('PLUGIN_AKISMET_IGNORE_PLUGINS') && isset($plugin)) {
      +            if (in_array( $plugin, explode(',', PLUGIN_AKISMET_IGNORE_PLUGINS))) return;
               }
    • あれ、plugin= はもはや obsolete だと思っていたのですが(plus ならなお更)。plugin= と指定しても、cmd にセットされてたような・・・あれ、されていないのか?対応しないとだめなのかな。 -- sonots 2008-07-23 (Wed) 13:13:59
    • 「plugin=」のr1700ですとハードコーディングは減ってきているようですが、ログイン系は結構残っているようです。 plugin= と指定しても、cmd にセットされるのは知りませんでした。。こっちの環境が悪いのかも。。 (^^; -- Kjm? 2008-07-28 (月) 00:37:53
    • たぶん対応しました。v1.13 -- sonots 2008-07-27 (Sun) 12:33:44
  • wordpressとakismetのサインアップが分離されているようです。http://wordpress.com/signup/はなくて、http://akismet.com/personal/ら取得するようになっているので、本文の中のリンクを修正した方が良いと思われます。 -- forzando? 2010-02-01 (月) 23:39:04
  • 初めまして、http://bit.ly/g9yEP4 の情報を参考にこちらのプラグインをpukiwiki 1.47に入れさせて頂いたのですが、index.php?cmd=akismetで動作チェックしてみてもhttp://bit.ly/ebBoYa の様に表示されてログが生成されません。どうすれば動作させられる様になるのでしょうか? -- ピュー太? 2010-12-03 (金) 02:58:24
  • reCAPTCHA API Key の取得のURLが古いです。現在のURLは以下です。 http://www.google.com/recaptcha -- smartboy? 2011-11-09 (水) 21:41:11


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White