スパム対策

トラックバックとコメントスパム対策をと思い立ち(って今日で一気に色々やりすぎ[:汗:])
参考サイト様は ゲットネット さんです。

【コメントスパム対策2】【トラックバックスパム対策1】を追記。

コメントスパム対策
index.php への追記
赤字追記部分です。

284行目位 //—————————————– コメント入力処理 285行目位 function blogn_input_comment($user, $entry_id, $name, $email = “”, $url = “”, $mes, $set_cookie, $ip, $agent) { 286行目位   $errflg = false; 287行目位   $utf_name = blogn_mbConv($name, 0, 4); 288行目位   $utf_email = blogn_mbConv($email, 0, 4); 289行目位   $utf_url = blogn_mbConv($url, 0, 4); 290行目位   $utf_mes = blogn_mbConv($mes, 0, 4);

// ▼コメントスパム対策(REFERER_Check php)。ここから▼▼—————-
$cmtcheck = stristr($_SERVER[‘HTTP_REFERER’], BLOGN_HOMELINK);
if(!$cmtcheck) $utf_mes = “”;
// ▲コメントスパム対策(REFERER_Check php)。ここまで▲▲—————-

292行目位 if (!$entry_id || !$utf_name || !$utf_mes) {
293行目位   // エラー処理
294行目位   //HTTPヘッダ送信

ソースの行数はBlognのバージョンによって変わるので目安程度で。

トラックバックスパム対策
tb.php の追記
赤字追記部分です。

57行目位 $user_agent = $_SERVER[“HTTP_USER_AGENT”]; 58行目位 $user_agent = blogn_mbConv($user_agent, 0, 4); 59行目位 $date = gmdate(“YmdHis”,time() + BLOGN_TIMEZONE);

// ▼トラックバックスパム対策(半角英数)。ここから▼▼———————
if (!ereg(“[\x80-\xFF]”, $excerpt)) res_xml(1,”TrackBack is not Permitted”);
// ▲トラックバックスパム対策(半角英数)。ここまで▲▲———————

61行目位 $trackback = blogn_mod_db_trackback_load_for_new(0, 10);
62行目位 // 重複投稿チェック
63行目位 $errflg = false;
64行目位 if ($trackback[0]) {

ソースの行数はBlognのバージョンによって変わるので目安程度で。

おしまい。