ChromeでSVGを背景にすると遅い

Posted on

ブログのタイトルに合わせて、月と夕焼けをイメージしたテーマを自作してブログの模様替えをしてみました。

ソースコードはgithubで公開中です:

ledyba/wp-lunar-theme: theme of 7io.org

作り方は割と簡単で、次のファイルを作り…

ファイル名用途
function.phpテーマの各テンプレートから参照できる関数
初期化、サイドバーの定義など
index.phpトップページの表示
page.php固定ページの表示
single.php各ブログ記事の表示
archive.phpアーカイブ(月別、カテゴリ別)の表示

さらに、これらから参照されるサブテンプレート用のphpファイルと、CSSを用意すれば完成です。

公式のWikiにあるドキュメントもよくまとまってます。詳細は公式をチェックだ(書くのがめんどくさくなった)。

SVGの背景が遅い、どうしようもなく遅い

問題はここからです。今回のテーマ作成のサブテーマとして「ラスター画像(SVG)しかテーマには使わない」という縛りをなんとなく課してみまして、背景もSVGで用意しました。左に見える月の画像もSVGです。

Firefoxから見ると何の問題もないのですが、Chromeから表示するとどうしようもなく遅い事に気が付きました。Ryzen Threadripperを使ってAMDのDiscrete GPUを使っても、フレームレートが落ちてるのが目で分かるぐらいに遅い。

計測してみると、1フレームを描画するのに100ms弱掛かっってました。これはいけない…。

しかもiPhoneでは背景が表示されすらしない。どうしようもねぇ〜。

mac OSのSafariだと見えるんですけどね、中身違うのかな

CSSで同じことをするとなぜか爆速になる

うーんどうしたもんか、と思って。CSSのlinear-gradient書き換えてみました

とはいえ、

メモ: CSS グラデーションにおける色経由点の描画は、 SVG グラデーションと同じ規則に従います。

linear-gradient() – CSS: カスケーディングスタイルシート | MDN

だそうなので、SVGと一緒ならやっぱ遅いんじゃないかなぁ、と思いながらダメ元で。

しかし…どういう事でしょう、Paintingに掛かる時間が70倍近く速くなり、ほぼ60FPSを達成できるようになったのです…(!?)

iPhoneからも背景がきちんと見れるようになりました:

スマホ、画面ちいさくね?マジでみんなこれ毎日使ってんの?

SVGにはまだChrome/WebKitには早すぎるのかもしれない

たぶんですけど、SVGを背景に設定すると毎フレームSVGからbitmapにラスタライズするんでしょうね。他にもWebKitはSVGは遅いと6年前に言ってる人はいて、とくに改善されないまま現在に至ってるようです。

…はぁ。EdgeもChromiumに乗り換えてしまったし、ラスター画像大好きおじさんには苦しい時代が続くかもしれません。

Firefox頑張ってくれ〜〜〜〜〜このブログはFirefoxとフォクすけくんを応援してます!一番好きなブラウザです(やけくそ)!

7io.orgへ引っ越した:RSSリーダ変更のお願い

Posted on

(追記:Feedlyは追従するので変更する必要はありません)

最近ちょっと気分が暗いので、気分転換にドメインを変えてみました。7io.orgというドメイン名でお送りしております。今まではledyba.orgで6文字だったので、だいぶ短くなりました。

RSSリーダやブックマークに登録して居る方は、お手数をおかけしますが変更をよろしくお願いします。

引っ越し前のledyba.orgも3年くらいは維持して301(permanent)のリダイレクトを送り続けようと思います。

メールアドレスの方も、7io.orgドメインになりました。右側にあるプロファイルの下をクリックすると出てくるので、お手数ですが変更をお願いします。

7ioとは何か

7ioは、次に由来しています:

  • 人間の体は、毎秒7回の入出力(IO)をたくみに行う事で運動や思考をしているということ
  • IOは一括りにされがちだが、大きくわけると7つの分類ができるということ
  • 七福神は、それぞれ人間の願いを聞き、叶える、つまり世界に対してIOを行う存在であり、7つのIOを行う存在であると抽象化できること
  • 人間の精神は、実は7つの入出力機構に抽象化できるということ
  • このブログは、コスモスフィアで例えれば第七階層程度に相当するということ
  • 7ioは、上記のような適当なこじつけを行うには便利な3文字であること

7ioは、上記のような7ioから考えられる由来の集合の任意の部分集合の全てをさします。

たった3文字のドメイン名ですが、とても広大な意味を持つドメイン名なのです。

…というのは全部嘘で、三文字.org1を生成して空いてるやつを片っ端から探してぱっと見良さそうなやつを直感で適当に取っただけです。

もう一個の変更した理由

最近RSSリーダは正直死の危機に瀕していると思っていて、実際、アクセスのほとんどはSNS経由か検索経由なので、301で適切にリダイレクトして検索エンジンに認識させておけば、引っ越しても特に問題ないだろう、みたいな、そういう読みもあります。

  1. なんと、「三文字」は三文字なのです。 []

WordPressに移行した&支援スクリプト書いた

Posted on

諸事情でWordPressをインストールして別箇所で使っていたのですが、これは素晴らしいですね!!!
何が素晴らしいって、もう

  • UIは使いやすいし!
  • アップデートは自動だし!
  • 固定ページとかの編集も簡単だし!
  • テンプレートを簡単に変更できるし!
  • プラグインは豊富だし!
  • かわいいテンプレート一杯あるし!
  • かわいいテンプレートがたくさんあるし!
  • かわ(ry

もう移行しない理由とかないよねーないよねー、ということでちょっと重い腰を上げて移行!することにしました。言語別にパッケージが分かれてるのは正直ダサいと思いますが、不満はそれぐらいです。

はてな記法を捨てたい。

はてな記法のプラグインを使ってて依存していたため移行をためらっていたのですが、今回この負の連鎖を断ち切るべく、プラグインの変換エンジン部分を適当に引っ張ってきて、エクスポートしたデータのはてな記法の部分を変換する(!)スクリプトを書きました。

  • github: ledyba/mt-hatena-converter

「ブログ記事のエクスポート」で引っ張ってきたexport*****.txtファイルを、このスクリプトに渡して下さい

perl format.pl export******.txt

ごめんなさい:追記部分の変換を忘れてました。使用時には注意してくださいね…。

今回Perl使ったのは初めてなのですが、空文字列をfalseとして認識する使用で随分ひっかかりました。もうやめようよそういう仕様…ね?

 

ledyba.orgへ移転、メールアドレス変更のお知らせ

Posted on

 先週土曜日より、独自ドメインledyba.orgへの移転を行いました。人生初ドメインです!

 ledyba.ddo.jpも、ホスティング元のDynamic DNS Doがサービスを停止するまでは、リダイレクトを提供します。(こうして”歴史的経緯”が増えていく…w)

RSSの移行をお願いします!

 RSSのアドレスも、Blog移転に伴い変更になりました。以前のアドレスからもアクセスできるようにはしていますが、できれば移行をよろしくお願いします。以下のリンクをクリックする事で、新しいフィ-ドをあなたのRSSリ-ダに登録できます。

 こちらのサイトを参考にボタンを作ってみました。

メールアドレスも変更になりました

 メールアドレスも、今までpsi@science.mi.to†1を使っておりましたが、今回変更になりました。以下が新しいアドレスになります!

frfoprkpogrg.gif

経緯

 今までメールアドレスpsi@science.mi.toをホストしていたサービス、”CLUB BBQ“が終了になってしまいました。そのためどこかへの移行が迫られるわけですが…正直、もうメールアドレスを変えたくありません!

 そして、「そういえばledyba.ddo.jp/無料サービスだったなあ…」と思い出しました。ddo.jpがサービスを終了すると、メ-ルアドレスと同じように使えなくなってしまうという可能性に、…やっとこさ気づいたのです!orz

 メ-ルアドレスの乗り換え先に新たなサ-ビスを探すよりも、ドメイン名を取ってしまった方が良いだろうという結論に至り、ドメインを移行しました。

 今後ともψ(プサイ)の興味関心空間をよろしくお願いします♪

  • †1: もう使えなくなるから、SPAM対策とか一切考えずに書いちゃえ!w

「さきゅばす」公式サイト、模様替え終了。

Posted on

 公式掲示板がついに荒らされた事を受け、このたび、気分転換もかねてさきゅばすの公式サイトの模様替えを行いました。

 環境を、

 から、

 という環境にしました。ずいぶん垢抜けた感じになったな…。なんというか、2000年代前半から後半に、約5年くらい進んだ感じがするw

 昔のBBSはついに荒らされてしまった上、書き込みしたクライアントについて記録してある情報も極端に少ないなど問題があったので、廃止とさせて頂きます。ここ一ヶ月近く書き込みも無かったようですし、問題はありませんよね…?もちろん、過去ログはこちらで閲覧できます

phpBBはすごい!

 やはり有名なプロジェクトだけあって機能がすごい…。設定するのも大変ですが。大丈夫かな、セキュリティ…。

 日本語だと最近のバージョンの情報がほぼ無いのですが、最近のバージョンだとver2系列ではmodが必要だった(らしい)以下の機能がカスタマイズやmod無しで使えます。

  • RSS配信
  • ファイルのアップロード
  • utf8対応による多言語化

 前出の記事での調達用件のうち、達成できたのは、

  • reCAPTHAによるSPAM弾きができる それとも妹認証!?
  • IPアドレスその他のクライアントについての情報をちゃんと記録する
  • MySQLでデータを記録し、高速な表示や検索が行える
  • RSSの配信ができる
  • 内部コードはUTF8で多言語対応
  • 言語は何でもいいや

 達成ができなかったのは

  • SPAMか否かの投票ができ、SPAM認定されたら表示しない。(Youtubeを思い出してね)

 これだけ!なかなかすごいな。SPAMはreCAPTCHAで弾けるのを期待。

MediaWiki

 こちらもやはりWikipediaで採用されてるだけあって凄いです!しかも、想像してたより軽い!

 RSSを表示するextensionを入れることでSourceForgeのニュースとシンクロしたり、最新バージョンをSourceForgeに登録するとそれがそのまま公式サイトにも表示されたりします。うーん、すごい便利だ。

 こちらも、書き込み時にreCAPTCHAで認証を行うのですが、毎回毎回認証させる訳ではなく、外部URLを書き込んだ場合などに限っています。なるほど…うまいですね。

mt-sukeroku2 β3のMT5における不具合を修正する

Posted on

 当Blogでも利用しております、MovableTypeではてな記法(やその他)を使えるようにするプラグイン、mt-sukeroku2 β3は、MovableType5では不具合があるようで、文の冒頭が全角空白で始まっている場合に整形されなくなってしまうようです(半角空白で始まっている場合に効かなくなるのは「整形済みテキスト」記法なので、仕様です)。

 今回、対策用のパッチを作ってみましたのでおいておきます。内容は正規表現の中の「\s」を「 」(半角空白そのもの)に置き換えただけです。

 以下のパッチをEUCで保存して当てて下さい。これくらいなら手動でもいい気がしますけれど。

=== modified file 'extlib/Text/Sukeroku/HatenaDiary.pm'
--- extlib/Text/Sukeroku/HatenaDiary.pm	2010-03-07 06:49:17 +0000
+++ extlib/Text/Sukeroku/HatenaDiary.pm	2010-03-07 07:32:46 +0000
@@ -174,7 +174,7 @@
# スタックを吐き出す
push(@result, splice(@saved));
# 空白文字ではじまり、整形テキスト出力でないなら<p></p>付加
-      if (/^\s+/) {
+      if (/^ +/) {
($modeParagraph == 1 &&
$modePreLevel != 1) ? push(@result, $self->html->inlineElement('p', $_, ()))
: push(@result, ($_));
=== modified file 'extlib/Text/Sukeroku/PukiWiki.pm'
--- extlib/Text/Sukeroku/PukiWiki.pm	2010-03-07 06:49:17 +0000
+++ extlib/Text/Sukeroku/PukiWiki.pm	2010-03-07 07:34:16 +0000
@@ -129,7 +129,7 @@
push(@result, "<p>");
}
# 整形済みテキスト
-    elsif (/^\s(.*)$/) {
+    elsif (/^ (.*)$/) {
$self->backPush('pre', 1, \@saved, \@result, ());
push(@result, $self->html->escape($1));
}
@@ -166,7 +166,7 @@
$self->backPush('table', 1, \@saved, \@result, ());
my $tmp = "$1,";
my @value = map {/^"(.*)"$/ ? scalar($_ = $1, s/""/"/g, $_) : $_} ($tmp =~ /("[^"]*(?:""[^"]*)*"|[^,]*),/g); # ";
-      my @align = map {(s/^\s+//) ?1);
}
# 整形済みテキスト
-    elsif (/^\s(.*)$/) {
+    elsif (/^ (.*)$/) {
$self->backPush('pre', 1, \@saved, \@result, ());
push(@result, $self->html->escape($1)); # Not &$func_inline, but &escape
}
@@ -103,7 +103,7 @@
$self->backPush('table', 1, \@saved, \@result, ());
my $tmp = "$1,";
my @value = map {/^"(.*)"$/ ? scalar($_ = $1, s/""/"/g, $_) : $_} ($tmp =~ /("[^"]*(?:""[^"]*)*"|[^,]*),/g); # "
-      my @align = map {(s/^\s+//) ? ((s/\s+$//) ? ' align="center"' : ' align="right"') : ''} @value;
+      my @align = map {(s/^ +//) ? ((s/ +$//) ? ' align="center"' : ' align="right"') : ''} @value;
my @colspan = map {($_ eq '==') ? 0 : 1} @value;
for (my $i = 0; $i < @value; $i++) {
if ($colspan[$i]) {

「\s」に全角空白にヒットするか?

 ネットでちまちま検索してみたところ、メタ文字「\s」に全角空白はヒットしないようですし、このプラグインを無理やりコマンドラインから叩いてみてもやっぱりヒットしませんでした。

 が、なぜかMT5内から呼ばれると全角にもヒットするようになり、当Blogのように段落の冒頭に全角空白を入れてる場合、ほとんどのテキストが整形されなくなってしまうようです。

 よくわかんないや。まあ動いたから良いや。

  1. s/\s+$//) ? ' align="center"' : ' align="right"') : ''} @value; + my @align = map {(s/^ +//) ? ((s/ +$//) ? ' align="center"' : ' align="right"') : ''} @value; my @colspan = map {($_ eq '==') ? 0 : 1} @value; for (my $i = 0; $i < @value; $i++) { if ($colspan[$i]) { === modified file 'extlib/Text/Sukeroku/YukiWiki.pm' --- extlib/Text/Sukeroku/YukiWiki.pm 2010-03-07 06:49:17 +0000 +++ extlib/Text/Sukeroku/YukiWiki.pm 2010-03-07 07:34:25 +0000 @@ -93,7 +93,7 @@ push(@result, $self->html->openElement('p',( []

「『さきゅばす』掲示板」が荒らされてる件

Posted on

 推奨BGM:迷惑メーリングGIRL

 「さきゅばす」掲示板 がついに荒らされたみたいです。

現在公式サイト改装中

 現在、公式サイトをMediaWikiに移行して、その上で掲示板プラグインを動かそうと作業中。公式サイトは現在死んでおります。

05/02 11:03現在

 やだ…移行が済んだからまともな掲示板プラグイン探したけど全く無いじゃない…アップローダプラグインも無いじゃない…絶対あるだろうと見こんで作業したのに…。どうするかなあ。

05/02 16:20現在

 現在の案:

  • phpBBを使う
    • アップロードもmodを使えばでき、reCaptchaプラグインもある模様。
    • 日本人にはなじみのないシステムなのが難点。
  • 「サポートは2chで」と言い切る
    • 案外その方が一本化されて良いかもしれない。過去ログ保存するのが面倒なのが難点。
    • アップローダは昔rubyで作ったやつ(簡易掲示板機能付き)があるので、それをカスタマイズして使う。

 ついに…ついに来たか…。

 この掲示板のSPAM対策は現在今年何年?認証のみです。この記事にも書きましたが、この方式は数多くの掲示板に、BOTを使って絨毯爆撃を仕掛けるようなタイプのスパマーには効果がありますが、個別にこの掲示板を狙われると意味がありません。

 ついにBOTに実装されたんでしょうか…。でも、「CAPTCHAを人力で解くサービスを行う会社がある」ことを踏まえると、手動の掲示板SPAMってのもありそうな気がします。

この掲示板はIPアドレスすら記録していない

 びっくりして掲示板のログを調べましたが、現在の掲示板スクリプトはIPアドレスすら記録していない模様…。これは流石に…。

 Apacheのログを調べたところ、ホストは「*.*.*.*.broad.hm.nm.dynamic.163data.com.cn」。検索してみると、どうも有名なスパマーのようですね。諸事情により一件しか残ってないんですが、ログを転載しておきます。

121.56.231.39 - - [29/Apr/2010:20:08:10 +0900] "POST /soft/saccubus/bbs/post.php HTTP/1.1" 200 327 "/soft/saccubus/bbs/read.php?key=1270951891" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQPinyin 730; TheWorld)"

そろそろ替え時か

 ついにSPAMも書かれてしまった事ですし、そろそろ替え時でしょうかね。流石にIPアドレスすら記録してないのはちょっと…。RSSの配信なんかも出来なくて不便ですし…。

掲示板の調達用件を列挙してみる

 上に行くほど重要度が上がります。

  • reCAPTHAによるSPAM弾きができる それとも妹認証!?
  • IPアドレスその他のクライアントについての情報をちゃんと記録する
  • MySQLでデータを記録し、高速な表示や検索が行える
  • RSSの配信ができる
  • SPAMか否かの投票ができ、SPAM認定されたら表示しない。(Youtubeを思い出してね)
  • 内部コードはUTF8で多言語対応
  • 言語は何でもいいや

 やだ…こんなの探したけど無いじゃない…。どうしよう…自分で書くのめんどくさい…。

お久しぶりです

Posted on
お久しぶりです。暑い夏が続きますね。明日は某模試の二日目です。え…模試!?
はい、そうです。大学落ちましたorz ちくしょう大学行ってたら今頃コミケ帰りで記事書いてるところだったろうに…。
というわけで、現在浪人中です。センター一週間前にWebサービスなんて作るから…。
ソフトウェアの開発はなかなかできません。小物で二つほど作ったのですが、配布できるようなクオリティまでは持っていけそうにないので、公開は来年の3月以降でしょうか。

某御茶ノ水の予備校に、ガラガラバック持って通ってますので、見かけたら後ろ指さしてください。たぶん後期はクラス上がる。
電車(つくばエキスプレス)内だとPSPの「(PW)Project Witch」やってます。いま一週目で、とりあえずリルテを。おじさんもこんな夏の思い出作りたかった。やはり見かけたら後ろ指さしてください。

んー、数学の第一問がフェルマーの小定理の証明問題で、ラッキーと思ったのですが…。
もう来年以降は絶対出ないわけで、運の使い損といった所ですかねえ。

メンテ終了:D945GCLFとUbuntu

Posted on

 メンテナンスがやっとこさ終了しました。どうもすいませんでした。

 今回サーバ用OS(Ubuntu Desktop版 32bit 8.10)を結果的に再度入れ直しました。

今回の経緯

 「UFO霊子さん」公開時よりサーバを玄箱より入れ替えました。Atom 230搭載のD945GCLFというマザーボードを使ったベアボーンです†1。結構最近は多いんじゃないでしょうか。

 最近までは順調に動いていたこのマシンですが、ごくごくつい最近、

  1. Kernelをアップデートしたらネットワークがつながらなくなった
  2. Gnomeが重いと言われたのでXfceを追加インストールしたら音が聞こえなくなった

 という不具合が発生したため、対策をしておりました。まあ音の方はサーバ機としては本当はどうでもいいんですけど、家族の共用PCとしても動いているのでクレームが有る以上放置するわけにもいかず。

ネットワークをまずは対処

 まず、ネットワークが繋がらなくなった理由です。このマザーボードに搭載されているイーサネットコントローラは「Realtek RTL8101E/RTL8102E」で、「r8101.ko」というドライバを使用します。

 しかし、Ubuntu(と少なくともOpenSUSE 11.1;後述)にはそもそも「r8101.ko」は入って居らず、代わりにRealtek 8110/8169用の「r8169.ko」というドライバを使用します。このドライバは、特定のカーネルバージョンではある程度動作†2しますが、特定のカーネルバージョンではまったく動作しないようです。そのため、今回のような「カーネルをバージョンアップしたら繋がらなくなった」という状況が発生したようです。

 対処すべく検索してみたところ、こちらの記事で、「OpenSUSE 11.1では問題がない」との報告があったため実際に試してみましたが、このOpenSUSEでも「r8169.ko」が使用され、パケットロストしながらなんとか動いている状況でした。

 ぱっと見ちゃんと動いてるのが厄介ですね。なんという地雷だ。

 さて能書きはこれまでにして対処方法ですが、Realtek公式からドライバをDownloadしてコンパイルしてインストールすれば大丈夫です。こちらの記事を参考にしてください。なお、これはカーネルをアップデートするごとに行う必要があるので、シェルスクリプト化した方が良いかもしれません。

XFCEを入れると音が出ない?

 上記の案件でもうお腹いっぱいになってたので、この辺は適当にやってます。結構怪しいです。

 前記した通りOpenSUSEも何回かインストールしたのですが、デスクトップ環境にXFCEを選んだときだけ音声の問題が発生するようです。どうも相性が悪いらしい。

 面倒なので、Gnomeオンリーの生活で家族には我慢して頂く事に。KDE?いやー重すぎて無理。

まとめ

  • Realtek RTL8101E/RTL8102Eはこちらを参考に公式のドライバを入れるべし
  • XFCEとIntel 82801G HD Audio Controllerは相性が悪い?Gnomeなら問題ないっぽい

言い訳

 記述式問題の練習です。

 そういえばやっと「しゅごキャラ!!どきっ」まで追いついたよ。3話まで見たけど…なるほどこういう路線で来たか…。プリキュアと被ってねえ?†3もう2分30秒で終わる戦闘シーン(含変身)は見られないのかな。このアニメには戦闘以外のところで頑張って欲しかったんだが…りまの変身すらしない回が面白かったので。

  • †1: 静音かと思ったらすごいファンがうるさい^^;
  • †2: パケットロストしまくるけどな!!
  • †3: いや、全然別物だとは分かってるが、心なしか近づいたような・・・

トラックバック/コメントSPAMの対策をしたよ

Posted on

 受験なのにコメント欄のSPAMを手動で削除するとか出来るわけないだろ常識的に考えて…

 ということで、(マシンパワー的に)安上がりだけど効果のある方法を考えてやってみました。

 今のところ来てません。どれくらいもつかな…。コメント/トラックバックの公開前の手動確認などは行っておらず、直ちに公開されるので、SPAMコメント/トラックバックが来てたら…そういう事だと思ってください^^;

スクリプト名変更

 出来れば呼び出されたくすらないので†1、スクリプトファイルの名前を書き換えてしまいます。

  • mt-comments.cgi → mt-comment.cgi
  • mt-tb.cgi → mt-trackbacks.cgi

 に書き換えた場合、mt-config.cgiの以下の部分を書き換えてください。

# AdminScript mt.pl
#ここの部分のコメントを外し、書き換えた後のスクリプト名に変更する。
CommentScript mt-comment.cgi
TrackbackScript mt-trackbacks.cgi
# SearchScript mt-search.pl
# XMLRPCScript mt-xmlrpc.pl
# ViewScript mt-view.pl
# AtomScript mt-atom.pl
# UpgradeScript mt-upgrade.pl

 これで完了です。

コメント対策

 「さきゅばす」公式サイトの掲示板でも行っている、「今年何年?」認証です。日本語が読めないと駄目なのが痛いところですが、ほとんどSPAM以外に外国語コメントは来たことがないのでまあこれで良いでしょう。

 「個別エントリ」、「コメントの一覧」、「コメントプレビュー」のテンプレートのメール欄の下に、西暦の入力欄を作成します。

<p>
<label for="comment-code">今年は西暦何年?(SPAM対策です): </label>
<input id="comment-code" name="code" size="30" />年
</p>

 次に、認証のためのコードを少し追加します。lib/MT/App/Comment.pmを以下を参考にして追加してください。

sub post {
my $app = shift;
my $q = $app->{query};
return $app->error($app->translate("Invalid request"))
if $app->request_method() ne 'POST';
#追加開始
my $code = $q->param('code') || '';
$code =~ s/^\s+|\s+$//g;
if ($code eq '') {
return $app->handle_error("今年は西暦何年か答えてください。");
}
my @code_localtime = localtime(time);
my $code_true_code = 1900 + @code_localtime[5];
if ($code ne $code_true_code) {
return $app->handle_error("今年は西暦$code年じゃないですよ。");
}
#追加おわり

 保存する際、自分のBlogの文字コードと同じ文字コードで保存してください。ちなみにこのサイトの場合はUTF-8です。

 どこかのページを再構築して実際にためしてみてくださいね。

トラックバック対策

 トラックバックも同じように「今年何年?」で認証するのは無理なので、メールと同じ感じでいいかなーと。。。

 そのため、必ずスクリプト名は変更してください。

 まずはページの上の方にコメントとしてついているRDFのトラックバック欄を書き換えます。

 lib/MT/Template/ContextHandlers.pmを以下を参考にして書き換えてください。

sub _hdlr_entry_tb_data {
my($ctx, $args) = @_;
my $e = $ctx->stash('entry')
or return $ctx->_no_entry_error('MTEntryTrackbackData');
require MT::Trackback;
my $tb = MT::Trackback->load({ entry_id => $e->id })
or return '';
return '' if $tb->is_disabled;
my $cfg = MT::ConfigMgr->instance;
my $path = _hdlr_cgi_path($ctx);
#ここを書き換え
$path .= $cfg->TrackbackScript . '<DELETE THIS>/' . $tb->id;

 テンプレートの「エントリ・アーカイブ」のトラックバックURLのところを

<p>このエントリーのトラックバックURL: <br />
<$MTCGIPath$><DELETE THIS><$MTTrackbackScript$>/<$MTEntryID$></p>

 みたいな感じに書き換えてください。

 自動処理で数多くのBlogを同時に狙ってくるようなタイプのSPAMerには効果があるはずです。個別で狙われたら意味がほとんどありませんが、狙われたら狙われたで人気がある証拠ですので、喜んでください(えー

  • †1: コメント/トラックバックのCGIは重いから