Arquivo da tag: 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

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

Gerando links de pagamento com o PagSeguro para blogs hospedados no WordPress.com

O PagSeguro é um site interessantissimo que media transações de compra e venda de produtos e serviços via web, possibilitando o uso de boleto bancario, transferencias e cartão de crédito para concretizar esses pagamentos.

Muito interessante e muito seguro aparentemente. Até agora estou satisfeito com o produto embora ainda não tenha resgatado nenhum valor. Espero que não tenha dores de cabeça.

Por enquanto tenho usado para vender convites para festas da minha banda de forró, para vender hospedagens, serviços de manutenção de site e outras coisas.

O PagSeguro disponibiliza alguns botões e formulários para que você coloque seu produto a venda em um site. O problema começa para aqueles que não possuem um site onde é possível inserir javascript, html e outros recursos mais avançados.

No meu caso, tentei inserir um botão de venda de serviço num blog hospedado no wordpress.com e não consegui por que minha opção era utilização de um form, que quando colocado num artigo ou página do wordpress não funcionavam.

Então a solução que pensei foi a de transformar o Form (método POST) para um link (método GET).

Foi simples. As variáveis que você precisa enviar e configurar no link são as seguintes:

email_cobranca = seu email principal como vendedor no PagSeguro. Vc tem que se cadastrar lá é claro!
tipo = não sei exatamente, mas sempre deixo o valor CP
moeda = sempre BRL (Quer dizer, imagino que vc queira realizar vendas em reais)
item_id_1 = Um código qualquer para seu item
item_descr_1 = Descrição do seu produto. Substituir qualquer acentuação pelos códigos da tabela (http://urldecode.it/url/characters/)
item_quant_1 = Quantidade de produtos
item_valor_1 = valor sem virgulas mas com duas casas decimais
item_frete_1 = Valor do frete.

Vejo o link que criei (clique com o botão direito em cima dele e copie a URL para um editor de texto para vê-la):

Me paga um cafézinho

Clicando você irá pra minha conta no PagSeguro onde verá o item “Me paga um cafézinho” no valor de R$ 5,00

Simples né?

WordPress 3.0 – Fácil de escrever, fácil de administrar

Atualizei ontem meu blog para a versão 3.0 do WordPress e vi muitas coisas boas pra quem administra. Compartilho aqui as facilidades que encontrei até agora e que são suficientes pra indicar o uso do WordPress 3.0 como interface de conteúdo e blog:

Atualize todos os plugins com um único comando
Tanto na aba “Painel” quanto na aba “Plugins”, existe a opção de atualizar automaticamente todos os plugins de uma única vez. Antes era necessário ter um plugin que fazia isto instalado, o AllInOne update (ou coisa parecida)

Instale temas diretamente na interface de administração
Você agora pode instalar temas diretamente pela aba “Aparência”. Antes era necessário baixar o tema, subir no seu servidor FTP e tudo mais. Fácil pakas! Delicinha! ehehheeh

Gestão de arquivos do usuário
Existe uma nova aba chamada “Midia” na administração, que permite ao usuario ver todos os arquivos que já subiu para seu servidor 🙂

Outras melhorias
– Interface de administração um pouco mais clean
– Gestão dos Widgets mais organizada e fácil
– Possibilidade de excluir definitivamente plugins pela interface de administração

Resumindo, cada vez mais a administração de um blog wordpress é gráfica, não sendo necessário acessar o servidor via FTP e coisas do gênero. Isto permite que a gente expanda cada vez mais um blog. Queira ou não, a gente fica muito seletivo na hora de instalar um plugin, por que teme ter que desinstalar e tudo isto depender de um acesso shell.
Agora não, é só clicar, instalar, e se não der certo, desinstala com um click!