Merchandising: Torne-se um programador PHP Profissional

13 dezembro, 2017

Fica aqui a dica de uma empresa que está fazendo a diferença em treinamentos PHP nas modalidades Presencial e Online. Estamos falando da Code Experts Learning.

Os treinamentos abordam principalmente o universo PHP, começando pela Formação PHP inicial (e outros níveis), passando pelo Symphony, Ionic, Laravel, dentre outros.

Outra coisa muito importante, é que o Nanderson, principal instrutor da CEL, é Certificado ZEND, agregando profundo conhecimento com o PHP com uma metodologia de ensino diferenciada e uma didática simples e direta.

 

Acesse o site: https://codeexpertslearning.com.br

Canal no Youtube: https://www.youtube.com/CodeExpertsLearning

 

Como editar o arquivo Hosts no Windows

11 dezembro, 2017

Algumas vezes se faz necessário editar o arquivos HOSTS no Windows. Modificá-lo permite que você substitua o DNS de um domínio numa máquina específica. Isso é útil para diversas situações. Por exemplo, verificar se um site funciona, antes das alterações de DNS, e por outras razões relacionadas ao DNS. Ao acessar um site, o browser consultará este arquivo antes de consultar servidores de DNS externos.

Segurança

Hackers, auxiliados por malwares (vírus) instalados na máquina do usuário, podem comprometer a segurança apontando um endereço de um site verdadeiro pra um site falso, como uma rede social, um banco, etc. a partir da edição mal intencionada deste arquivo.

Usuários avançados (como técnicos, por exemplo) podem editar esse arquivo para evitar que usuários de determinada máquina acessem sites específicos utilizando o método acima, bastando para isso apontar para um IP fictício ou para o endereço do site da empresa, por exemplo.

Conteúdo inicial do arquivos HOSTS

Localizando e editando o arquivo HOSTS

  • Clique em no Botão Iniciar, em Todos os programas, em Acessórios, clique em Bloco de notas, botão direito e “Executar como administrador”;
  • Se estiver utilizando Windows 10, basta digitar a palavra “Bloco de notas” no campo de pesquisa e, quando aparecer o nome do programa, clicar sobre o mesmo com o botão direito e Executar como Administrador;
  • Abra o arquivo Hosts que está no caminho: “C:\WINDOWS\SYSTEM32\DRIVERS\ETC\”, realize as alterações necessárias e salve o arquivo. Se não executar o aplicativo em modo Administrador, não conseguirá salvar o arquivo.

 

Aumentando o limite de upload do Banco de Dados MySQL

7 dezembro, 2017

Em algumas circunstâncias, seja trabalhando em algum site ou sistema, ou mesmo para realizar upload de um arquivo de backup no PHPMYADMIN, pode existir a necessidade de aumentar o limite de upload de arquivos, que é limitado por algumas diretivas no Servidor.

Um dos primeiros passos a ser tomado é obter a configuração do seu PHP. Para isso crie um arquivo com o nome “info.php” e insira nele o seguinte código e salve-o em uma pasta na sua hospedagem:

<?php
    phpinfo();
?>

Ao executá-lo através de uma URL, como por exemplo, “www.seusite.com.br/phpinfo.php”, o resultado é uma página mostrando a configuração de várias diretrizes, como abaixo.

 

O arquivo de configuração

Após  obter a configuração do seu PHP, o passo a seguir será  localizar o arquivo “php.ini”.

No Windows:

Caso esteja utilizando o Xampp ou similar, navegue em sua pasta (geralmente localizada a partir da raiz C:), vá até a subpasta PHP.

No Linux:

/etc/php.ini
/etc/php/php.ini
/etc/php5/php.ini
/usr/bin/php5/bin/php.ini
/etc/php5/apache2/php.ini

ou faça uma busca com

find / -name php.ini

 

 

Aumentando o limite de upload do Banco de Dados (finalmente!)

E enfim, estas são as diretivas a serem alteradas:

upload_max_filesize: tamanho máximo para upload de arquivos.

post_max_size: tamanho máximo de dados postados. Essa configuração atua em conjunto com a diretiva acima e é necessário que o seu valor seja maior que o do “upload_max_filesize”. Geralmente eu utilizo o dobro do seu valor.

memory_limit: é a quantidade máxima de memória (em bytes) que um script aloca. Também atua em conjunto com as diretivas acima e seu valor sempre será maior do que “post_max_size”.

max_execution_time: tempo máximo de execução de cada script. Este item precisa de atenção, já que se o tempo for curto, haverá um erro, pois o servidor não conseguirá importar os dados no tempo limite.

Segue um exemplo de configuração de valores para cada diretiva, observando-se, é claro, que estes números dependem de cada situação.
upload_max_filesize = 128M
post_max_size = 256M
memory_limit = 512M
max_execution_time = 1024

Ressalvas

Em alguns casos, dependendo da sua hospedagem, você não terá acesso ao arquivo php.ini principal, então abra seu editor de código favorito e crie o arquivo “php.ini” na pasta raiz do seu projeto, geralmente em “public_html”.

Caso não faça nenhum efeito, verifique se foi reiniciado o servidor Apache, se houver essa opção em seu painel de controle da sua hospedagem. Caso negativo, entre em contato com o seu suporte técnico da sua hospedagem.

 

Lidando com arquivos .htaccess no WordPress

21 novembro, 2017

O .htaccess é um arquivo de configuração distribuída e é como Servidor Apache manipula as alterações de configuração em uma base por diretório.

O WordPress utiliza este arquivo para manipular como Apache manipula arquivos do seu diretório raiz e respectivas subpastas. Na maioria das vezes, WP modifica esse arquivo para que seja capaz de lidar melhor com permalinks (links permanentes).

Estas intruções podem ser úteis para configurar/restaurar um .htaccess corrompido (por exemplo, um plugin de comportamento inadequado).

Básico WP

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Vários sites

A partir da versão 3.5

Se você ativou o Multisite no WordPress 3.5 ou posterior, use um destes.

Exemplo de subpasta

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Exemplo de subdomínio

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

Versão 3.4 do WordPress e inferiores

Se você originalmente instalou o WordPress com Multisite 3,4 ou mais antigo, você precisa usar um destes:

Exemplo de subpasta

WordPress 3.0 através de 3.4.2

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

Exemplo de subdomínio

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
# END WordPress

WordPress MU

Se você começou a usar o WordPress com o WordPress MU (WPMU) e em seguida migrou para uma versão mais recente do WordPress em vários locais, as regras. htaccess são mais complexas:

Exemplo de subpasta

RewriteEngine On
RewriteBase /

# BEGIN WordPress
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress

 

 

Texto retirado e traduzido do site: https://codex.wordpress.org/htaccess
Para saber mais informações, clique no link e obtenha outras configurações.

Para usuários mais experientes no assunto, recomendo este link: https://www.askapache.com/htaccess/

 

 

 

 

13 comandos úteis para gestão e migrações de sites WordPress

17 novembro, 2017

Usuários mais avançados, vez ou outra precisam gerenciar sites WordPress de forma mais complexa (como no caso de migrações, por exemplo), tendo que fazê-lo diretamente através do banco de dados.

Uma das ferramentas que pode ser utilizada para tanto é o PHPMYADMIN onipresente em praticamente todas as boas hospedagens de sites. Há que ser lembrado que o Backup deve ser realizado antes de qualquer coisa!

As dicas abaixo foram extraídas e traduzidas do artigo original 13 Useful WordPress SQL Queries You Wish You Knew Earlier

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.

 

13 fantásticos comandos SQL para WordPress: aba SQL do phpMyAdmin

Alterar siteurl e homeurl

WordPress armazena o caminho absoluto da URL do site (“siteurl”) e URL da home (“homeurl”) no banco de dados. Portanto, se você transferir o seu site WordPress do localhost para o servidor, por exemplo, o site não vai carregar! Isso ocorre porque o caminho absoluto ainda está apontando para o seu localhost. Você vai precisar executar um comando para resolver isso.

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.

Alterar URL no conteúdo

O WordPress utiliza caminhos absolutos no URL ao invés de um caminho relativo quando vai armazená-los no banco de dados. Dentro do conteúdo de cada registro de artigo, ele armazena todas as URLs antigas referenciando as fontes antigas. Portanto, você precisará alterar todas essas URLs com o endereço do novo domínio.

Alterar apenas o caminho das imagens

Caso seja preciso alterar o domínio das imagens inseridas nas páginas e artigos, esta solução vai ajudar você a fazer isso de forma simples.

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

Atualizar Post Meta

Atualizar Post Meta funciona quase da mesma maneira como atualizar a URL no conteúdo do post. Se você tiver dados extras para cada post, você pode usar a seguinte instrução para alterar todos eles.

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

Apesar de que na versão 3 do WordPress o usuário “admin” poderá ser alterado no momento da instalação, não custa deixar para a posteridade a dica de como alterar o nome do “admin”.

Resetar password

Já quis resetar sua senha no WordPress mas, por algum motivo, não conseguiu usar a seção para resetar o password? Eis a solução:

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.

Apagar revisões

Quando se está editando um artigo no WordPress, é comum cópias de segurança serem feitas para garantir o trabalho feito. São as chamadas “revisões”. Com o tempo, o número de registros de revisões fica grande e isso pode comprometer a performance do banco de dados. Para apagar todas as revisões de artigos, dê o seguinte comando SQL:

Lembrando que este é o comando para apagar revisões já feitas. Caro queira desativar o recurso (ou limitar o número de revisões), saiba como neste artigo sobre como limitar e desativar revisões de posts no WordPress.

Apagar post meta

Instalar e remover plugins é algo corriqueiro quando se trabalha com WordPress. Alguns plugins precisam de criar alguns post meta para funcionarem corretamente e, para esses casos, não é raro o acontecimento de, mesmo depois de o plugin ser desinstalado, algum “garbage meta” ficar enchendo o BD desnecessariamente. Uma limpeza em algum valor de post meta, às vezes, se faz necessária.

Exportar todos os e-mails de comentários

Quanto mais tempo seu blog/site fica no ar, é provável que mais comentários receba nos artigos publicados. Se, por algum motivo, for preciso uma listagem com e-mail de todas as pessoas que já comentaram até então, basta executar o seguinte comando:

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:

Apagar todos comentários de SPAM

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

Identificar tags não usadas

Num banco de dados WordPress, se você executar alguma query SQL para apagar posts, as tags relacionadas não serão apagadas e continuarão aparecendo na nuvem de sugestão de tags e listagem de tags. Para identificar esse tipo de tag, execute a seguinte instrução SQL:

Importante! Estas alterações foram feitas até a versão 4.8 do WordPress.

Wordfence como ferramenta para proteção

9 novembro, 2017

Segurança em 1o. lugar

Após passar por situações vexatórias e desanimadoras no contexto da segurança de sites, me vi obrigado a buscar uma solução para os sites criados em WordPress. Entre uma busca aqui e ali, encontrei alguns artigos indicando a ferramenta Wordfence (https://www.wordfence.com/) entre tantas outras no mercado.

Image result for wordfence

Por ser gratuita decidi experimentá-la logo. Há, claro, a versão paga (US$ 8,25/mês) que possui outras capacidades, mas a versão livre já é suficiente em muitos casos. Até o momento, de acordo com o proprietário, foram feitos 53.029.597 downloads o que é um número substancial.

Fiz a instalação e o usuário pode cadastrar um E-mail para ficar informado sobre possíveis ataques ou sobre atualizações em sua base de plugins assim como atualização da versão do WordPress. Também é realizada varredura para saber se sua pasta do site está vulnerável ou não, o que já é um excelente começo.

Até o momento, após alguns meses, e em diversos sites de clientes instalados, ainda não me deparei com uma situação apavorante, até mesmo em virtude do uso de alguns pontos que são tão importantes quanto este monitoramento, que são o uso de senhas fortes, uso de plugins confiáveis e também constante atualização do WordPress.

Obviamente, falar sobre segurança de sites é algo difícil e envolve outras coisas, mas meu objetivo aqui foi deixar minha experiência com essa ferramenta.

Fica a dica para quem ainda não possui um plugin de segurança: Wordfence.