MT4 スパム対策

スパム判断で振り分けられる様になったけれど、
根本的には解決になっていない。

htaccessでリファラーが自サイトで無かったらアクセス出来ない様にするというのを試したが、効果がなかった。

mt-comments.cgiをリネームするとかの方法は試していないけれど、
ちょっと面倒だったので、違う方法を試してみる事にした。

MT-Keystrokesというプラグインの導入。
参考元:http://world-travelers.info/blog/2013/07/30#.VBu1xb_QZkm

投稿ボタンを押さない限りコメントできないらしい。

keystrokes.plをダウンロードして、

keystrokes.pl の64行目のバージョンを自分のMTバージョンに書き換える。

プラグインフォルダーに入れる。

コメント欄のフォームにタグ(赤字の部分)を追加。


<form method=”post” action=”/mt/mt-comments.cgi”
name=”comments_form”>

<$MTKeystrokes$>

<input type=”hidden” id=”entry_id” name=”author” />

<input id=”author” name=”author” />


<label for=”text”>Comments:</label>

<textarea id=”text” name=”text” cols=”50″ onkeypress=”keystrokes(this.form)”></textarea>

<input type=”button” onclick=”window.close()” value=”Cancel” />

<input type=”button” onclick=”window.close()” value=”&nbsp;Cancel&nbsp;” />

<input type=”submit” name=”preview” value=”確認” />

<input type=”submit” onclick=”keystrokes(this.form)” name=”post” value=”投稿” />

1日様子を見て、スパムが無くなった事を確認。
これは効果があった。

“MT4 スパム対策” の続きを読む

スパムフィルター

コメントできないのでという声を聞き、
削除していたコメント欄を復元したら、速攻スパムが入って来た。

そこで、
(1)
BanASCIIというプラグインを入れた。
MT4にも対応しているということで。
使い方は簡単。
プラグインフォルダに掘り込んでパーミッション変えるだけ。
そしたら半角英数字だけの投稿をスパム認定してくれる。

(2)
もともと入っていた
SpamLookup – Keyword Filter 2.1
というプラグインの設定をした。
スパムにするキーワードに、

ルイヴィトン
gucci
http://

を入れた。

様子をうかがっていると順調にスパム認定され振り分けられた。

とりあえず、当面これでよし。

“スパムフィルター” の続きを読む

カテゴリの特定グループを数量限定表示

MTでカテゴリをある特定のタグのものを限定数表示したい。
カウント数を増やしていって、希望の数以下の場合のみ表示という方法をとった。
<MTSubCategories top=”1″ sort_by=”user_custom”>
<mt:If tag=”flag” eq=”ぞうさん”>
<MTSetVar name=”count” value=”1″ op=”+”>
<MTIf name=”count” lt=”7″>
☆ここにコンテンツ表示☆
</mt:If>
</mt:If>
</MTSubCategories>

“カテゴリの特定グループを数量限定表示” の続きを読む

category(x)が見つからないため、更新ができません

Movable Type Pro version 5.12の話。

記憶が定かではないけれど、サイト構築時にはカテゴリの並び順をマウス操作で変更できて超便利~!と思っていたはず。

今日、カテゴリを並べ替えようと思ったら、

category(x)が見つからないため、更新ができません

と言われてしまった。

いろいろ調べたら、どうやらMTの不具合らしい。

直接DB触るかな、、と思ってもう少し検索すると、
google chromeで操作するとできたとの事。

なるほど、できた。

Safariではダメらしい。

“category(x)が見つからないため、更新ができません” の続きを読む

Movabletypeを別サーバーに引っ越しする際の注意点

MT/MySQLの引っ越しの手順

MTが使用しているDBをダンプ

ダンプにとくに設定機能はなかったので、
一度、別サーバーのDBにリストアし、
都合の良い形にダンプし直す。

自社サーバーにアップし、
作成するクエリの最大長を300にしてエクスポート

新サーバーは大きいファイルがダンプ出来ないため、
bigdumpを使用する。
http://www.ozerov.de/bigdump/

http://新しいサーバー/sql/bigdump.php

phpmyadminの画面からは日本語テキストが化けていないが、
MTの管理画面では化けている。
どいうこと??

ご利用環境の Perl のバージョンに依存して発生する現象となります。Perl 5.6.1 の環境において、Movable Type 4.2 以降のバージョンへのアップグレード、または新規インストールを行った場合に発生します。下記のリンクから、ファイルをダウンロードし適用することで、問題を回避することができます。

MT4.2-Perl5.6.1Patch.zip

適用方法:
 
ダウンロードした zip ファイルを展開
 
サーバー上の以下のパスが指すディレクトリ内のLocaleディレクトリを削除
(Movable Type 4.2 をアップロードしたディレクトリ) /extlib
zip ファイル展開後のextlib内にあるLocaleフォルダを、上記extlibディレクトリ以下にアップロード

解決した!

文字コードの問題は大変厄介。
DB作る際に、最初からきっちり文字コードを指定しておかないと
余計な手間がかかるので注意しなくてはいけない。
“Movabletypeを別サーバーに引っ越しする際の注意点” の続きを読む

mysqldumpでBlob型の問題

MTのカスタムフィールドはBlob型なので、
mysqldumpの際、–hex-blobオプションを追加して16進数表記で保存。

うまくいった。

そのほか、機種依存文字が?に変わってしまうという
問題があるが、解決しそうにない。

どうするか….
“mysqldumpでBlob型の問題” の続きを読む

mysqldumpで文字コード指定

MTを別サーバに移動させるため、
mysqlをdumpする。

*
ちなみに、管理画面はサーバの処理能力が低下して
Internal Server Errorを吐いている。
使っているサーバが新規受付を終了したら要注意だ。
後はサービスの質が低下する一方。ここ数ヶ月で急に低下した様に思える。
どこかに書いてあったが、やはり2~3年毎に引っ越す方がよいのか?
(新サーバでは同じバージョンのMTがさくさく動いている。)
*

dumpファイルを開くとひどい文字化け。

mysqldumpでdefault-character-setを指定してdumpし直す..

とりあえず、小分けにしてリストアする。

やっぱり、おかしい。
テンプレートが読み込めていない。

mt_templateのテーブルのみbinaryでdumpして、
テキストエディタでutf8に変換し、さらにinsert文のvalueを適当なとこで区切って
2回に分けてリストアする。

よし!うまくいった。

他にも文字化けしている箇所が見られる。
DB全体で一気に操作しようとしてもどうも文字コードが統一できていないのか
うまくいかないので、テーブル毎に確認しながら着実にdump&リストアしよう。
“mysqldumpで文字コード指定” の続きを読む

MT 静的ページで次ページを書き出す

phpで次ページを表示する方法は前に見た事があるけど、
静的に出力したかったので、調べると便利なプラグインがあった。

PageButeというプラグインで、

簡単に実現できた。

<MTPageContents count=”12″>
<MTEntries>~エントリー出力部分~</MTEntries>
</MTPageContents>

<!–// ナビ部分 //–>
<MTIfPageBefore><span><$MTPageBefore delim=”前の12件”$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim=”次の12件”$></span></MTIfPageNext>
<!–// ナビ部分ここまで //–>
“MT 静的ページで次ページを書き出す” の続きを読む

MT ログインログアウトを繰り返すエラー

MovableTypeでログインしてもすぐまたログイン画面に戻ってしまうという問題が発生した。

ぐぐると、クッキーの問題、または再インストールするなどの情報がありました。
とりあえず、クッキーを削除してみましたが、これでは解決しませんでした。
「再インストール」は現実的ではないので、他の方法を模索。

きっと、数日前にサーバのトラブルがあった事が影響してセッションのなにかがおかしくなっているんだと推測し、サーバの管理画面を確認する。とくに問題なさそう。

再インストールで解決するという事は、きっと MT関連のテーブルがおかしいのだと思って、テーブル名を眺めると、「mt_session」がある。

案の定、これが破損していました。

MySQL、修復は簡単でした。

REPAIR TABLE `table_name`;

壊れる前のデータにもどるという事でしたが、セッションの情報なので
べつにかまいません。

これで元通りになりました。

再インストールなんて10個以上のブログがあって、オリジナルテンプレートも山ほどあるし、さけられてよかった。

冷や汗でました。
“MT ログインログアウトを繰り返すエラー” の続きを読む

Movable Type 文字コードをUTF-8からEUC-JPへ

今時、UTF-8が主流ですが、EUC-JPへとMovable Type運用途中で無理に変更しました。

まず、UTF-8と記述されている部分をすべてEUC-JPに置換。
(この作業をローカルでやったのは時間がかかって失敗でした。)
→FTPで上書き
その後、
ターミナルより、nkfで文字コードの変換。
$find -name ‘*.php’ | xargs nkf –overwrite -w
$find -name ‘*.pm’ | xargs nkf –overwrite -w
$find -name ‘*.cgi’ | xargs nkf –overwrite -w
ブログのテンプレードはまだデフォルト状態だったので、初期化する。
(今思えば、「.tmpl」の文字コードも変換しておけば良かったのかもしれません。)
そして記事自体の文字コードの問題があり、
保存できなくなってしまったため、
まだ記事数が少なかったので、1つずつ再投稿するローテクで復元。
文字コードは計画的に事前に決めておきたいものです。

“Movable Type 文字コードをUTF-8からEUC-JPへ” の続きを読む