您在這裡

Akismet 處理 draft 的問題

dennys's 的頭像
dennys 在 2008-01-05 (週六) 10:58 發表

因為是個人網站, 因此只需要檢查 comment 即可, 我把所有檢查 node 的都關掉了, 然後寫文章時也沒問題. 但最近發現, 如果我把他存成"未發表", 則 Akismet 就會送一個 moderator notification 的信件給我 ... 這有點困擾說, 不知道這是正常的嗎? 我測了一下, 把一篇已發表的改成未發表也是一樣會收到信. 不用 captcha 的原因是, 看來 Akismet 都檔得住, 那就盡量漸少使用上的不方便了.

又, 不知道有沒有人用過 http://drupal.org/project/spam 這個模組? 比之 Akismet 不知如何

我使用上也沒有這個問題就是。

剛剛看了一下 Akismet 的程式碼,下頭的這一段應該是關鍵:
function akismet_nodeapi(&$node, $op, $teaser, $page) {
switch ($op) {
case 'insert':
case 'update':
// If Akismet connections are not enabled, we have nothing else to do here.
if (!variable_get('akismet_connection_enabled', 1)) {
akismet_notify_moderators('node', $node, ($node->status ? TRUE : FALSE), FALSE);
break;
}

// Also quit asap, if current user has administration permission.
if (akismet_is_spam_moderator($node->type)) {
akismet_notify_moderators('node', $node, ($node->status ? TRUE : FALSE), FALSE);
break;
}

// Now, check if it's about a node type that we have not been explicitly requested to check.
$check_nodetypes = variable_get('akismet_check_nodetypes', array());
if (!is_array($check_nodetypes) || !isset($check_nodetypes[$node->type]) || !$check_nodetypes[$node->type]) {
akismet_notify_moderators('node', $node, ($node->status ? TRUE : FALSE), FALSE);
break;
}

我想到的:

  • 你可以在權限的地方,把不需要檢查的(ex, 你自己)的 post with no akismet checking 打開。
  • 自行更動上述的程式碼(完全不建議)。

不知道 5.x 的權限是否和 6.x 不一樣? 因為上個月已經換成 D6 了, 也沒保留 D5 的環境, 剛裝了 D6 的 akismet, 在權限的地方看到了 post with no akismet checking, 看來只要把我自己的群組加上這個權限就可以了.

不過呢, 已經跳槽 mollom 了, 應該是不會回頭了, 而且看了一下兩個 module 的使用率, 已經愈差愈多了
http://drupal.org/project/usage/akismet
http://drupal.org/project/usage/mollom

至於擋 spam 的能力, 其實我倒是沒什麼感覺, 可能我家的 spam 不多吧, 從以前 wordpress 時代到現在, 好像哪一家的效果都不錯, 也沒聽人抱怨過被亂擋的. (還是抱怨的都被當成 spam 了, 所以我也看不到 :P)