Arquivos da categoria: Wordpress

Avatares do Buddypress em subblogs de um WordPress MU (multisite)

Encontrei esta solução para fazer com que avatares locais de um Buddypress sejam exibidos em todos os blogs de um wordpress MU:

Anyeossays:

Ok, I just noticed what BP_AVATAR_URL and BP_AVATAR_DIR are setted relative to url and dir of user blog. I reeplaced that code for one what always use the same absolute paths (obtained from WP_CONTENT_URL and WP_CONTENT_DIR) using the global “uploads” directory. Now all avatars are the same in all weblogs.
If you like to do it edit the file bp-core/bp-core-avatars.php and modify this functions:

function bp_core_avatar_upload_path() {
$basedir = WP_CONTENT_DIR.'/uploads';
return apply_filters( 'bp_core_avatar_upload_path', $basedir );
}
function bp_core_avatar_url() {
 $baseurl = WP_CONTENT_URL.'/uploads';
 return apply_filters( 'bp_core_avatar_url', $baseurl );
 }

Do post:
http://www.amberweinberg.com/how-to-add-buddypress-avatars-to-wordpress-mu/

Removendo Virus (malware) do WordPress e protegendo seu blog

Note: não me responsabilizo por danos causados em sua instalação. Utilize essas dicas por sua própria conta e risco :)

Estes dias tive dois sites wordpress infectados por malwares! Penei um pouco pra limpar o site e resolvi compartilhar aqui as dicas que fui juntando pelo caminho.

Basicamente, os virus se criam um “backdoor”  se aproveitando de alguma falha de segurança ou bug em sua instalação. Com esse backdoor criado, o virus tem acesso direto ao seu site mesmo após a correção do bug ou atualização do sistema. É como se o virus tivesse criado uma conta de ssh em seu servidor e pudesse executar praticamente qualquer comando lá dentro.

Em um dos casos, o bug que permitiu a instalação do virus estava em um tema que utilizava uma biblioteca chamada timthumb.php. Descobri neste link a falha que esse arquivo continha e segui os passos descritos lá para resolver o problema. Este virus se instalava através do timthumb.php e criava um backdoor. Através do backdoor, outros virus se instalaram no site. Corrigi o arquivo timthumb.php para remover a possibilidade de uma nova invasão.

Estes virus por sua vez, inseriam um iframe na home page do site, fazendo com que o visitante fosse redirecionado para um site com código malicioso. No meu caso, era um iframe para um site chamado wordpress-counter.com

Tive então que remover backdoor antes de remover o gerador de iframe, pois sempre que removia o iframe em si, o mesmo se instaurava novamente após 15 minutos através do backdoor.

Segui as dicas deste post e descobri o backdoor no arquivo wp-config.php. Após o fim do código tradicional do WordPress haviam cerca de 100 linhas em branco e, em seguida, o código nocivo que permitia a executação de scripts php enviados por REQUESTs.

Depois, segui as dicas deste outro post, para eliminar os geradores de iframe.

Finalmente, fiz um congelamento dos arquivos da minha instalação do WordPress. Para isso, acessei a raiz do site através do SSH e realizei os passos abaixo (note que isto impedirá você de atualizar automaticamente o WordPress para versões mais recentes pelo Dashboard):

Para proteger pastas:

find . -type d -exec chmod 755 {} \;

Para proteger arquivos:

find . -type f -exec chmod 644 {} \;

Para impedir que outros usuários enxerguem os dados de seu banco de dados, o que é possível em algumas hospedagens compartilhadas:

chmod 750 wp-config.php

Para impedir que novos ataques modifiquem qualquer arquivo no seu sistema (menos arquivos de plugins e temas):

chmod u-w * -R
chmod u+w wp-content -R

Referencias

http://blog.sucuri.net/2011/08/timthumb-php-security-vulnerability-just-the-tip-of-the-iceberg.html
http://markmaunder.com/2011/08/01/zero-day-vulnerability-in-many-wordpress-themes/
http://cantonbecker.com/work/musings/2009/how-to-search-for-backdoors-in-a-hacked-wordpress-site/
http://blog.unmaskparasites.com/2011/03/02/versatile-cc-attacks/
http://codex.wordpress.org/Hardening_WordPress

Adding a relative custom menu link in WordPress Nav Menu

In case you want to stop WordPress putting the “http://” in your custom menu link:

Edit your wp-includes/nav-menu.php

Change the followin line:

update_post_meta( $menu_item_db_id, ‘_menu_item_url’, esc_url_raw($args['menu-item-url']) );

To

update_post_meta( $menu_item_db_id, ‘_menu_item_url’, $args['menu-item-url'] );

That’s all

WordPress – Arquivos de tradução do plugin Configure smtp

Este plugin para wordpress permite que você configure com mais detalhes seu site para enviar emails inclusive através de sua conta GMAIL:

http://wordpress.org/extend/plugins/configure-smtp/

Faça o download do arquivo zip abaixo.

configure-smtp-pt_BR

Descompacte este arquivo.

Crie uma pasta lang dentro do diretório do plugin (depois de tê-lo instalado) e jogue os dois arquivos abaixo nesta pasta que você criou.

Lembre-se, jogue apenas os arquivos, não jogue a pasta que provavelmente foi criada quando você descompactou o arquivo zip.

Arquivos de tradução do plugin WordPress “Subscribe to Comments Reloaded”

Só para compartilhar os arquivos de tradução deste plugin que permite uma ótima gestão de notificações aos usuários de um blog WordPress:

subscribe-reloaded-pt_BR

Adicione seu site WordPress como mecanismo de busca de qualquer navegador

Achei este plugin interessante que permite adicionar seu blog/site wordpress como mecanismo de busca de qualquer navegador:

“Search Plugin for Firefox and IE”

Adicionei um Favicon no meu site (que é …

Adicionei um Favicon no meu site (que é WordPress) com muita facilidade, utilizando duas ferramentas:

O http://favicon.cc que cria um favicon a partir de qualquer imagem (de até 5MB)

O plugin para WordPress All in One Favicon que permite subir diferentes tipos de imagens para este propósito. Muito fácil!

Habilitando multiplos sites no WordPress 3

Estou criando um site WordPress ao estilo WordPress.com, ou seja, uma espécie de fazenda de blogs onde é possível ter mais de um blog com usuários compartilhados entre eles. Esta é função MULTISITE do WordPress, que antigamente vinha numa distribução diferente, chamada WordPress MU, e na versão 3.0 do WordPress já está embutida.

Para habilitar esta função você precisa adicionar seguinte linha no arquivo wp-config.php de seu site:

/** Ativar Multi Blogs **/
define(‘WP_ALLOW_MULTISITE’, true);

Depois é necessário acessar o menu Ferramentas -> Rede e seguir o passo a passo que é mostrado lá.

Eu tive alguns problemas de acentuação. O site que eu usei para ativar este recurso já possuía conteúdo e depois de ativar o multisite, a acentuação dos artigos ficou super bagunçada.

Adicionei então (depois de pesquisar e bater cabeça uns bons minutos) as seguintes linhas no wp-config.php pra resolver:
// ** MySQL settings ** //
define(‘DB_CHARSET’, ‘latin1′);
define(‘DB_COLLATE’, ‘latin1_general_ci’);

Só experimente adicionar essas linhas se você estiver com problemas de acentuação também :-}