MovableType | メイン |
All Pages |  1  |  2  |  3  |  4  |  5  |  6  |  7 


言及リンクのない TrackBack ping を弾く

アフィリ狙いで日本語のトラックバックも多少あるのだが、
これまでは削除→禁止IPセットにしていた。
が、こいつらはツールを使ってTBを送ってくるので、言及リンクが存在しない。

そこで言及リンクのないTBはブロックするプラグイン(mt-ban-norefertb.pl)を仕入れてインストールしてみた。

Movable Type で言及リンクのない
TrackBack ping を弾くプラグイン

これで広告狙いの日本語TBもなくなるだろうが、今度はコメントが増えるかもな。。。


by Daryl 2006年05月21日 21:16 | Permalink


TB/コメント SPAM対策 その後

う~ん、いまんとこ完璧だ。

spamlog.jpg

トラックバックのexcerptとコメントに日本語を含まないのをはじくだけでここまで効くとは。。。
そのうち意味不明な漢字交じりのやつが飛んできそうだがwww


by Daryl 2006年05月07日 03:03 | Permalink


コメント/トラックバックSPAM 対策3

スパムログに残っていたIPを全部htaccessにいれてdenyしてやったwww
おかげでまる一日、まったくtrackbackもcommentもなし。
いやー、ログが綺麗で平和だわww


by Daryl 2006年05月02日 14:16 | Permalink


日本語を含まないコメントテキストのブロックプラグイン

コメント/トラックバックSPAM 対策2では
Ogawaさんのquasi-spamfilter
hori uchiさんのmt-ban-nonja-tbping.pl - 日本語を含まないTrackbackPingをはじくを併用していたのだが、
とりあえず日本語を含まないTB/commentをはじくだけでかなり有効なことが判明。

ということで、mt-ban-nonja-tbping.plを勝手に改造して、
コメントスパム用のプラグインを作ってみた。

ダウンロードはこちら → mt-ban-nonja-comment.pl

使い方:$MTDIR/pluginsディレクトリにいれるだけ。

comment->textに日本語を含まない場合、一見コメントが成功したフリをしてリターンするだけです。
マッチングパターンを増やせばゴミのような日本語を含むスパムにも対応、、できるかな?
それより、コメント内にhttp://や<A>タグを含むものをカットしたほうが有効かもしれん。



by Daryl 2006年04月29日 21:10 | Permalink


コメント/トラックバックSPAM 対策2

最近Ogawaさんのquasi-spamfilterをすり抜けてくるSPAMが多くなってきた。
パターン、キーワード追加でしのぐのがダルくなってきたので、さらにプラグインを追加してみた。

Ogawaさんが以前にMT-APIのテスト目的で作ったプラグイン
Application-level Callbacks in MT3.1
DL → spamfilter.pl

別の人の作った、日本語を含まないTBをはじくプラグイン
mt-ban-nonja-tbping.pl - 日本語を含まないTrackbackPingをはじく
DL → mt-ban-nonja-tbping.pl

mt-comments.cgiに細工してASCII文字列のみの場合は強制終了させる方法もあるのだが、
いちいちInternal Server Error 500 だされてcore吐かれるのもイヤなので、
プラグインでとめる方法にしておく。果たしてこれでどうかなあ。。。


by Daryl 2006年04月28日 18:28 | Permalink


MT-I18N Plugin/ja 追加

文字数がXX文字を超えたら、そこからあとは「・・・」で省略という表記をするため、
Ogawaさんとこからプラグインを追加。
ダウンロードと使い方はこちら → MT-I18N Plugin/ja - Ogawa::Wiki

んでもって、サイドバーのエントリーリストモジュールとトラックバックリストモジュールを再度変更。

recent-entry.cgi
#!/usr/local/bin/php
<MTEntries lastn="30">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle first_n_text="15"$></a></li>
</MTEntries>


recent-tb.cgi
#!/usr/local/bin/php
<MTEntries recently_pinged_on="10">
<li><a href="<$MTEntryPermalink$>"><strong><$MTEntryTitle first_n_text="15"$></strong></a></li><br />
<MTPings lastn="5">
<span class="comment"><a href="<$MTPingURL$>" target="new" rel="nofollow"><$MTPingTitle first_n_text="14"$></a></span>
<br />
</MTPings>
</MTEntries>

first_n_textフィルタを使いたいがために入れたもの。
任意の変数タグの展開後の文字列の先頭n文字を取り出し、末尾に「...」を付加してくれる。
これでサイドバー内のエントリタイトルが複数行になることがなくなってすっきり~。


by Daryl 2006年04月26日 18:22 | Permalink


tblist/commentlist

TrackbackListモジュールとCommentListモジュールの見栄えをいじくったので備忘録。

recent-tb.cgi
#!/usr/local/bin/php
<MTEntries recently_pinged_on="10">
<li><a href="<$MTEntryPermalink$>"><strong><$MTEntryTitle$></strong></a></li>
<table cellpadding="2" cellspacing="2" border="0" ><tr><td width="140">
<MTPings lastn="5"><a href="<$MTPingURL$>" target="new" rel="nofollow"><$MTPingTitle$></a><br />
</MTPings></td></tr></table>
</MTEntries>
recent-comment.cgi
#!/usr/local/bin/php
<MTEntries recently_commented_on="10">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br> <MTComments>
<span class="comment"><$MTCommentAuthor$> [<$MTCommentDate format="%m/%d %X"$>]<br /></span>
</MTComments>
</li>
</MTEntries>

スタイルシートにコメント表記用のスタイル追加

.sidebar comment {
padding 5px;
margin 2px;
}



by Daryl 2006年04月26日 16:25 | Permalink


News2カテゴリ廃止

記事のモジュール化メインページのモジュール化によって、
アーカイブページ再構築時のInternal Error 500がでなくなったので、
とりあえずの措置で分割していたNewsとNews2カテゴリをNewsカテゴリに統一し、News2は廃止にした。
これも記事本文(MTEntryBody)自体をPHPモジュール化できた恩恵。

つーか、エントリーごとにカテゴリの移動って面倒くさいね。。。
複数のエントリをいっぺんにカテゴリ移動する方法ないものかな (;´Д`)


by Daryl 2006年04月22日 00:48 | Permalink


テキストの画像への回りこみ指定

画像横にテキストをつける場合、手打ちでテーブルタグ打つのが面倒になってきたので、
CMS.pmの改造とスタイルシートへの追加で自動回り込みを作った。
ただし画像配置は左側のみ、文字は右側のみという手抜きである。

もうちょっと高度なことを、という方はこちらを参考あれ
http://www.boarderz.com/~akashi/weblog/archives/2004/12/movabletype.html
http://juan.cocolog-nifty.com/juanlog/2004/05/post_1.html

うちで行った措置は下記のとおり。
・CMS.pmへのパッチ

my $link = $thumb ? qq(<img src="$thumb" alt="Popup new window open: $fname" width="$thumb_width" height="$thumb_height" class="pict" align="left" />) : "View image";
return <<HTML;
<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>
HTML
} elsif ($q->param('include')) {
if ($thumb) {
return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" class="pict" align="left" /></a>
HTML
} else {
return <<HTML;
<img alt="$fname" src="$url" width="$width" height="$height" class="pict" align="left" />


要は<img src=というタグを吐き出す部分に、class="pict" align="left"と追加するだけ。
3箇所あるが、すぐ近所なのでわかるはず。書き換えが終了したら再upload。

・テンプレートのスタイルシートへ追加
スタイルシートに以下の記述を追加する。

.pict{
float: left;
border: none;
padding:0px;
margin:0px 5px 5px 0px;
vertical-align:top;
}

マージン等はお好みで。
ボーダーがキライなのであえてnoneにしているが、このへんも好みだ。

これで次回からはアップロードした画像のタグに、
class="pict" align="left" というのが付加されているはず。
leftをrightに変えれば画像右配置・文字左配置になる。
アップロード時に任意に選ぶようにする改造も可能だが、面倒くさいのでパス。


by Daryl 2006年04月15日 14:40 | Permalink


QuickPostの改造

Quickpostを使って引用ポストするとき、
自動的にblockquoteで囲むようにMT自体を改造してみた。
参考にしたのはこちら
 → http://www.koikikukan.com/archives/2005/10/20-235934.php
 → http://www.55link.com/archives/2005/01/11-1538.html

  1. $MTDIR/lib/MT/CMS.pmの改造
  2. CSSテンプレートの追加
  3. $MTDIR/lib/MT/Util.pmの改造(必要に応じて)

■CMS.pmの改造は下記の2箇所
$param{text} = sprintf qq(<a title="%s" href="%s"<%s</a>\n\n%s)を検索し、下記のように書き換える。

$param{text} = sprintf qq(<div class="quotetitle"><a title="%s" href="%s" target="_blank">%s</a></div><blockquote>%s</blockquote>)

scrollbars=yes,width=400を検索し、width="640"とかにする。
※Quickpostのウィンドウ幅がせまくてやりにくいと思ってる人は必須。

■CSSテンプレートの追加
・テンプレートの最後に、.quotetitleを追加しておく。
小粋空間さんの例ではこんな感じ。

.quotetitle {
padding: 3px;
border-bottom: 1px solid #666699;
font-weight: bold;
}

■Util.pmの改造
blockquote内部では改行したときに<BR>がはいらない。
これを強制的に<BR>を付加するように改造すると便利。

sub html_text_transform {
my $str = shift;
$str ||= '';
my @paras = split /\r?\n\r?\n/, $str;
for my $p (@paras) {
if ($p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|ol|dl|ul|menu|dir|p|pre|center|form|fieldset|select|blockquote|address|div|hr)@) {
$p =~ s!\r?\n!<br />\n!g;
$p = "<p>$p</p>";
}
}
join "\n\n", @paras;
}

blockquote部分を削除すればOK

書き換えたCMS.pmやutil.pmを再アップすれば次回のQuickpostから反映されている。


by Daryl 2006年04月14日 07:44 | Permalink

«前ページ |  1  |  2  | 3 |  4  |  5  |  6  |  7  | 次ページ»