...EGO ALPHA ET OMEGA, PRIMUS ET NOVISSIMUS, PRINCIPIUM ET FINIS...
...EGO PRAETERITUS, ET NUNC, ET POSTERUS: ET IN SEMPER...
...EGO TOTUS, UNUS IN SAECULA SAECULORUM...
Ronde des Lutins, La

 

 

 

 

Trackback安全防護 網路技術 - TT


自動阻擋Trackback Spam,並可自行設定關鍵字過濾,適用於0.9X

  • 自動拒絕站名與文章標題相同之Trackback(為Spam的特徵)
  • 將Tatter Tools內建之IP攔截(無效用),修改為關鍵字過濾
  • 在(原IP攔截)輸入欄中打入欲過濾之關鍵字即可阻擋含關鍵字之Trackback



    修改方法

    1.打開rserver.php

    尋找以下語法:

    put_query("
      insert into t3_".$dbid."_trackback (
        pno, site, url, title, body, regdate, ip
      ) values (
        '$no', '$blog_name', '$url', '$title', '".trim(str_cut(str_tag_truncate(str_tag_on(" ".$excerpt)),240,0))."', '".time()."', '$REMOTE_ADDR'
      )
    ");

    加入粗體部份:

    list ($s_ip_block) = mysql_fetch_array(mysql_query("select ip_block from t3_".$dbid."_setting"));
    if (strnatcasecmp($title, $blog_name) && !eregi("($s_ip_block)", $blog_name) && !eregi("($s_ip_block)", $title) && !eregi("($s_ip_block)", $excerpt)) {
      put_query("
        insert into t3_".$dbid."_trackback (
          pno, site, url, title, body, regdate, ip
        ) values (
          '$no', '$blog_name', '$url', '$title', '".trim(str_cut(str_tag_truncate(str_tag_on(" ".$excerpt)),240,0))."', '".time()."', '$REMOTE_ADDR'
        )
      ");
    }

    2.打開admin/setting.php

    尋找以下語法:

    <table cellpadding="0" cellspacing="0" style="margin:10 0 15 0">
      <tr>
        <td width="90" align="right" valign="top" style="padding-top:2">IP攔截 :: </td>
        <td style="padding:2 0 0 0">
        來自以下 IP 不允許發表回復或留言<br>
        設定 IP 時請用(,) 來做區隔.<br>
        比如: 000.000.000.000, 111.111.111.111, 222...<br>

    修改為:

    <table cellpadding="0" cellspacing="0" style="margin:10 0 15 0">
      <tr>
        <td width="90" align="right" valign="top" style="padding-top:2">關鍵字過濾 :: </td>
        <td style="padding:2 0 0 0">
        含有以下關鍵字之引用不會被接受<br>
        設定關鍵字時請用(|)來做區隔.<br>
        比如: fuck|sex...<br>
  • 06/05/27 06:10
    VIEWED (17434) TRACKBACK (1) REPLIES (9)

    LSLY 06/05/27 15:07
    這招好

    Jr 06/05/28 20:04
    Hi .. 謝謝你給我的提醒,好一陣子沒去看自己的 Blog 才發現原來擋 IP 的方法早已不敷使用,參照了大大您的修改方式後,有點小建議提出來和大大分亨一下 ...

    在 list ($s_ip_block) = mysql_fetch_array(mysql_query("select ip_block from t3_".$dbid."_setting")); 下加上一行
    $s_ip_block = str_replace(',', '|', $s_ip_block);

    可以維持原本的擋 IP 功能,並且也新增了擋關鍵字的功用

    逗點分隔可使在 TT 中原本的 IP_block 生效,將 , 置換成 |,再利用正規表示式過瀘,又可再進一步瀘掉關鍵字 ...

    大大可參考一下 ... ^^

    彤影 06/05/28 20:29
    TO Jr:
    謝~
    不過TT的擋ip功能只能對留言和回覆有效
    對於trackback和refer還是沒用……
    因為TT的擋ip不會拒絕訪問,只是在寫入的時候檢查來源ip(還不一定有效)
    最多只能用來擋擋小白
    還是.htaccess封比較安全

    Yukari 06/05/29 08:47
    我之前是在空間後台拒絕那些ip登入,
    原本有效,不過自從他們都用不同ip後,就沒效用了Orz

    謝謝你提供的方法!

    Jr 06/05/29 18:44
    Hi, 我又來了,今天發現實在受不了那些機器人,即使用了比擋 IP 更好的關鍵字,也還是只能很被動地有輸入的才有擋,所以我又再你的 Code 裡加上了 ...


    if (!eregi("($s_ip_block)", $blog_name) && !eregi("($s_ip_block)", $title) && !eregi("($s_ip_block)", $excerpt)) {

    改為
    if ( !stristr($blog_name, $title) && !stristr($excerpt, $title) && !eregi("($s_ip_block)", $blog_name) && !eregi("($s_ip_block)", $title) && !eregi("($s_ip_block)", $excerpt)) {

    加上了 !stristr($blog_name, $title) && !stristr($excerpt, $title)

    藉此擋下這些 Spam 都有的一些小特性,就是它們的 Title 通常會包含在內文中 ...

    彤影 06/05/29 23:01
    TO Jr:
    把!stristr($excerpt, $title)拿掉會不會比較好
    否則可能會誤擋正常的trackback

    Yukino 06/12/01 14:30
    現在的spam升級了,内容,標題,站名都不是完全相同的了,這個方法已經擋不住了,每次刪掉后再加關鍵字的方法未免太被動,請問有沒有禁止全英文trackback的方法?

    TonTon 06/12/22 21:48
    謝謝 !

    一時手賤 ~ 馬上被炸 . . .

    好險有這篇教學

    lusakah 06/12/23 08:11
    同求禁止全英文tb的辦法……TAT 每天都被騷擾死了orz

    NAME
    URL
    CODE
    PASS
    SECRET

    PAGE: 1  2  3 4 5 ...  17
    TODAY: 37 | YESTERDAY: 32 | TOTAL: 892958