Segurança

10 Comandos SQL para WordPress

Postado por The Best em 1 de junho de 2010

Vamos apresentar alguns comandos SQL imprescindíveis para quem usa o WordPress e quer obter o máximo do seu CMS, mas lembramos antes de tudo que você deve fazer um backup total do seu banco de dados e a utilização dos comandos é por sua conta e risco.

Os comandos devem ser executados via phpMyAdmin ou pela ferramenta que você utiliza para administrar o seu banco de dados. No PhpMyAdmin basta selecionar o banco de dados e colar o comando na aba SQL, como mostrada na figura abaixo.

phpmyadmin - comando sql

Obs.: Os comandos SQL para WordPress a seguir são para o prefixo padrão do WordPress “wp_”. Caso o prefixo de suas tabelas seja diferente (o que é recomendado, por questões de segurança), faça os devidos complementos necessários às queries.

Alterar siteurl e homeurl

Quando você configura o WordPress é gravado um caminho absoluto da URL para o site (siteurl) e um URL para a página inicial, o que dificulta a tranferência de sua base de dados para outro local, como por exemplo uma instalação local. Para resolver esse problema você pode executar um comando SQL simples para resolver esse problema e fazer a sua base de dados funcionar no novo endereço.

UPDATE wp_options
SET option_value = REPLACE(option_value, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’)
WHERE option_name = ‘home’
OR option_name = ‘siteurl’;

Importante: Altere os dados necessários no comando SQL para que ele funcione corretamente.

Alterar GUID

Depois de migrar seu blog a partir de, por exemplo, localhost, para o servidor ou de um outro domínio para um novo domínio, você terá que corrigir as URLs para o campo GUID na tabela wp_posts. Isto é crucial, porque GUID é usado para montar o slug de seu post do caminho absoluto do artigo correto.

UPDATE wp_posts
SET guid = REPLACE (guid, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’);

Alterar apenas o caminho das imagens

Se você precisar alterar o caminhos das suas imagens, por qualquer motivo que seja é possível através do comando SQL a seguir.

UPDATE wp_posts
SET post_content = REPLACE (post_content, ‘src=”http://www.enderecoantigo.com’, ‘src=”http://www.endereconovo.com’);

Também será preciso atualizar o GUID para o tipo “attachment” com a seguinte instrução SQL:

UPDATE wp_posts
SET guid = REPLACE (guid, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’) WHERE post_type = ‘attachment’;

Alterar o nome usuário padrão “admin”

A alteração do nome do usuário Admin é necessário para que aumente a segurança do seu WordPress. Na versão 3.0 do sistema não teremos a mais a presença dele, mas por enquanto você terá que fazer manualmente mesmo.

UPDATE wp_users
SET user_login = ‘nomequevocequiser’
WHERE user_login = ‘Admin’;

Esta dica também serve para mudar qualquer outro usuário, bastando colocar o nome do usuário no lugar do Admin.

Resetar password

Essa dica serve para quando perdemos a senha do usuário que é administrador do WordPress e não conseguimos recupera-la pelo Esqueci a senha.

UPDATE wp_users
SET user_pass = MD5(‘senha’)
WHERE user_login = ‘login’;

Transferir artigos de um autor para outro

Para transferir os artigos de um autor para outro, você gasta um tempo enorme se fizer isso manualmente. Com o comando SQL a seguir, é possível fazer isso facilmente. Para a dica, é preciso saber o ID dos autores.

UPDATE wp_posts
SET post_author = ‘id_novo_autor’
WHERE post_author = ‘id_autor_antigo’;

Apagar revisões

Todas as vezes que se edita um artigo no WordPress e ele é salvo, o sistema guarda a revisão antiga no banco de dados como cópia de segurança. Este recurso serve para que caso você, se arrependa de alguma alteração, tenha a opção de retornar a uma revisão antiga.

Porém com o tempo e o aumento da quantidade de artigos , os registros de revisões passam a ocupar bastante espaço no banco de dados e, consequentemente, a comprometer a performance do WordPress. Para apagar todas as revisões de artigos, dê o seguinte comando SQL:

DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = ‘revision’

Exportar todos os e-mails de comentários

Uma listagem com todos os e-mails dos leitores que comentaram no seu blog pode ser conseguida através de um comando SQL. Esta função é muito útil para campanhas via e-mail marketing ou alguma comunicação importante que se deva fazer pro e-mail aos leitores.

SELECT DISTINCT comment_author_email
FROM wp_comments;

Uma vez que a listagem esteja concluída, exporte tudo através do phpMyAdmin.

Apagar todos pingbacks

A medida que o site/blog fica no ar – e se você tiver bom conteúdo a oferecer – o número de pingbacks começa a influenciar a qualidade do banco de dados. Para apagar todos pingbacks, proceda da seguinte maneira:

DELETE FROM wp_comments WHERE comment_type = ‘pingback’;

Apagar todos comentários de SPAM

Sem maiores explicações, eis a maneira de deletar todos os comentários marcados como SPAM:

DELETE FROM wp_comments
WHERE comment_approved = ‘spam’;

Fonte: Desenvolvimento para web


Como proteger as suas pastas que não tem index

Postado por The Best em 19 de novembro de 2008

Uma grande falha de segurança é deixar que sejam exibidos os arquivos contidos em suas pastas de sistema. Isso se deve ao fato de que niguém precisa saber o que você tem ou deixa de ter instalado no seu wordpress e também porque podem ser exploradas vunerabilidades em alguns arquivos.

Podemos dar dois exmplos rápidos do perigo:

  1. Qualquer “hacker” mixurca vai saber se a sua versão está atualizada ou não. bastando comparar os arquivos chaves, que podem ser baixados, ao da nova versão e assim explorar os bugs que foram corrigidos.
  2. Ele terá acesso ao seus plugins instalados e com isso pode, também, se aproveitar de alguma vunerabilidade.

Viu como é perigoso?? Porém corrigir isso é simples demais. Vamos ver no passo a passo abaixo:

  1. Você deve acessar o cpanel da sua hospedagem.
  2. Vá até Ferramentas avançadas ou Avançadas e clique em Gerenciador de índice.
  3. Escolha as pastas que você quer proteger e clique nela
  4. Escolha a opção Não Indexes (caso não esteja escrito dessa forma procure a opção mais proxima)
  5. Salve a opção e em outra janela teste. Deverá aparecer uma pagina 404 ou uma página em branco.
  6. Repita o procedimento para as outras pastas.

É importante que se tenha essa regra para as pastas wp-content, wp-admin e wp-includes.

Obs: Esta dica serve para sites e forum também.


5 dicas para aumentar a segurança do WordPress

Postado por The Best em 19 de novembro de 2008

Veja como aumentar a segurança do seu blog com 5 dicas de implementação simples.

Segurança

Vamos abordar alguns metodos para aumentar a segurança do wordpress. A idéia é que possamos dificultar o máximo qualquer investida de um BOT ou uma pessoa indesejada.

Desabilite o registro de usuários

Se você não utiliza o registro de usuários para os comentários, então é melhor desabilitar o registro para não ser pego de surpresa. Para desabilitar o registro siga as seguintes instruções:

  • Entre no painel de administração do seu blog
  • Clique nas Configurações
  • Desmarque a caixa de seleção “Qualquer pessoa pode se registrar”

tela de exemplo para desabilitar cadastro de usuários

  • Salve as atualizações

Aproveite a oportunidade e apague o arquivo wp-register.php da raiz do seu blog, assim você terá mais proteção e evitará que curiosos tentem se registrar.

Coloque uma senha para a pasta wp-admin

Colocar a segurança em duas camadas, pasta wp-admin e wordpress, faz com que o blog fique menos vuneravel a ataques e invasões, pois além da senha normal para entrar no wordpress teremos a proteção de mais uma senha para a pasta. Quase todos os servidores de hospedagem oferecem o serviço de proteção de diretório com senha. Para faze-lo é bem simples ( o processo pode ser um pouco diferente, mas a essência é a mesma) :

  • Entre no painel de controle da hospedagem
  • Clique no icone de Proteger diretório com senha
  • Selecione o local que deseja adicionar a proteção
  • Marque a caixa de proteger com senha e salve
  • Crie um usuario e senha para acessar a pasta e salve

Obs: Caso você não consiga colocar a senha, peça auxilio ao seu suporte da hospedagem.

Lembro que o usuário e senha para a pasta deve ser diferente do que é utilizado no wordpress a fim de aumentar a segurança.

Renomeie o usuário admin

O usuário admin é padrão para os blogs do wordpress e pode ser utilizado para invasões, por isso é muito importante que você edite-o. Para renomea-lo é necessário que seja feito pelo banco de dados, já que o wordpress não permite que você altere o nome dele na edição do profile, mas o processo tb é simples.

  • Abra o painelde controle do seu serviço de hospedagem
  • Clique no icone phpmyadmin
  • Escolha o banco de dados do seu blog
  • Clique na tabela wp-users
  • Clique na guia visualização e edite o usuário admin, clicando no livrinho (Editar)
  • Execute e feche o phpmyadmin
  • confira no blog se está renomeado

Atualize sempre

As atualizações do wordpress ou dos plugins que você utiliza são de suma importância e não devem ser desconsideradas de forma alguma. Com elas você estará mais protegido contra vunerabilidades e problemas de falha de segurança.

Para atualizar o wordpress, você pode usar o plugin WordPress Automatic Upgrade que automatiza o processo de upgrade do wordpress. Já os plugins podem ser feitos pela página de plugins que temos dentro do painel de admnistração.

Só tenha plugins que você usa

Não mantenha arquivos de plugins que estão desativados ou que você não utilize mais. Eles podem conter problemas de segurança e deixa o caminho aberto para invasões.

O ideal é que você deixe somente os arquivos de plugins que utiliza, pois além de aumentar sua segurança economiza espaço também.