カテゴリー[MovableType]
2014年09月26日
まさかの今さらコメントスパム攻撃
何か世間的にも今日は Linuxの bash の脆弱性が露見して大変だったようなんですが。
こないだレンタルサーバーから これに関しての通知が来て、最低限の対処はやってはいたのですよ。
まさかそれとは全く関係ないところでコメントスパムを今さらやってくるのが居るとは思わず。
それなりの頻度での投稿だったもんでコメント機能は一旦停止しておきました。
まあ現状だと無くしても特に問題は無さそうだけどね。
まさか 3.31 アップデート直後の脆弱性対策(3.35 アップデート)をやっておかなかったツケが今さら来るとは…。
なもんで近々最新バージョンにアップデートをしなけりゃならなくなりますた。
2011年03月21日
ようやく復旧できました
恐らくはBiG-NETでのサーバー移行処理の前後で何か(サーバーで使用する文字コード?)が変わってしまったのではないかという気がしているのだが。
最終的には、mt-config.cgi の環境変数
SQLSetNames 1
を設定する事によってこの謎の文字化けが直った。
ここからすると3.3以降では設定する必要が無いらしいし、今までは設定せずに動いていたんだが。
(ここら辺が、恐らく今回の移行で何か文字コードが変わったのでは無いかと推測している部分)
ブログのタイトルの部分だけは一度化けてしまうとどうも直らなかったようなので再入力。
最近追加された一部の記事とコメントは一度文字化け状態に戻してからテキスト拾って保存 → 文字化けしない状態に戻してから再入力して更新、って流れで手動で修正。
東日本震災による省電力対策で、3つのサーバーが1つにまとまっているせいで更新が重いのが少し煩わしかったが、まあ1/3のスペックならしょうがない所だろうかと。
MySQL等のバージョンも上がっている事だし、そろそろMT4/5 への移行を考えた方が良さそうかねえ。
2011年03月15日
またドハマり状態
エントリーというかMTの管理画面からみた日本語コードが全て??で表示される件。
レンタルサーバーの会社のサポートに聞いてみるも全く要領を得ない返答。
再度質問。
またぞろ「システム移行第二段」とか来ていたメールが「2~3月に実施」とか書いてあったのがトンでもなく怪しい。
今ごろ気がついた。「MySQLはそのままお使いいただけます」とか書いてあったからすっかり安心してた。
MTのDBを改めてDumpで確認してみたが、全く問題なく全てのエントリやコメントの文字コードはUTF-8になってる。
最後に投稿した(今通常に表示されている)エントリのみが文字化けした状態で表示されてる。
一体どういう状況でMTは今のエントリの文字コードを認識してやがるんだろか。
マジでコレは酷い。
つーかBiG-NETも結構酷い。<そこまで酷くは無かったかも。ウチの環境の方がレアなケースだった可能性が高い。
2010年07月24日
復活したようです。
気が付いてみれば、あまり大きな問題点というのはそうそう無い状態でバックアップできた感じのだったのだが。
・ 仕事がテンパってる時に帰ってから夜中に手をつける
・ MySQL のバックアップ/リストアの仕様を理解していなかった
のが大きな落とし穴だったかと。
忙しい時に「さすがにそろそろやらないと心配だ!」とか思ってやり始めたのも割と間違いだったし
(今日は休みの日にテニスをブッチぎった上で1日寝てたんでやる事にした)。
MySQLのバックアップの仕様はまだしも、インポートに関しては、
コマンドラインからmysql のTABLEコマンドを打ち込む代わりに、ファイルから読み込んでるだけ。
なんで、TABLEの中身の意味が分かれば、バージョンが違ってるから○○が読み込めない、という事はまず無いはずだったんだよね。
ここら辺は、MySQL初心者入門講座: MySQL データベースをバックアップ・復元する方法。が非常に参考になった。
有り難いもんです。
コメント
やまも ( 2010/07/25 00:17)
今ではそんなことまでしなきゃならないのか・・・
俺はここ何年もそんなんばっかりですが。
パピコン ( 2010/07/25 02:38)
DBはDBで、DB屋さんというSE職もあるらしいね。
俺も全く知らなくて偉く難儀したけれど、これはこれで面白い分野だなあと勉強になった。
オンラインゲームのデータ管理にもMySQLが使われてるらしいし…。
どんな環境でもバージョンアップはコストもかかって大変なんだなという事が良く分かりましたわ。
2008年09月07日
MTMail
MovableTypeでのblogへと移行をした時にやろうかと考えたものの結極手はつけず、次回旅行に行く時にでもやるかと思ってたのが携帯からの記事投稿。いわゆるモブログ(ってあまり言われなくなったか)。
実は今週後半AYano氏と旅行に行く予定になってるんだが、じゃあこれに合わせてやってみるかという気になってみた。
以前、これまたAYano氏にどんなサービスで旅行先からエントリーしてるのかと聞いた時に、『”MovableType メール投稿”とかでググれば一番上に出てくるやつ』という事だったので恐らくコレだなとMTMail の利用登録を申し込む。
登録後メールがすぐにこなかったんで、登録に丸1日かかる場合もあるとあったんで放置していたら10分もかからずに来た。のであれこれ設定。
ブログに新規の投稿者を作成して、更にその投稿者でログインし直してWebサービスのパスワードを入力する、という一連の流れは書いてあるのだが、早合点してロクに読まずに進めていたもんでさんざん間違ったパスワードを入力しまくっていた。手順通りにやったら問題なく動作。
その後あれこれ送信テストなど。半日かからずに終わったのはなかなか簡単設定だったかと。
利用登録するだけで使わせてもらえるとは、いいんですか? って感じなんだが。
しかしアレだ、送信時の写真サイズを小さくしないと、今月のパケット代がトンでもない事になるな。
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/451
2008年07月21日
データベース移行
Berkeley DB を使い続けているとバージョンアップが既に不可能な上、DBのバグらしきものでタイムアウトになりまくる。
なもんでここのページの方法を参考にしつつ、休みを利用してようやく MySQL へのデータ移行作業を敢行。
ウチは BiG-NET なので、これまたここを参考に利用開始依頼メールを出し、その際に”MTのデータベースで使用する予定”の旨を書いておいたら、必要なデータベースの作成やらパスワードの作成やらをひと通り行った状態で返してくれた。
なもんで、mt-config.cgi をメールで送ってもらった内容に合わせて書き換えてアップロード、DB移行用のCGI起動、で無事に全て移行完了できた。
これでコメントで変に弾かれたり送信できなかったりする事は無いか軽減されるようになったと思うんですが、どうでしょうかね?
コメント
パピコン ( 2008/07/25 23:41)
試しにコメントテスト
パピコン ( 2008/07/25 23:42)
テスト2
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/410
2006年12月29日
500エラー状態
コメント投稿した人が居たら、恐らくエラー発生していたかもしれないす。すんません。
一つ前のエントリーを投稿後にサーバーエラーが発生していて、またいつものごとく時間がかかってる
だけかと思っていた。翌日になってindex.htmlが更新されていたもんで大して気にせず。
その後会社泊まったり提出で忙しかったりしたもんで編集用のページにアクセスしておらず。
今日アクセスしてみてまだ500エラーだったことと、サーバーをレンタルしてるBiG-NETからのメールをチェックしたら「お客様のCGIが暴走していましたのでCGIファイル権限を変更してあります」なんてメールが来ていた…。
オイオイ夏に3.31入れてから問題なく動作してたじゃんか!? と怒りの返信をしかけたが思いとどまり調べてみようという気に。
まず暴走でググったらこのエントリーの関連ページのコメントに到達したので続けてこのエントリー、そこでトラックバックがあったこちらのエントリーを読んで解決。
あまりに単純なので半信半疑だったのだが、MTEntries recently_commented_on= している部分に lastn="20" とか追加するだけ。これで異様に時間がかかっていたインデックスの更新が一瞬で終わるようになったっぽい(個別エントリーはやってないのでまだ分からんが)。
逆にこれをやらないと 3.2 以降では一度全てのエントリーのオブジェクト(データ)をメモリに読み込んでからソートするという事が起こっていたらしい。
230以上あるエントリーのオブジェクトを全部読み込むとかやってるなんざ……、そりゃゴルァのメールも来るってもんだな。とはいえ暴走とか言い出されるとこっちとしてはいつも通りに使用しているだけなんで、何の事やらという気にもなるのだが。
ただそれ以外にもBerkeleyDBだと怪しげな現象が起こる事もある様子なんで、多少面倒だがデータベースの移行も検討した方が良さそうかも…。
その後この小川宏高さんのブログやプロフィールを読んで、同世代(で恐らくは年下)ながらこれまたとんでもなく凄い人が居るもんだという事を改めて感じさせられました。たまに凄いなあと思う人を色々なサイトで見かけたりするけれど、その中でも最強レベルですな。
特にこのマグロについての話なんて、全くPC/ネットワーク関連の話では無いのにこの意見のもっともさと見識の深さに脱帽。
ちなみに知っている人も多いと思うけれど、マグロの中でもトロなんざ江戸時代は食い物では無くて捨ててた部分。
我々は食文化の折衷と破壊の真っ只中にずっと居続けている(要約)、ってこの表現、教科書に載せて小学校の家庭科(社会科?)で教えるべきなんじゃないかね。
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/238
2006年08月15日
MT 3.151 から 3.31 へ移行
コメント/トラックバックスパムが相当に酷い事になってきたので、デフォルトで対策機能が入っているとAYano氏から聞いたもので最新版へと移行作業を行いました。
とりあえず現状、コメントがつけられない様子です。
エラー原因を調べてみてはいるんだけれど全く手がかりが無い状態。
コメントを投稿すると
” データベース接続の設定に誤りがあります: ファイル/path/to/sqlite/database/fileを開けません: No such file or directory”
のエラーログを返すんだけれど、そもそもSQLiteのデータベースなんて使ってもいないのに。
どうなってんのよ?
それらしい文字列をMTのlibから検索してはみたものの、mt-config.cgi-original にその文字列があるのみ。
データベースのインポートは正常に行われたっぽい様子だったんだがなあ。
コメントスパム対策でコメント投稿できなくなったら全く意味無いよな。
謎のコメント投稿でエラーになる原因は、修正する必要のあったモジュールを変更し忘れていたため、古い mt-comments.cgi を呼び出してしまっていたのが原因。
データベース本体が3.31にバージョンアップしているのでそりゃ変なエラーも出るわな。
ファイルのアップロードとデータベースの更新を全部やりなおしたところ、コメントの送信で cgi の呼び出しエラーに変わったので原因が分かった。
以下引っかかった点など。
・3.151の時点ではアプリケーションファイル(libフォルダなど)を cgi-bin のフォルダに置かないほうが良いみたいな事がマニュアルに書いてあったのでそうしていたのだが、3.31ではむしろcgi-binに置いて公開用のフォルダと分けた方がいいというような感じに変わっている。
これをやると MT???.cgi ファイルのパスが変更になるので、テンプレートやモジュールの変更が発生する。また古いバージョンのlibフォルダを(念のために)残しておくと変なcgi呼び出しをしてしまって妙な現象が起こる。(自分のパターン)
・バックアップに関しては基本的にデータベース(デフォルトならばdbフォルダ、MySQLとか使っていたら応じたバックアップ)さえバックアップしてあれば、対応したバージョンのMTのライブラリファイルをアップロードしなおせば(恐らく)完全に元に戻せる。
モジュールやテンプレートの事はあまり気にしなくても良いという事。自分は全てローカルにも保存してあったもので。
・調べるとすぐに出てくるがバックアップに関して。MT管理画面からの読み込み/書き出しを使う時にIE(のブラウザエンジン)だとうまくできないらしい。FireFoxとか使わないとダメらしい。
これでバックアップしたつもりのエントリ(これ)が消えた(笑)。そもそもこの機能をあまりアテにしない方がいいような気がする。
・マニュアルにもある通り、データベース以外のフォルダとファイルは全て削除してから新しいバージョンをアップロードした方が良さげ。
・マニュアルにもあるが、FTPソフトのモードをPASVモードにしておく。
.151の時点では特にエラーは起こらなかったのだが、ファイル数が増えたのかやたらと転送エラーが起こりまくっていた。PASVモードに設定すると転送エラーが無くなる。 <常識?
・データベースを cgi-bin ではないフォルダに置く場合(マニュアルでは推奨ニュアンス?)、mt-config.cgi にてパスを指定するが、これはURLではないので ”/public/pub/home/username/???” みたいなので始まるサーバー上のパスで指定しなければならない。
アプリケーション、スタティック、ブログディレクトリはURL指定も可能だが、データベースのみサーバーパス指定が必須なので自分は引っかかった。
・”BigPAPIを利用するプラグインは、Movable Type 3.3では動作しない場合があるため、注意してください。”
マニュアルのこちらより引用。使用している人はご注意を。
・今回初めて個別エントリの全再構築を行なったが、タイムアウトでロクに構築しないでサーバーエラーになるので、mt-config.cgi に
EntriesPerRebuild 4
など適当な小さい数値を設定する必要があった。これも調べればすぐに出てくるけど。
てっきり何か別の事が原因でエラーが起こっているんじゃないかと思ったもんで。
個別エントリの作成って何であそこまで時間がかかるんだろうな。
全体的にブログやエントリー管理のインターフェースが強化されていて、かなり良い感じだと思う。
スパムブロックに関しては2,3日間コメント投稿/トラックバックができなかった為か、不具合前にブロックが一件あった後はまだ発生せず。
投稿・送信を不可能の状態に一定期間すればスパムロボットエンジンが多少は諦めるのかね。
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/180
2006年08月11日
はぁーコメントスパム
トラックバックスパムの方が酷いと前に書いたせいかどうか知らんが、今月入ってからぐらいからこっち鬼のようなコメントスパムラッシュ。
本日の削除は1日で57件……。
来週の夏休みはMT3.3への移行で潰れそうだなこりゃ…。
2006年06月29日
トラックバックスパム
コメントスパムは聞いていたのだが、ウチは現在トラックバックのスパムの方がはるかに多い。
しかもトラックバックは最近の表示をしていないので、管理画面で細かくチェックして削除、とかしないといつの間にかとんでもない事になってたりする。
MTのバージョン上げればマシになるのだろうか?
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/174
2005年10月22日
MTCommentIfLastOne
サブカテゴリーを含めたカウントをやろうとしたが全く知識が足りていないっぽいので他の簡単そうな部分から手を着けることにした。
”最近のコメント”の最後のコメントの頭につける記号だけ変更したかったので CommentIfLastOne という条件タグのプラグインを作成。まあ同じものは既に世の中にあるだろうけれどな。
以下ソース。適当な名前.pl で保存して、pluginフォルダへ置く。
package MT::Plugin::CommentIfLastOne;
MT::Template::Context->add_conditional_tag(CommentIfLastOne => sub {
my $e = $_[0]->stash('entry') or return 0;
my $num = $_[0]->stash('comment_order_num') or return 0;
($e->comment_count == $num);
});
こんな感じで使う。
<MTComments lastn="5">
<MTCommentIfLastOne>
└
<MTElse>
├
</MTElse>
</MTCommentIfLastOne>
<a href="<$MTEntryPermalink$>#c<$MTCommentID$>">
<$MTCommentAuthor$> (<$MTCommentDate format="%m/%d %X"$>)
</a><br/>
</MTComments></li>
その後サブカテゴリー周りをもう少し調べてみようとしてそれらしい部分も見つけたが、MTのソースを読んでいてオブジェクト指向Perlの記述や書式が全く理解できていないのが非常に問題だという事が分かってきた。
さすがにここはちゃんと本を買って勉強しないとダメっぽいので、既にあるものを使うかもう少し延ばすかって感じだ。
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/35
2005年10月12日
カテゴリー内のエントリー数
いきなりこのカテゴリーを作る事になるとは…。
サブカテゴリーを含めた全エントリー数を表示した方がいいなと思ったのでリファレンスを調べるが、どうも無いっぽい様子。まさかとは思ったがググってみたらやっぱりプラグインが必要かよ…。
車輪の再発明を回避する為にありがたく使わせてもらうか、勉強の為に自分で書くか…。
コメント
AYano ( 2005/10/13 04:30)
エントリーを作るときに、
トップカテゴリーとサブカテゴリーの両方を指定するのはどう?
パピコン ( 2005/10/13 12:00)
なるほど。さすが我が師匠。
しかしまだ最初に入れたバージョンなんでカテゴリーの複数指定が一度にできないんだよね。
それと仕組み的には階層構造になってるんだからサブのものはカウントに含めて欲しいのが人情って気がするんだよなあ。
http://www4.big.or.jp/~papicon/cgi-bin/mt/mt-tb.cgi/17