どこでもトラックバックのspam弾き
sf2@TGNの方でちょっと企んでる事があって、ちょっと前から実装方法を考えてたんだが、当初は大掛かりな方法を考えていたものの、ああ、それってTrackbackで良いんでは?外からも利用できるし皆何かと便利でしょう、と思いついて、以前から興味はあった「どこでもトラックバック」というモジュールを入れたわけですが。
試しにテストしてみて無事に送れる事を確認。
あれ?これってspam送り放題なんでは?
まぁ作者さん今それどころじゃ無さそうだしwと思いつつ、とりあえずWordPressMeのソースから、送信側のページに自分のアドレスがあるかチェックする部分を持ってきてぶち込んでみた。
一応動いてるモヨリなのでメモっておく。
tb.phpの32行目かな?辺りから
if($result) {$handler=&TbAny::getHandler(’trackback’);
$tb =& $handler->create();
//—– hack start (by Ladios) —–//
// Let’s check the remote site
require_once(XOOPS_ROOT_PATH.’/class/snoopy.php’);
$snoopy = New Snoopy;
if ($snoopy->fetch(xoops_substr(strip_tags(tbAny::convert_encoding($_POST[’url’])),0,255))) {
$orig_contents = $snoopy->results;
}
if (!strpos($orig_contents, XOOPS_URL)) {
$result=false;
}
}
if($result) {
//—– hack end (by Ladios) —–//
$tb->setVar(’id’,$filter->id_);
$tb->setVar(’title’,xoops_substr(strip_tags(tbAny::convert_encoding($_POST[’title’])),0,255));
な感じで。
チェックは甘めに、「送信先ページに自分のXOOPS_URLが含まれるか?」にしてみました。
素人なので今流行の脆弱性に対する突っ込みを募集中w
コメント
TrackBack URL : http://ladios.true-gamers.net/modules/wordpress/index.php/archives/2006/02/02/261/trackback/
コメントの投稿
改行や段落は自動です
URLとメールアドレスは自動的にリンクされますので、<a>タグは不要です。
以下のHTMLタグが使用可能です。<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <br> <code> <em> <i> <strike> <strong>



Refererもチェックするとなおいいかも。
まぁ、Refererなんて自己申告制なので
判る人にはどうとでもなっちゃうわけですがw
Comment by nym — 2006年2月3日(金曜日) @ 06時07分26秒
ああ、トラックバックだからRefererは意味ないか。
ということに3秒で気づいたことについて。
Comment by nym — 2006年2月3日(金曜日) @ 06時08分10秒
通勤中に気付いたけど、クラスインスタンスをif文の中で作っといて、外で使うのってドーヨ。人として。
最後URLを無害化するのに、折角だからもともと使ってるクラスを便乗利用しようとしてコピペで位置変えたからなぁ。
Comment by Ladios — 2006年2月3日(金曜日) @ 08時45分26秒
てなわけで直した。
Comment by Ladios — 2006年2月3日(金曜日) @ 08時49分28秒
sf2.true-gamers.netの方で企んでた事
http://ladios.true-gamers.net/wordpress+index.p+261.htm
の日記で、sf2の方で企んでることがあると書いたわけですが、まぁなんというか、もっとスト2が盛り上が為の仕掛けが用意出来ないかな、みたいな。
もっとも、その盛り上がりってのは、以前から苦言を呈してい…
Trackback by うだうだ書かれる日記 — 2006年2月21日(火曜日) @ 06時31分03秒