精華區beta SetupBBS 關於我們 聯絡資訊
首先,在 ~bbs/etc 下編一個叫 spam-list 的檔案 格式類似這樣 ... /*----- spam-list -----*/ [email protected] url.com.tw hinet. .... 可以是全名,也可以是該email的片段.... 像 url.com.tw 就會把所有 url.com.tw 的信全擋掉 ... :) 修改 src/util/bbsmail.c 1.找個地方加上這段 int belong_spam(filelist, key) char *filelist; char *key; { FILE *fp; int rc = 0; if (fp = fopen(filelist, "r")) { char buf[STRLEN], *ptr; while (fgets(buf, STRLEN, fp)) { if ((ptr = strtok(buf, " \t\n\r")) && strstr(ptr, key)) { rc = 1; break; } } fclose(fp); } return rc; } 2.修改 mail2bbs() 加上黃色這段...:) ..... fprintf(fout, "作者: %s\n標題: %s\n時間: %s\n", sender, title, ctime(&tmp_time)); fputs(genbuf, fout); while (fgets(genbuf, sizeof(genbuf), stdin) != NULL) { fputs(genbuf, fout); } fclose(fout); /*==== wildcat : anti-spam from etc/spam-list =====*/ if(belong_spam(BBSHOME"/etc/spam-list",sender)) { unlink(genbuf); sprintf(genbuf,"SPAM: %s => %s",sender,userid); mailog("bbsmail", genbuf); return 0; } ..... 然後 make install 應該就可以了 測試方式:把自己的某個email加入spam-list, 然後試著從那個email寄信到站上來 如果沒收到,去看看 bbsmail 的 log 有沒有出現類似這行 99/04/30 04:48:16 <bbsmail> SPAM: [email protected] => wildcat 如果有就是成功了 :) 也歡迎大家加入 bbs.op.antispam 的轉信 多多交換 spam-list :) News Server: wd.twbbs.org Group Name : bbs.op.antispam :) -- ﹏﹏﹏﹏﹏﹏﹏﹏WiLdCAt - WD-BBS's Administrator﹏﹏﹏﹏﹏﹏﹏﹏ 楊棨崴(Chi-Wei-Yang) E-mail: [email protected] ICQ : 8120449 CICQ : 10575 歡迎光臨風與塵埃的對話 BBS - 192.192.158.18 - wd.twbbs.org -- [Origin]Wind and Dust BBS ※Post by wildcat from eva.pchome.com.tw ╭╗ ╭ ╦╦╮ 風與塵埃的對話 電子布告欄系統 ╭╗ ╭ ╦╦╮ ╠╣║║ ╠╣║B B S 期待您的光臨 B B S╠╣║║ ╠╣║ ╰╩╩╯ ╩╩╯ wd.twbbs.org 192.192.158.18 ╰╩╩╯ ╩╩╯ > -------------------------------------------------------------------------- < 發信人: [email protected] (喵?!), 看板: InstallBBS 標 題: Re: 【文件】簡易的擋廣告信 bbsmail.c 修改 發信站: 風與塵埃的對話 (Fri Apr 30 05:29:19 1999) 轉信站: Ptt!news.ntu!news.mcu!news.cs.nthu!netnews.csie.nctu!news.shu!WD ※ 引述《wildcat (喵?!)》之銘言: 抱歉,有個地方不慎...寫反 :p 難怪覺得怎麼wild-case沒用 ... 改成這樣就好 (紅色字) int belong_spam(filelist, key) char *filelist; char *key; { .... while (fgets(buf, STRLEN, fp)) { if ((ptr = strtok(buf, " \t\n\r")) && strstr(key, ptr)) { rc = 1; break; } } .... -- ﹏﹏﹏﹏﹏﹏﹏﹏WiLdCAt - WD-BBS's Administrator﹏﹏﹏﹏﹏﹏﹏﹏ 楊棨崴(Chi-Wei-Yang) E-mail: [email protected] ICQ : 8120449 CICQ : 10575 歡迎光臨風與塵埃的對話 BBS - 192.192.158.18 - wd.twbbs.org -- [Origin]Wind and Dust BBS ※Post by wildcat from eva.pchome.com.tw ╭╗ ╭ ╦╦╮ 風與塵埃的對話 電子布告欄系統 ╭╗ ╭ ╦╦╮ ╠╣║║ ╠╣║B B S 期待您的光臨 B B S╠╣║║ ╠╣║ ╰╩╩╯ ╩╩╯ wd.twbbs.org 192.192.158.18 ╰╩╩╯ ╩╩╯