Novo layout

30/03/08

Essa madrugada decidi que estava na hora de mudar o blog e, como você pode ver, o Simples Idéias está de cara nova[bb]!

Nova cara do Simples Idéias

Ele é bastante semelhante a versão anterior, mas é mais limpo. Não tem mais propagandas do Google e, agora, definitivamente é um tema escuro. Estou terminando uns últimos ajustes, e daqui a pouco deve estar tudo pronto!

Se você encontrar alguma coisa quebrada, avise-me!

Spammers, para variar!

15/06/07

Alguns spammers são insistentes. Para eles, uma solução um pouco mais pesada.

function deny_access()
{
    global $wpdb;
 
    $blacklist = get_option('blacklist_keys');
    $ips = preg_split("/\r?\n/", $blacklist);
 
    if (in_array($_SERVER['REMOTE_ADDR'], $ips)) {
        header("HTTP/1.0 403 Forbidden");
        die();
    }
}
 
deny_access();

A lista de IPs pode ser configurada no admin do WP em "Options › Discussion › Comment Blacklist".

WordPress: Comment Blacklist

Basta adicionar ao seu arquivo "functions.php".

Spam, como odeio isso!

25/04/07

16.657 spams bloqueados. Basta! Não dá mais. Coloquei uma espécie de CAPTCHA nos comentários (perguntinhas básicas de soma de 2 números). Desculpe-me por este incomôdo, mas apagar 300 spams por dia estava ficando totalmente inviável.

Update: Se você quer adicionar este suporte ao seu blog (Wordpress), adicione o código abaixo ao arquivo "functions.php", presente no diretório do seu tema. Caso ele não exista, crie-o.

<?php
/* author: Nando Vieira <fnando dot vieira at gmail dot com> */
function challenge_check($comment_id)
{
    global $wpdb, $user_ID, $comment_count_cache;
    
    if ($user_ID) {
        return;
    }
    
    $hash = $_POST['challenge_hash'];
    $challenge = md5($_POST['challenge']);
    $post_id = $_POST['comment_post_ID'];
    
    if ($hash != $challenge) {
        $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_ID = {$comment_id}");
        $count = $wpdb->get_var("select count(*) from $wpdb->comments where comment_post_id = {$post_id} and comment_approved = '1'");    
        $wpdb->query("update $wpdb->posts set comment_count = {$count} where ID = {$post_id}");
        wp_die(__('Sorry, but your answer is incorrect.'));
    }
}
 
function challenge_form()
{
    global $user_ID;
    
    if ($user_ID) {
        return;
    }
    
    $nums = array(rand(1,4), rand(1,4));
    $n1 = max($nums[0], $nums[1]);
    $n2 = min($nums[0], $nums[1]);
    $challenge = ($n1 + $n2);
    $hash = md5($challenge);
    
    $question = "Quanto é {$n1} + {$n2}?";
    $field = sprintf('<p><label for="challenge">%s</label> <input type="hidden" name="challenge_hash" value="%s" /> <input type="text" name="challenge" id="challenge" size="2" /></p>', $question, $hash);
    echo $field;
}
 
add_action('comment_post', 'challenge_check');
add_action('comment_form', 'challenge_form');
?>

Update: não recebi mais nenhum spam! ;)