Arquivos da categoria: Wordpress

WordPress – Posts privados por padrãoWordPress – Private posts by default

Este é meu primeiro plugin WordPress hospedado oficialmente lá no wordpress.org:

http://wordpress.org/extend/plugins/private-post-by-default/My first plugin on wordpress.org

http://wordpress.org/extend/plugins/private-post-by-default/

Avatares do Buddypress em subblogs de um WordPress MU (multisite)Buddypress avatars on all blogs of wordpress multisite MU

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 blogRemoving virus (badware) from WordPress e protecting your 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 Note: I’m not responsible for damage to your installation. Use these tips at your own risk:)

These days I have two wordpress sites infected with malware! I suffered a bit to clean the site and decided to share the tips here that I was joining the road.

Basically, viruses create a “backdoor” taking advantage of some security flaw or bug in your installation. With this backdoor created, the virus has direct access to your site even after the bug fix or upgrade the system. It is like as if the virus had established an ssh account on your server and could perform almost any command in there.

In one case, the bug that allowed the installation of the virus was a theme that uses a library called timthumb.php. I Found the failure in this link and follow the steps there to solve the problem. This virus is installed through the timthumb.php and creates a backdoor. Through the backdoor, other viruses have settled on the site. I’ve fixed the file timthumb.php to remove the possibility of a new invasion.

This virus inserted an iframe on the home page of the site, causing the visitor to be redirected to a site with malicious code. In my case it was an iframe to a site called wordpress-counter.com

Then I had to remove the backdoor before removing the iframe code generator, because when removing the iframe itself, it was introduced again after 15 minutes through the backdoor.

Follow the tips this post and discovered the backdoor in the file wp-config.php. After the end of the traditional code of WordPress, it has about 100 blank lines and then the malicious code.

Then follow the tips this other post to eliminate the iframe generators.

Finally, I froze the files of my WordPress instalation. I accessed the site root via SSH and perform the steps below (note that this will block you from WordPress to automatically update the latest versions of the Dashboard):

To protect folders:

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

To protect files:

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

To prevent other users to view data from your database, which is possible in some shared hosting:

 chmod 750 wp-config.php 

To prevent further attacks modify any file on your system (files less plugins and themes):

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

References

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

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 :-}