o6asanの掲示板-PukiWiki版-#4

 21日に, spam_filter.php を設置したのだが,効果がないように見えた。

 pukiwiki.ini.php に設定した
define('SPAM_FILTER_COND', '#atag()');
を,直接 spam_filter.php に移して,
define('SPAM_FILTER_COND', '#atag() or #onlyeng()');
さらに
define('SPAM_FILTER_COND', '#useragent() or #filename() or #atag() or (#onlyeng()
and #urlnum()) or #urlnsbl()');

としてみたが,効果なし。少し,いじけた。

 ところが,夜,いじいじとFTP接続して PukiWiki の関係ファイルを見ていて, dns_get_ns.cache がちゃんと記録されているのに気づいた。これがちゃんと残ってるということは, spam_filter.php がまともに動いているということではないか。少し,機嫌を直して,ログってたスパムをもう一度調べてみた。

 今どきの流行りで,英文中に全角文字が含まれていた。このせいですり抜けてたのかと, spam_filter.php のオプションのひとつ, Akismet を有効にした。 WordPress 使いならおなじみの,あの Akismet である。 spam_filter.php 内で,
define('SPAM_FILTER_COND', '#useragent() or #filename() or #atag() or (#onlyeng()
and #urlnum()) or #urlnsbl() or (#onlyeng() and #url() and #akismet())');

// Akismetで取得する。APIキー
define('SPAM_FILTER_AKISMET_API_KEY', '自分の Akismet API キー');
define('SPAM_FILTER_AKISMET_PLUGIN_NAME', 'edit,comment,tracker,article');

 これで,ピタッと,スパムが止まった。「黙って当てれば,ぴたりと止まる」,ナンチャッテ。

 その後,掲示板のスタイルをいろいろいじっていたのだが,どうにも,ピンと来ない。結局, #article のプラグイン内設定をいじるだけに落ち着いた。元に戻ったわけだ。しかし,プラグイン設定は,『freeWiki』FTP機能提供開始のおかげでいじれるようになったわけだから,初回の設定時よりは,ずいぶんましだ。

 ということで,今回はここまで。o6asanの掲示板

o6asanの掲示板-PukiWiki版-#3

投稿アップデート情報  追記

 ドメイン移管して, PERL の CGI が使えなくなったため,掲示板の扱いに困り,「o6asanの掲示板-PukiWiki版」を作った。これには,ネットオウルの『PHP APPS』サービスを利用した。しかし, PukiWiki を使うのが初めてだったのに加え,『PHP APPS』サービスの PukiWiki が大変に制限されているために,なかなかにカスタマイズが難しく, 2/21 以降,うっちゃらかしになっていた。

 気づくと,スパムの宝庫 (!!) になっていて,
     すみません。現在,書き込み機能停止中です。
     スパム対策が取れるようになったら,復旧します。(2014.3.3)
ということにしてあった。―――書き込みできなきゃ掲示板じゃないやい(滝汗)。

 ところで, 3/4 にネットオウルのサポートから,メールをもらった。内容は,下記のニュースと同じ。
     『WPblog』WordPress 最新版(WordPress3.8.1)への対応のお知らせ
     『WPblog』「FTP自動無効化」機能の追加のお知らせ
     『PHP APPS』サービス名称変更および広告表示位置に関する仕様変更のお知らせ

 どんなふうに変わるんだろう, PukiWiki がもう少し使いやすくなるといいなと思っていたら,本日,またメールが来た。
     『freeWiki』FTP機能提供開始のお知らせ

 これは,かなりな変化だよなぁ。

 何はともあれ,スパム対策をやってみることにした。
 PukiWiki Plus! には, Blocking SPAM という機能があって,これがどんぴしゃりみたいなのだが,「I18N版(rev.923以降)に実装されています。」ということで,「o6asanの掲示板」の PukiWiki Plus! 1.4.7plus-u2-eucjp では使えないようだ。ほかにないかと調べてみたら, spam_filter.php という優れものがあるらしい。探してみたら,美麻Wiki で, spam_filter.php PukiWiki Plus! 1.4.7用パッチ済みファイル群という形で配布されていた。ありがたや―。

  1. 上記ページから,「Plus! 1.4.7用パッチ済みファイル群」をダウンロード。
  2. Zip を展開。
  3. 『freeWiki』で使われているファイル群で,いろいろカスタマイズがあるといけないと思って,比べてみた。
    plugin.php  特になし。美麻Wikiのファイルはスパム関係のカスタマイズだけだから,そのまま差し替えで問題なし。
    init.php  美麻Wikiのファイルで, Agent 関係の2行が,コメントになっていた。これも,スパムがらみの気がするので,そのまま差し替え。
    file.php  美麻Wikiのファイルで,下記の部分が付け加えられている。これも,スパムがらみの気がするので,そのまま差し替え。
    // add client info
    global $now;
    $referer = htmlspecialchars($_SERVER['HTTP_REFERER']);
    $user_agent = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
    $diffdata .= "IP:{$_SERVER['REMOTE_ADDR']}
    TIME:\"$now\"
    REFERER:\"$referer\"
    USER_AGENT:\"$user_agent\"\n";

    改行コードが違っていたので,『freeWiki』にそろえておく。
  4. Net フォルダ,delegated-apnic-latest, dns_get_ns.cache は PukiWiki のルートディレクトリへ。 lib の中身はそっくり PukiWiki の lib へアップロード。
  5. pukiwiki.ini.php の Security settings の部分に下記を追加。
    // SPAM_FILTER
    define('SPAM_FILTER_COND', '#atag()');

 「o6asanの掲示板-PukiWiki版」を書き込み可能に戻して,しばらく,様子見。

早速の追記:
 英文スパムがすり抜けてきたので,太字斜字体を追加。
// SPAM_FILTER
define('SPAM_FILTER_COND', '#atag() or #onlyeng()');

o6asanの掲示板-PukiWiki版-#2

 前記事に引き続いて,やってみたことの,覚え書き。 o6asanの掲示板のカスタマイズの話になるから,これに類することは,ここにまとめたほうがいいかもしれない。

 ここに書いていくことには, Netowl の PHP APPS管理の PukiWiki の管理画面で,「上級者向け機能」を弄らないとできないことが含まれる。

 まず,肝心な Netowl の PHP APPS の PukiWiki の種類とバージョンだが,インストールされたユーザ用の PukiWiki のページの下にちゃんと明記されている。

  • Powered by Netowl
    PukiWiki Plus! 1.4.7plus-u2-eucjp Copyright © 2001-2006 PukiWiki Plus! Team. License is GPL.
    Based on “PukiWiki”.

 したがって,調べる場合は,まず, PukiWiki Plus! を参照すべきだと思うが,公式版の PukiWiki の質問箱にも蓄積された有用な情報が多々詰まっているので,しっかり検索して手掛かりを探すといいと思う。ナンチャテ,偉そうだが,自分がやったことだよねー。結局,本家の質問箱3/144 が決めになったんだモン。

 今回達成したこと。たった,ひとつ(爆)。サイドバーの表示です。

 ことは,スキンを3列表示のものに変えたときから始まった。見てのとおり,3列です(もうありません)。で,今は,右側に「JoyFul Note関連」の説明へと,このブログへのリンクが入った SideBar が表示されている。ところが,初めは左右ともに同じものが表示されていた。

  1. 「サイドバーを表示させる。」というのがあったので,やってみた。
    • SideBar というページを新規作成。
    • 中が空ではいけないと書いてあるので,「JoyFul Note関連」というページを新規作成し,SideBar の中に,[[JoyFul Note関連]]というリンクを作って,ページを保存。

    表示されない。なにか,ほかにもいるらしい。

  2. 参ったなぁといろいろやってみたが,ギブアップ。
  3. で,今日,質問箱3/144 をめっけた。 pukiwiki.skin.php の中で,
    <td class="menubar">
    <div id="menubar"><?php echo do_plugin_convert('menu') ?></div>
    </td>
    </tr>
    </table>

    をやって,右の MenuBar を表示させているのは,この間見つけていたので,ここを
    <td class="menubar">
    <div id="menubar">
    <?php require_once(PLUGIN_DIR.'side.inc.php');
    echo do_plugin_convert('side') ?></div>
    </td>
    </tr>
    </table>

    に変えてやった。
  4. 悩んだのがうそのように,SideBar 君,でました。この件,落着。

 まぁ,まともな掲示板にたどり着くまで,先は長いと思うけど,気長に見守ってやってください m(_”_)m (汗)。

o6asanの掲示板-PukiWiki版

 ドメイン移管して,使えなくなった「PERLのお勉強」と「o6asanの掲示板」をどうしようかと思っていた。りりさんから,「todos.ne.jp のサブドメインをどうぞ」というお話もあったのだが,スタードメインの登録ユーザ無料サービスを利用することにした。「PERLのお勉強」のほうは勝手知ったる WordPress なので,すぐに済んだ。スタードメインの PHP APPS の WordPress に関しては FTP 接続を可能にできるが,暗号化方式は, FTPS(Explicit) のようだ。潜れるのは, /wp-content の下だけです。
 「o6asanの掲示板」のほうで PukiWiki を利用しようと悪戦苦闘したので,その顛末(汗)。

  1. スタードメインにログイン。
  2. 「PHP APPS管理」から「PukiWiki」を新規インストール。
    • アプリケーションID  o6asanbbs
      これによって,サイトアドレス(http://o6asanbbs.phpapps.jp)が決まる。
    • Wikiタイトル  o6asanの掲示板
    • メールアドレス  「※WIKIの更新があったときに送信される更新通知メールの送信先になります。」ということなので,フリーメールアドレスのほうがいいだろう。
    • サイトアドレス  「初期ドメイン(http://xxx.phpapps.jp の形)を利用」を選択。
    • 確認画面で,しっかり入力間違いがないかを見てから,ポチッとインストール。下記が表示される。

      インストールが完了しました。
      下記は非常に重要な情報ですので、ご確認の上、紛失しないよう厳重に管理してください。

      サイトURL: http://o6asanbbs.phpapps.jp/
      ※Wikiが表示できるまで最大15分程度時間がかかります。
      パスワード: xxxxxxxxxxxx
    • 「アプリケーション一覧に戻る」をクリック。
  3. PukiWiki についての表ができているので,「設定」をクリック。
  4. 入った先は,今のところ変更する必要はなかったが, 1000MBまで利用できるようだ。
  5. アプリケーション一覧に戻って PukiWiki の管理画面に入る。
  6. いろいろ設定できるが,変えたのは,「スキン」と「更新通知メール」の設定だけ。ここで, IP アドレスによるアクセス制限もできるようになっている。あっ,もうひとつ,練習中は「サーチエンジンのロボット検索」を許可しないにしておいた。「ログアウト」ボタンをクリックすると,アプリケーション一覧に戻った。

 まあ,当然だが,ここまではナンチャなかったわけよ。

 問題は,ここから。何しろ,一度も使ったことがないものだから,参った。結局,やれたのは下記のことだけだが,これに,半日かかっちゃったよ(爆)。

  1. 何はともあれ, http://o6asanbbs.phpapps.jp にアクセス。メニューから「編集」を選んでクリックすると,「FrontPage は編集できません(凍結解除)」と表示されるので,凍結解除をする。パスワードは記事の持ち主のパスワードみたい。したがって,今の場合は私のものでよい。
  2. 表示されたフォーム内の記述をすべて消し,「#article」と記入する。 #article はリンク先にあるように,【簡易掲示板の設置】の PukiWiki のプラグイン。
  3. ページの更新をすると,超簡単な投稿フォームが表示される。メニューから「凍結」を選んで記事を凍結する。
  4. 続・質問箱/23のレスなんか見ると,いろいろカスタマイズできるようなんだが,よくわからない。
    なにより, WordPress 同様,簡単インストールですごく機能が制限されているので,簡単に設置できる半面,何かやろうと思うと,フルバージョンのことしか書いていないネット参考では,すごく難しい。

    それから,前に書き込んでいただいたのをバックアップしてあるので,のっけようと思ったが,これも,試しに自分のを2つ載せただけで,挫折。もう少し勉強してから,そのうちに対処しますので,それまでご容赦を(滝汗)。

 で,「まっいいや,当面はこれで」ということで。お披露目(火暴)。
 というわけで,新「PERLのお勉強」と新「o6asanの掲示板」でございまする。